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/66_hotswap/config.h | 23 -- keyboards/clueboard/66_hotswap/gen1/config.h | 25 -- keyboards/clueboard/66_hotswap/gen1/gen1.h | 71 ---- keyboards/clueboard/66_hotswap/gen1/info.json | 337 ++++++++-------- keyboards/clueboard/66_hotswap/gen1/readme.md | 16 + keyboards/clueboard/66_hotswap/gen1/rules.mk | 20 +- keyboards/clueboard/66_hotswap/prototype/config.h | 30 -- keyboards/clueboard/66_hotswap/prototype/info.json | 437 +++++++++------------ .../clueboard/66_hotswap/prototype/prototype.h | 83 ---- keyboards/clueboard/66_hotswap/prototype/readme.md | 16 + keyboards/clueboard/66_hotswap/prototype/rules.mk | 13 - 11 files changed, 404 insertions(+), 667 deletions(-) create mode 100644 keyboards/clueboard/66_hotswap/gen1/readme.md create mode 100644 keyboards/clueboard/66_hotswap/prototype/readme.md (limited to 'keyboards/clueboard/66_hotswap') diff --git a/keyboards/clueboard/66_hotswap/config.h b/keyboards/clueboard/66_hotswap/config.h index b25686fa17..9b1dba3dc3 100644 --- a/keyboards/clueboard/66_hotswap/config.h +++ b/keyboards/clueboard/66_hotswap/config.h @@ -18,32 +18,9 @@ along with this program. If not, see . #pragma once #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xC1ED -#define MANUFACTURER Clueboard -#define PRODUCT Clueboard 66% HotSwap -#define DESCRIPTION QMK keyboard firmware for Clueboard 66% - -/* COL2ROW or ROW2COL */ -#define DIODE_DIRECTION COL2ROW - -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 - -/* 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 - /* * Feature disable options * These options are also useful to firmware size reduction. */ - -//#define NO_DEBUG -//#define NO_PRINT -//#define NO_ACTION_LAYER -//#define NO_ACTION_TAPPING #define NO_ACTION_ONESHOT #define NO_ACTION_MACRO -//#define NO_ACTION_FUNCTION diff --git a/keyboards/clueboard/66_hotswap/gen1/config.h b/keyboards/clueboard/66_hotswap/gen1/config.h index 7c90d05b38..98d9728870 100644 --- a/keyboards/clueboard/66_hotswap/gen1/config.h +++ b/keyboards/clueboard/66_hotswap/gen1/config.h @@ -18,37 +18,12 @@ #pragma once #include "config_common.h" -/* USB Device descriptor parameter */ -#define VENDOR_ID 0xC1ED -#define PRODUCT_ID 0x2391 -#define DEVICE_VER 0x0001 -#define MANUFACTURER Clueboard - /* Address for jumping to bootloader on STM32 chips. */ /* It is chip dependent, the correct number can be looked up here: * http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf */ #define STM32_BOOTLOADER_ADDRESS 0x1FFFD800 -/* key matrix size */ -#define MATRIX_ROWS 10 -#define MATRIX_COLS 8 - -/* - * Keyboard Matrix Assignments - * - * Change this to how you wired your keyboard - * COLS: AVR pins used for columns, left to right - * ROWS: AVR pins used for rows, top to bottom - * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) - * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) - * -*/ -#define MATRIX_ROW_PINS { B11, A6, A3, A2, A1, B5, B6, C15, C14, C13 } -#define MATRIX_COL_PINS { B10, B2, B1, B0, A7, B4, B3, B7 } -#define UNUSED_PINS { A0, A8, A15, B12, B13, B14, B15 } -#define DIODE_DIRECTION COL2ROW - /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ // #define DEBOUNCE 6 diff --git a/keyboards/clueboard/66_hotswap/gen1/gen1.h b/keyboards/clueboard/66_hotswap/gen1/gen1.h index 05adf49831..98f9ba1424 100644 --- a/keyboards/clueboard/66_hotswap/gen1/gen1.h +++ b/keyboards/clueboard/66_hotswap/gen1/gen1.h @@ -16,74 +16,3 @@ #pragma once #include "quantum.h" -/* - * These are shortcuts to help you work with the various layout options. If your - * keymap works with one of the LAYOUT_...() macros you are encouraged to use that - * and to contribute your keymap to the corresponding layout in - * `qmk_firmware/layouts/community`. - */ - -/* Clueboard matrix layout - * ,-----------------------------------------------------------. ,---. - * | 00| 01| 02| 03| 04| 05| 06| 07| 50| 51| 52| 53| 54| 56 | | 57| - * |-----------------------------------------------------------| |---| - * | 10| 11| 12| 13| 14| 15| 16| 17| 60| 61| 62| 63| 64| 65| | 67| - * |-----------------------------------------------------------| `---' - * | 20| 21| 22| 23| 24| 25| 26| 27| 70| 71| 72| 73| 75| - * |--------------------------------------------------------------. - * | 30 | 32| 33| 34| 35| 36| 37| 80| 81| 82| 83| 85 |86| - * |------------------------------------------------------------------. - * | 40| 41| 42| 45| 46| 90| 92| 93| 94| 95|96| 97| - * `------------------------------------------------------------------' - * ,-----------------------------------------------------------. ,---. - * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | |Ins| - * |-----------------------------------------------------------| |---| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| |Del| - * |-----------------------------------------------------------| `---' - * |Caps | A| S| D| F| G| H| J| k| L| ;| '|Enter | - * |--------------------------------------------------------------. - * |Shift | Z| X| C| V| B| N| M| ,| .| /| Shift| Up| - * |------------------------------------------------------------------. - * |Ctrl|Alt|Gui | Space| Space|Gui |Alt |Fn |Ctrl|Left|Down|Rgt| - * `------------------------------------------------------------------' - */ -// The first section contains all of the arguments -// The second converts the arguments into a two-dimensional array - -#define LAYOUT( \ - k00, k01, k02, k03, k04, k05, k06, k07, k50, k51, k52, k53, k54, k55, k57, \ - k10, k11, k12, k13, k14, k15, k16, k17, k60, k61, k62, k63, k64, k65, k67, \ - k20, k21, k22, k23, k24, k25, k26, k27, k70, k71, k72, k73, k75, \ - k30, k32, k33, k34, k35, k36, k37, k80, k81, k82, k83, k85, k86, \ - k40, k41, k42, k45, k46, k90, k92, k93, k94, k95, k96, k97 \ -) { \ - { k00, k01, k02, k03, k04, k05, k06, k07 }, \ - { k10, k11, k12, k13, k14, k15, k16, k17 }, \ - { k20, k21, k22, k23, k24, k25, k26, k27 }, \ - { k30, KC_NO, k32, k33, k34, k35, k36, k37 }, \ - { k40, k41, k42, KC_NO, KC_NO, k45, k46, KC_NO }, \ - { k50, k51, k52, k53, k54, k55, KC_NO, k57 }, \ - { k60, k61, k62, k63, k64, k65, KC_NO, k67 }, \ - { k70, k71, k72, k73, KC_NO, k75, KC_NO, KC_NO }, \ - { k80, k81, k82, k83, KC_NO, k85, k86, KC_NO }, \ - { k90, KC_NO, k92, k93, k94, k95, k96, k97 } \ -} - -#define LAYOUT_66_ansi( \ - k00, k01, k02, k03, k04, k05, k06, k07, k50, k51, k52, k53, k54, k55, k57, \ - k10, k11, k12, k13, k14, k15, k16, k17, k60, k61, k62, k63, k64, k65, k67, \ - k20, k21, k22, k23, k24, k25, k26, k27, k70, k71, k72, k73, k75, \ - k30, k32, k33, k34, k35, k36, k37, k80, k81, k82, k83, k85, k86, \ - k40, k41, k42, k46, k92, k93, k94, k95, k96, k97 \ -) { \ - { k00, k01, k02, k03, k04, k05, k06, k07 }, \ - { k10, k11, k12, k13, k14, k15, k16, k17 }, \ - { k20, k21, k22, k23, k24, k25, k26, k27 }, \ - { k30, KC_NO, k32, k33, k34, k35, k36, k37 }, \ - { k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO }, \ - { k50, k51, k52, k53, k54, k55, KC_NO, k57 }, \ - { k60, k61, k62, k63, k64, k65, KC_NO, k67 }, \ - { k70, k71, k72, k73, KC_NO, k75, KC_NO, KC_NO }, \ - { k80, k81, k82, k83, KC_NO, k85, k86, KC_NO }, \ - { KC_NO, KC_NO, k92, k93, k94, k95, k96, k97 } \ -} diff --git a/keyboards/clueboard/66_hotswap/gen1/info.json b/keyboards/clueboard/66_hotswap/gen1/info.json index 76c2b44208..76352b0771 100644 --- a/keyboards/clueboard/66_hotswap/gen1/info.json +++ b/keyboards/clueboard/66_hotswap/gen1/info.json @@ -1,165 +1,178 @@ { - "keyboard_name": "Clueboard 66% HotSwap Gen1", - "maintainer": "skullydazed", - "width": 16.5, - "height": 5, - "layouts": { - "LAYOUT": { - "layout": [ - {"x": 0, "y": 0}, - {"x": 1, "y": 0}, - {"x": 2, "y": 0}, - {"x": 3, "y": 0}, - {"x": 4, "y": 0}, - {"x": 5, "y": 0}, - {"x": 6, "y": 0}, - {"x": 7, "y": 0}, - {"x": 8, "y": 0}, - {"x": 9, "y": 0}, - {"x": 10, "y": 0}, - {"x": 11, "y": 0}, - {"x": 12, "y": 0}, - {"x": 13, "y": 0, "w": 2}, - - {"x": 15.5, "y": 0}, - - {"x": 0, "y": 1, "w": 1.5}, - {"x": 1.5, "y": 1}, - {"x": 2.5, "y": 1}, - {"x": 3.5, "y": 1}, - {"x": 4.5, "y": 1}, - {"x": 5.5, "y": 1}, - {"x": 6.5, "y": 1}, - {"x": 7.5, "y": 1}, - {"x": 8.5, "y": 1}, - {"x": 9.5, "y": 1}, - {"x": 10.5, "y": 1}, - {"x": 11.5, "y": 1}, - {"x": 12.5, "y": 1}, - {"x": 13.5, "y": 1, "w": 1.5}, - - {"x": 15.5, "y": 1}, - - {"x": 0, "y": 2, "w": 1.75}, - {"x": 1.75, "y": 2}, - {"x": 2.75, "y": 2}, - {"x": 3.75, "y": 2}, - {"x": 4.75, "y": 2}, - {"x": 5.75, "y": 2}, - {"x": 6.75, "y": 2}, - {"x": 7.75, "y": 2}, - {"x": 8.75, "y": 2}, - {"x": 9.75, "y": 2}, - {"x": 10.75, "y": 2}, - {"x": 11.75, "y": 2}, - {"x": 12.75, "y": 2, "w": 2.25}, - - {"x": 0, "y": 3, "w": 2.25}, - {"x": 2.25, "y": 3}, - {"x": 3.25, "y": 3}, - {"x": 4.25, "y": 3}, - {"x": 5.25, "y": 3}, - {"x": 6.25, "y": 3}, - {"x": 7.25, "y": 3}, - {"x": 8.25, "y": 3}, - {"x": 9.25, "y": 3}, - {"x": 10.25, "y": 3}, - {"x": 11.25, "y": 3}, - {"x": 12.25, "y": 3, "w": 2.25}, - - {"x": 14.5, "y": 3}, - - {"x": 0, "y": 4, "w": 1.25}, - {"x": 1.25, "y": 4, "w": 1.25}, - {"x": 2.5, "y": 4, "w": 1.25}, - {"x": 3.75, "y": 4, "w": 2.75}, - {"x": 6.5, "y": 4, "w": 2.25}, - {"x": 8.75, "y": 4, "w": 1.25}, - {"x": 10, "y": 4, "w": 1.25}, - {"x": 11.25, "y": 4}, - {"x": 12.25, "y": 4, "w": 1.25}, - {"x": 13.5, "y": 4}, - {"x": 14.5, "y": 4}, - {"x": 15.5, "y": 4} - ] - }, - "LAYOUT_66_ansi": { - "layout": [ - {"x": 0, "y": 0}, - {"x": 1, "y": 0}, - {"x": 2, "y": 0}, - {"x": 3, "y": 0}, - {"x": 4, "y": 0}, - {"x": 5, "y": 0}, - {"x": 6, "y": 0}, - {"x": 7, "y": 0}, - {"x": 8, "y": 0}, - {"x": 9, "y": 0}, - {"x": 10, "y": 0}, - {"x": 11, "y": 0}, - {"x": 12, "y": 0}, - {"x": 13, "y": 0, "w": 2}, - - {"x": 15.5, "y": 0}, - - {"x": 0, "y": 1, "w": 1.5}, - {"x": 1.5, "y": 1}, - {"x": 2.5, "y": 1}, - {"x": 3.5, "y": 1}, - {"x": 4.5, "y": 1}, - {"x": 5.5, "y": 1}, - {"x": 6.5, "y": 1}, - {"x": 7.5, "y": 1}, - {"x": 8.5, "y": 1}, - {"x": 9.5, "y": 1}, - {"x": 10.5, "y": 1}, - {"x": 11.5, "y": 1}, - {"x": 12.5, "y": 1}, - {"x": 13.5, "y": 1, "w": 1.5}, - - {"x": 15.5, "y": 1}, - - {"x": 0, "y": 2, "w": 1.75}, - {"x": 1.75, "y": 2}, - {"x": 2.75, "y": 2}, - {"x": 3.75, "y": 2}, - {"x": 4.75, "y": 2}, - {"x": 5.75, "y": 2}, - {"x": 6.75, "y": 2}, - {"x": 7.75, "y": 2}, - {"x": 8.75, "y": 2}, - {"x": 9.75, "y": 2}, - {"x": 10.75, "y": 2}, - {"x": 11.75, "y": 2}, - {"x": 12.75, "y": 2, "w": 2.25}, - - {"x": 0, "y": 3, "w": 2.25}, - {"x": 2.25, "y": 3}, - {"x": 3.25, "y": 3}, - {"x": 4.25, "y": 3}, - {"x": 5.25, "y": 3}, - {"x": 6.25, "y": 3}, - {"x": 7.25, "y": 3}, - {"x": 8.25, "y": 3}, - {"x": 9.25, "y": 3}, - {"x": 10.25, "y": 3}, - {"x": 11.25, "y": 3}, - {"x": 12.25, "y": 3, "w": 2.25}, - - {"x": 14.5, "y": 3}, - - {"x": 0, "y": 4, "w": 1.25}, - {"x": 1.25, "y": 4, "w": 1.25}, - {"x": 2.5, "y": 4, "w": 1.25}, - {"x": 3.75, "y": 4, "w": 6.25}, - {"x": 10, "y": 4, "w": 1.25}, - {"x": 11.25, "y": 4}, - {"x": 12.25, "y": 4, "w": 1.25}, - - {"x": 13.5, "y": 4}, - {"x": 14.5, "y": 4}, - {"x": 15.5, "y": 4} - ] - } + "manufacturer": "Clueboard", + "keyboard_name": "Clueboard 66% HotSwap Gen1", + "maintainer": "skullydazed", + "height": 5, + "width": 16.5, + "debounce": "5", + "diode_direction": "COL2ROW", + "features": { + "audio": true, + "bootmagic": true, + "command": true, + "console": true, + "extrakey": true, + "led_matrix": "IS31FL3731", + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["B10", " B2", " B1", " B0", " A7", " B4", " B3", " B7"], + "rows": ["B11", " A6", " A3", " A2", " A1", " B5", " B6", " C15", " C14", " C13"] + }, + "usb": { + "device_ver": "0x0001", + "pid": "0x2391", + "vid": "0xC1ED" + }, + "community_layouts": [], + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, + "layouts": { + "LAYOUT_66_ansi": { + "key_count": 66, + "layout": [ + { "label": "k00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 }, + { "label": "k50", "matrix": [5, 0], "w": 1, "x": 8, "y": 0 }, + { "label": "k51", "matrix": [5, 1], "w": 1, "x": 9, "y": 0 }, + { "label": "k52", "matrix": [5, 2], "w": 1, "x": 10, "y": 0 }, + { "label": "k53", "matrix": [5, 3], "w": 1, "x": 11, "y": 0 }, + { "label": "k54", "matrix": [5, 4], "w": 1, "x": 12, "y": 0 }, + { "label": "k55", "matrix": [5, 5], "w": 2, "x": 13, "y": 0 }, + { "label": "k57", "matrix": [5, 7], "w": 1, "x": 15.5, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k11", "matrix": [1, 1], "w": 1, "x": 1.5, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "w": 1, "x": 2.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "w": 1, "x": 3.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1 }, + { "label": "k60", "matrix": [6, 0], "w": 1, "x": 8.5, "y": 1 }, + { "label": "k61", "matrix": [6, 1], "w": 1, "x": 9.5, "y": 1 }, + { "label": "k62", "matrix": [6, 2], "w": 1, "x": 10.5, "y": 1 }, + { "label": "k63", "matrix": [6, 3], "w": 1, "x": 11.5, "y": 1 }, + { "label": "k64", "matrix": [6, 4], "w": 1, "x": 12.5, "y": 1 }, + { "label": "k65", "matrix": [6, 5], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "k67", "matrix": [6, 7], "w": 1, "x": 15.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k21", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 }, + { "label": "k70", "matrix": [7, 0], "w": 1, "x": 8.75, "y": 2 }, + { "label": "k71", "matrix": [7, 1], "w": 1, "x": 9.75, "y": 2 }, + { "label": "k72", "matrix": [7, 2], "w": 1, "x": 10.75, "y": 2 }, + { "label": "k73", "matrix": [7, 3], "w": 1, "x": 11.75, "y": 2 }, + { "label": "k75", "matrix": [7, 5], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "k30", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "w": 1, "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "w": 1, "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "w": 1, "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "w": 1, "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "w": 1, "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "w": 1, "x": 7.25, "y": 3 }, + { "label": "k80", "matrix": [8, 0], "w": 1, "x": 8.25, "y": 3 }, + { "label": "k81", "matrix": [8, 1], "w": 1, "x": 9.25, "y": 3 }, + { "label": "k82", "matrix": [8, 2], "w": 1, "x": 10.25, "y": 3 }, + { "label": "k83", "matrix": [8, 3], "w": 1, "x": 11.25, "y": 3 }, + { "label": "k85", "matrix": [8, 5], "w": 2.25, "x": 12.25, "y": 3 }, + { "label": "k86", "matrix": [8, 6], "w": 1, "x": 14.5, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k42", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4 }, + { "label": "k92", "matrix": [9, 2], "w": 1.25, "x": 10, "y": 4 }, + { "label": "k93", "matrix": [9, 3], "w": 1, "x": 11.25, "y": 4 }, + { "label": "k94", "matrix": [9, 4], "w": 1.25, "x": 12.25, "y": 4 }, + { "label": "k95", "matrix": [9, 5], "w": 1, "x": 13.5, "y": 4 }, + { "label": "k96", "matrix": [9, 6], "w": 1, "x": 14.5, "y": 4 }, + { "label": "k97", "matrix": [9, 7], "w": 1, "x": 15.5, "y": 4 } + ] + }, + "LAYOUT_all": { + "key_count": 68, + "layout": [ + { "label": "k00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 }, + { "label": "k50", "matrix": [5, 0], "w": 1, "x": 8, "y": 0 }, + { "label": "k51", "matrix": [5, 1], "w": 1, "x": 9, "y": 0 }, + { "label": "k52", "matrix": [5, 2], "w": 1, "x": 10, "y": 0 }, + { "label": "k53", "matrix": [5, 3], "w": 1, "x": 11, "y": 0 }, + { "label": "k54", "matrix": [5, 4], "w": 1, "x": 12, "y": 0 }, + { "label": "k55", "matrix": [5, 5], "w": 2, "x": 13, "y": 0 }, + { "label": "k57", "matrix": [5, 7], "w": 1, "x": 15.5, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k11", "matrix": [1, 1], "w": 1, "x": 1.5, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "w": 1, "x": 2.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "w": 1, "x": 3.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1 }, + { "label": "k60", "matrix": [6, 0], "w": 1, "x": 8.5, "y": 1 }, + { "label": "k61", "matrix": [6, 1], "w": 1, "x": 9.5, "y": 1 }, + { "label": "k62", "matrix": [6, 2], "w": 1, "x": 10.5, "y": 1 }, + { "label": "k63", "matrix": [6, 3], "w": 1, "x": 11.5, "y": 1 }, + { "label": "k64", "matrix": [6, 4], "w": 1, "x": 12.5, "y": 1 }, + { "label": "k65", "matrix": [6, 5], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "k67", "matrix": [6, 7], "w": 1, "x": 15.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k21", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 }, + { "label": "k70", "matrix": [7, 0], "w": 1, "x": 8.75, "y": 2 }, + { "label": "k71", "matrix": [7, 1], "w": 1, "x": 9.75, "y": 2 }, + { "label": "k72", "matrix": [7, 2], "w": 1, "x": 10.75, "y": 2 }, + { "label": "k73", "matrix": [7, 3], "w": 1, "x": 11.75, "y": 2 }, + { "label": "k75", "matrix": [7, 5], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "k30", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "w": 1, "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "w": 1, "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "w": 1, "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "w": 1, "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "w": 1, "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "w": 1, "x": 7.25, "y": 3 }, + { "label": "k80", "matrix": [8, 0], "w": 1, "x": 8.25, "y": 3 }, + { "label": "k81", "matrix": [8, 1], "w": 1, "x": 9.25, "y": 3 }, + { "label": "k82", "matrix": [8, 2], "w": 1, "x": 10.25, "y": 3 }, + { "label": "k83", "matrix": [8, 3], "w": 1, "x": 11.25, "y": 3 }, + { "label": "k85", "matrix": [8, 5], "w": 2.25, "x": 12.25, "y": 3 }, + { "label": "k86", "matrix": [8, 6], "w": 1, "x": 14.5, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k42", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k45", "matrix": [4, 5], "w": 2.75, "x": 3.75, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 2.25, "x": 6.5, "y": 4 }, + { "label": "k90", "matrix": [9, 0], "w": 1.25, "x": 8.75, "y": 4 }, + { "label": "k92", "matrix": [9, 2], "w": 1.25, "x": 10, "y": 4 }, + { "label": "k93", "matrix": [9, 3], "w": 1, "x": 11.25, "y": 4 }, + { "label": "k94", "matrix": [9, 4], "w": 1.25, "x": 12.25, "y": 4 }, + { "label": "k95", "matrix": [9, 5], "w": 1, "x": 13.5, "y": 4 }, + { "label": "k96", "matrix": [9, 6], "w": 1, "x": 14.5, "y": 4 }, + { "label": "k97", "matrix": [9, 7], "w": 1, "x": 15.5, "y": 4 } + ] } + } } diff --git a/keyboards/clueboard/66_hotswap/gen1/readme.md b/keyboards/clueboard/66_hotswap/gen1/readme.md new file mode 100644 index 0000000000..036df01c64 --- /dev/null +++ b/keyboards/clueboard/66_hotswap/gen1/readme.md @@ -0,0 +1,16 @@ +# Clueboard 66% HotSwap + +![Clueboard](https://i.imgur.com/8UmBoNx.jpg) + +A fully customizable 66% keyboard with Hot Swap sockets. + +* Keyboard Maintainer: [Zach White](https://github.com/skullydazed) +* Hardware Supported: Clueboard 66% HotSwap PCB + * 2.9 (gen1) +* Hardware Availability: [clueboard.co](https://clueboard.co/) + +Make example for this keyboard (after setting up your build environment): + + make clueboard/66_hotswap/gen1:default + +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). diff --git a/keyboards/clueboard/66_hotswap/gen1/rules.mk b/keyboards/clueboard/66_hotswap/gen1/rules.mk index 18e01fcd19..7e85acec65 100644 --- a/keyboards/clueboard/66_hotswap/gen1/rules.mk +++ b/keyboards/clueboard/66_hotswap/gen1/rules.mk @@ -2,21 +2,5 @@ MCU = STM32F303 BOARD = QMK_PROTON_C -# LED Configuration -LED_MATRIX_ENABLE = yes -LED_MATRIX_DRIVER = IS31FL3731 - -# Build Options -# comment out to disable the options. -# -BOOTMAGIC_ENABLE = yes # 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 = yes # Commands for debug and configuration -#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend -NKRO_ENABLE = yes # USB Nkey Rollover -AUDIO_ENABLE = yes -# SERIAL_LINK_ENABLE = yes - -LAYOUTS = 66_ansi +# project specific files +SRC = led.c diff --git a/keyboards/clueboard/66_hotswap/prototype/config.h b/keyboards/clueboard/66_hotswap/prototype/config.h index f6ab6ba535..5c22b927ad 100644 --- a/keyboards/clueboard/66_hotswap/prototype/config.h +++ b/keyboards/clueboard/66_hotswap/prototype/config.h @@ -1,27 +1,6 @@ #pragma once #include "config_common.h" -#define PRODUCT_ID 0x2390 -#define DEVICE_VER 0x0001 - -/* key matrix size */ -#define MATRIX_ROWS 10 -#define MATRIX_COLS 8 - -// ROWS: Top to bottom, COLS: Left to right -/* Row pin configuration -* row: 0 1 2 3 4 5 6 7 8 9 -* pin: B2 C7 C6 B6 B5 B0 B3 D5 D3 D2 -*/ - -#define MATRIX_ROW_PINS { B2, C7, C6, B6, B5, B0, B3, D5, D3, D2 } -/* Column pin configuration - * col: 0 1 2 3 4 5 6 7 - * pin: F0 F1 F4 F5 F6 F7 E6 B1 - */ -#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, E6, B1 } -#define UNUSED_PINS - /* Speaker configuration */ #define B7_AUDIO @@ -32,21 +11,12 @@ */ #define NO_ACTION_TAPPING -#define LED_CAPS_LOCK_PIN B4 - /* Backlight configuration */ #define BACKLIGHT_LEVELS 1 /* Underlight configuration */ -#define RGB_DI_PIN D7 -#define RGBLED_NUM 26 // Number of LEDs -#define RGBLIGHT_HUE_STEP 32 -#define RGBLIGHT_SAT_STEP 17 -#define RGBLIGHT_VAL_STEP 17 - -#define RGBLIGHT_ANIMATIONS #define RGBLIGHT_EFFECT_BREATHE_CENTER 1 #define RGBLIGHT_EFFECT_BREATHE_MAX 200 #define RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL 666*2 diff --git a/keyboards/clueboard/66_hotswap/prototype/info.json b/keyboards/clueboard/66_hotswap/prototype/info.json index 32bd51d098..1572223592 100644 --- a/keyboards/clueboard/66_hotswap/prototype/info.json +++ b/keyboards/clueboard/66_hotswap/prototype/info.json @@ -1,245 +1,198 @@ { - "keyboard_name": "Clueboard 66% HotSwap Prototype", - "maintainer": "skullydazed", - "width": 16.5, - "height": 5, - "layouts": { - "LAYOUT_all": { - "layout": [ - {"x": 0, "y": 0}, - {"x": 1, "y": 0}, - {"x": 2, "y": 0}, - {"x": 3, "y": 0}, - {"x": 4, "y": 0}, - {"x": 5, "y": 0}, - {"x": 6, "y": 0}, - {"x": 7, "y": 0}, - {"x": 8, "y": 0}, - {"x": 9, "y": 0}, - {"x": 10, "y": 0}, - {"x": 11, "y": 0}, - {"x": 12, "y": 0}, - {"x": 13, "y": 0, "w": 2}, - - {"x": 15.5, "y": 0}, - - {"x": 0, "y": 1, "w": 1.5}, - {"x": 1.5, "y": 1}, - {"x": 2.5, "y": 1}, - {"x": 3.5, "y": 1}, - {"x": 4.5, "y": 1}, - {"x": 5.5, "y": 1}, - {"x": 6.5, "y": 1}, - {"x": 7.5, "y": 1}, - {"x": 8.5, "y": 1}, - {"x": 9.5, "y": 1}, - {"x": 10.5, "y": 1}, - {"x": 11.5, "y": 1}, - {"x": 12.5, "y": 1}, - {"x": 13.5, "y": 1, "w": 1.5}, - - {"x": 15.5, "y": 1}, - - {"x": 0, "y": 2, "w": 1.75}, - {"x": 1.75, "y": 2}, - {"x": 2.75, "y": 2}, - {"x": 3.75, "y": 2}, - {"x": 4.75, "y": 2}, - {"x": 5.75, "y": 2}, - {"x": 6.75, "y": 2}, - {"x": 7.75, "y": 2}, - {"x": 8.75, "y": 2}, - {"x": 9.75, "y": 2}, - {"x": 10.75, "y": 2}, - {"x": 11.75, "y": 2}, - {"x": 12.75, "y": 2, "w": 2.25}, - - {"x": 0, "y": 3, "w": 1.25}, - {"x": 1.25, "y": 3}, - {"x": 2.25, "y": 3}, - {"x": 3.25, "y": 3}, - {"x": 4.25, "y": 3}, - {"x": 5.25, "y": 3}, - {"x": 6.25, "y": 3}, - {"x": 7.25, "y": 3}, - {"x": 8.25, "y": 3}, - {"x": 9.25, "y": 3}, - {"x": 10.25, "y": 3}, - {"x": 11.25, "y": 3}, - {"x": 12.25, "y": 3}, - {"x": 13.25, "y": 3, "w": 1.25}, - {"x": 14.5, "y": 3}, - - {"x": 0, "y": 4, "w": 1.25}, - {"x": 1.25, "y": 4, "w": 1.25}, - {"x": 2.5, "y": 4, "w": 1.25}, - {"x": 3.75, "y": 4, "w": 2.75}, - {"x": 6.5, "y": 4, "w": 2.25}, - {"x": 8.75, "y": 4, "w": 1.25}, - {"x": 10, "y": 4, "w": 1.25}, - {"x": 11.25, "y": 4}, - {"x": 12.25, "y": 4, "w": 1.25}, - {"x": 13.5, "y": 4}, - {"x": 14.5, "y": 4}, - {"x": 15.5, "y": 4} - ] - }, - "LAYOUT": { - "layout": [ - {"x": 0, "y": 0}, - {"x": 1, "y": 0}, - {"x": 2, "y": 0}, - {"x": 3, "y": 0}, - {"x": 4, "y": 0}, - {"x": 5, "y": 0}, - {"x": 6, "y": 0}, - {"x": 7, "y": 0}, - {"x": 8, "y": 0}, - {"x": 9, "y": 0}, - {"x": 10, "y": 0}, - {"x": 11, "y": 0}, - {"x": 12, "y": 0}, - {"x": 13, "y": 0, "w": 2}, - - {"x": 15.5, "y": 0}, - - {"x": 0, "y": 1, "w": 1.5}, - {"x": 1.5, "y": 1}, - {"x": 2.5, "y": 1}, - {"x": 3.5, "y": 1}, - {"x": 4.5, "y": 1}, - {"x": 5.5, "y": 1}, - {"x": 6.5, "y": 1}, - {"x": 7.5, "y": 1}, - {"x": 8.5, "y": 1}, - {"x": 9.5, "y": 1}, - {"x": 10.5, "y": 1}, - {"x": 11.5, "y": 1}, - {"x": 12.5, "y": 1}, - {"x": 13.5, "y": 1, "w": 1.5}, - - {"x": 15.5, "y": 1}, - - {"x": 0, "y": 2, "w": 1.75}, - {"x": 1.75, "y": 2}, - {"x": 2.75, "y": 2}, - {"x": 3.75, "y": 2}, - {"x": 4.75, "y": 2}, - {"x": 5.75, "y": 2}, - {"x": 6.75, "y": 2}, - {"x": 7.75, "y": 2}, - {"x": 8.75, "y": 2}, - {"x": 9.75, "y": 2}, - {"x": 10.75, "y": 2}, - {"x": 11.75, "y": 2}, - {"x": 12.75, "y": 2, "w": 2.25}, - - {"x": 0, "y": 3, "w": 2.25}, - {"x": 2.25, "y": 3}, - {"x": 3.25, "y": 3}, - {"x": 4.25, "y": 3}, - {"x": 5.25, "y": 3}, - {"x": 6.25, "y": 3}, - {"x": 7.25, "y": 3}, - {"x": 8.25, "y": 3}, - {"x": 9.25, "y": 3}, - {"x": 10.25, "y": 3}, - {"x": 11.25, "y": 3}, - {"x": 12.25, "y": 3, "w": 2.25}, - - {"x": 14.5, "y": 3}, - - {"x": 0, "y": 4, "w": 1.25}, - {"x": 1.25, "y": 4, "w": 1.25}, - {"x": 2.5, "y": 4, "w": 1.25}, - {"x": 3.75, "y": 4, "w": 2.75}, - {"x": 6.5, "y": 4, "w": 2.25}, - {"x": 8.75, "y": 4, "w": 1.25}, - {"x": 10, "y": 4, "w": 1.25}, - {"x": 11.25, "y": 4}, - {"x": 12.25, "y": 4, "w": 1.25}, - {"x": 13.5, "y": 4}, - {"x": 14.5, "y": 4}, - {"x": 15.5, "y": 4} - ] - }, - "LAYOUT_66_ansi": { - "layout": [ - {"x": 0, "y": 0}, - {"x": 1, "y": 0}, - {"x": 2, "y": 0}, - {"x": 3, "y": 0}, - {"x": 4, "y": 0}, - {"x": 5, "y": 0}, - {"x": 6, "y": 0}, - {"x": 7, "y": 0}, - {"x": 8, "y": 0}, - {"x": 9, "y": 0}, - {"x": 10, "y": 0}, - {"x": 11, "y": 0}, - {"x": 12, "y": 0}, - {"x": 13, "y": 0, "w": 2}, - - {"x": 15.5, "y": 0}, - - {"x": 0, "y": 1, "w": 1.5}, - {"x": 1.5, "y": 1}, - {"x": 2.5, "y": 1}, - {"x": 3.5, "y": 1}, - {"x": 4.5, "y": 1}, - {"x": 5.5, "y": 1}, - {"x": 6.5, "y": 1}, - {"x": 7.5, "y": 1}, - {"x": 8.5, "y": 1}, - {"x": 9.5, "y": 1}, - {"x": 10.5, "y": 1}, - {"x": 11.5, "y": 1}, - {"x": 12.5, "y": 1}, - {"x": 13.5, "y": 1, "w": 1.5}, - - {"x": 15.5, "y": 1}, - - {"x": 0, "y": 2, "w": 1.75}, - {"x": 1.75, "y": 2}, - {"x": 2.75, "y": 2}, - {"x": 3.75, "y": 2}, - {"x": 4.75, "y": 2}, - {"x": 5.75, "y": 2}, - {"x": 6.75, "y": 2}, - {"x": 7.75, "y": 2}, - {"x": 8.75, "y": 2}, - {"x": 9.75, "y": 2}, - {"x": 10.75, "y": 2}, - {"x": 11.75, "y": 2}, - {"x": 12.75, "y": 2, "w": 2.25}, - - {"x": 0, "y": 3, "w": 2.25}, - {"x": 2.25, "y": 3}, - {"x": 3.25, "y": 3}, - {"x": 4.25, "y": 3}, - {"x": 5.25, "y": 3}, - {"x": 6.25, "y": 3}, - {"x": 7.25, "y": 3}, - {"x": 8.25, "y": 3}, - {"x": 9.25, "y": 3}, - {"x": 10.25, "y": 3}, - {"x": 11.25, "y": 3}, - {"x": 12.25, "y": 3, "w": 2.25}, - - {"x": 14.5, "y": 3}, - - {"x": 0, "y": 4, "w": 1.25}, - {"x": 1.25, "y": 4, "w": 1.25}, - {"x": 2.5, "y": 4, "w": 1.25}, - {"x": 3.75, "y": 4, "w": 6.25}, - {"x": 10, "y": 4, "w": 1.25}, - {"x": 11.25, "y": 4}, - {"x": 12.25, "y": 4, "w": 1.25}, - - {"x": 13.5, "y": 4}, - {"x": 14.5, "y": 4}, - {"x": 15.5, "y": 4} - ] - } + "manufacturer": "Clueboard", + "keyboard_name": "Clueboard 66% HotSwap Prototype", + "maintainer": "skullydazed", + "height": 5, + "width": 16.5, + "debounce": "5", + "diode_direction": "COL2ROW", + "features": { + "audio": true, + "backlight": true, + "bluetooth": false, + "bootmagic": false, + "command": false, + "console": true, + "extrakey": true, + "midi": false, + "mousekey": false, + "nkro": true, + "rgblight": true, + "unicode": false + }, + "indicators": { + "caps_lock": "B4" + }, + "matrix_pins": { + "cols": ["F0", " F1", " F4", " F5", " F6", " F7", " E6", " B1"], + "rows": ["B2", " C7", " C6", " B6", " B5", " B0", " B3", " D5", " D3", " D2"] + }, + "rgblight": { + "animations": { + "all": true + }, + "brightness_steps": "17", + "hue_steps": "32", + "led_count": "26", + "pin": "D7", + "saturation_steps": "17" + }, + "usb": { + "device_ver": "0x0001", + "pid": "0x2390", + "vid": "0xC1ED" + }, + "community_layouts": ["66_ansi"], + "layout_aliases": { + "KEYMAP": "LAYOUT_all", + "LAYOUT": "LAYOUT_all" + }, + "layouts": { + "LAYOUT_66_ansi": { + "key_count": 66, + "layout": [ + { "label": "k00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 }, + { "label": "k50", "matrix": [5, 0], "w": 1, "x": 8, "y": 0 }, + { "label": "k51", "matrix": [5, 1], "w": 1, "x": 9, "y": 0 }, + { "label": "k52", "matrix": [5, 2], "w": 1, "x": 10, "y": 0 }, + { "label": "k53", "matrix": [5, 3], "w": 1, "x": 11, "y": 0 }, + { "label": "k54", "matrix": [5, 4], "w": 1, "x": 12, "y": 0 }, + { "label": "k56", "matrix": [5, 6], "w": 2, "x": 13, "y": 0 }, + { "label": "k57", "matrix": [5, 7], "w": 1, "x": 15.5, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k11", "matrix": [1, 1], "w": 1, "x": 1.5, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "w": 1, "x": 2.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "w": 1, "x": 3.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1 }, + { "label": "k60", "matrix": [6, 0], "w": 1, "x": 8.5, "y": 1 }, + { "label": "k61", "matrix": [6, 1], "w": 1, "x": 9.5, "y": 1 }, + { "label": "k62", "matrix": [6, 2], "w": 1, "x": 10.5, "y": 1 }, + { "label": "k63", "matrix": [6, 3], "w": 1, "x": 11.5, "y": 1 }, + { "label": "k64", "matrix": [6, 4], "w": 1, "x": 12.5, "y": 1 }, + { "label": "k65", "matrix": [6, 5], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "k67", "matrix": [6, 7], "w": 1, "x": 15.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k21", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 }, + { "label": "k70", "matrix": [7, 0], "w": 1, "x": 8.75, "y": 2 }, + { "label": "k71", "matrix": [7, 1], "w": 1, "x": 9.75, "y": 2 }, + { "label": "k72", "matrix": [7, 2], "w": 1, "x": 10.75, "y": 2 }, + { "label": "k73", "matrix": [7, 3], "w": 1, "x": 11.75, "y": 2 }, + { "label": "k75", "matrix": [7, 5], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "k30", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "w": 1, "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "w": 1, "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "w": 1, "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "w": 1, "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "w": 1, "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "w": 1, "x": 7.25, "y": 3 }, + { "label": "k80", "matrix": [8, 0], "w": 1, "x": 8.25, "y": 3 }, + { "label": "k81", "matrix": [8, 1], "w": 1, "x": 9.25, "y": 3 }, + { "label": "k82", "matrix": [8, 2], "w": 1, "x": 10.25, "y": 3 }, + { "label": "k83", "matrix": [8, 3], "w": 1, "x": 11.25, "y": 3 }, + { "label": "k85", "matrix": [8, 5], "w": 2.25, "x": 12.25, "y": 3 }, + { "label": "k86", "matrix": [8, 6], "w": 1, "x": 14.5, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k42", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4 }, + { "label": "k92", "matrix": [9, 2], "w": 1.25, "x": 10, "y": 4 }, + { "label": "k93", "matrix": [9, 3], "w": 1, "x": 11.25, "y": 4 }, + { "label": "k94", "matrix": [9, 4], "w": 1.25, "x": 12.25, "y": 4 }, + { "label": "k95", "matrix": [9, 5], "w": 1, "x": 13.5, "y": 4 }, + { "label": "k96", "matrix": [9, 6], "w": 1, "x": 14.5, "y": 4 }, + { "label": "k97", "matrix": [9, 7], "w": 1, "x": 15.5, "y": 4 } + ] + }, + "LAYOUT_all": { + "key_count": 70, + "layout": [ + { "label": "k00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 }, + { "label": "k50", "matrix": [5, 0], "w": 1, "x": 8, "y": 0 }, + { "label": "k51", "matrix": [5, 1], "w": 1, "x": 9, "y": 0 }, + { "label": "k52", "matrix": [5, 2], "w": 1, "x": 10, "y": 0 }, + { "label": "k53", "matrix": [5, 3], "w": 1, "x": 11, "y": 0 }, + { "label": "k54", "matrix": [5, 4], "w": 1, "x": 12, "y": 0 }, + { "label": "k56", "matrix": [5, 6], "w": 2, "x": 13, "y": 0 }, + { "label": "k57", "matrix": [5, 7], "w": 1, "x": 15.5, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k11", "matrix": [1, 1], "w": 1, "x": 1.5, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "w": 1, "x": 2.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "w": 1, "x": 3.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1 }, + { "label": "k60", "matrix": [6, 0], "w": 1, "x": 8.5, "y": 1 }, + { "label": "k61", "matrix": [6, 1], "w": 1, "x": 9.5, "y": 1 }, + { "label": "k62", "matrix": [6, 2], "w": 1, "x": 10.5, "y": 1 }, + { "label": "k63", "matrix": [6, 3], "w": 1, "x": 11.5, "y": 1 }, + { "label": "k64", "matrix": [6, 4], "w": 1, "x": 12.5, "y": 1 }, + { "label": "k65", "matrix": [6, 5], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "k67", "matrix": [6, 7], "w": 1, "x": 15.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k21", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 }, + { "label": "k70", "matrix": [7, 0], "w": 1, "x": 8.75, "y": 2 }, + { "label": "k71", "matrix": [7, 1], "w": 1, "x": 9.75, "y": 2 }, + { "label": "k72", "matrix": [7, 2], "w": 1, "x": 10.75, "y": 2 }, + { "label": "k73", "matrix": [7, 3], "w": 1, "x": 11.75, "y": 2 }, + { "label": "k75", "matrix": [7, 5], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "k30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "label": "k31", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "w": 1, "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "w": 1, "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "w": 1, "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "w": 1, "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "w": 1, "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "w": 1, "x": 7.25, "y": 3 }, + { "label": "k80", "matrix": [8, 0], "w": 1, "x": 8.25, "y": 3 }, + { "label": "k81", "matrix": [8, 1], "w": 1, "x": 9.25, "y": 3 }, + { "label": "k82", "matrix": [8, 2], "w": 1, "x": 10.25, "y": 3 }, + { "label": "k83", "matrix": [8, 3], "w": 1, "x": 11.25, "y": 3 }, + { "label": "k84", "matrix": [8, 4], "w": 1, "x": 12.25, "y": 3 }, + { "label": "k85", "matrix": [8, 5], "w": 1.25, "x": 13.25, "y": 3 }, + { "label": "k86", "matrix": [8, 6], "w": 1, "x": 14.5, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k42", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k45", "matrix": [4, 5], "w": 2.75, "x": 3.75, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 2.25, "x": 6.5, "y": 4 }, + { "label": "k90", "matrix": [9, 0], "w": 1.25, "x": 8.75, "y": 4 }, + { "label": "k92", "matrix": [9, 2], "w": 1.25, "x": 10, "y": 4 }, + { "label": "k93", "matrix": [9, 3], "w": 1, "x": 11.25, "y": 4 }, + { "label": "k94", "matrix": [9, 4], "w": 1.25, "x": 12.25, "y": 4 }, + { "label": "k95", "matrix": [9, 5], "w": 1, "x": 13.5, "y": 4 }, + { "label": "k96", "matrix": [9, 6], "w": 1, "x": 14.5, "y": 4 }, + { "label": "k97", "matrix": [9, 7], "w": 1, "x": 15.5, "y": 4 } + ] } + } } diff --git a/keyboards/clueboard/66_hotswap/prototype/prototype.h b/keyboards/clueboard/66_hotswap/prototype/prototype.h index b1d483b408..1277cfbbab 100644 --- a/keyboards/clueboard/66_hotswap/prototype/prototype.h +++ b/keyboards/clueboard/66_hotswap/prototype/prototype.h @@ -1,86 +1,3 @@ #pragma once #include "quantum.h" -/* Clueboard matrix layout - * ,-----------------------------------------------------------. ,---. - * | 00| 01| 02| 03| 04| 05| 06| 07| 50| 51| 52| 53| 54| 56 | | 57| - * |-----------------------------------------------------------| |---| - * | 10| 11| 12| 13| 14| 15| 16| 17| 60| 61| 62| 63| 64| 65| | 67| - * |-----------------------------------------------------------| `---' - * | 20| 21| 22| 23| 24| 25| 26| 27| 70| 71| 72| 73| 74| 75| - * |------------------------------------------------------------. - * | 30| 31| 32| 33| 34| 35| 36| 37| 80| 81| 82| 83| 84| 85|86| - * |------------------------------------------------------------------. - * | 40| 41| 42| 43| 45| 46| 90| 92| 93| 94| 95| 96| 97| - * `------------------------------------------------------------------' - * ,-----------------------------------------------------------. ,---. - * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | |Ins| - * |-----------------------------------------------------------| |---| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| |Del| - * |-----------------------------------------------------------| `---' - * |Caps | A| S| D| F| G| H| J| k| L| ;| '|Enter | - * |--------------------------------------------------------------. - * |Shift| \| Z| X| C| V| B| N| M| ,| .| /| \|Shift| Up| - * |------------------------------------------------------------------. - * |Ctrl|Alt|Gui | Space| Space|Gui |Alt |Fn |Ctrl|Left|Down|Rgt| - * `------------------------------------------------------------------' - */ -// The first section contains all of the arguments -// The second converts the arguments into a two-dimensional array - -#define LAYOUT_all( \ - k00, k01, k02, k03, k04, k05, k06, k07, k50, k51, k52, k53, k54, k56, k57, \ - k10, k11, k12, k13, k14, k15, k16, k17, k60, k61, k62, k63, k64, k65, k67, \ - k20, k21, k22, k23, k24, k25, k26, k27, k70, k71, k72, k73, k75, \ - k30, k31, k32, k33, k34, k35, k36, k37, k80, k81, k82, k83, k84, k85, k86, \ - k40, k41, k42, k45, k46, k90, k92, k93, k94, k95, k96, k97 \ -) { \ - { k00, k01, k02, k03, k04, k05, k06, k07 }, \ - { k10, k11, k12, k13, k14, k15, k16, k17 }, \ - { k20, k21, k22, k23, k24, k25, k26, k27 }, \ - { k30, k31, k32, k33, k34, k35, k36, k37 }, \ - { k40, k41, k42, KC_NO, KC_NO, k45, k46, KC_NO }, \ - { k50, k51, k52, k53, k54, KC_NO, k56, k57 }, \ - { k60, k61, k62, k63, k64, k65, KC_NO, k67 }, \ - { k70, k71, k72, k73, KC_NO, k75, KC_NO, KC_NO }, \ - { k80, k81, k82, k83, k84, k85, k86, KC_NO }, \ - { k90, KC_NO, k92, k93, k94, k95, k96, k97 } \ -} - -#define LAYOUT( \ - k00, k01, k02, k03, k04, k05, k06, k07, k50, k51, k52, k53, k54, k56, k57, \ - k10, k11, k12, k13, k14, k15, k16, k17, k60, k61, k62, k63, k64, k65, k67, \ - k20, k21, k22, k23, k24, k25, k26, k27, k70, k71, k72, k73, k75, \ - k30, k32, k33, k34, k35, k36, k37, k80, k81, k82, k83, k85, k86, \ - k40, k41, k42, k45, k46, k90, k92, k93, k94, k95, k96, k97 \ -) { \ - { k00, k01, k02, k03, k04, k05, k06, k07 }, \ - { k10, k11, k12, k13, k14, k15, k16, k17 }, \ - { k20, k21, k22, k23, k24, k25, k26, k27 }, \ - { k30, KC_NO, k32, k33, k34, k35, k36, k37 }, \ - { k40, k41, k42, KC_NO, KC_NO, k45, k46, KC_NO }, \ - { k50, k51, k52, k53, k54, KC_NO, k56, k57 }, \ - { k60, k61, k62, k63, k64, k65, KC_NO, k67 }, \ - { k70, k71, k72, k73, KC_NO, k75, KC_NO, KC_NO }, \ - { k80, k81, k82, k83, KC_NO, k85, k86, KC_NO }, \ - { k90, KC_NO, k92, k93, k94, k95, k96, k97 } \ -} - -#define LAYOUT_66_ansi( \ - k00, k01, k02, k03, k04, k05, k06, k07, k50, k51, k52, k53, k54, k56, k57, \ - k10, k11, k12, k13, k14, k15, k16, k17, k60, k61, k62, k63, k64, k65, k67, \ - k20, k21, k22, k23, k24, k25, k26, k27, k70, k71, k72, k73, k75, \ - k30, k32, k33, k34, k35, k36, k37, k80, k81, k82, k83, k85, k86, \ - k40, k41, k42, k46, k92, k93, k94, k95, k96, k97 \ -) { \ - { k00, k01, k02, k03, k04, k05, k06, k07 }, \ - { k10, k11, k12, k13, k14, k15, k16, k17 }, \ - { k20, k21, k22, k23, k24, k25, k26, k27 }, \ - { k30, KC_NO, k32, k33, k34, k35, k36, k37 }, \ - { k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO }, \ - { k50, k51, k52, k53, k54, KC_NO, k56, k57 }, \ - { k60, k61, k62, k63, k64, k65, KC_NO, k67 }, \ - { k70, k71, k72, k73, KC_NO, k75, KC_NO, KC_NO }, \ - { k80, k81, k82, k83, KC_NO, k85, k86, KC_NO }, \ - { KC_NO, KC_NO, k92, k93, k94, k95, k96, k97 } \ -} diff --git a/keyboards/clueboard/66_hotswap/prototype/readme.md b/keyboards/clueboard/66_hotswap/prototype/readme.md new file mode 100644 index 0000000000..5c76a57144 --- /dev/null +++ b/keyboards/clueboard/66_hotswap/prototype/readme.md @@ -0,0 +1,16 @@ +# Clueboard 66% HotSwap + +![Clueboard](https://i.imgur.com/8UmBoNx.jpg) + +A fully customizable 66% keyboard with Hot Swap sockets. + +* Keyboard Maintainer: [Zach White](https://github.com/skullydazed) +* Hardware Supported: Clueboard 66% HotSwap Prototype PCB + * 2.8 (prototype) +* Hardware Availability: [clueboard.co](https://clueboard.co/) + +Make example for this keyboard (after setting up your build environment): + + make clueboard/66_hotswap/prototype:default + +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). diff --git a/keyboards/clueboard/66_hotswap/prototype/rules.mk b/keyboards/clueboard/66_hotswap/prototype/rules.mk index 7f5afcf73e..63dd64f7c1 100644 --- a/keyboards/clueboard/66_hotswap/prototype/rules.mk +++ b/keyboards/clueboard/66_hotswap/prototype/rules.mk @@ -14,19 +14,6 @@ BOOTLOADER = atmel-dfu # Build Options # comment out to disable the options. # -BACKLIGHT_ENABLE = yes BACKLIGHT_DRIVER = custom -BOOTMAGIC_ENABLE = no -MOUSEKEY_ENABLE = no -EXTRAKEY_ENABLE = yes -CONSOLE_ENABLE = yes -COMMAND_ENABLE = no -NKRO_ENABLE = yes -AUDIO_ENABLE = yes -RGBLIGHT_ENABLE = yes -MIDI_ENABLE = no -UNICODE_ENABLE = no -BLUETOOTH_ENABLE = no EXTRAFLAGS += -flto -LAYOUTS = 66_ansi -- cgit v1.2.3