From 47b9b110097a864d6ab76516b2213afd59948527 Mon Sep 17 00:00:00 2001 From: Zach White Date: Wed, 30 Dec 2020 10:27:37 -0800 Subject: Configure keyboard matrix from info.json (#10817) * Make parameters from info.json available to the build system * move all clueboard settings to info.json * code formatting * make flake8 happy * make flake8 happy * make qmk lint happy * Add support for specifying led indicators in json * move led indicators to the clueboard info.json * Apply suggestions from code review Co-authored-by: Erovia * add missing docstring Co-authored-by: Erovia --- keyboards/clueboard/17/17.h | 33 ---------- keyboards/clueboard/17/config.h | 69 --------------------- keyboards/clueboard/17/info.json | 79 +++++++++++++++++------- keyboards/clueboard/17/keymaps/default/readme.md | 1 + keyboards/clueboard/17/rules.mk | 10 --- 5 files changed, 59 insertions(+), 133 deletions(-) create mode 100644 keyboards/clueboard/17/keymaps/default/readme.md (limited to 'keyboards/clueboard/17') diff --git a/keyboards/clueboard/17/17.h b/keyboards/clueboard/17/17.h index af3be4f5a9..ebf2083862 100644 --- a/keyboards/clueboard/17/17.h +++ b/keyboards/clueboard/17/17.h @@ -3,37 +3,4 @@ #include "quantum.h" - -/* Cluepad matrix layout - * .-------------------. - * |NLCK| /| *| -| - * |-------------------| - * | 7| 8| 9| | - * |--------------| | - * | 4| 5| 6| +| - * |-------------------| - * | 1| 2| 3| | - * |--------------| | - * | 0| .| Ent| - * '-------------------' - */ -// The first section contains all of the arguments -// The second converts the arguments into a two-dimensional array -#define LAYOUT_numpad_5x4( \ - k00, k01, k02, k03, \ - k10, k11, k12, \ - k20, k21, k22, k13, \ - k30, k31, k32, \ - k40, k42, k33 \ -) { \ - { k00, k01, k02, k03 }, \ - { k10, k11, k12, k13 }, \ - { k20, k21, k22, KC_NO }, \ - { k30, k31, k32, k33 }, \ - { k40, KC_NO, k42, KC_NO } \ -} - -#define LAYOUT LAYOUT_numpad_5x4 -#define KEYMAP LAYOUT_numpad_5x4 - #endif diff --git a/keyboards/clueboard/17/config.h b/keyboards/clueboard/17/config.h index b7e28cbb9f..877f478690 100644 --- a/keyboards/clueboard/17/config.h +++ b/keyboards/clueboard/17/config.h @@ -20,76 +20,7 @@ along with this program. If not, see . #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xC1ED -#define PRODUCT_ID 0x2312 -#define DEVICE_VER 0x0001 -#define MANUFACTURER Clueboard -#define PRODUCT Cluepad with RGB Underlighting -#define DESCRIPTION QMK keyboard firmware for Cluepad - -/* key matrix size */ -#define MATRIX_ROWS 5 -#define MATRIX_COLS 4 - -// ROWS: Top to bottom, COLS: Left to right -/* Row pin configuration -* row: 0 1 2 3 4 -* pin: -*/ -#define MATRIX_ROW_PINS { B0, D3, D5, D4, D6 } -/* Column pin configuration - * col: 0 1 2 3 - * pin: F4 E6 B1 D2 - */ -#define MATRIX_COL_PINS { F4, E6, B1, D2 } -#define UNUSED_PINS - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -/* define if matrix has ghost */ -//#define MATRIX_HAS_GHOST - -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 - /* Number of backlighting levels */ #define BACKLIGHT_LEVELS 3 -/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ -#define LOCKING_SUPPORT_ENABLE -/* Locking resynchronize hack */ -#define LOCKING_RESYNC_ENABLE - -/* Underlight configuration - */ -#define RGB_DI_PIN F6 -#define RGBLIGHT_ANIMATIONS -#define RGBLED_NUM 4 // Number of LEDs -#define RGBLIGHT_HUE_STEP 10 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 - -/* - * Feature disable options - * These options are also useful to firmware size reduction. - */ - -/* disable debug print */ -//#define NO_DEBUG - -/* Debug forcibly enabled */ -#define ALWAYS_DEBUG - -/* disable print */ -//#define NO_PRINT - -/* disable action features */ -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING -//#define NO_ACTION_ONESHOT -//#define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION - #endif diff --git a/keyboards/clueboard/17/info.json b/keyboards/clueboard/17/info.json index 12338ae1d3..46510c48c0 100644 --- a/keyboards/clueboard/17/info.json +++ b/keyboards/clueboard/17/info.json @@ -1,30 +1,67 @@ { + "manufacturer": "Clueboard", "keyboard_name": "Clueboard 17% (Cluepad)", - "keyboard_folder": "clueboard/17", - "url": "", - "maintainer": "qmk", - "width": 4, + "maintainer": "skullydazed", "height": 5, + "width": 4, + "diode_direction": "COL2ROW", + "features": { + "backlight": true, + "bootmagic": false, + "command": false, + "console": true, + "extrakey": true, + "midi": false, + "mousekey": true, + "nkro": true, + "rgblight": true, + "unicode": false + }, + "matrix_pins": { + "cols": ["F4", "E6", "B1", "D2"], + "rows": ["B0", "D3", "D5", "D4", "D6"] + }, + "rgblight": { + "animations": { + "all": true + }, + "brightness_steps": "17", + "hue_steps": "10", + "led_count": "4", + "pin": "F6", + "saturation_steps": "17" + }, + "url": "", + "usb": { + "device_ver": "0x0001", + "pid": "0x2312", + "vid": "0xC1ED" + }, + "layout_aliases": { + "KEYMAP": "LAYOUT_numpad_5x4", + "LAYOUT": "LAYOUT_numpad_5x4" + }, "layouts": { "LAYOUT_numpad_5x4": { + "key_count": 17, "layout": [ - {"label":"Num Lock", "x":0, "y":0}, - {"label":"/", "x":1, "y":0}, - {"label":"*", "x":2, "y":0}, - {"label":"-", "x":3, "y":0}, - {"label":"7", "x":0, "y":1}, - {"label":"8", "x":1, "y":1}, - {"label":"9", "x":2, "y":1}, - {"label":"4", "x":0, "y":2}, - {"label":"5", "x":1, "y":2}, - {"label":"6", "x":2, "y":2}, - {"label":"+", "x":3, "y":1, "h":2}, - {"label":"1", "x":0, "y":3}, - {"label":"2", "x":1, "y":3}, - {"label":"3", "x":2, "y":3}, - {"label":"0", "x":0, "y":4, "w":2}, - {"label":".", "x":2, "y":4}, - {"label":"Enter", "x":3, "y":3, "h":2} + { "label": "Num Lock", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 }, + { "label": "/", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 }, + { "label": "*", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 }, + { "label": "-", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 }, + { "label": "7", "matrix": [1, 0], "w": 1, "x": 0, "y": 1 }, + { "label": "8", "matrix": [1, 1], "w": 1, "x": 1, "y": 1 }, + { "label": "9", "matrix": [1, 2], "w": 1, "x": 2, "y": 1 }, + { "label": "4", "matrix": [2, 0], "w": 1, "x": 0, "y": 2 }, + { "label": "5", "matrix": [2, 1], "w": 1, "x": 1, "y": 2 }, + { "label": "6", "matrix": [2, 2], "w": 1, "x": 2, "y": 2 }, + { "h": 2, "label": "+", "matrix": [1, 3], "w": 1, "x": 3, "y": 1 }, + { "label": "1", "matrix": [3, 0], "w": 1, "x": 0, "y": 3 }, + { "label": "2", "matrix": [3, 1], "w": 1, "x": 1, "y": 3 }, + { "label": "3", "matrix": [3, 2], "w": 1, "x": 2, "y": 3 }, + { "label": "0", "matrix": [4, 0], "w": 2, "x": 0, "y": 4 }, + { "label": ".", "matrix": [4, 2], "w": 1, "x": 2, "y": 4 }, + { "h": 2, "label": "Enter", "matrix": [3, 3], "w": 1, "x": 3, "y": 3 } ] } } diff --git a/keyboards/clueboard/17/keymaps/default/readme.md b/keyboards/clueboard/17/keymaps/default/readme.md new file mode 100644 index 0000000000..4fc9092b39 --- /dev/null +++ b/keyboards/clueboard/17/keymaps/default/readme.md @@ -0,0 +1 @@ +Default keymap for the Clueboard 17. diff --git a/keyboards/clueboard/17/rules.mk b/keyboards/clueboard/17/rules.mk index 703bf3d2db..75fb718e33 100644 --- a/keyboards/clueboard/17/rules.mk +++ b/keyboards/clueboard/17/rules.mk @@ -12,14 +12,4 @@ MCU = atmega32u4 BOOTLOADER = atmel-dfu # Build Options -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = yes # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = yes # USB Nkey Rollover -BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality BACKLIGHT_DRIVER = custom -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MIDI_ENABLE = no # MIDI support -UNICODE_ENABLE = no # Unicode -- cgit v1.2.3