~ruther/qmk_firmware

f6bbd4d2c5554b93351977933cea396db9456689 — Ramiro Bou 2 years ago f4a6082
[Keyboard] Add Churrosoft Deck-8 (#21119)

Co-authored-by: Albert Y <76888457+filterpaper@users.noreply.github.com>
Co-authored-by: jack <0x6a73@protonmail.com>
A keyboards/churrosoft/deck8/info.json => keyboards/churrosoft/deck8/info.json +44 -0
@@ 0,0 1,44 @@
{
  "keyboard_name": "Deck-8",
  "manufacturer": "Churrosoft",
  "url": "https://churrosoft.ar/deck",
  "maintainer": "Polsaker",
  "usb": {
    "vid": "0xCBBC",
    "pid": "0xC100",
    "device_version": "1.0.0"
  },
  "build": {
    "lto": true
  },
  "features": {
    "bootmagic": true,
    "console": false,
    "extrakey": true,
    "mousekey": true,
    "nkro": true

  },
  "processor": "RP2040",
  "bootloader": "rp2040",
  "matrix_pins": {
    "direct": [
      ["GP15", "GP18", "GP22", "GP24"],
      ["GP13", "GP11", "GP0", "GP2"]
    ]
  },
  "layouts": {
    "LAYOUT": {
      "layout": [
        {"x":0, "y":0, "matrix": [0, 0]},
        {"x":1, "y":0, "matrix": [0, 1]},
        {"x":2, "y":0, "matrix": [0, 2]},
        {"x":3, "y":0, "matrix": [0, 3]},
        {"x":0, "y":1, "matrix": [1, 0]},
        {"x":1, "y":1, "matrix": [1, 1]},
        {"x":2, "y":1, "matrix": [1, 2]},
        {"x":3, "y":1, "matrix": [1, 3]}
      ]
    }
  }
}
\ No newline at end of file

A keyboards/churrosoft/deck8/keymaps/default/keymap.c => keyboards/churrosoft/deck8/keymaps/default/keymap.c +25 -0
@@ 0,0 1,25 @@
/* Copyright 2023 Churrosoft
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/


#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [0] = LAYOUT(
        MEH(KC_A), MEH(KC_B), MEH(KC_C), MEH(KC_D),
        MEH(KC_E), MEH(KC_F), MEH(KC_G), MEH(KC_H)
        )
};
\ No newline at end of file

A keyboards/churrosoft/deck8/keymaps/via/keymap.c => keyboards/churrosoft/deck8/keymaps/via/keymap.c +24 -0
@@ 0,0 1,24 @@
/* Copyright 2023 Churrosoft
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [0] = LAYOUT(
        MEH(KC_A), MEH(KC_B), MEH(KC_C), MEH(KC_D),
        MEH(KC_E), MEH(KC_F), MEH(KC_G), MEH(KC_H)
        )
};
\ No newline at end of file

A keyboards/churrosoft/deck8/keymaps/via/rules.mk => keyboards/churrosoft/deck8/keymaps/via/rules.mk +1 -0
@@ 0,0 1,1 @@
VIA_ENABLE = yes

A keyboards/churrosoft/deck8/noleds/readme.md => keyboards/churrosoft/deck8/noleds/readme.md +27 -0
@@ 0,0 1,27 @@
# Churrosoft Deck-8 (No LEDs version)

![ChurroDeck-8](https://i.imgur.com/NNmq8hzh.png)

A small 8-key macropad

* Keyboard Maintainer: [Polsaker](https://github.com/Polsaker)
* Hardware Supported: ChurroDeck PCV rev. 1b, 1c and 1d
* Hardware Availability: [churrosoft.ar](https://churrosoft.ar/deck)

Make example for this keyboard (after setting up your build environment):

    make churrosoft/deck8/noleds:default

Flashing example for this keyboard:

    make churrosoft/deck8/noleds:default:flash

See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

## Bootloader

Enter the bootloader in 3 ways:

* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (the top left key) and plug in the keyboard
* **Physical reset button**: Short the `JP1` jumper in the back side of the PCB.
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
\ No newline at end of file

A keyboards/churrosoft/deck8/noleds/rules.mk => keyboards/churrosoft/deck8/noleds/rules.mk +1 -0
@@ 0,0 1,1 @@
# This file intentionally left blank

A keyboards/churrosoft/deck8/rgb/config.h => keyboards/churrosoft/deck8/rgb/config.h +74 -0
@@ 0,0 1,74 @@
/* Copyright 2023 Churrosoft
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#pragma once

#define RGB_MATRIX_LED_COUNT 8
#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR
#define RGB_MATRIX_DEFAULT_HUE 152
#define RGB_MATRIX_DEFAULT_SAT 232
#define RGB_MATRIX_DEFAULT_VAL 180
#define RGB_DISABLE_WHEN_USB_SUSPENDED

#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_MATRIX_KEYPRESSES

#define ENABLE_RGB_MATRIX_SOLID_COLOR
#define ENABLE_RGB_MATRIX_ALPHAS_MODS
#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_BREATHING
#define ENABLE_RGB_MATRIX_BAND_SAT
#define ENABLE_RGB_MATRIX_BAND_VAL
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
#define ENABLE_RGB_MATRIX_CYCLE_ALL
#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
#define ENABLE_RGB_MATRIX_DUAL_BEACON
#define ENABLE_RGB_MATRIX_RAINBOW_BEACON
#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
#define ENABLE_RGB_MATRIX_RAINDROPS
#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
#define ENABLE_RGB_MATRIX_HUE_BREATHING
#define ENABLE_RGB_MATRIX_HUE_PENDULUM
#define ENABLE_RGB_MATRIX_HUE_WAVE
#define ENABLE_RGB_MATRIX_PIXEL_RAIN
#define ENABLE_RGB_MATRIX_PIXEL_FLOW
#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
#define ENABLE_RGB_MATRIX_TYPING_HEATMAP
#define ENABLE_RGB_MATRIX_DIGITAL_RAIN
// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#define ENABLE_RGB_MATRIX_SPLASH
#define ENABLE_RGB_MATRIX_MULTISPLASH
#define ENABLE_RGB_MATRIX_SOLID_SPLASH
#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH

A keyboards/churrosoft/deck8/rgb/info.json => keyboards/churrosoft/deck8/rgb/info.json +27 -0
@@ 0,0 1,27 @@
{
  "keyboard_name": "Deck-8 RGB",
  "usb": {
    "pid": "0xC101"
  },
  "ws2812": {
    "pin": "GP17",
    "driver": "vendor"
  },
  "features": {
    "rgb_matrix": true
  },
  "rgb_matrix": {
    "driver": "WS2812",
    "max_brightness": 200,
    "layout": [
      {"flags": 4, "matrix": [0, 0], "x":  45, "y": 21},
      {"flags": 4, "matrix": [0, 1], "x":  90, "y": 21},
      {"flags": 4, "matrix": [0, 2], "x": 135, "y": 21},
      {"flags": 4, "matrix": [0, 3], "x": 180, "y": 21},
      {"flags": 4, "matrix": [1, 0], "x":  45, "y": 42},
      {"flags": 4, "matrix": [1, 1], "x":  90, "y": 42},
      {"flags": 4, "matrix": [1, 2], "x": 135, "y": 42},
      {"flags": 4, "matrix": [1, 3], "x": 180, "y": 42}
    ]
  }
}
\ No newline at end of file

A keyboards/churrosoft/deck8/rgb/readme.md => keyboards/churrosoft/deck8/rgb/readme.md +27 -0
@@ 0,0 1,27 @@
# Churrosoft Deck-8 (RGB Version)

![ChurroDeck-8](https://i.imgur.com/NNmq8hzh.png)

A small 8-key macropad with RGB

* Keyboard Maintainer: [Polsaker](https://github.com/Polsaker)
* Hardware Supported: ChurroDeck PCV rev. 1b, 1c and 1d
* Hardware Availability: [churrosoft.ar](https://churrosoft.ar/deck)

Make example for this keyboard (after setting up your build environment):

    make churrosoft/deck8/rgb:default

Flashing example for this keyboard:

    make churrosoft/deck8/rgb:default:flash

See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

## Bootloader

Enter the bootloader in 3 ways:

* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (the top left key) and plug in the keyboard
* **Physical reset button**: Short the `JP1` jumper in the back side of the PCB.
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
\ No newline at end of file

A keyboards/churrosoft/deck8/rgb/rules.mk => keyboards/churrosoft/deck8/rgb/rules.mk +1 -0
@@ 0,0 1,1 @@
# This file intentionally left blank