summaryrefslogtreecommitdiffstats
path: root/keyboards/rgbkb
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/rgbkb')
-rw-r--r--keyboards/rgbkb/mun/config.h8
-rw-r--r--keyboards/rgbkb/mun/rev1/info.json203
-rw-r--r--keyboards/rgbkb/mun/rev1/rev1.c8
-rw-r--r--keyboards/rgbkb/mun/rev1/rev1.h30
-rw-r--r--keyboards/rgbkb/mun/rules.mk2
-rw-r--r--keyboards/rgbkb/pan/config.h4
-rw-r--r--keyboards/rgbkb/pan/info.json260
-rw-r--r--keyboards/rgbkb/pan/keymaps/default_eee/keymap.c116
-rw-r--r--keyboards/rgbkb/pan/keymaps/default_eee/rules.mk6
-rw-r--r--keyboards/rgbkb/pan/keymaps/default_sss/keymap.c116
-rw-r--r--keyboards/rgbkb/pan/keymaps/default_sss/rules.mk6
-rw-r--r--keyboards/rgbkb/pan/matrix_diagram.md83
-rw-r--r--keyboards/rgbkb/pan/pan.c1
-rw-r--r--keyboards/rgbkb/pan/rev1/32a/config.h22
-rw-r--r--keyboards/rgbkb/pan/rev1/32a/info.json8
-rw-r--r--keyboards/rgbkb/pan/rev1/proton_c/config.h22
-rw-r--r--keyboards/rgbkb/pan/rev1/proton_c/info.json8
-rw-r--r--keyboards/rgbkb/pan/rev1/rules.mk3
-rw-r--r--keyboards/rgbkb/pan/rules.mk4
-rw-r--r--keyboards/rgbkb/sol/config.h7
-rw-r--r--keyboards/rgbkb/sol/rev1/config.h3
-rw-r--r--keyboards/rgbkb/sol/rev1/info.json170
-rw-r--r--keyboards/rgbkb/sol/rev1/rev1.h1
-rw-r--r--keyboards/rgbkb/sol/rev1/rules.mk1
-rw-r--r--keyboards/rgbkb/sol/rev2/config.h3
-rw-r--r--keyboards/rgbkb/sol/rev2/info.json170
-rw-r--r--keyboards/rgbkb/sol/rev2/rev2.h1
-rw-r--r--keyboards/rgbkb/sol/rev2/rules.mk1
-rw-r--r--keyboards/rgbkb/sol/sol.c1
-rw-r--r--keyboards/rgbkb/sol/sol.h29
-rw-r--r--keyboards/rgbkb/sol3/config.h11
-rw-r--r--keyboards/rgbkb/sol3/rev1/info.json206
-rw-r--r--keyboards/rgbkb/sol3/rev1/rev1.c13
-rw-r--r--keyboards/rgbkb/sol3/rev1/rev1.h51
-rw-r--r--keyboards/rgbkb/sol3/rules.mk2
-rw-r--r--keyboards/rgbkb/zen/rev1/config.h11
-rw-r--r--keyboards/rgbkb/zen/rev1/info.json82
-rw-r--r--keyboards/rgbkb/zen/rev1/rev1.c1
-rw-r--r--keyboards/rgbkb/zen/rev1/rev1.h23
-rw-r--r--keyboards/rgbkb/zen/rev2/config.h10
-rw-r--r--keyboards/rgbkb/zen/rev2/info.json435
-rw-r--r--keyboards/rgbkb/zen/rev2/rev2.c2
-rw-r--r--keyboards/rgbkb/zen/rev2/rev2.h24
-rw-r--r--keyboards/rgbkb/zygomorph/rev1/config.h9
-rw-r--r--keyboards/rgbkb/zygomorph/rev1/info.json199
-rw-r--r--keyboards/rgbkb/zygomorph/rev1/rev1.c2
-rw-r--r--keyboards/rgbkb/zygomorph/rev1/rev1.h87
-rw-r--r--keyboards/rgbkb/zygomorph/rules.mk1
-rw-r--r--keyboards/rgbkb/zygomorph/zygomorph.c1
-rw-r--r--keyboards/rgbkb/zygomorph/zygomorph.h4
50 files changed, 1331 insertions, 1140 deletions
diff --git a/keyboards/rgbkb/mun/config.h b/keyboards/rgbkb/mun/config.h
index 8f961078bd..5b411a8c52 100644
--- a/keyboards/rgbkb/mun/config.h
+++ b/keyboards/rgbkb/mun/config.h
@@ -9,10 +9,6 @@
#pragma once
-
-// Last pins reserved for encoder / touch encoder support
-#define MATRIX_ROW_PINS { A1, A3, B3, A13, B15, NO_PIN, NO_PIN }
-#define MATRIX_COL_PINS { A0, B11, B0, B10, B12, B2, A8 }
#define MATRIX_IO_DELAY 5
#define BUSY_WAIT
@@ -25,9 +21,6 @@
#define TOUCH_RESOLUTION 25 // sensitivity of swipes, lower=faster
#define TOUCH_SEGMENTS 3
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
/* CRC Configuration */
#define CRC8_OPTIMIZE_SPEED
#define CRC8_USE_TABLE
@@ -56,7 +49,6 @@
#define SPLIT_TRANSACTION_IDS_KB TOUCH_ENCODER_SYNC, RGB_MENU_SYNC
/* RGB LED Configuration */
-#define RGB_DI_PIN B5
#define RGBLED_NUM 98
#define RGBLED_SPLIT { 49, 49 }
#define RGBLIGHT_EFFECT_BREATHING
diff --git a/keyboards/rgbkb/mun/rev1/info.json b/keyboards/rgbkb/mun/rev1/info.json
index b68a1586c5..36b1ab0003 100644
--- a/keyboards/rgbkb/mun/rev1/info.json
+++ b/keyboards/rgbkb/mun/rev1/info.json
@@ -1,5 +1,5 @@
{
- "keyboard_name": "Mün",
+ "keyboard_name": "M\u00fcn",
"manufacturer": "RGBKB",
"url": "https://www.rgbkb.net/products/mun",
"maintainer": "Legonut",
@@ -8,6 +8,18 @@
"pid": "0x3505",
"device_version": "0.0.1"
},
+ "ws2812": {
+ "pin": "B5",
+ "driver": "pwm"
+ },
+ "rgb_matrix": {
+ "driver": "WS2812"
+ },
+ "matrix_pins": {
+ "cols": ["A0", "B11", "B0", "B10", "B12", "B2", "A8"],
+ "rows": ["A1", "A3", "B3", "A13", "B15", null, null]
+ },
+ "diode_direction": "COL2ROW",
"encoder": {
"rotary": [
{"pin_a": "B8", "pin_b": "A14"},
@@ -22,94 +34,107 @@
"layouts": {
"LAYOUT": {
"layout": [
- {"label":"L00", "x":0, "y":0},
- {"label":"L01", "x":1, "y":0},
- {"label":"L02", "x":2, "y":0},
- {"label":"L03", "x":3, "y":0},
- {"label":"L04", "x":4, "y":0},
- {"label":"L05", "x":5, "y":0},
- {"label":"L06", "x":6, "y":0},
- {"label":"R00", "x":7.5, "y":0},
- {"label":"R01", "x":8.5, "y":0},
- {"label":"R02", "x":9.5, "y":0},
- {"label":"R03", "x":10.5, "y":0},
- {"label":"R04", "x":11.5, "y":0},
- {"label":"R05", "x":12.5, "y":0},
- {"label":"R06", "x":13.5, "y":0},
- {"label":"L10", "x":0, "y":1},
- {"label":"L11", "x":1, "y":1},
- {"label":"L12", "x":2, "y":1},
- {"label":"L13", "x":3, "y":1},
- {"label":"L14", "x":4, "y":1},
- {"label":"L15", "x":5, "y":1},
- {"label":"L16", "x":6, "y":1},
- {"label":"R10", "x":7.5, "y":1},
- {"label":"R11", "x":8.5, "y":1},
- {"label":"R12", "x":9.5, "y":1},
- {"label":"R13", "x":10.5, "y":1},
- {"label":"R14", "x":11.5, "y":1},
- {"label":"R15", "x":12.5, "y":1},
- {"label":"R16", "x":13.5, "y":1},
- {"label":"L20", "x":0, "y":2},
- {"label":"L21", "x":1, "y":2},
- {"label":"L22", "x":2, "y":2},
- {"label":"L23", "x":3, "y":2},
- {"label":"L24", "x":4, "y":2},
- {"label":"L25", "x":5, "y":2},
- {"label":"L26", "x":6, "y":2},
- {"label":"R20", "x":7.5, "y":2},
- {"label":"R21", "x":8.5, "y":2},
- {"label":"R22", "x":9.5, "y":2},
- {"label":"R23", "x":10.5, "y":2},
- {"label":"R24", "x":11.5, "y":2},
- {"label":"R25", "x":12.5, "y":2},
- {"label":"R26", "x":13.5, "y":2},
- {"label":"L30", "x":0, "y":3},
- {"label":"L31", "x":1, "y":3},
- {"label":"L32", "x":2, "y":3},
- {"label":"L33", "x":3, "y":3},
- {"label":"L34", "x":4, "y":3},
- {"label":"L35", "x":5, "y":3},
- {"label":"L36", "x":6, "y":3},
- {"label":"R30", "x":7.5, "y":3},
- {"label":"R21", "x":8.5, "y":3},
- {"label":"R32", "x":9.5, "y":3},
- {"label":"R33", "x":10.5, "y":3},
- {"label":"R34", "x":11.5, "y":3},
- {"label":"R35", "x":12.5, "y":3},
- {"label":"R36", "x":13.5, "y":3},
- {"label":"L40", "x":0, "y":4},
- {"label":"L41", "x":1, "y":4},
- {"label":"L42", "x":2, "y":4},
- {"label":"L43", "x":3, "y":4},
- {"label":"L44", "x":4, "y":4},
- {"label":"L45", "x":5, "y":4},
- {"label":"L46", "x":6, "y":4},
- {"label":"R40", "x":7.5, "y":4},
- {"label":"R41", "x":8.5, "y":4},
- {"label":"R42", "x":9.5, "y":4},
- {"label":"R43", "x":10.5, "y":4},
- {"label":"R44", "x":11.5, "y":4},
- {"label":"R45", "x":12.5, "y":4},
- {"label":"R46", "x":13.5, "y":4},
- {"label":"E00", "x":0, "y":5.5},
- {"label":"E01", "x":1, "y":5.5},
- {"label":"E10", "x":2, "y":5.5},
- {"label":"E11", "x":3, "y":5.5},
- {"label":"E20", "x":10.5, "y":5.5},
- {"label":"E21", "x":11.5, "y":5.5},
- {"label":"E30", "x":12.5, "y":5.5},
- {"label":"E31", "x":13.5, "y":5.5},
- {"label":"T00", "x":0, "y":6.5},
- {"label":"T01", "x":1, "y":6.5},
- {"label":"T02", "x":2, "y":6.5},
- {"label":"T03", "x":3, "y":6.5},
- {"label":"T04", "x":4, "y":6.5},
- {"label":"T10", "x":9.5, "y":6.5},
- {"label":"T11", "x":10.5, "y":6.5},
- {"label":"T12", "x":11.5, "y":6.5},
- {"label":"T13", "x":12.5, "y":6.5},
- {"label":"T14", "x":13.5, "y":6.5}
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+ {"matrix": [0, 4], "x": 4, "y": 0},
+ {"matrix": [0, 5], "x": 5, "y": 0},
+ {"matrix": [0, 6], "x": 6, "y": 0},
+
+ {"matrix": [7, 6], "x": 7.5, "y": 0},
+ {"matrix": [7, 5], "x": 8.5, "y": 0},
+ {"matrix": [7, 4], "x": 9.5, "y": 0},
+ {"matrix": [7, 3], "x": 10.5, "y": 0},
+ {"matrix": [7, 2], "x": 11.5, "y": 0},
+ {"matrix": [7, 1], "x": 12.5, "y": 0},
+ {"matrix": [7, 0], "x": 13.5, "y": 0},
+
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+ {"matrix": [1, 4], "x": 4, "y": 1},
+ {"matrix": [1, 5], "x": 5, "y": 1},
+ {"matrix": [1, 6], "x": 6, "y": 1},
+
+ {"matrix": [8, 6], "x": 7.5, "y": 1},
+ {"matrix": [8, 5], "x": 8.5, "y": 1},
+ {"matrix": [8, 4], "x": 9.5, "y": 1},
+ {"matrix": [8, 3], "x": 10.5, "y": 1},
+ {"matrix": [8, 2], "x": 11.5, "y": 1},
+ {"matrix": [8, 1], "x": 12.5, "y": 1},
+ {"matrix": [8, 0], "x": 13.5, "y": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 2},
+ {"matrix": [2, 1], "x": 1, "y": 2},
+ {"matrix": [2, 2], "x": 2, "y": 2},
+ {"matrix": [2, 3], "x": 3, "y": 2},
+ {"matrix": [2, 4], "x": 4, "y": 2},
+ {"matrix": [2, 5], "x": 5, "y": 2},
+ {"matrix": [2, 6], "x": 6, "y": 2},
+
+ {"matrix": [9, 6], "x": 7.5, "y": 2},
+ {"matrix": [9, 5], "x": 8.5, "y": 2},
+ {"matrix": [9, 4], "x": 9.5, "y": 2},
+ {"matrix": [9, 3], "x": 10.5, "y": 2},
+ {"matrix": [9, 2], "x": 11.5, "y": 2},
+ {"matrix": [9, 1], "x": 12.5, "y": 2},
+ {"matrix": [9, 0], "x": 13.5, "y": 2},
+
+ {"matrix": [3, 0], "x": 0, "y": 3},
+ {"matrix": [3, 1], "x": 1, "y": 3},
+ {"matrix": [3, 2], "x": 2, "y": 3},
+ {"matrix": [3, 3], "x": 3, "y": 3},
+ {"matrix": [3, 4], "x": 4, "y": 3},
+ {"matrix": [3, 5], "x": 5, "y": 3},
+ {"matrix": [3, 6], "x": 6, "y": 3},
+
+ {"matrix": [10, 6], "x": 7.5, "y": 3},
+ {"matrix": [10, 5], "x": 8.5, "y": 3},
+ {"matrix": [10, 4], "x": 9.5, "y": 3},
+ {"matrix": [10, 3], "x": 10.5, "y": 3},
+ {"matrix": [10, 2], "x": 11.5, "y": 3},
+ {"matrix": [10, 1], "x": 12.5, "y": 3},
+ {"matrix": [10, 0], "x": 13.5, "y": 3},
+
+ {"matrix": [4, 0], "x": 0, "y": 4},
+ {"matrix": [4, 1], "x": 1, "y": 4},
+ {"matrix": [4, 2], "x": 2, "y": 4},
+ {"matrix": [4, 3], "x": 3, "y": 4},
+ {"matrix": [4, 4], "x": 4, "y": 4},
+ {"matrix": [4, 5], "x": 5, "y": 4},
+ {"matrix": [4, 6], "x": 6, "y": 4},
+
+ {"matrix": [11, 6], "x": 7.5, "y": 4},
+ {"matrix": [11, 5], "x": 8.5, "y": 4},
+ {"matrix": [11, 4], "x": 9.5, "y": 4},
+ {"matrix": [11, 3], "x": 10.5, "y": 4},
+ {"matrix": [11, 2], "x": 11.5, "y": 4},
+ {"matrix": [11, 1], "x": 12.5, "y": 4},
+ {"matrix": [11, 0], "x": 13.5, "y": 4},
+
+ {"matrix": [5, 0], "x": 0, "y": 5.5},
+ {"matrix": [5, 1], "x": 1, "y": 5.5},
+ {"matrix": [5, 2], "x": 2, "y": 5.5},
+ {"matrix": [5, 3], "x": 3, "y": 5.5},
+
+ {"matrix": [12, 0], "x": 10.5, "y": 5.5},
+ {"matrix": [12, 1], "x": 11.5, "y": 5.5},
+ {"matrix": [12, 2], "x": 12.5, "y": 5.5},
+ {"matrix": [12, 3], "x": 13.5, "y": 5.5},
+
+ {"matrix": [6, 0], "x": 0, "y": 6.5},
+ {"matrix": [6, 1], "x": 1, "y": 6.5},
+ {"matrix": [6, 2], "x": 2, "y": 6.5},
+ {"matrix": [6, 3], "x": 3, "y": 6.5},
+ {"matrix": [6, 4], "x": 4, "y": 6.5},
+
+ {"matrix": [13, 0], "x": 9.5, "y": 6.5},
+ {"matrix": [13, 1], "x": 10.5, "y": 6.5},
+ {"matrix": [13, 2], "x": 11.5, "y": 6.5},
+ {"matrix": [13, 3], "x": 12.5, "y": 6.5},
+ {"matrix": [13, 4], "x": 13.5, "y": 6.5}
]
}
}
diff --git a/keyboards/rgbkb/mun/rev1/rev1.c b/keyboards/rgbkb/mun/rev1/rev1.c
index c7604510da..564ce4dfb9 100644
--- a/keyboards/rgbkb/mun/rev1/rev1.c
+++ b/keyboards/rgbkb/mun/rev1/rev1.c
@@ -37,15 +37,11 @@ const encodermap_t touch_encoder_map[NUMBER_OF_TOUCH_ENCODERS][TOUCH_ENCODER_OPT
};
static void process_encoder_matrix(encodermap_t pos) {
- action_exec((keyevent_t){
- .key = (keypos_t){.row = pos.r, .col = pos.c}, .pressed = true, .time = (timer_read() | 1) /* time should not be 0 */
- });
+ action_exec(MAKE_KEYEVENT(pos.r, pos.c, true));
#if TAP_CODE_DELAY > 0
wait_ms(TAP_CODE_DELAY);
#endif
- action_exec((keyevent_t){
- .key = (keypos_t){.row = pos.r, .col = pos.c}, .pressed = false, .time = (timer_read() | 1) /* time should not be 0 */
- });
+ action_exec(MAKE_KEYEVENT(pos.r, pos.c, false));
}
bool encoder_update_kb(uint8_t index, bool clockwise) {
diff --git a/keyboards/rgbkb/mun/rev1/rev1.h b/keyboards/rgbkb/mun/rev1/rev1.h
index 8e7b65f45c..291428c0fb 100644
--- a/keyboards/rgbkb/mun/rev1/rev1.h
+++ b/keyboards/rgbkb/mun/rev1/rev1.h
@@ -11,33 +11,3 @@
#include "mun.h"
#include "touch_encoder.h"
-
-// clang-format off
-#define LAYOUT( \
- L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
- L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
- L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
- L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
- L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46, \
- E00, E01, E10, E11, E20, E21, E30, E31, \
- T00, T01, T02, T03, T04, T10, T11, T12, T13, T14 \
-) \
-{ \
- /* Left Half */ \
- { L00, L01, L02, L03, L04, L05, L06 }, \
- { L10, L11, L12, L13, L14, L15, L16 }, \
- { L20, L21, L22, L23, L24, L25, L26 }, \
- { L30, L31, L32, L33, L34, L35, L36 }, \
- { L40, L41, L42, L43, L44, L45, L46 }, \
- { E00, E01, E10, E11, KC_NO, KC_NO, KC_NO }, \
- { T00, T01, T02, T03, T04, KC_NO, KC_NO }, \
- /* Right Half */ \
- { R06, R05, R04, R03, R02, R01, R00 }, \
- { R16, R15, R14, R13, R12, R11, R10 }, \
- { R26, R25, R24, R23, R22, R21, R20 }, \
- { R36, R35, R34, R33, R32, R31, R30 }, \
- { R46, R45, R44, R43, R42, R41, R40 }, \
- { E20, E21, E30, E31, KC_NO, KC_NO, KC_NO }, \
- { T10, T11, T12, T13, T14, KC_NO, KC_NO } \
-}
-// clang-format on
diff --git a/keyboards/rgbkb/mun/rules.mk b/keyboards/rgbkb/mun/rules.mk
index 0958dd2130..0862bde4e5 100644
--- a/keyboards/rgbkb/mun/rules.mk
+++ b/keyboards/rgbkb/mun/rules.mk
@@ -15,10 +15,8 @@ COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
AUDIO_ENABLE = no # Audio output
-WS2812_DRIVER = pwm
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
RGB_MATRIX_ENABLE = yes
-RGB_MATRIX_DRIVER = WS2812
OLED_ENABLE = yes
OLED_DRIVER = SSD1306 # Enable the OLED Driver
diff --git a/keyboards/rgbkb/pan/config.h b/keyboards/rgbkb/pan/config.h
index 05d446d05d..2bd147df5b 100644
--- a/keyboards/rgbkb/pan/config.h
+++ b/keyboards/rgbkb/pan/config.h
@@ -29,11 +29,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_EFFECT_TWINKLE
#define RGB_MATRIX_LED_COUNT RGBLED_NUM
-/* COL2ROW, ROW2COL*/
-#define DIODE_DIRECTION COL2ROW
-
#define RGBLIGHT_LIMIT_VAL 120
-#define USB_MAX_POWER_CONSUMPTION 500
// RGB Matrix Animation modes. Explicitly enabled
// For full list of effects, see:
diff --git a/keyboards/rgbkb/pan/info.json b/keyboards/rgbkb/pan/info.json
index e12e7717eb..e7ea402e07 100644
--- a/keyboards/rgbkb/pan/info.json
+++ b/keyboards/rgbkb/pan/info.json
@@ -8,75 +8,211 @@
"pid": "0x8C9C",
"device_version": "0.0.2"
},
+ "rgb_matrix": {
+ "driver": "custom"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
- {"matrix": [0, 0], "x": 0, "y": 0},
- {"matrix": [0, 1], "x": 1, "y": 0},
- {"matrix": [0, 2], "x": 2, "y": 0},
- {"matrix": [0, 3], "x": 3, "y": 0},
- {"matrix": [0, 4], "x": 4, "y": 0},
- {"matrix": [0, 5], "x": 5, "y": 0},
- {"matrix": [0, 6], "x": 6, "y": 0},
- {"matrix": [0, 7], "x": 7, "y": 0},
- {"matrix": [0, 8], "x": 8, "y": 0},
- {"matrix": [0, 9], "x": 9, "y": 0},
- {"matrix": [0, 10], "x": 10, "y": 0},
- {"matrix": [0, 11], "x": 11, "y": 0},
- {"matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "2", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "4", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "5", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "6", "matrix": [0, 6], "x": 6, "y": 0},
+ {"label": "7", "matrix": [0, 7], "x": 7, "y": 0},
+ {"label": "8", "matrix": [0, 8], "x": 8, "y": 0},
+ {"label": "9", "matrix": [0, 9], "x": 9, "y": 0},
+ {"label": "0", "matrix": [0, 10], "x": 10, "y": 0},
+ {"label": "Backspace", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "Delete", "matrix": [0, 12], "x": 12, "y": 0},
+
+ {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+ {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
+ {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
+ {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
+ {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
+ {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
+ {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
+ {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
+ {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
+ {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
+ {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
+ {"label": "\\", "matrix": [1, 11], "x": 11.5, "y": 1, "w": 1.5},
+
+ {"label": "Fn/Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
+ {"label": "A", "matrix": [2, 1], "x": 1.5, "y": 2},
+ {"label": "S", "matrix": [2, 2], "x": 2.5, "y": 2},
+ {"label": "D", "matrix": [2, 3], "x": 3.5, "y": 2},
+ {"label": "F", "matrix": [2, 4], "x": 4.5, "y": 2},
+ {"label": "G", "matrix": [2, 5], "x": 5.5, "y": 2},
+ {"label": "H", "matrix": [2, 6], "x": 6.5, "y": 2},
+ {"label": "J", "matrix": [2, 7], "x": 7.5, "y": 2},
+ {"label": "K", "matrix": [2, 8], "x": 8.5, "y": 2},
+ {"label": "L", "matrix": [2, 9], "x": 9.5, "y": 2},
+ {"label": ";", "matrix": [2, 10], "x": 10.5, "y": 2},
+ {"label": "Enter", "matrix": [2, 11], "x": 11.5, "y": 2, "w": 1.5},
+
+ {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3},
+ {"label": "\\", "matrix": [3, 1], "x": 1, "y": 3},
+ {"label": "Z", "matrix": [3, 2], "x": 2, "y": 3},
+ {"label": "X", "matrix": [3, 3], "x": 3, "y": 3},
+ {"label": "C", "matrix": [3, 4], "x": 4, "y": 3},
+ {"label": "V", "matrix": [3, 5], "x": 5, "y": 3},
+ {"label": "B", "matrix": [3, 6], "x": 6, "y": 3},
+ {"label": "N", "matrix": [3, 7], "x": 7, "y": 3},
+ {"label": "M", "matrix": [3, 8], "x": 8, "y": 3},
+ {"label": ",", "matrix": [3, 9], "x": 9, "y": 3},
+ {"label": ".", "matrix": [3, 10], "x": 10, "y": 3},
+ {"label": "/", "matrix": [3, 11], "x": 11, "y": 3},
+ {"label": "Shift", "matrix": [3, 12], "x": 12, "y": 3},
+
+ {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+ {"label": "GUI", "matrix": [4, 1], "x": 1.5, "y": 4},
+ {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4},
+ {"label": "Toggle RGB", "matrix": [4, 3], "x": 3.5, "y": 4},
+ {"label": "Fn3", "matrix": [4, 4], "x": 4.5, "y": 4},
+ {"label": "Space", "matrix": [4, 5], "x": 5.5, "y": 4},
+ {"label": "Space", "matrix": [4, 6], "x": 6.5, "y": 4},
+ {"label": "Fn2", "matrix": [4, 7], "x": 7.5, "y": 4},
+ {"label": "\u2190", "matrix": [4, 8], "x": 8.5, "y": 4},
+ {"label": "\u2193", "matrix": [4, 9], "x": 9.5, "y": 4},
+ {"label": "\u2191", "matrix": [4, 10], "x": 10.5, "y": 4},
+ {"label": "\u2192", "matrix": [4, 12], "x": 11.5, "y": 4, "w": 1.5}
+ ]
+ },
+ "LAYOUT_eee": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0, "w": 1.5},
+ {"label": "1", "matrix": [0, 1], "x": 1.5, "y": 0},
+ {"label": "2", "matrix": [0, 2], "x": 2.5, "y": 0},
+ {"label": "3", "matrix": [0, 3], "x": 3.5, "y": 0},
+ {"label": "4", "matrix": [0, 4], "x": 4.5, "y": 0},
+ {"label": "5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "8", "matrix": [0, 8], "x": 8.5, "y": 0},
+ {"label": "9", "matrix": [0, 9], "x": 9.5, "y": 0},
+ {"label": "0", "matrix": [0, 10], "x": 10.5, "y": 0},
+ {"label": "Delete", "matrix": [0, 12], "x": 11.5, "y": 0, "w": 1.5},
+
+ {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+ {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
+ {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
+ {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
+ {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
+ {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
+ {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
+ {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
+ {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
+ {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
+ {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
+ {"label": "\\", "matrix": [1, 11], "x": 11.5, "y": 1, "w": 1.5},
+
+ {"label": "Fn/Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
+ {"label": "A", "matrix": [2, 1], "x": 1.5, "y": 2},
+ {"label": "S", "matrix": [2, 2], "x": 2.5, "y": 2},
+ {"label": "D", "matrix": [2, 3], "x": 3.5, "y": 2},
+ {"label": "F", "matrix": [2, 4], "x": 4.5, "y": 2},
+ {"label": "G", "matrix": [2, 5], "x": 5.5, "y": 2},
+ {"label": "H", "matrix": [2, 6], "x": 6.5, "y": 2},
+ {"label": "J", "matrix": [2, 7], "x": 7.5, "y": 2},
+ {"label": "K", "matrix": [2, 8], "x": 8.5, "y": 2},
+ {"label": "L", "matrix": [2, 9], "x": 9.5, "y": 2},
+ {"label": ";", "matrix": [2, 10], "x": 10.5, "y": 2},
+ {"label": "Enter", "matrix": [2, 11], "x": 11.5, "y": 2, "w": 1.5},
+
+ {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.5},
+ {"label": "Z", "matrix": [3, 1], "x": 1.5, "y": 3},
+ {"label": "X", "matrix": [3, 2], "x": 2.5, "y": 3},
+ {"label": "C", "matrix": [3, 3], "x": 3.5, "y": 3},
+ {"label": "V", "matrix": [3, 4], "x": 4.5, "y": 3},
+ {"label": "B", "matrix": [3, 5], "x": 5.5, "y": 3},
+ {"label": "N", "matrix": [3, 6], "x": 6.5, "y": 3},
+ {"label": "M", "matrix": [3, 7], "x": 7.5, "y": 3},
+ {"label": ",", "matrix": [3, 8], "x": 8.5, "y": 3},
+ {"label": ".", "matrix": [3, 9], "x": 9.5, "y": 3},
+ {"label": "/", "matrix": [3, 10], "x": 10.5, "y": 3},
+ {"label": "Shift", "matrix": [3, 12], "x": 11.5, "y": 3, "w": 1.5},
+
+ {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+ {"label": "GUI", "matrix": [4, 1], "x": 1.5, "y": 4},
+ {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4},
+ {"label": "Toggle RGB", "matrix": [4, 3], "x": 3.5, "y": 4},
+ {"label": "Fn3", "matrix": [4, 4], "x": 4.5, "y": 4},
+ {"label"