summaryrefslogtreecommitdiff
path: root/keyboards/clueboard/66
diff options
context:
space:
mode:
authorZach White <skullydazed@gmail.com>2020-12-30 10:27:37 -0800
committerGitHub <noreply@github.com>2020-12-30 10:27:37 -0800
commit47b9b110097a864d6ab76516b2213afd59948527 (patch)
tree44c4e034c71b361af0cf865b735e09162bbc9656 /keyboards/clueboard/66
parentf231f24ddaac9781201a4ec9d0171c65af788839 (diff)
downloadqmk_firmware-47b9b110097a864d6ab76516b2213afd59948527.tar.gz
qmk_firmware-47b9b110097a864d6ab76516b2213afd59948527.zip
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>
Diffstat (limited to 'keyboards/clueboard/66')
-rw-r--r--keyboards/clueboard/66/info.json34
-rw-r--r--keyboards/clueboard/66/rev1/config.h59
-rw-r--r--keyboards/clueboard/66/rev1/info.json273
-rw-r--r--keyboards/clueboard/66/rev1/readme.md15
-rw-r--r--keyboards/clueboard/66/rev1/rev1.h72
-rw-r--r--keyboards/clueboard/66/rev1/rules.mk18
-rw-r--r--keyboards/clueboard/66/rev2/config.h56
-rw-r--r--keyboards/clueboard/66/rev2/info.json273
-rw-r--r--keyboards/clueboard/66/rev2/readme.md15
-rw-r--r--keyboards/clueboard/66/rev2/rev2.h90
-rw-r--r--keyboards/clueboard/66/rev2/rules.mk14
-rw-r--r--keyboards/clueboard/66/rev3/config.h58
-rw-r--r--keyboards/clueboard/66/rev3/info.json273
-rw-r--r--keyboards/clueboard/66/rev3/readme.md15
-rw-r--r--keyboards/clueboard/66/rev3/rev3.h90
-rw-r--r--keyboards/clueboard/66/rev3/rules.mk14
-rw-r--r--keyboards/clueboard/66/rev4/config.h54
-rw-r--r--keyboards/clueboard/66/rev4/info.json270
-rw-r--r--keyboards/clueboard/66/rev4/keymaps/keymap.c13
-rw-r--r--keyboards/clueboard/66/rev4/keymaps/mine/keymap.c13
-rw-r--r--keyboards/clueboard/66/rev4/mine/keymap.c13
-rw-r--r--keyboards/clueboard/66/rev4/rev4.h91
-rw-r--r--keyboards/clueboard/66/rev4/rules.mk19
23 files changed, 1174 insertions, 668 deletions
diff --git a/keyboards/clueboard/66/info.json b/keyboards/clueboard/66/info.json
index 514ba456da..df88648d80 100644
--- a/keyboards/clueboard/66/info.json
+++ b/keyboards/clueboard/66/info.json
@@ -1,36 +1,4 @@
{
- "keyboard_name": "Clueboard 66%",
"width": 16.5,
- "height": 5,
- "layouts": {
- "LAYOUT_all": {
- "layout": [
- {"x": 0, "y": 0, "w": 1, "label": "GRAVE"}, {"x": 1, "y": 0, "w": 1, "label": "1"}, {"x": 2, "y": 0, "w": 1, "label": "2"}, {"x": 3, "y": 0, "w": 1, "label": "3"}, {"x": 4, "y": 0, "w": 1, "label": "4"}, {"x": 5, "y": 0, "w": 1, "label": "5"}, {"x": 6, "y": 0, "w": 1, "label": "6"}, {"x": 7, "y": 0, "w": 1, "label": "7"}, {"x": 8, "y": 0, "w": 1, "label": "8"}, {"x": 9, "y": 0, "w": 1, "label": "9"}, {"x": 10, "y": 0, "w": 1, "label": "0"}, {"x": 11, "y": 0, "w": 1, "label": "DASH"}, {"x": 12, "y": 0, "w": 1, "label": "EQUALSIGN"}, {"x": 13, "y": 0, "w": 1, "label": "YEN"}, {"x": 14, "y": 0, "w": 1, "label": "BACKSPACE"}, {"x": 15.5, "y": 0, "w": 1, "label": "PAGEUP"},
- {"x": 0, "y": 1, "w": 1.5, "label": "TAB"}, {"x": 1.5, "y": 1, "w": 1, "label": "Q"}, {"x": 2.5, "y": 1, "w": 1, "label": "W"}, {"x": 3.5, "y": 1, "w": 1, "label": "E"}, {"x": 4.5, "y": 1, "w": 1, "label": "R"}, {"x": 5.5, "y": 1, "w": 1, "label": "T"}, {"x": 6.5, "y": 1, "w": 1, "label": "Y"}, {"x": 7.5, "y": 1, "w": 1, "label": "U"}, {"x": 8.5, "y": 1, "w": 1, "label": "I"}, {"x": 9.5, "y": 1, "w": 1, "label": "O"}, {"x": 10.5, "y": 1, "w": 1, "label": "P"}, {"x": 11.5, "y": 1, "w": 1, "label": "LBRACKET"}, {"x": 12.5, "y": 1, "w": 1, "label": "RBRACKET"}, {"x": 13.5, "y": 1, "w": 1.5, "label": "BACKSLASH"}, {"x": 15.5, "y": 1, "w": 1, "label": "PAGEDOWN"},
- {"x": 0, "y": 2, "w": 1.75, "label": "CAPSLOCK"}, {"x": 1.75, "y": 2, "w": 1, "label": "A"}, {"x": 2.75, "y": 2, "w": 1, "label": "S"}, {"x": 3.75, "y": 2, "w": 1, "label": "D"}, {"x": 4.75, "y": 2, "w": 1, "label": "F"}, {"x": 5.75, "y": 2, "w": 1, "label": "G"}, {"x": 6.75, "y": 2, "w": 1, "label": "H"}, {"x": 7.75, "y": 2, "w": 1, "label": "J"}, {"x": 8.75, "y": 2, "w": 1, "label": "K"}, {"x": 9.75, "y": 2, "w": 1, "label": "L"}, {"x": 10.75, "y": 2, "w": 1, "label": "SEMICOLON"}, {"x": 11.75, "y": 2, "w": 1, "label": "QUOTE"}, {"x": 12.75, "y": 2, "w": 1, "label": "ISOHASH"}, {"x": 13.75, "y": 2, "w": 1.25, "label": "ENTER"},
- {"x": 0, "y": 3, "w": 1.25, "label": "LSHIFT"}, {"x": 1.25, "y": 3, "w": 1, "label": "ISOBACKSLASH"}, {"x": 2.25, "y": 3, "w": 1, "label": "Z"}, {"x": 3.25, "y": 3, "w": 1, "label": "X"}, {"x": 4.25, "y": 3, "w": 1, "label": "C"}, {"x": 5.25, "y": 3, "w": 1, "label": "V"}, {"x": 6.25, "y": 3, "w": 1, "label": "B"}, {"x": 7.25, "y": 3, "w": 1, "label": "N"}, {"x": 8.25, "y": 3, "w": 1, "label": "M"}, {"x": 9.25, "y": 3, "w": 1, "label": "COMMA"}, {"x": 10.25, "y": 3, "w": 1, "label": "PERIOD"}, {"x": 11.25, "y": 3, "w": 1, "label": "SLASH"}, {"x": 12.25, "y": 3, "w": 1, "label": "JPBACKSLASH"}, {"x": 13.25, "y": 3, "w": 1.25, "label": "RSHIFT"}, {"x": 14.5, "y": 3, "w": 1, "label": "UP"},
- {"x": 0, "y": 4, "w": 1.25, "label": "LCTRL"}, {"x": 1.25, "y": 4, "w": 1, "label": "LALT"}, {"x": 2.25, "y": 4, "w": 1.25, "label": "LCMD"}, {"x": 3.5, "y": 4, "w": 1.25, "label": "MUHENKAN"}, {"x": 4.75, "y": 4, "w": 2, "label": "SPACE1"}, {"x": 6.75, "y": 4, "w": 2, "label": "SPACE2"}, {"x": 8.75, "y": 4, "w": 1.25, "label": "HENKAN"}, {"x": 10, "y": 4, "w": 1.25, "label": "RCMD"}, {"x": 11.25, "y": 4, "w": 1, "label": "RCTRL"}, {"x": 12.25, "y": 4, "w": 1.25, "label": "FN"}, {"x": 13.5, "y": 4, "w": 1, "label": "LEFT"}, {"x": 14.5, "y": 4, "w": 1, "label": "DOWN"}, {"x": 15.5, "y": 4, "w": 1, "label": "RIGHT"}
- ]
- },
-
- "LAYOUT_66_ansi": {
- "layout": [
- {"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"x":15.5, "y":0},
- {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"x":15.5, "y":1},
- {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25},
- {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.25}, {"x":14.5, "y":3},
- {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6}, {"label":"Alt", "x":9.75, "y":4, "w":1.25}, {"label":"Win", "x":11, "y":4, "w":1.25}, {"label":"Menu", "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_iso": {
- "layout": [
- {"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Insert", "x":15.5, "y":0},
- {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"Delete", "x":15.5, "y":1},
- {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"", "x":12.75, "y":2}, {"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
- {"label":"Shift", "x":0, "y":3, "w":1.25}, {"label":"\\", "x":1.25, "y":3, "w":1}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.25}, {"label":"\u2191", "x":14.5, "y":3},
- {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6}, {"label":"Alt", "x":9.75, "y":4, "w":1.25}, {"label":"Ctrl", "x":11, "y":4, "w":1.25}, {"label":"Menu", "x":12.25, "y":4, "w":1.25}, {"label":"\u2190", "x":13.5, "y":4}, {"label":"\u2193", "x":14.5, "y":4}, {"label":"\u2192", "x":15.5, "y":4}
- ]
- }
- }
+ "height": 5
}
diff --git a/keyboards/clueboard/66/rev1/config.h b/keyboards/clueboard/66/rev1/config.h
index 6b61ca4d14..b8c5759db6 100644
--- a/keyboards/clueboard/66/rev1/config.h
+++ b/keyboards/clueboard/66/rev1/config.h
@@ -1,62 +1,3 @@
#pragma once
#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xC1ED
-#define PRODUCT_ID 0x2301
-#define DEVICE_VER 0x0003
-#define MANUFACTURER Clueboard
-#define PRODUCT Clueboard
-#define DESCRIPTION QMK keyboard firmware for Clueboard
-
-/* key matrix size
- */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 16
-
-/* ROWS: Top to bottom, COLS: Left to right
- */
-#define MATRIX_COL_PINS { B3, F1, F4, F5, F6, C7, C6, B6, B5, B4, D7, D6, D4, F7, B0, B1 }
-#define MATRIX_ROW_PINS { D1, D0, D2, D5, D3 }
-#define UNUSED_PINS
-
-/* 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.
- */
-
-/* disable debug print */
-//#define NO_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
-
-#define LED_CAPS_LOCK_PIN F0
-
-/* Underlight configuration
- */
-#define RGB_DI_PIN B2
-#define RGBLIGHT_ANIMATIONS
-#define RGBLED_NUM 14 // Number of LEDs
-#define RGBLIGHT_HUE_STEP 10
-#define RGBLIGHT_SAT_STEP 17
-#define RGBLIGHT_VAL_STEP 17
diff --git a/keyboards/clueboard/66/rev1/info.json b/keyboards/clueboard/66/rev1/info.json
new file mode 100644
index 0000000000..f67e5baf75
--- /dev/null
+++ b/keyboards/clueboard/66/rev1/info.json
@@ -0,0 +1,273 @@
+{
+ "manufacturer": "Clueboard",
+ "keyboard_name": "Clueboard 66%",
+ "maintainer": "skullydazed",
+ "height": 5,
+ "width": 16.5,
+ "debounce": "5",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "audio": false,
+ "backlight": false,
+ "bluetooth": false,
+ "bootmagic": false,
+ "command": false,
+ "console": true,
+ "extrakey": true,
+ "midi": false,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": false,
+ "unicode": false
+ },
+ "indicators": {
+ "caps_lock": "F0"
+ },
+ "matrix_pins": {
+ "cols": ["B3", " F1", " F4", " F5", " F6", " C7", " C6", " B6", " B5", " B4", " D7", " D6", " D4", " F7", " B0", " B1"],
+ "rows": ["D1", " D0", " D2", " D5", " D3"]
+ },
+ "rgblight": {
+ "animations": {
+ "all": true
+ },
+ "brightness_steps": "17",
+ "hue_steps": "10",
+ "led_count": "14",
+ "pin": "B2",
+ "saturation_steps": "17"
+ },
+ "usb": {
+ "device_ver": "0x0001",
+ "pid": "0x2301",
+ "vid": "0xC1ED"
+ },
+ "community_layouts": ["66_ansi", "66_iso"],
+ "layout_aliases": {
+ "KEYMAP": "LAYOUT_all",
+ "LAYOUT": "LAYOUT_all"
+ },
+ "layouts": {
+ "LAYOUT_66_ansi": {
+ "key_count": 66,
+ "layout": [
+ { "label": "~", "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": "$", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
+ { "label": "%", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
+ { "label": "^", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
+ { "label": "&", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
+ { "label": "*", "matrix": [0, 8], "w": 1, "x": 8, "y": 0 },
+ { "label": "(", "matrix": [0, 9], "w": 1, "x": 9, "y": 0 },
+ { "label": ")", "matrix": [0, 10], "w": 1, "x": 10, "y": 0 },
+ { "label": "_", "matrix": [0, 11], "w": 1, "x": 11, "y": 0 },
+ { "label": "+", "matrix": [0, 12], "w": 1, "x": 12, "y": 0 },
+ { "label": "Backspace", "matrix": [0, 14], "w": 2, "x": 13, "y": 0 },
+ { "label": "k0F", "matrix": [0, 15], "w": 1, "x": 15.5, "y": 0 },
+ { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+ { "label": "Q", "matrix": [1, 1], "w": 1, "x": 1.5, "y": 1 },
+ { "label": "W", "matrix": [1, 2], "w": 1, "x": 2.5, "y": 1 },
+ { "label": "E", "matrix": [1, 3], "w": 1, "x": 3.5, "y": 1 },
+ { "label": "R", "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1 },
+ { "label": "T", "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1 },
+ { "label": "Y", "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1 },
+ { "label": "U", "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1 },
+ { "label": "I", "matrix": [1, 8], "w": 1, "x": 8.5, "y": 1 },
+ { "label": "O", "matrix": [1, 9], "w": 1, "x": 9.5, "y": 1 },
+ { "label": "P", "matrix": [1, 10], "w": 1, "x": 10.5, "y": 1 },
+ { "label": "{", "matrix": [1, 11], "w": 1, "x": 11.5, "y": 1 },
+ { "label": "}", "matrix": [1, 12], "w": 1, "x": 12.5, "y": 1 },
+ { "label": "|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
+ { "label": "k1F", "matrix": [1, 15], "w": 1, "x": 15.5, "y": 1 },
+ { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "A", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
+ { "label": "S", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
+ { "label": "D", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
+ { "label": "F", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
+ { "label": "G", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
+ { "label": "H", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
+ { "label": "J", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
+ { "label": "K", "matrix": [2, 8], "w": 1, "x": 8.75, "y": 2 },
+ { "label": "L", "matrix": [2, 9], "w": 1, "x": 9.75, "y": 2 },
+ { "label": ":", "matrix": [2, 10], "w": 1, "x": 10.75, "y": 2 },
+ { "label": "\"", "matrix": [2, 11], "w": 1, "x": 11.75, "y": 2 },
+ { "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 },
+ { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
+ { "label": "Z", "matrix": [3, 2], "w": 1, "x": 2.25, "y": 3 },
+ { "label": "X", "matrix": [3, 3], "w": 1, "x": 3.25, "y": 3 },
+ { "label": "C", "matrix": [3, 4], "w": 1, "x": 4.25, "y": 3 },
+ { "label": "V", "matrix": [3, 5], "w": 1, "x": 5.25, "y": 3 },
+ { "label": "B", "matrix": [3, 6], "w": 1, "x": 6.25, "y": 3 },
+ { "label": "N", "matrix": [3, 7], "w": 1, "x": 7.25, "y": 3 },
+ { "label": "M", "matrix": [3, 8], "w": 1, "x": 8.25, "y": 3 },
+ { "label": "<", "matrix": [3, 9], "w": 1, "x": 9.25, "y": 3 },
+ { "label": ">", "matrix": [3, 10], "w": 1, "x": 10.25, "y": 3 },
+ { "label": "?", "matrix": [3, 11], "w": 1, "x": 11.25, "y": 3 },
+ { "label": "Shift", "matrix": [3, 13], "w": 2.25, "x": 12.25, "y": 3 },
+ { "label": "k3E", "matrix": [3, 14], "w": 1, "x": 14.5, "y": 3 },
+ { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
+ { "label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
+ { "label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 },
+ { "label": "k46", "matrix": [4, 6], "w": 6, "x": 3.75, "y": 4 },
+ { "label": "Alt", "matrix": [4, 10], "w": 1.25, "x": 9.75, "y": 4 },
+ { "label": "Win", "matrix": [4, 11], "w": 1.25, "x": 11, "y": 4 },
+ { "label": "Menu", "matrix": [4, 12], "w": 1.25, "x": 12.25, "y": 4 },
+ { "label": "k4D", "matrix": [4, 13], "w": 1, "x": 13.5, "y": 4 },
+ { "label": "k4E", "matrix": [4, 14], "w": 1, "x": 14.5, "y": 4 },
+ { "label": "k4F", "matrix": [4, 15], "w": 1, "x": 15.5, "y": 4 }
+ ]
+ },
+ "LAYOUT_66_iso": {
+ "key_count": 67,
+ "layout": [
+ { "label": "~", "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": "$", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
+ { "label": "%", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
+ { "label": "^", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
+ { "label": "&", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
+ { "label": "*", "matrix": [0, 8], "w": 1, "x": 8, "y": 0 },
+ { "label": "(", "matrix": [0, 9], "w": 1, "x": 9, "y": 0 },
+ { "label": ")", "matrix": [0, 10], "w": 1, "x": 10, "y": 0 },
+ { "label": "_", "matrix": [0, 11], "w": 1, "x": 11, "y": 0 },
+ { "label": "+", "matrix": [0, 12], "w": 1, "x": 12, "y": 0 },
+ { "label": "Backspace", "matrix": [0, 14], "w": 2, "x": 13, "y": 0 },
+ { "label": "Insert", "matrix": [0, 15], "w": 1, "x": 15.5, "y": 0 },
+ { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+ { "label": "Q", "matrix": [1, 1], "w": 1, "x": 1.5, "y": 1 },
+ { "label": "W", "matrix": [1, 2], "w": 1, "x": 2.5, "y": 1 },
+ { "label": "E", "matrix": [1, 3], "w": 1, "x": 3.5, "y": 1 },
+ { "label": "R", "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1 },
+ { "label": "T", "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1 },
+ { "label": "Y", "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1 },
+ { "label": "U", "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1 },
+ { "label": "I", "matrix": [1, 8], "w": 1, "x": 8.5, "y": 1 },
+ { "label": "O", "matrix": [1, 9], "w": 1, "x": 9.5, "y": 1 },
+ { "label": "P", "matrix": [1, 10], "w": 1, "x": 10.5, "y": 1 },
+ { "label": "{", "matrix": [1, 11], "w": 1, "x": 11.5, "y": 1 },
+ { "label": "}", "matrix": [1, 12], "w": 1, "x": 12.5, "y": 1 },
+ { "label": "Delete", "matrix": [1, 15], "w": 1, "x": 15.5, "y": 1 },
+ { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "A", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
+ { "label": "S", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
+ { "label": "D", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
+ { "label": "F", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
+ { "label": "G", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
+ { "label": "H", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
+ { "label": "J", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
+ { "label": "K", "matrix": [2, 8], "w": 1, "x": 8.75, "y": 2 },
+ { "label": "L", "matrix": [2, 9], "w": 1, "x": 9.75, "y": 2 },
+ { "label": ":", "matrix": [2, 10], "w": 1, "x": 10.75, "y": 2 },
+ { "label": "\"", "matrix": [2, 11], "w": 1, "x": 11.75, "y": 2 },
+ { "label": "", "matrix": [2, 12], "w": 1, "x": 12.75, "y": 2 },
+ { "h": 2, "label": "Enter", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 1 },
+ { "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
+ { "label": "\\", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 3 },
+ { "label": "Z", "matrix": [3, 2], "w": 1, "x": 2.25, "y": 3 },
+ { "label": "X", "matrix": [3, 3], "w": 1, "x": 3.25, "y": 3 },
+ { "label": "C", "matrix": [3, 4], "w": 1, "x": 4.25, "y": 3 },
+ { "label": "V", "matrix": [3, 5], "w": 1, "x": 5.25, "y": 3 },
+ { "label": "B", "matrix": [3, 6], "w": 1, "x": 6.25, "y": 3 },
+ { "label": "N", "matrix": [3, 7], "w": 1, "x": 7.25, "y": 3 },
+ { "label": "M", "matrix": [3, 8], "w": 1, "x": 8.25, "y": 3 },
+ { "label": "<", "matrix": [3, 9], "w": 1, "x": 9.25, "y": 3 },
+ { "label": ">", "matrix": [3, 10], "w": 1, "x": 10.25, "y": 3 },
+ { "label": "?", "matrix": [3, 11], "w": 1, "x": 11.25, "y": 3 },
+ { "label": "Shift", "matrix": [3, 13], "w": 2.25, "x": 12.25, "y": 3 },
+ { "label": "\u2191", "matrix": [3, 14], "w": 1, "x": 14.5, "y": 3 },
+ { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
+ { "label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
+ { "label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 },
+ { "label": "k46", "matrix": [4, 6], "w": 6, "x": 3.75, "y": 4 },
+ { "label": "Alt", "matrix": [4, 10], "w": 1.25, "x": 9.75, "y": 4 },
+ { "label": "Ctrl", "matrix": [4, 11], "w": 1.25, "x": 11, "y": 4 },
+ { "label": "Menu", "matrix": [4, 12], "w": 1.25, "x": 12.25, "y": 4 },
+ { "label": "\u2190", "matrix": [4, 13], "w": 1, "x": 13.5, "y": 4 },
+ { "label": "\u2193", "matrix": [4, 14], "w": 1, "x": 14.5, "y": 4 },
+ { "label": "\u2192", "matrix": [4, 15], "w": 1, "x": 15.5, "y": 4 }
+ ]
+ },
+ "LAYOUT_all": {
+ "key_count": 73,
+ "layout": [
+ { "label": "GRAVE", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
+ { "label": "1", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
+ { "label": "2", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
+ { "label": "3", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
+ { "label": "4", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
+ { "label": "5", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
+ { "label": "6", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
+ { "label": "7", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
+ { "label": "8", "matrix": [0, 8], "w": 1, "x": 8, "y": 0 },
+ { "label": "9", "matrix": [0, 9], "w": 1, "x": 9, "y": 0 },
+ { "label": "0", "matrix": [0, 10], "w": 1, "x": 10, "y": 0 },
+ { "label": "DASH", "matrix": [0, 11], "w": 1, "x": 11, "y": 0 },
+ { "label": "EQUALSIGN", "matrix": [0, 12], "w": 1, "x": 12, "y": 0 },
+ { "label": "YEN", "matrix": [0, 13], "w": 1, "x": 13, "y": 0 },
+ { "label": "BACKSPACE", "matrix": [0, 14], "w": 1, "x": 14, "y": 0 },
+ { "label": "PAGEUP", "matrix": [0, 15], "w": 1, "x": 15.5, "y": 0 },
+ { "label": "TAB", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+ { "label": "Q", "matrix": [1, 1], "w": 1, "x": 1.5, "y": 1 },
+ { "label": "W", "matrix": [1, 2], "w": 1, "x": 2.5, "y": 1 },
+ { "label": "E", "matrix": [1, 3], "w": 1, "x": 3.5, "y": 1 },
+ { "label": "R", "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1 },
+ { "label": "T", "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1 },
+ { "label": "Y", "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1 },
+ { "label": "U", "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1 },
+ { "label": "I", "matrix": [1, 8], "w": 1, "x": 8.5, "y": 1 },
+ { "label": "O", "matrix": [1, 9], "w": 1, "x": 9.5, "y": 1 },
+ { "label": "P", "matrix": [1, 10], "w": 1, "x": 10.5, "y": 1 },
+ { "label": "LBRACKET", "matrix": [1, 11], "w": 1, "x": 11.5, "y": 1 },
+ { "label": "RBRACKET", "matrix": [1, 12], "w": 1, "x": 12.5, "y": 1 },
+ { "label": "BACKSLASH", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 },
+ { "label": "PAGEDOWN", "matrix": [1, 15], "w": 1, "x": 15.5, "y": 1 },
+ { "label": "CAPSLOCK", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "A", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
+ { "label": "S", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
+ { "label": "D", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
+ { "label": "F", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
+ { "label": "G", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
+ { "label": "H", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
+ { "label": "J", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
+ { "label": "K", "matrix": [2, 8], "w": 1, "x": 8.75, "y": 2 },
+ { "label": "L", "matrix": [2, 9], "w": 1, "x": 9.75, "y": 2 },
+ { "label": "SEMICOLON", "matrix": [2, 10], "w": 1, "x": 10.75, "y": 2 },
+ { "label": "QUOTE", "matrix": [2, 11], "w": 1, "x": 11.75, "y": 2 },
+ { "label": "ISOHASH", "matrix": [2, 12], "w": 1, "x": 12.75, "y": 2 },
+ { "label": "ENTER", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 2 },
+ { "label": "LSHIFT", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
+ { "label": "ISOBACKSLASH", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 3 },
+ { "label": "Z", "matrix": [3, 2], "w": 1, "x": 2.25, "y": 3 },
+ { "label": "X", "matrix": [3, 3], "w": 1, "x": 3.25, "y": 3 },
+ { "label": "C", "matrix": [3, 4], "w": 1, "x": 4.25, "y": 3 },
+ { "label": "V", "matrix": [3, 5], "w": 1, "x": 5.25, "y": 3 },
+ { "label": "B", "matrix": [3, 6], "w": 1, "x": 6.25, "y": 3 },
+ { "label": "N", "matrix": [3, 7], "w": 1, "x": 7.25, "y": 3 },
+ { "label": "M", "matrix": [3, 8], "w": 1, "x": 8.25, "y": 3 },
+ { "label": "COMMA", "matrix": [3, 9], "w": 1, "x": 9.25, "y": 3 },
+ { "label": "PERIOD", "matrix": [3, 10], "w": 1, "x": 10.25, "y": 3 },
+ { "label": "SLASH", "matrix": [3, 11], "w": 1, "x": 11.25, "y": 3 },
+ { "label": "JPBACKSLASH", "matrix": [3, 12], "w": 1, "x": 12.25, "y": 3 },
+ { "label": "RSHIFT", "matrix": [3, 13], "w": 1.25, "x": 13.25, "y": 3 },
+ { "label": "UP", "matrix": [3, 14], "w": 1, "x": 14.5, "y": 3 },
+ { "label": "LCTRL", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
+ { "label": "LALT", "matrix": [4, 1], "w": 1, "x": 1.25, "y": 4 },
+ { "label": "LCMD", "matrix": [4, 2], "w": 1.25, "x": 2.25, "y": 4 },
+ { "label": "MUHENKAN", "matrix": [4, 3], "w": 1.25, "x": 3.5, "y": 4 },
+ { "label": "SPACE1", "matrix": [4, 5], "w": 2, "x": 4.75, "y": 4 },
+ { "label": "SPACE2", "matrix": [4, 6], "w": 2, "x": 6.75, "y": 4 },
+ { "label": "HENKAN", "matrix": [4, 9], "w": 1.25, "x": 8.75, "y": 4 },
+ { "label": "RCMD", "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 },
+ { "label": "RCTRL", "matrix": [4, 11], "w": 1, "x": 11.25, "y": 4 },
+ { "label": "FN", "matrix": [4, 12], "w": 1.25, "x": 12.25, "y": 4 },
+ { "label": "LEFT", "matrix": [4, 13], "w": 1, "x": 13.5, "y": 4 },
+ { "label": "DOWN", "matrix": [4, 14], "w": 1, "x": 14.5, "y": 4 },
+ { "label": "RIGHT", "matrix": [4, 15], "w": 1, "x": 15.5, "y": 4 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/clueboard/66/rev1/readme.md b/keyboards/clueboard/66/rev1/readme.md
new file mode 100644
index 0000000000..ba6013128a
--- /dev/null
+++ b/keyboards/clueboard/66/rev1/readme.md
@@ -0,0 +1,15 @@
+# Clueboard 66%
+
+![Clueboard](https://i.imgur.com/hLePwJu.jpg)
+
+A fully customizable 66% keyboard.
+
+* Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
+* Hardware Supported: Clueboard 66% PCB rev1 (atmega32u4)
+* Hardware Availability: [clueboard.co](https://clueboard.co/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make clueboard/66/rev1:default
+
+See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then 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/rev1/rev1.h b/keyboards/clueboard/66/rev1/rev1.h
index e071f4c796..ef5b3f3e04 100644
--- a/keyboards/clueboard/66/rev1/rev1.h
+++ b/keyboards/clueboard/66/rev1/rev1.h
@@ -1,75 +1,3 @@
#pragma once
#include "quantum.h"
-
-/* Clueboard matrix layout
- * ,-----------------------------------------------------------. ,---.
- * | 00| 01| 02| 03| 04| 05| 06| 07| 08| 09| 0A| 0B| 0C| 0D| 0E| | 0F|
- * |-----------------------------------------------------------| |---|
- * | 10| 11| 12| 13| 14| 15| 16| 17| 18| 19| 1A| 1B| 1C| 1D| | 1F|
- * |-----------------------------------------------------------| `---'
- * | 20| 21| 22| 23| 24| 25| 26| 27| 28| 29| 2A| 2B| 2C| 2D|
- * |------------------------------------------------------------.
- * | 30| 31| 32| 33| 34| 35| 36| 37| 38| 39| 3A| 3B| 3C| 3D|3E|
- * |------------------------------------------------------------------.
- * | 40| 41| 42| 43| 45| 46| 49| 4A| 4B| 4C| 4D| 4E| 4F|
- * `------------------------------------------------------------------'
- * ,-----------------------------------------------------------. ,---.
- * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Yen| BS| |Ins|
- * |-----------------------------------------------------------| |---|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| |Del|
- * |-----------------------------------------------------------| `---'
- * |Caps | A| S| D| F| G| H| J| k| L| ;| '| # | Ent|
- * |--------------------------------------------------------------.
- * |Shift| \| Z| X| C| V| B| N| M| ,| .| /| \|Shift| Up|
- * |------------------------------------------------------------------.
- * |Ctrl|Alt|Gui |MHen| Space| Space|Henk|Gui |Ctrl| Fn|Left|Down|Rgt|
- * `------------------------------------------------------------------'
- */
-// The first section contains all of the arguements
-// The second converts the arguments into a two-dimensional array
-
-#define LAYOUT_all( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1F, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, \
- k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, \
- k40, k41, k42, k43, k45, k46, k49, k4A, k4B, k4C, k4D, k4E, k4F \
-) { \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \
- { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, KC_NO, k1F }, \
- { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D }, \
- { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E }, \
- { k40, k41, k42, k43, KC_NO, k45, k46, KC_NO, KC_NO, k49, k4A, k4B, k4C, k4D, k4E, k4F } \
-}
-
-#define LAYOUT_66_ansi( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0E, k0F, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1F, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2D, \
- k30, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, k3E, \
- k40, k41, k42, k46, k4A, k4B, k4C, k4D, k4E, k4F \
-) { \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, KC_NO, k0E, k0F }, \
- { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, KC_NO, k1F }, \
- { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, KC_NO, k2D }, \
- { k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, KC_NO, k3D, k3E }, \
- { k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, k4A, k4B, k4C, k4D, k4E, k4F } \
-}
-
-#define LAYOUT_66_iso( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0E, k0F, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1F, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, \
- k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, k3E, \
- k40, k41, k42, k46, k4A, k4B, k4C, k4D, k4E, k4F \
-) { \
- { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, KC_NO, k0E, k0F }, \
- { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, KC_NO, KC_NO, k1F }, \
- { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D }, \
- { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, KC_NO, k3D, k3E }, \
- { k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, k4A, k4B, k4C, k4D, k4E, k4F } \
-}
-
-#define KEYMAP LAYOUT_all
-#define LAYOUT LAYOUT_all
diff --git a/keyboards/clueboard/66/rev1/rules.mk b/keyboards/clueboard/66/rev1/rules.mk
index 84b5dee21e..2f20507d4d 100644
--- a/keyboards/clueboard/66/rev1/rules.mk
+++ b/keyboards/clueboard/66/rev1/rules.mk
@@ -10,21 +10,3 @@ MCU = atmega32u4
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = atmel-dfu
-
-# Build Options
-# comment out to disable the options.
-#
-BACKLIGHT_ENABLE = no
-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 - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = no # Enable keyboard underlight functionality
-MIDI_ENABLE = no # MIDI controls
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-
-LAYOUTS = 66_ansi 66_iso
diff --git a/keyboards/clueboard/66/rev2/config.h b/keyboards/clueboard/66/rev2/config.h
index a1e4804cad..e226d71ea0 100644
--- a/keyboards/clueboard/66/rev2/config.h
+++ b/keyboards/clueboard/66/rev2/config.h
@@ -2,68 +2,12 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xC1ED
-#define PRODUCT_ID 0x2320
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Clueboard
-#define PRODUCT Clueboard
-#define DESCRIPTION QMK keyboard firmware for Clueboard
-
-/* key matrix size */
-#define MATRIX_ROWS 10
-#define MATRIX_COLS 8
-
-/* ROWS: Top to bottom, COLS: Left to right
-*/
-#define MATRIX_ROW_PINS { B2, C7, C6, B6, B5, B0, B3, D5, D3, D2 }
-#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, E6, B1 }
-#define UNUSED_PINS
-
-/* 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.
- */
-
-/* disable debug print */
-//#define NO_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
-
-#define LED_CAPS_LOCK_PIN B4
-
/* Backlight configuration
*/
#define BACKLIGHT_LEVELS 1
/* Underlight configuration
*/
-#define RGB_DI_PIN D7
-#define RGBLED_NUM 14 // 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/rev2/info.json b/keyboards/clueboard/66/rev2/info.json
new file mode 100644
index 0000000000..4560ec7e8d
--- /dev/null
+++ b/keyboards/clueboard/66/rev2/info.json
@@ -0,0 +1,273 @@
+{
+ "manufacturer": "Clueboard",
+ "keyboard_name": "Clueboard 66%",
+ "maintainer": "skullydazed",
+ "height": 5,
+ "width": 16.5,
+ "debounce": "5",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "audio": false,
+ "backlight": true,
+ "bluetooth": false,
+ "bootmagic": false,
+ "command": false,
+ "console": true,
+ "extrakey": true,
+ "midi": false,
+ "mousekey": true,
+ "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": "14",
+ "pin": "D7",
+ "saturation_steps": "17"
+ },
+ "usb": {
+ "device_ver": "0x0001",
+ "pid": "0x2320",
+ "vid": "0xC1ED"
+ },
+ "community_layouts": ["66_ansi", "66_iso"],
+ "layout_aliases": {
+ "KEYMAP": "LAYOUT_all",
+ "LAYOUT": "LAYOUT_all"
+ },
+ "layouts": {
+ "LAYOUT_66_ansi": {
+ "key_count": 66,
+ "layout": [
+ { "label": "~", "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": "$", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
+ { "label": "%", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
+ { "label": "^", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
+ { "label": "&", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
+ { "label": "*", "matrix": [5, 0], "w": 1, "x": 8, "y": 0 },
+ { "label": "(", "matrix": [5, 1], "w": 1, "x": 9, "y": 0 },
+ { "label": ")", "matrix": [5, 2], "w": 1, "x": 10, "y": 0 },
+ { "label": "_", "matrix": [5, 3], "w": 1, "x": 11, "y": 0 },
+ { "label": "+", "matrix": [5, 4], "w": 1, "x": 12, "y": 0 },
+ { "label": "Backspace", "matrix": [5, 6], "w": 2, "x": 13, "y": 0 },
+ { "label": "k57", "matrix": [5, 7], "w": 1, "x": 15.5, "y": 0 },
+ { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+ { "label": "Q", "matrix": [1, 1], "w": 1, "x": 1.5, "y": 1 },
+ { "label": "W", "matrix": [1, 2], "w": 1, "x": 2.5, "y": 1 },
+ { "label": "E", "matrix": [1, 3], "w": 1, "x": 3.5, "y": 1 },
+ { "label": "R", "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1 },
+ { "label": "T", "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1 },
+ { "label": "Y", "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1 },
+ { "label": "U", "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1 },
+ { "label": "I", "matrix": [6, 0], "w": 1, "x": 8.5, "y": 1 },
+ { "label": "O", "matrix": [6, 1], "w": 1, "x": 9.5, "y": 1 },
+ { "label": "P", "matrix": [6, 2], "w": 1, "x": 10.5, "y": 1 },
+ { "label": "{", "matrix": [6, 3], "w": 1, "x": 11.5, "y": 1 },
+ { "label": "}", "matrix": [6, 4], "w": 1, "x": 12.5, "y": 1 },
+ { "label": "|", "matrix": [6, 5], "w": 1.5, "x": 13.5, "y": 1 },
+ { "label": "k67", "matrix": [6, 7], "w": 1, "x": 15.5, "y": 1 },
+ { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "A", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
+ { "label": "S", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
+ { "label": "D", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
+ { "label": "F", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
+ { "label": "G", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
+ { "label": "H", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
+ { "label": "J", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
+ { "label": "K", "matrix": [7, 0], "w": 1, "x": 8.75, "y": 2 },
+ { "label": "L", "matrix": [7, 1], "w": 1, "x": 9.75, "y": 2 },
+ { "label": ":", "matrix": [7, 2], "w": 1, "x": 10.75, "y": 2 },
+ { "label": "\"", "matrix": [7, 3], "w": 1, "x": 11.75, "y": 2 },
+ { "label": "Enter", "matrix": [7, 5], "w": 2.25, "x": 12.75, "y": 2 },
+ { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
+ { "label": "Z", "matrix": [3, 2], "w": 1, "x": 2.25, "y": 3 },
+ { "label": "X", "matrix": [3, 3], "w": 1, "x": 3.25, "y": 3 },
+ { "label": "C", "matrix": [3, 4], "w": 1, "x": 4.25, "y": 3 },
+ { "label": "V", "matrix": [3, 5], "w": 1, "x": 5.25, "y": 3 },
+ { "label": "B", "matrix": [3, 6], "w": 1, "x": 6.25, "y": 3 },
+ { "label": "N", "matrix": [3, 7], "w": 1, "x": 7.25, "y": 3 },
+ { "label": "M", "matrix": [8, 0], "w": 1, "x": 8.25, "y": 3 },
+ { "label": "<", "matrix": [8, 1], "w": 1, "x": 9.25, "y": 3 },
+ { "label": ">", "matrix": [8, 2], "w": 1, "x": 10.25, "y": 3 },
+ { "label": "?", "matrix": [8, 3], "w": 1, "x": 11.25, "y": 3 },
+ { "label": "Shift", "matrix": [8, 5], "w": 2.25, "x": 12.25, "y": 3 },
+ { "label": "k86", "matrix": [8, 6], "w": 1, "x": 14.5, "y": 3 },
+ { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
+ { "label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
+ { "label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 },
+ { "label": "k46", "matrix": [4, 6], "w": 6, "x": 3.75, "y": 4 },
+ { "label": "Alt", "matrix": [9, 2], "w": 1.25, "x": 9.75, "y": 4 },
+ { "label": "Win", "matrix": [9, 3], "w": 1.25, "x": 11, "y": 4 },
+ { "label": "Menu", "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_66_iso": {
+ "key_count": 67,
+ "layout": [
+ { "label": "~", "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": "$", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
+ { "label": "%", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
+ { "label": "^", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
+ { "label": "&", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
+ { "label": "*", "matrix": [5, 0], "w": 1, "x": 8, "y": 0 },
+ { "label": "(", "matrix": [5, 1], "w": 1, "x": 9, "y": 0 },
+ { "label": ")", "matrix": [5, 2], "w": 1, "x": 10, "y": 0 },
+ { "label": "_", "matrix": [5, 3], "w": 1, "x": 11, "y": 0 },
+ { "label": "+", "matrix": [5, 4], "w": 1, "x": 12, "y": 0 },
+ { "label": "Backspace", "matrix": [5, 6], "w": 2, "x": 13, "y": 0 },
+ { "label": "Insert", "matrix": [5, 7], "w": 1, "x": 15.5, "y": 0 },
+ { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+ { "label": "Q", "matrix": [1, 1], "w": 1, "x": 1.5, "y": 1 },
+ { "label": "W", "matrix": [1, 2], "w": 1, "x": 2.5, "y": 1 },
+ { "label": "E", "matrix": [1, 3], "w": 1, "x": 3.5, "y": 1 },
+ { "label": "R", "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1 },
+ { "label": "T", "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1 },
+ { "label": "Y", "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1 },
+ { "label": "U", "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1 },
+ { "label": "I", "matrix": [6, 0], "w": 1, "x": 8.5, "y": 1 },
+ { "label": "O", "matrix": [6, 1], "w": 1, "x": 9.5, "y": 1 },
+ { "label": "P", "matrix": [6, 2], "w": 1, "x": 10.5, "y": 1 },
+ { "label": "{", "matrix": [6, 3], "w": 1, "x": 11.5, "y": 1 },
+ { "label": "}", "matrix": [6, 4], "w": 1, "x": 12.5, "y": 1 },
+ { "label": "Delete", "matrix": [6, 7], "w": 1, "x": 15.5, "y": 1 },
+ { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "A", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
+ { "label": "S", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
+ { "label": "D", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
+ { "label": "F", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
+ { "label": "G", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
+ { "label": "H", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
+ { "label": "J", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
+ { "label": "K", "matrix": [7, 0], "w": 1, "x": 8.75, "y": 2 },
+ { "label": "L", "matrix": [7, 1], "w": 1, "x": 9.75, "y": 2 },
+ { "label": ":", "matrix": [7, 2], "w": 1, "x": 10.75, "y": 2 },
+ { "label": "\"", "matrix": [7, 3], "w": 1, "x": 11.75, "y": 2 },
+ { "label": "", "matrix": [7, 4], "w": 1, "x": 12.75, "y": 2 },
+ { "h": 2, "label": "Enter", "matrix": [7, 5], "w": 1.25, "x": 13.75, "y": 1 },
+ { "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
+ { "label": "\\", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 3 },
+ { "label": "Z", "matrix": [3, 2], "w": 1, "x": 2.25, "y": 3 },
+ { "label": "X", "matrix": [3, 3], "w": 1, "x": 3.25, "y": 3 },
+ { "label": "C", "matrix": [3, 4], "w": 1, "x": 4.25, "y": 3 },
+ { "label": "V", "matrix": [3, 5], "w": 1, "x": 5.25, "y": 3 },
+ { "label": "B", "matrix": [3, 6], "w": 1, "x": 6.25, "y": 3 },
+ { "label": "N", "matrix": [3, 7], "w": 1, "x": 7.25, "y": 3 },
+ { "label": "M", "matrix": [8, 0], "w": 1, "x": 8.25, "y": 3 },
+ { "label": "<", "matrix": [8, 1], "w": 1, "x": 9.25, "y": 3 },
+ { "label": ">", "matrix": [8, 2], "w": 1, "x": 10.25, "y": 3 },
+ { "label": "?", "matrix": [8, 3], "w": 1, "x": 11.25, "y": 3 },
+ { "label": "Shift", "matrix": [8, 5], "w": 2.25, "x": 12.25, "y": 3 },
+ { "label": "\u2191", "matrix": [8, 6], "w": 1, "x": 14.5, "y": 3 },
+ { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
+ { "label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
+ { "label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 },
+ { "label": "k46", "matrix": [4, 6], "w": 6, "x": 3.75, "y": 4 },
+ { "label": "Alt", "matrix": [9, 2], "w": 1.25, "x": 9.75, "y": 4 },
+ { "label": "Ctrl", "matrix": [9, 3], "w": 1.25, "x": 11, "y": 4 },
+ { "label": "Menu", "matrix": [9, 4], "w": 1.25, "x": 12.25, "y": 4 },
+ { "label": "\u2190", "matrix": [9, 5], "w": 1, "x": 13.5, "y": 4 },
+ { "label": "\u2193", "matrix": [9, 6], "w": 1, "x": 14.5, "y": 4 },
+ { "label": "\u2192", "matrix": [9, 7], "w": 1, "x": 15.5, "y": 4 }
+ ]
+ },
+ "LAYOUT_all": {
+ "key_count": 73,
+ "layout": [
+ { "label": "GRAVE", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
+ { "label": "1", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
+ { "label": "2", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
+ { "label": "3", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
+ { "label": "4", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
+ { "label": "5", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
+ { "label": "6", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
+ { "label": "7", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
+ { "label": "8", "matrix": [5, 0], "w": 1, "x": 8, "y": 0 },
+ { "label": "9", "matrix": [5, 1], "w": 1, "x": 9, "y": 0 },
+ { "label": "0", "matrix": [5, 2], "w": 1, "x": 10, "y": 0 },
+ { "label": "DASH", "matrix": [5, 3], "w": 1, "x": 11, "y": 0 },
+ { "label": "EQUALSIGN", "matrix": [5, 4], "w": 1, "x": 12, "y": 0 },
+ { "label": "YEN", "matrix": [5, 5], "w": 1, "x": 13, "y": 0 },
+ { "label": "BACKSPACE", "matrix": [5, 6], "w": 1, "x": 14, "y": 0 },
+ { "label": "PAGEUP", "matrix": [5, 7], "w": 1, "x": 15.5, "y": 0 },
+ { "label": "TAB", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+ { "label": "Q", "matrix": [1, 1], "w": 1, "x": 1.5, "y": 1 },
+ { "label": "W", "matrix": [1, 2], "w": 1, "x": 2.5, "y": 1 },
+ { "label": "E", "matrix": [1, 3], "w": 1, "x": 3.5, "y": 1 },
+ { "label": "R", "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1 },
+ { "label": "T", "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1 },
+ { "label": "Y", "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1 },
+ { "label": "U", "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1 },
+ { "label": "I", "matrix": [6, 0], "w": 1, "x": 8.5, "y": 1 },
+ { "label": "O", "matrix": [6, 1], "w": 1, "x": 9.5, "y": 1 },
+ { "label": "P", "matrix": [6, 2], "w": 1, "x": 10.5, "y": 1 },
+ { "label": "LBRACKET", "matrix": [6, 3], "w": 1, "x": 11.5, "y": 1 },
+ { "label": "RBRACKET", "matrix": [6, 4], "w": 1, "x": 12.5, "y": 1 },
+ { "label": "BACKSLASH", "matrix": [6, 5], "w": 1.5, "x": 13.5, "y": 1 },
+ { "label": "PAGEDOWN", "matrix": [6, 7], "w": 1, "x": 15.5, "y": 1 },
+ { "label": "CAPSLOCK", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "A", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
+ { "label": "S", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
+ { "label": "D", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
+ { "label": "F", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
+ { "label": "G", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
+ { "label": "H", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
+ { "label": "J", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
+ { "label": "K", "matrix": [7, 0], "w": 1, "x": 8.75, "y": 2 },
+ { "label": "L", "matrix": [7, 1], "w": 1, "x": 9.75, "y": 2 },
+ { "label": "SEMICOLON", "matrix": [7, 2], "w": 1, "x": 10.75, "y": 2 },
+ { "label": "QUOTE", "matrix": [7, 3], "w": 1, "x": 11.75, "y": 2 },
+ { "label": "ISOHASH", "matrix": [7, 4], "w": 1, "x": 12.75, "y": 2 },
+ { "label": "ENTER", "matrix": [7, 5], "w": 1.25, "x": 13.75, "y": 2 },
+ { "label": "LSHIFT", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
+ { "label": "ISOBACKSLASH", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 3 },
+ { "label": "Z", "matrix": [3, 2], "w": 1, "x": 2.25, "y": 3 },
+ { "label": "X", "matrix": [3, 3], "w": 1, "x": 3.25, "y": 3 },
+ { "label": "C", "matrix": [3, 4], "w": 1, "x": 4.25, "y": 3 },
+ { "label": "V", "matrix": [3, 5], "w": 1, "x": 5.25, "y": 3 },
+ { "label": "B", "matrix": [3, 6], "w": 1, "x": 6.25, "y": 3 },
+ { "label": "N", "matrix": [3, 7], "w": 1, "x": 7.25, "y": 3 },
+ { "label": "M", "matrix": [8, 0], "w": 1, "x": 8.25, "y": 3 },
+ { "label": "COMMA", "matrix": [8, 1], "w": 1, "x": 9.25, "y": 3 },
+ { "label": "PERIOD", "matrix": [8, 2], "w": 1, "x": 10.25, "y": 3 },
+ { "label": "SLASH", "matrix": [8, 3], "w": 1, "x": 11.25, "y": 3 },
+ { "label": "JPBACKSLASH", "matrix": [8, 4], "w": 1, "x": 12.25, "y": 3 },
+ { "label": "RSHIFT", "matrix": [8, 5], "w": 1.25, "x": 13.25, "y": 3 },
+ { "label": "UP", "matrix": [8, 6], "w": 1, "x": 14.5, "y": 3 },
+ { "label": "LCTRL", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
+ { "label": "LALT", "matrix": [4, 1], "w": 1, "x": 1.25, "y": 4 },
+ { "label": "LCMD", "matrix": [4, 2], "w": 1.25, "x": 2.25, "y": 4 },
+ { "label": "MUHENKAN", "matrix": [4, 3], "w": 1.25, "x": 3.5, "y": 4 },
+ { "label": "SPACE1", "matrix": [4, 5], "w": 2, "x": 4.75, "y": 4 },
+ { "label": "SPACE2", "matrix": [4, 6], "w": 2, "x": 6.75, "y": 4 },
+ { "label": "HENKAN", "matrix": [9, 0], "w": 1.25, "x": 8.75, "y": 4 },
+ { "label": "RCMD", "matrix": [9, 2], "w": 1.25, "x": 10, "y": 4 },
+ { "label": "RCTRL", "matrix": [9, 3], "w": 1, "x": 11.25, "y": 4 },
+ { "label": "FN", "matrix": [9, 4], "w": 1.25, "x": 12.25, "y": 4 },
+ { "label": "LEFT", "matrix": [9, 5], "w": 1, "x": 13.5, "y": 4 },
+ { "label": "DOWN", "matrix": [9, 6], "w": 1, "x": 14.5, "y": 4 },
+ { "label": "RIGHT", "matrix": [9, 7], "w": 1, "x": 15.5, "y": 4 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/clueboard/66/rev2/readme.md b/keyboards/clueboard/66/rev2/readme.md
new file mode 100644
index 0000000000..9943ec6951
--- /dev/null
+++ b/keyboards/clueboard/66/rev2/readme.md
@@ -0,0 +1,15 @@
+# Clueboard 66%
+
+![Clueboard](https://i.imgur.com/hLePwJu.jpg)
+
+A fully customizable 66% keyboard.
+
+* Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
+* Hardware Supported: Clueboard 66% PCB rev2 (atmega32u4)
+* Hardware Availability: [clueboard.co](https://clueboard.co/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make clueboard/66/rev2:default
+
+See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then 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/rev2/rev2.h b/keyboards/clueboard/66/rev2/rev2.h
index 86688c7a15..00bdf1e032 100644
--- a/keyboards/clueboard/66/rev2/rev2.h
+++ b/keyboards/clueboard/66/rev2/rev2.h
@@ -2,93 +2,3 @@
#include "quantum.h"
-/* Clueboard matrix layout
- * ,-----------------------------------------------------------. ,---.
- * | 00| 01| 02| 03| 04| 05| 06| 07| 50| 51| 52| 53| 54| 55| 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| -| =|Yen| BS| |Ins|
- * |-----------------------------------------------------------| |---|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| |Del|
- * |-----------------------------------------------------------| `---'
- * |Caps | A| S| D| F| G| H| J| k| L| ;| '| # | Ent|
- * |--------------------------------------------------------------.
- * |Shift| \| Z| X| C| V| B| N| M| ,| .| /| \|Shift| Up|
- * |------------------------------------------------------------------.
- * |Ctrl|Alt|Gui |MHen| Space| Space|Henk|Gui |Ctrl| Fn|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, k55, 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, k74, k75, \
- k30, k31, k32, k33, k34, k35, k36, k37, k80, k81, k82, k83, k84, k85, k86, \
- k40, k41, k42, k43, 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, k43, KC_NO, k45, k46, KC_NO }, \
- { k50, k51, k52, k53, k54, k55, k56, k57 }, \
- { k60, k61, k62, k63, k64, k65, KC_NO, k67 }, \
- { k70, k71, k72, k73, k74, k75, KC_NO, KC_NO }, \
- { k80, k81, k82, k83, k84, k85, k86, KC_NO }, \
- { k90, KC_NO, k92, k93, k94, k95, k96, k97 } \
-}
-
-/* LAYOUT_66_ansi, standard 66 key ANSI layout
- */
-#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 } \
-}
-
-/* LAYOUT_66_iso, standard 67 key ISO layout
- */
-#define LAYOUT_66_iso( \
- 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, k67, \
- k20, k21, k22, k23, k24, k25, k26, k27, k70, k71, k72, k73, k74, k75, \
- k30, k31, 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, k31, 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, KC_NO, KC_NO, k67 }, \
- { k70, k71, k72, k73, k74, 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 } \
-}
-
-#define KEYMAP LAYOUT_all
-#define LAYOUT LAYOUT_all
diff --git a/keyboards/clueboard/66/rev2/rules.mk b/keyboards/clueboard/66/rev2/rules.mk
index 16d9251d6a..75fb718e33 100644
--- a/keyboards/clueboard/66/rev2/rules.mk
+++ b/keyboards/clueboard/66/rev2/rules.mk
@@ -12,18 +12,4 @@ MCU = atmega32u4
BOOTLOADER = atmel-dfu
# Build Options
-BACKLIGHT_ENABLE = yes
BACKLIGHT_DRIVER = custom
-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 - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = yes # Enable keyboard underlight functionality
-MIDI_ENABLE = no # MIDI controls
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-
-LAYOUTS = 66_ansi 66_iso
diff --git a/keyboards/clueboard/66/rev3/config.h b/keyboards/clueboard/66/rev3/config.h
index 2d063d4e61..6ba11f512a 100644
--- a/keyboards/clueboard/66/rev3/config.h
+++ b/keyboards/clueboard/66/rev3/config.h
@@ -2,68 +2,10 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xC1ED
-#define PRODUCT_ID 0x2370
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Clueboard
-#define PRODUCT Clueboard
-#define DESCRIPTION QMK keyboard firmware for Clueboard
-
-/* key matrix size */
-#define MATRIX_ROWS 10
-#define MATRIX_COLS 8
-
-/* ROWS: Top to bottom, COLS: Left to right
-*/
-#define MATRIX_ROW_PINS { B2, C7, C6, B6, B5, B0, B3, D5, D3, D2 }
-#define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, E6, B1 }
-#define UNUSED_PINS
-
-/* 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.
- */
-
-/* disable debug print */
-//#define NO_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
-
-#define LED_CAPS_LOCK_PIN B4
-
/* Backlight configuration
*/
#define BACKLIGHT_LEVELS 1
-/* Underlight configuration
- */
-#define RGB_DI_PIN D7
-#define RGBLED_NUM 18 // 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/rev3/info.json b/keyboards/clueboard/66/rev3/info.json
new file mode 100644
index 0000000000..4b9694a2bf
--- /dev/null
+++ b/keyboards/clueboard/66/rev3/info.json
@@ -0,0 +1,273 @@
+{
+ "manufacturer": "Clueboard",
+ "keyboard_name": "Clueboard 66% rev3",
+ "maintainer": "skullydazed",
+ "height": 5,
+ "width": 16.5,
+ "debounce": "5",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "audio": false,
+ "backlight": true,
+ "bluetooth": false,
+ "bootmagic": false,
+ "command": false,
+ "console": true,
+ "extrakey": true,
+ "midi": false,
+ "mousekey": true,
+ "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": "18",
+ "pin": "D7",
+ "saturation_steps": "17"
+ },
+ "usb": {
+ "device_ver": "0x0001",
+ "pid": "0x2370",
+ "vid": "0xC1ED"
+ },
+ "community_layouts": ["66_ansi", "66_iso"],
+ "layout_aliases": {
+ "KEYMAP": "LAYOUT_all",
+ "LAYOUT": "LAYOUT_all"
+ },
+ "layouts": {
+ "LAYOUT_66_ansi": {
+ "key_count": 66,
+ "layout": [
+ { "label": "~", "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": "$", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
+ { "label": "%", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
+ { "label": "^", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
+ { "label": "&", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
+ { "label": "*", "matrix": [5, 0], "w": 1, "x": 8, "y": 0 },
+ { "label": "(", "matrix": [5, 1], "w": 1, "x": 9, "y": 0 },
+ { "label": ")", "matrix": [5, 2], "w": 1, "x": 10, "y": 0 },
+ { "label": "_", "matrix": [5, 3], "w": 1, "x": 11, "y": 0 },
+ { "label": "+", "matrix": [5, 4], "w": 1, "x": 12, "y": 0 },
+ { "label": "Backspace", "matrix": [5, 6], "w": 2, "x": 13, "y": 0 },
+ { "label": "k57", "matrix": [5, 7], "w": 1, "x": 15.5, "y": 0 },
+ { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+ { "label": "Q", "matrix": [1, 1], "w": 1, "x": 1.5, "y": 1 },
+ { "label": "W", "matrix": [1, 2], "w": 1, "x": 2.5, "y": 1 },
+ { "label": "E", "matrix": [1, 3], "w": 1, "x": 3.5, "y": 1 },
+ { "label": "R", "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1 },
+ { "label": "T", "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1 },
+ { "label": "Y", "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1 },
+ { "label": "U", "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1 },
+ { "label": "I", "matrix": [6, 0], "w": 1, "x": 8.5, "y": 1 },
+ { "label": "O", "matrix": [6, 1], "w": 1, "x": 9.5, "y": 1 },
+ { "label": "P", "matrix": [6, 2], "w": 1, "x": 10.5, "y": 1 },
+ { "label": "{", "matrix": [6, 3], "w": 1, "x": 11.5, "y": 1 },
+ { "label": "}", "matrix": [6, 4], "w": 1, "x": 12.5, "y": 1 },
+ { "label": "|", "matrix": [6, 5], "w": 1.5, "x": 13.5, "y": 1 },
+ { "label": "k67", "matrix": [6, 7], "w": 1, "x": 15.5, "y": 1 },
+ { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "A", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
+ { "label": "S", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
+ { "label": "D", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
+ { "label": "F", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
+ { "label": "G", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
+ { "label": "H", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
+ { "label": "J", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
+ { "label": "K", "matrix": [7, 0], "w": 1, "x": 8.75, "y": 2 },
+ { "label": "L", "matrix": [7, 1], "w": 1, "x": 9.75, "y": 2 },
+ { "label": ":", "matrix": [7, 2], "w": 1, "x": 10.75, "y": 2 },
+ { "label": "\"", "matrix": [7, 3], "w": 1, "x": 11.75, "y": 2 },
+ { "label": "Enter", "matrix": [7, 5], "w": 2.25, "x": 12.75, "y": 2 },
+ { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
+ { "label": "Z", "matrix": [3, 2], "w": 1, "x": 2.25, "y": 3 },
+ { "label": "X", "matrix": [3, 3], "w": 1, "x": 3.25, "y": 3 },
+ { "label": "C", "matrix": [3, 4], "w": 1, "x": 4.25, "y": 3 },
+ { "label": "V", "matrix": [3, 5], "w": 1, "x": 5.25, "y": 3 },
+ { "label": "B", "matrix": [3, 6], "w": 1, "x": 6.25, "y": 3 },
+ { "label": "N", "matrix": [3, 7], "w": 1, "x": 7.25, "y": 3 },
+ { "label": "M", "matrix": [8, 0], "w": 1, "x": 8.25, "y": 3 },
+ { "label": "<", "matrix": [8, 1], "w": 1, "x": 9.25, "y": 3 },
+ { "label": ">", "matrix": [8, 2], "w": 1, "x": 10.25, "y": 3 },
+ { "label": "?", "matrix": [8, 3], "w": 1, "x": 11.25, "y": 3 },
+ { "label": "Shift", "matrix": [8, 5], "w": 2.25, "x": 12.25, "y": 3 },
+ { "label": "k86", "matrix": [8, 6], "w": 1, "x": 14.5, "y": 3 },
+ { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
+ { "label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
+ { "label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 },
+ { "label": "k46", "matrix": [4, 6], "w": 6, "x": 3.75, "y": 4 },
+ { "label": "Alt", "matrix": [9, 2], "w": 1.25, "x": 9.75, "y": 4 },
+ { "label": "Win", "matrix": [9, 3], "w": 1.25, "x": 11, "y": 4 },
+ { "label": "Menu", "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_66_iso": {
+ "key_count": 67,
+ "layout": [
+ { "label": "~", "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": "$", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
+ { "label": "%", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
+ { "label": "^", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
+ { "label": "&", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
+ { "label": "*", "matrix": [5, 0], "w": 1, "x": 8, "y": 0 },
+ { "label": "(", "matrix": [5, 1], "w": 1, "x": 9, "y": 0 },
+ { "label": ")", "matrix": [5, 2], "w": 1, "x": 10, "y": 0 },
+ { "label": "_", "matrix": [5, 3], "w": 1, "x": 11, "y": 0 },
+ { "label": "+", "matrix": [5, 4], "w": 1, "x": 12, "y": 0 },
+ { "label": "Backspace", "matrix": [5, 6], "w": 2, "x": 13, "y": 0 },
+ { "label": "Insert", "matrix": [5, 7], "w": 1, "x": 15.5, "y": 0 },
+ { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+ { "label": "Q", "matrix": [1, 1], "w": 1, "x": 1.5, "y": 1 },
+ { "label": "W", "matrix": [1, 2], "w": 1, "x": 2.5, "y": 1 },
+ { "label": "E", "matrix": [1, 3], "w": 1, "x": 3.5, "y": 1 },
+ { "label": "R", "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1 },
+ { "label": "T", "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1 },
+ { "label": "Y", "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1 },
+ { "label": "U", "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1 },
+ { "label": "I", "matrix": [6, 0], "w": 1, "x": 8.5, "y": 1 },
+ { "label": "O", "matrix": [6, 1], "w": 1, "x": 9.5, "y": 1 },
+ { "label": "P", "matrix": [6, 2], "w": 1, "x": 10.5, "y": 1 },
+ { "label": "{", "matrix": [6, 3], "w": 1, "x": 11.5, "y": 1 },
+ { "label": "}", "matrix": [6, 4], "w": 1, "x": 12.5, "y": 1 },
+ { "label": "Delete", "matrix": [6, 7], "w": 1, "x": 15.5, "y": 1 },
+ { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "A", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
+ { "label": "S", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
+ { "label": "D", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
+ { "label": "F", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
+ { "label": "G", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
+ { "label": "H", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
+ { "label": "J", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
+ { "label": "K", "matrix": [7, 0], "w": 1, "x": 8.75, "y": 2 },
+ { "label": "L", "matrix": [7, 1], "w": 1, "x": 9.75, "y": 2 },
+ { "label": ":", "matrix": [7, 2], "w": 1, "x": 10.75, "y": 2 },
+ { "label": "\"", "matrix": [7, 3], "w": 1, "x": 11.75, "y": 2 },
+ { "label": "", "matrix": [7, 4], "w": 1, "x": 12.75, "y": 2 },
+ { "h": 2, "label": "Enter", "matrix": [7, 5], "w": 1.25, "x": 13.75, "y": 1 },
+ { "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
+ { "label": "\\", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 3 },
+ { "label": "Z", "matrix": [3, 2], "w": 1, "x": 2.25, "y": 3 },
+ { "label": "X", "matrix": [3, 3], "w": 1, "x": 3.25, "y": 3 },
+ { "label": "C", "matrix": [3, 4], "w": 1, "x": 4.25, "y": 3 },
+ { "label": "V", "matrix": [3, 5], "w": 1, "x": 5.25, "y": 3 },
+ { "label": "B", "matrix": [3, 6], "w": 1, "x": 6.25, "y": 3 },
+ { "label": "N", "matrix": [3, 7], "w": 1, "x": 7.25, "y": 3 },
+ { "label": "M", "matrix": [8, 0], "w": 1, "x": 8.25, "y": 3 },
+ { "label": "<", "matrix": [8, 1], "w": 1, "x": 9.25, "y": 3 },
+ { "label": ">", "matrix": [8, 2], "w": 1, "x": 10.25, "y": 3 },
+ { "label": "?", "matrix": [8, 3], "w": 1, "x": 11.25, "y": 3 },
+ { "label": "Shift", "matrix": [8, 5], "w": 2.25, "x": 12.25, "y": 3 },
+ { "label": "\u2191", "matrix": [8, 6], "w": 1, "x": 14.5, "y": 3 },
+ { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
+ { "label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
+ { "label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 },
+ { "label": "k46", "matrix": [4, 6], "w": 6, "x": 3.75, "y": 4 },
+ { "label": "Alt", "matrix": [9, 2], "w": 1.25, "x": 9.75, "y": 4 },
+ { "label": "Ctrl", "matrix": [9, 3], "w": 1.25, "x": 11, "y": 4 },
+ { "label": "Menu", "matrix": [9, 4], "w": 1.25, "x": 12.25, "y": 4 },
+ { "label": "\u2190", "matrix": [9, 5], "w": 1, "x": 13.5, "y": 4 },
+ { "label": "\u2193", "matrix": [9, 6], "w": 1, "x": 14.5, "y": 4 },
+ { "label": "\u2192", "matrix": [9, 7], "w": 1, "x": 15.5, "y": 4 }
+ ]
+ },
+ "LAYOUT_all": {
+ "key_count": 73,
+ "layout": [
+ { "label": "GRAVE", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
+ { "label": "1", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
+ { "label": "2", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
+ { "label": "3", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
+ { "label": "4", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
+ { "label": "5", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
+ { "label": "6", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
+ { "label": "7", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
+ { "label": "8", "matrix": [5, 0], "w": 1, "x": 8, "y": 0 },
+ { "label": "9", "matrix": [5, 1], "w": 1, "x": 9, "y": 0 },
+ { "label": "0", "matrix": [5, 2], "w": 1, "x": 10, "y": 0 },
+ { "label": "DASH", "matrix": [5, 3], "w": 1, "x": 11, "y": 0 },
+ { "label": "EQUALSIGN", "matrix": [5, 4], "w": 1, "x": 12, "y": 0 },
+ { "label": "YEN", "matrix": [5, 5], "w": 1, "x": 13, "y": 0 },
+ { "label": "BACKSPACE", "matrix": [5, 6], "w": 1, "x": 14, "y": 0 },
+ { "label": "PAGEUP", "matrix": [5, 7], "w": 1, "x": 15.5, "y": 0 },
+ { "label": "TAB", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+ { "label": "Q", "matrix": [1, 1], "w": 1, "x": 1.5, "y": 1 },
+ { "label": "W", "matrix": [1, 2], "w": 1, "x": 2.5, "y": 1 },
+ { "label": "E", "matrix": [1, 3], "w": 1, "x": 3.5, "y": 1 },
+ { "label": "R", "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1 },
+ { "label": "T", "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1 },
+ { "label": "Y", "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1 },
+ { "label": "U", "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1 },
+ { "label": "I", "matrix": [6, 0], "w": 1, "x": 8.5, "y": 1 },
+ { "label": "O", "matrix": [6, 1], "w": 1, "x": 9.5, "y": 1 },
+ { "label": "P", "matrix": [6, 2], "w": 1, "x": 10.5, "y": 1 },
+ { "label": "LBRACKET", "matrix": [6, 3], "w": 1, "x": 11.5, "y": 1 },
+ { "label": "RBRACKET", "matrix": [6, 4], "w": 1, "x": 12.5, "y": 1 },
+ { "label": "BACKSLASH", "matrix": [6, 5], "w": 1.5, "x": 13.5, "y": 1 },
+ { "label": "PAGEDOWN", "matrix": [6, 7], "w": 1, "x": 15.5, "y": 1 },
+ { "label": "CAPSLOCK", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "A", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
+ { "label": "S", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
+ { "label": "D", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
+ { "label": "F", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
+ { "label": "G", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
+ { "label": "H", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
+ { "label": "J", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
+ { "label": "K", "matrix": [7, 0], "w": 1, "x": 8.75, "y": 2 },
+ { "label": "L", "matrix": [7, 1], "w": 1, "x": 9.75, "y": 2 },
+ { "label": "SEMICOLON", "matrix": [7, 2], "w": 1, "x": 10.75, "y": 2 },
+ { "label": "QUOTE", "matrix": [7, 3], "w": 1, "x": 11.75, "y": 2 },
+ { "label": "ISOHASH", "matrix": [7, 4], "w": 1, "x": 12.75, "y": 2 },
+ { "label": "ENTER", "matrix": [7, 5], "w": 1.25, "x": 13.75, "y": 2 },
+ { "label": "LSHIFT", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
+ { "label": "ISOBACKSLASH", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 3 },
+ { "label": "Z", "matrix": [3, 2], "w": 1, "x": 2.25, "y": 3 },
+ { "label": "X", "matrix": [3, 3], "w": 1, "x": 3.25, "y": 3 },
+ { "label": "C", "matrix": [3, 4], "w": 1, "x": 4.25, "y": 3 },
+ { "label": "V", "matrix": [3, 5], "w": 1, "x": 5.25, "y": 3 },
+ { "label": "B", "matrix": [3, 6], "w": 1, "x": 6.25, "y": 3 },
+ { "label": "N", "matrix": [3, 7], "w": 1, "x": 7.25, "y": 3 },
+ { "label": "M", "matrix": [8, 0], "w": 1, "x": 8.25, "y": 3 },
+ { "label": "COMMA", "matrix": [8, 1], "w": 1, "x": 9.25, "y": 3 },
+ { "label": "PERIOD", "matrix": [8, 2], "w": 1, "x": 10.25, "y": 3 },
+ { "label": "SLASH", "matrix": [8, 3], "w": 1, "x": 11.25, "y": 3 },
+ { "label": "JPBACKSLASH", "matrix": [8, 4], "w": 1, "x": 12.25, "y": 3 },
+ { "label": "RSHIFT", "matrix": [8, 5], "w": 1.25, "x": 13.25, "y": 3 },
+ { "label": "UP", "matrix": [8, 6], "w": 1, "x": 14.5, "y": 3 },
+ { "label": "LCTRL", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
+ { "label": "LALT", "matrix": [4, 1], "w": 1, "x": 1.25, "y": 4 },
+ { "label": "LCMD", "matrix": [4, 2], "w": 1.25, "x": 2.25, "y": 4 },
+ { "label": "MUHENKAN", "matrix": [4, 3], "w": 1.25, "x": 3.5, "y": 4 },
+ { "label": "SPACE1", "matrix": [4, 5], "w": 2, "x": 4.75, "y": 4 },
+ { "label": "SPACE2", "matrix": [4, 6], "w": 2, "x": 6.75, "y": 4 },
+ { "label": "HENKAN", "matrix": [9, 0], "w": 1.25, "x": 8.75, "y": 4 },
+ { "label": "RCMD", "matrix": [9, 2], "w": 1.25, "x": 10, "y": 4 },
+ { "label": "RCTRL", "matrix": [9, 3], "w": 1, "x": 11.25, "y": 4 },
+ { "label": "FN", "matrix": [9, 4], "w": 1.25, "x": 12.25, "y": 4 },
+ { "label": "LEFT", "matrix": [9, 5], "w": 1, "x": 13.5, "y": 4 },
+ { "label": "DOWN", "matrix": [9, 6], "w": 1, "x": 14.5, "y": 4 },
+ { "label": "RIGHT", "matrix": [9, 7], "w": 1, "x": 15.5, "y": 4 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/clueboard/66/rev3/readme.md b/keyboards/clueboard/66/rev3/readme.md
new file mode 100644
index 0000000000..5d7ecd41c2
--- /dev/null
+++ b/keyboards/clueboard/66/rev3/readme.md
@@ -0,0 +1,15 @@
+# Clueboard 66%
+
+![Clueboard](https://i.imgur.com/hLePwJu.jpg)
+
+A fully customizable 66% keyboard.
+
+* Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
+* Hardware Supported: Clueboard 66% PCB rev3 (atmega32u4)
+* Hardware Availability: [clueboard.co](https://clueboard.co/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make clueboard/66/rev3:default
+
+See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then 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/rev3/rev3.h b/keyboards/clueboard/66/rev3/rev3.h
index 86688c7a15..00bdf1e032 100644
--- a/keyboards/clueboard/66/rev3/rev3.h
+++ b/keyboards/clueboard/66/rev3/rev3.h
@@ -2,93 +2,3 @@
#include "quantum.h"
-/* Clueboard matrix layout
- * ,-----------------------------------------------------------. ,---.
- * | 00| 01| 02| 03| 04| 05| 06| 07| 50| 51| 52| 53| 54| 55| 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| -| =|Yen| BS| |Ins|
- * |-----------------------------------------------------------| |---|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| |Del|
- * |-----------------------------------------------------------| `---'
- * |Caps | A| S| D| F| G| H| J| k| L| ;| '| # | Ent|
- * |--------------------------------------------------------------.
- * |Shift| \| Z| X| C| V| B| N| M| ,| .| /| \|Shift| Up|
- * |------------------------------------------------------------------.
- * |Ctrl|Alt|Gui |MHen| Space| Space|Henk|Gui |Ctrl| Fn|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, k55, 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, k74, k75, \
- k30, k31, k32, k33, k34, k35, k36, k37, k80, k81, k82, k83, k84, k85, k86, \
- k40, k41, k42, k43, 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, k43, KC_NO, k45, k46, KC_NO }, \
- { k50, k51, k52, k53, k54, k55, k56, k57 }, \
- { k60, k61, k62, k63, k64, k65, KC_NO, k67 }, \
- { k70, k71, k72, k73, k74, k75, KC_NO, KC_NO }, \
- { k80, k81, k82, k83, k84, k85, k86, KC_NO }, \
- { k90, KC_NO, k92, k93, k94, k95, k96, k97 } \
-}
-
-/* LAYOUT_66_ansi, standard 66 key ANSI layout
- */
-#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 } \
-}
-
-/* LAYOUT_66_iso, standard 67 key ISO layout
- */
-#define LAYOUT_66_iso( \
- 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, k67, \
- k20, k21, k22, k23, k24, k25, k26, k27, k70, k71, k72, k73, k74, k75, \
- k30, k31, 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, k31, 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, KC_NO, KC_NO, k67 }, \
- { k70, k71, k72, k73, k74, 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 } \
-}
-
-#define KEYMAP LAYOUT_all
-#define LAYOUT LAYOUT_all
diff --git a/keyboards/clueboard/66/rev3/rules.mk b/keyboards/clueboard/66/rev3/rules.mk
index 55f3050e35..76e161e36b 100644
--- a/keyboards/clueboard/66/rev3/rules.mk
+++ b/keyboards/clueboard/66/rev3/rules.mk
@@ -14,18 +14,4 @@ BOOTLOADER = atmel-dfu
# Build Options
# comment out to disable the options.
#
-BACKLIGHT_ENABLE = yes
BACKLIGHT_DRIVER = custom
-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 - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = yes # Enable keyboard underlight functionality
-MIDI_ENABLE = no # MIDI controls
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-
-LAYOUTS = 66_ansi 66_iso
diff --git a/keyboards/clueboard/66/rev4/config.h b/keyboards/clueboard/66/rev4/config.h
index 8ed1404783..c745b5a110 100644
--- a/keyboards/clueboard/66/rev4/config.h
+++ b/keyboards/clueboard/66/rev4/config.h
@@ -2,72 +2,18 @@
#include "config_common.h"
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xC1ED
-#define PRODUCT_ID 0x2390
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Clueboard
-#define PRODUCT Clueboard 66% rev4
-#define DESCRIPTION QMK keyboard firmware for 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
-
-/* ROWS: Top to bottom, COLS: Left to right
-*/
-#define MATRIX_ROW_PINS { B11, A6, A3, A2, A1, B7, B6, C15, C14, C13 }
-#define MATRIX_COL_PINS { B10, B2, B1, B0, A7, B4, B3, B5 }
-#define UNUSED_PINS { B15, B14, B13, B12, B9, B8, A15, A10, A9, A8 }
-
-/* 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.
- */
-
-/* disable debug print */
-//#define NO_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
-
/* Backlight configuration
*/
#define BACKLIGHT_LEVELS 1
/* Underlight configuration
*/
-#define RGB_DI_PIN D7
-#define RGBLED_NUM 18 // 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/rev4/info.json b/keyboards/clueboard/66/rev4/info.json
new file mode 100644
index 0000000000..90c721e31f
--- /dev/null
+++ b/keyboards/clueboard/66/rev4/info.json
@@ -0,0 +1,270 @@
+{
+ "manufacturer": "Clueboard",
+ "keyboard_name": "Clueboard 66% rev4",
+ "maintainer": "skullydazed",
+ "height": 5,
+ "width": 16.5,
+ "debounce": "5",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "audio": true,
+ "backlight": false,
+ "bluetooth": false,
+ "bootmagic": false,
+ "command": false,
+ "console": true,
+ "extrakey": true,
+ "midi": false,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": false,
+ "unicode": false
+ },
+ "matrix_pins": {
+ "cols": ["B10", " B2", " B1", " B0", " A7", " B4", " B3", " B5"],
+ "rows": ["B11", " A6", " A3", " A2", " A1", " B7", " B6", " C15", " C14", " C13"]
+ },
+ "rgblight": {
+ "animations": {
+ "all": true
+ },
+ "brightness_steps": "17",
+ "hue_steps": "32",
+ "led_count": "18",
+ "pin": "D7",
+ "saturation_steps": "17"
+ },
+ "usb": {
+ "device_ver": "0x0001",
+ "pid": "0x2390",
+ "vid": "0xC1ED"
+ },
+ "community_layouts": ["66_ansi", "66_iso"],
+ "layout_aliases": {
+ "KEYMAP": "LAYOUT_all",
+ "LAYOUT": "LAYOUT_all"
+ },
+ "layouts": {
+ "LAYOUT_66_ansi": {
+ "key_count": 66,
+ "layout": [
+ { "label": "~", "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": "$", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
+ { "label": "%", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
+ { "label": "^", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
+ { "label": "&", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
+ { "label": "*", "matrix": [5, 0], "w": 1, "x": 8, "y": 0 },
+ { "label": "(", "matrix": [5, 1], "w": 1, "x": 9, "y": 0 },
+ { "label": ")", "matrix": [5, 2], "w": 1, "x": 10, "y": 0 },
+ { "label": "_", "matrix": [5, 3], "w": 1, "x": 11, "y": 0 },
+ { "label": "+", "matrix": [5, 4], "w": 1, "x": 12, "y": 0 },
+ { "label": "Backspace", "matrix": [5, 6], "w": 2, "x": 13, "y": 0 },
+ { "label": "Page Up", "matrix": [5, 7], "w": 1, "x": 15.5, "y": 0 },
+ { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+ { "label": "Q", "matrix": [1, 1], "w": 1, "x": 1.5, "y": 1 },
+ { "label": "W", "matrix": [1, 2], "w": 1, "x": 2.5, "y": 1 },
+ { "label": "E", "matrix": [1, 3], "w": 1, "x": 3.5, "y": 1 },
+ { "label": "R", "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1 },
+ { "label": "T", "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1 },
+ { "label": "Y", "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1 },
+ { "label": "U", "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1 },
+ { "label": "I", "matrix": [6, 0], "w": 1, "x": 8.5, "y": 1 },
+ { "label": "O", "matrix": [6, 1], "w": 1, "x": 9.5, "y": 1 },
+ { "label": "P", "matrix": [6, 2], "w": 1, "x": 10.5, "y": 1 },
+ { "label": "{", "matrix": [6, 3], "w": 1, "x": 11.5, "y": 1 },
+ { "label": "}", "matrix": [6, 4], "w": 1, "x": 12.5, "y": 1 },
+ { "label": "|", "matrix": [6, 5], "w": 1.5, "x": 13.5, "y": 1 },
+ { "label": "Page Down", "matrix": [6, 7], "w": 1, "x": 15.5, "y": 1 },
+ { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "A", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
+ { "label": "S", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
+ { "label": "D", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
+ { "label": "F", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
+ { "label": "G", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
+ { "label": "H", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
+ { "label": "J", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
+ { "label": "K", "matrix": [7, 0], "w": 1, "x": 8.75, "y": 2 },
+ { "label": "L", "matrix": [7, 1], "w": 1, "x": 9.75, "y": 2 },
+ { "label": ":", "matrix": [7, 2], "w": 1, "x": 10.75, "y": 2 },
+ { "label": "\"", "matrix": [7, 3], "w": 1, "x": 11.75, "y": 2 },
+ { "label": "Enter", "matrix": [7, 5], "w": 2.25, "x": 12.75, "y": 2 },
+ { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 },
+ { "label": "Z", "matrix": [3, 2], "w": 1, "x": 2.25, "y": 3 },
+ { "label": "X", "matrix": [3, 3], "w": 1, "x": 3.25, "y": 3 },
+ { "label": "C", "matrix": [3, 4], "w": 1, "x": 4.25, "y": 3 },
+ { "label": "V", "matrix": [3, 5], "w": 1, "x": 5.25, "y": 3 },
+ { "label": "B", "matrix": [3, 6], "w": 1, "x": 6.25, "y": 3 },
+ { "label": "N", "matrix": [3, 7], "w": 1, "x": 7.25, "y": 3 },
+ { "label": "M", "matrix": [8, 0], "w": 1, "x": 8.25, "y": 3 },
+ { "label": "<", "matrix": [8, 1], "w": 1, "x": 9.25, "y": 3 },
+ { "label": ">", "matrix": [8, 2], "w": 1, "x": 10.25, "y": 3 },
+ { "label": "?", "matrix": [8, 3], "w": 1, "x": 11.25, "y": 3 },
+ { "label": "Shift", "matrix": [8, 5], "w": 2.25, "x": 12.25, "y": 3 },
+ { "label": "Up", "matrix": [8, 6], "w": 1, "x": 14.5, "y": 3 },
+ { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
+ { "label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
+ { "label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 },
+ { "label": "Space", "matrix": [4, 6], "w": 6, "x": 3.75, "y": 4 },
+ { "label": "Alt", "matrix": [9, 2], "w": 1.25, "x": 9.75, "y": 4 },
+ { "label": "Win", "matrix": [9, 3], "w": 1.25, "x": 11, "y": 4 },
+ { "label": "Menu", "matrix": [9, 4], "w": 1.25, "x": 12.25, "y": 4 },
+ { "label": "Left", "matrix": [9, 5], "w": 1, "x": 13.5, "y": 4 },
+ { "label": "Down", "matrix": [9, 6], "w": 1, "x": 14.5, "y": 4 },
+ { "label": "Up", "matrix": [9, 7], "w": 1, "x": 15.5, "y": 4 }
+ ]
+ },
+ "LAYOUT_66_iso": {
+ "key_count": 67,
+ "layout": [
+ { "label": "~", "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": "$", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
+ { "label": "%", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
+ { "label": "^", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
+ { "label": "&", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
+ { "label": "*", "matrix": [5, 0], "w": 1, "x": 8, "y": 0 },
+ { "label": "(", "matrix": [5, 1], "w": 1, "x": 9, "y": 0 },
+ { "label": ")", "matrix": [5, 2], "w": 1, "x": 10, "y": 0 },
+ { "label": "_", "matrix": [5, 3], "w": 1, "x": 11, "y": 0 },
+ { "label": "+", "matrix": [5, 4], "w": 1, "x": 12, "y": 0 },
+ { "label": "Backspace", "matrix": [5, 6], "w": 2, "x": 13, "y": 0 },
+ { "label": "Insert", "matrix": [5, 7], "w": 1, "x": 15.5, "y": 0 },
+ { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+ { "label": "Q", "matrix": [1, 1], "w": 1, "x": 1.5, "y": 1 },
+ { "label": "W", "matrix": [1, 2], "w": 1, "x": 2.5, "y": 1 },
+ { "label": "E", "matrix": [1, 3], "w": 1, "x": 3.5, "y": 1 },
+ { "label": "R", "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1 },
+ { "label": "T", "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1 },
+ { "label": "Y", "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1 },
+ { "label": "U", "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1 },
+ { "label": "I", "matrix": [6, 0], "w": 1, "x": 8.5, "y": 1 },
+ { "label": "O", "matrix": [6, 1], "w": 1, "x": 9.5, "y": 1 },
+ { "label": "P", "matrix": [6, 2], "w": 1, "x": 10.5, "y": 1 },
+ { "label": "{", "matrix": [6, 3], "w": 1, "x": 11.5, "y": 1 },
+ { "label": "}", "matrix": [6, 4], "w": 1, "x": 12.5, "y": 1 },
+ { "label": "Delete", "matrix": [6, 7], "w": 1, "x": 15.5, "y": 1 },
+ { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "A", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
+ { "label": "S", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
+ { "label": "D", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
+ { "label": "F", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
+ { "label": "G", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
+ { "label": "H", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
+ { "label": "J", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
+ { "label": "K", "matrix": [7, 0], "w": 1, "x": 8.75, "y": 2 },
+ { "label": "L", "matrix": [7, 1], "w": 1, "x": 9.75, "y": 2 },
+ { "label": ":", "matrix": [7, 2], "w": 1, "x": 10.75, "y": 2 },
+ { "label": "\"", "matrix": [7, 3], "w": 1, "x": 11.75, "y": 2 },
+ { "label": "", "matrix": [7, 4], "w": 1, "x": 12.75, "y": 2 },
+ { "h": 2, "label": "Enter", "matrix": [7, 5], "w": 1.25, "x": 13.75, "y": 1 },
+ { "label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
+ { "label": "\\", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 3 },
+ { "label": "Z", "matrix": [3, 2], "w": 1, "x": 2.25, "y": 3 },
+ { "label": "X", "matrix": [3, 3], "w": 1, "x": 3.25, "y": 3 },
+ { "label": "C", "matrix": [3, 4], "w": 1, "x": 4.25, "y": 3 },
+ { "label": "V", "matrix": [3, 5], "w": 1, "x": 5.25, "y": 3 },
+ { "label": "B", "matrix": [3, 6], "w": 1, "x": 6.25, "y": 3 },
+ { "label": "N", "matrix": [3, 7], "w": 1, "x": 7.25, "y": 3 },
+ { "label": "M", "matrix": [8, 0], "w": 1, "x": 8.25, "y": 3 },
+ { "label": "<", "matrix": [8, 1], "w": 1, "x": 9.25, "y": 3 },
+ { "label": ">", "matrix": [8, 2], "w": 1, "x": 10.25, "y": 3 },
+ { "label": "?", "matrix": [8, 3], "w": 1, "x": 11.25, "y": 3 },
+ { "label": "Shift", "matrix": [8, 5], "w": 2.25, "x": 12.25, "y": 3 },
+ { "label": "\u2191", "matrix": [8, 6], "w": 1, "x": 14.5, "y": 3 },
+ { "label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
+ { "label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 },
+ { "label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 },
+ { "label": "Space", "matrix": [4, 6], "w": 6, "x": 3.75, "y": 4 },
+ { "label": "Alt", "matrix": [9, 2], "w": 1.25, "x": 9.75, "y": 4 },
+ { "label": "Ctrl", "matrix": [9, 3], "w": 1.25, "x": 11, "y": 4 },
+ { "label": "Menu", "matrix": [9, 4], "w": 1.25, "x": 12.25, "y": 4 },
+ { "label": "\u2190", "matrix": [9, 5], "w": 1, "x": 13.5, "y": 4 },
+ { "label": "\u2193", "matrix": [9, 6], "w": 1, "x": 14.5, "y": 4 },
+ { "label": "\u2192", "matrix": [9, 7], "w": 1, "x": 15.5, "y": 4 }
+ ]
+ },
+ "LAYOUT_all": {
+ "key_count": 73,
+ "layout": [
+ { "label": "GRAVE", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
+ { "label": "1", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 },
+ { "label": "2", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 },
+ { "label": "3", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 },
+ { "label": "4", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 },
+ { "label": "5", "matrix": [0, 5], "w": 1, "x": 5, "y": 0 },
+ { "label": "6", "matrix": [0, 6], "w": 1, "x": 6, "y": 0 },
+ { "label": "7", "matrix": [0, 7], "w": 1, "x": 7, "y": 0 },
+ { "label": "8", "matrix": [5, 0], "w": 1, "x": 8, "y": 0 },
+ { "label": "9", "matrix": [5, 1], "w": 1, "x": 9, "y": 0 },
+ { "label": "0", "matrix": [5, 2], "w": 1, "x": 10, "y": 0 },
+ { "label": "DASH", "matrix": [5, 3], "w": 1, "x": 11, "y": 0 },
+ { "label": "EQUALSIGN", "matrix": [5, 4], "w": 1, "x": 12, "y": 0 },
+ { "label": "YEN", "matrix": [5, 5], "w": 1, "x": 13, "y": 0 },
+ { "label": "BACKSPACE", "matrix": [5, 6], "w": 1, "x": 14, "y": 0 },
+ { "label": "PAGEUP", "matrix": [5, 7], "w": 1, "x": 15.5, "y": 0 },
+ { "label": "TAB", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 },
+ { "label": "Q", "matrix": [1, 1], "w": 1, "x": 1.5, "y": 1 },
+ { "label": "W", "matrix": [1, 2], "w": 1, "x": 2.5, "y": 1 },
+ { "label": "E", "matrix": [1, 3], "w": 1, "x": 3.5, "y": 1 },
+ { "label": "R", "matrix": [1, 4], "w": 1, "x": 4.5, "y": 1 },
+ { "label": "T", "matrix": [1, 5], "w": 1, "x": 5.5, "y": 1 },
+ { "label": "Y", "matrix": [1, 6], "w": 1, "x": 6.5, "y": 1 },
+ { "label": "U", "matrix": [1, 7], "w": 1, "x": 7.5, "y": 1 },
+ { "label": "I", "matrix": [6, 0], "w": 1, "x": 8.5, "y": 1 },
+ { "label": "O", "matrix": [6, 1], "w": 1, "x": 9.5, "y": 1 },
+ { "label": "P", "matrix": [6, 2], "w": 1, "x": 10.5, "y": 1 },
+ { "label": "LBRACKET", "matrix": [6, 3], "w": 1, "x": 11.5, "y": 1 },
+ { "label": "RBRACKET", "matrix": [6, 4], "w": 1, "x": 12.5, "y": 1 },
+ { "label": "BACKSLASH", "matrix": [6, 5], "w": 1.5, "x": 13.5, "y": 1 },
+ { "label": "PAGEDOWN", "matrix": [6, 7], "w": 1, "x": 15.5, "y": 1 },
+ { "label": "CAPSLOCK", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 },
+ { "label": "A", "matrix": [2, 1], "w": 1, "x": 1.75, "y": 2 },
+ { "label": "S", "matrix": [2, 2], "w": 1, "x": 2.75, "y": 2 },
+ { "label": "D", "matrix": [2, 3], "w": 1, "x": 3.75, "y": 2 },
+ { "label": "F", "matrix": [2, 4], "w": 1, "x": 4.75, "y": 2 },
+ { "label": "G", "matrix": [2, 5], "w": 1, "x": 5.75, "y": 2 },
+ { "label": "H", "matrix": [2, 6], "w": 1, "x": 6.75, "y": 2 },
+ { "label": "J", "matrix": [2, 7], "w": 1, "x": 7.75, "y": 2 },
+ { "label": "K", "matrix": [7, 0], "w": 1, "x": 8.75, "y": 2 },
+ { "label": "L", "matrix": [7, 1], "w": 1, "x": 9.75, "y": 2 },
+ { "label": "SEMICOLON", "matrix": [7, 2], "w": 1, "x": 10.75, "y": 2 },
+ { "label": "QUOTE", "matrix": [7, 3], "w": 1, "x": 11.75, "y": 2 },
+ { "label": "ISOHASH", "matrix": [7, 4], "w": 1, "x": 12.75, "y": 2 },
+ { "label": "ENTER", "matrix": [7, 5], "w": 1.25, "x": 13.75, "y": 2 },
+ { "label": "LSHIFT", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 },
+ { "label": "ISOBACKSLASH", "matrix": [3, 1], "w": 1, "x": 1.25, "y": 3 },
+ { "label": "Z", "matrix": [3, 2], "w": 1, "x": 2.25, "y": 3 },
+ { "label": "X", "matrix": [3, 3], "w": 1, "x": 3.25, "y": 3 },
+ { "label": "C", "matrix": [3, 4], "w": 1, "x": 4.25, "y": 3 },
+ { "label": "V", "matrix": [3, 5], "w": 1, "x": 5.25, "y": 3 },
+ { "label": "B", "matrix": [3, 6], "w": 1, "x": 6.25, "y": 3 },
+ { "label": "N", "matrix": [3, 7], "w": 1, "x": 7.25, "y": 3 },
+ { "label": "M", "matrix": [8, 0], "w": 1, "x": 8.25, "y": 3 },
+ { "label": "COMMA", "matrix": [8, 1], "w": 1, "x": 9.25, "y": 3 },
+ { "label": "PERIOD", "matrix": [8, 2], "w": 1, "x": 10.25, "y": 3 },
+ { "label": "SLASH", "matrix": [8, 3], "w": 1, "x": 11.25, "y": 3 },
+ { "label": "JPBACKSLASH", "matrix": [8, 4], "w": 1, "x": 12.25, "y": 3 },
+ { "label": "RSHIFT", "matrix": [8, 5], "w": 1.25, "x": 13.25, "y": 3 },
+ { "label": "UP", "matrix": [8, 6], "w": 1, "x": 14.5, "y": 3 },
+ { "label": "LCTRL", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 },
+ { "label": "LALT", "matrix": [4, 1], "w": 1, "x": 1.25, "y": 4 },
+ { "label": "LCMD", "matrix": [4, 2], "w": 1.25, "x": 2.25, "y": 4 },
+ { "label": "MUHENKAN", "matrix": [4, 3], "w": 1.25, "x": 3.5, "y": 4 },
+ { "label": "SPACE1", "matrix": [4, 5], "w": 2, "x": 4.75, "y": 4 },
+ { "label": "SPACE2", "matrix": [4, 6], "w": 2, "x": 6.75, "y": 4 },
+ { "label": "HENKAN", "matrix": [9, 0], "w": 1.25, "x": 8.75, "y": 4 },
+ { "label": "RCMD", "matrix": [9, 2], "w": 1.25, "x": 10, "y": 4 },
+ { "label": "RCTRL", "matrix": [9, 3], "w": 1, "x": 11.25, "y": 4 },
+ { "label": "FN", "matrix": [9, 4], "w": 1.25, "x": 12.25, "y": 4 },
+ { "label": "LEFT", "matrix": [9, 5], "w": 1, "x": 13.5, "y": 4 },
+ { "label": "DOWN", "matrix": [9, 6], "w": 1, "x": 14.5, "y": 4 },
+ { "label": "RIGHT", "matrix": [9, 7], "w": 1, "x": 15.5, "y": 4 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/clueboard/66/rev4/keymaps/keymap.c b/keyboards/clueboard/66/rev4/keymaps/keymap.c
new file mode 100644
index 0000000000..df145eb488
--- /dev/null
+++ b/keyboards/clueboard/66/rev4/keymaps/keymap.c
@@ -0,0 +1,13 @@
+#include QMK_KEYBOARD_H
+
+/* THIS FILE WAS GENERATED!
+ *
+ * This file was generated by qmk json2c. You may or may not want to
+ * edit it directly.
+ */
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC, KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC, KC_SPC, KC_HENK, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+ [1] = LAYOUT(KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_MUTE, KC_VOLD, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(1), KC_TRNS, KC_HOME, KC_PGDN, KC_END),
+ [2] = LAYOUT(BL_STEP, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(1), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, RGB_MOD, KC_TRNS, KC_TRNS, MO(1), KC_TRNS, RGB_HUD, RGB_SAD, RGB_HUI)
+};
diff --git a/keyboards/clueboard/66/rev4/keymaps/mine/keymap.c b/keyboards/clueboard/66/rev4/keymaps/mine/keymap.c
new file mode 100644
index 0000000000..df145eb488
--- /dev/null
+++ b/keyboards/clueboard/66/rev4/keymaps/mine/keymap.c
@@ -0,0 +1,13 @@
+#include QMK_KEYBOARD_H
+
+/* THIS FILE WAS GENERATED!
+ *
+ * This file was generated by qmk json2c. You may or may not want to
+ * edit it directly.
+ */
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC, KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC, KC_SPC, KC_HENK, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+ [1] = LAYOUT(KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_MUTE, KC_VOLD, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(1), KC_TRNS, KC_HOME, KC_PGDN, KC_END),
+ [2] = LAYOUT(BL_STEP, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(1), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, RGB_MOD, KC_TRNS, KC_TRNS, MO(1), KC_TRNS, RGB_HUD, RGB_SAD, RGB_HUI)
+};
diff --git a/keyboards/clueboard/66/rev4/mine/keymap.c b/keyboards/clueboard/66/rev4/mine/keymap.c
new file mode 100644
index 0000000000..df145eb488
--- /dev/null
+++ b/keyboards/clueboard/66/rev4/mine/keymap.c
@@ -0,0 +1,13 @@
+#include QMK_KEYBOARD_H
+
+/* THIS FILE WAS GENERATED!
+ *
+ * This file was generated by qmk json2c. You may or may not want to
+ * edit it directly.
+ */
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC, KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC, KC_SPC, KC_HENK, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+ [1] = LAYOUT(KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_MUTE, KC_VOLD, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(1), KC_TRNS, KC_HOME, KC_PGDN, KC_END),
+ [2] = LAYOUT(BL_STEP, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(1), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, RGB_MOD, KC_TRNS, KC_TRNS, MO(1), KC_TRNS, RGB_HUD, RGB_SAD, RGB_HUI)
+};
diff --git a/keyboards/clueboard/66/rev4/rev4.h b/keyboards/clueboard/66/rev4/rev4.h
index 86688c7a15..ef5b3f3e04 100644
--- a/keyboards/clueboard/66/rev4/rev4.h
+++ b/keyboards/clueboard/66/rev4/rev4.h
@@ -1,94 +1,3 @@
#pragma once
#include "quantum.h"
-
-/* Clueboard matrix layout
- * ,-----------------------------------------------------------. ,---.
- * | 00| 01| 02| 03| 04| 05| 06| 07| 50| 51| 52| 53| 54| 55| 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| -| =|Yen| BS| |Ins|
- * |-----------------------------------------------------------| |---|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| |Del|
- * |-----------------------------------------------------------| `---'
- * |Caps | A| S| D| F| G| H| J| k| L| ;| '| # | Ent|
- * |--------------------------------------------------------------.
- * |Shift| \| Z| X| C| V| B| N| M| ,| .| /| \|Shift| Up|
- * |------------------------------------------------------------------.
- * |Ctrl|Alt|Gui |MHen| Space| Space|Henk|Gui |Ctrl| Fn|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, k55, 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, k74, k75, \
- k30, k31, k32, k33, k34, k35, k36, k37, k80, k81, k82, k83, k84, k85, k86, \
- k40, k41, k42, k43, 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, k43, KC_NO, k45, k46, KC_NO }, \
- { k50, k51, k52, k53, k54, k55, k56, k57 }, \
- { k60, k61, k62, k63, k64, k65, KC_NO, k67 }, \
- { k70, k71, k72, k73, k74, k75, KC_NO, KC_NO }, \
- { k80, k81, k82, k83, k84, k85, k86, KC_NO }, \
- { k90, KC_NO, k92, k93, k94, k95, k96, k97 } \
-}
-
-/* LAYOUT_66_ansi, standard 66 key ANSI layout
- */
-#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 } \
-}
-
-/* LAYOUT_66_iso, standard 67 key ISO layout
- */
-#define LAYOUT_66_iso( \
- 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, k67, \
- k20, k21, k22, k23, k24, k25, k26, k27, k70, k71, k72, k73, k74, k75, \
- k30, k31, 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, k31, 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, KC_NO, KC_NO, k67 }, \
- { k70, k71, k72, k73, k74, 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 } \
-}
-
-#define KEYMAP LAYOUT_all
-#define LAYOUT LAYOUT_all
diff --git a/keyboards/clueboard/66/rev4/rules.mk b/keyboards/clueboard/66/rev4/rules.mk
index f6120c929f..4e157baeda 100644
--- a/keyboards/clueboard/66/rev4/rules.mk
+++ b/keyboards/clueboard/66/rev4/rules.mk
@@ -1,22 +1,3 @@
# MCU name
MCU = STM32F303
BOARD = QMK_PROTON_C
-
-# Build Options
-# comment out to disable the 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 - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-AUDIO_ENABLE = no
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-MIDI_ENABLE = no # MIDI controls
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = yes
-
-LAYOUTS = 66_ansi 66_iso