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 <Erovia@users.noreply.github.com>

* add missing docstring

Co-authored-by: Erovia <Erovia@users.noreply.github.com>
This commit is contained in:
Zach White
2020-12-30 10:27:37 -08:00
committed by GitHub
parent f231f24dda
commit 47b9b11009
79 changed files with 4791 additions and 3901 deletions

View File

@@ -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

View File

@@ -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 } \
}

View File

@@ -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 }
]
}
}
}

View File

@@ -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).

View File

@@ -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