From 5624804c6822b68d091e77642e07dc3640bf4ca6 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 29 Jun 2024 19:19:51 +1000 Subject: [PATCH 01/54] `h0oni/deskpad` and `hotduck`: adjust layout names (#24004) --- keyboards/h0oni/deskpad/keyboard.json | 5 ++++- keyboards/h0oni/deskpad/keymaps/default/keymap.c | 8 ++++---- keyboards/h0oni/deskpad/keymaps/via/keymap.c | 8 ++++---- keyboards/h0oni/hotduck/keyboard.json | 5 ++++- keyboards/h0oni/hotduck/keymaps/default/keymap.c | 8 ++++---- keyboards/h0oni/hotduck/keymaps/via/keymap.c | 8 ++++---- 6 files changed, 24 insertions(+), 18 deletions(-) diff --git a/keyboards/h0oni/deskpad/keyboard.json b/keyboards/h0oni/deskpad/keyboard.json index d240acf9d33..d7ad53cd43e 100644 --- a/keyboards/h0oni/deskpad/keyboard.json +++ b/keyboards/h0oni/deskpad/keyboard.json @@ -39,8 +39,11 @@ "processor": "atmega32u4", "bootloader": "atmel-dfu", "debounce": 3, + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/h0oni/deskpad/keymaps/default/keymap.c b/keyboards/h0oni/deskpad/keymaps/default/keymap.c index c3eba7c4a9c..eea54cf6b19 100644 --- a/keyboards/h0oni/deskpad/keymaps/default/keymap.c +++ b/keyboards/h0oni/deskpad/keymaps/default/keymap.c @@ -171,19 +171,19 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( + [0] = LAYOUT( TD(TD_CUT_REDO), TD(TD_MPRV_LEFT), TD(TD_PLAY_PAUSE_MUTE), TD(TD_MNXT_RIGHT), TD(QUAD_CVXA), TD(QUAD_LAYER_SWITCH) ), - [1] = LAYOUT_all( + [1] = LAYOUT( YOUTUBE, KC_WBAK, TD(TD_SEARCH_REFRESH), KC_WFWD, FACEBOOK, TD(QUAD_LAYER_SWITCH) ), - [2] = LAYOUT_all( + [2] = LAYOUT( A(KC_F4), SGUI(KC_S), KC_MYCM, LCA(KC_DEL), KC_CALC, TD(QUAD_LAYER_SWITCH) ), - [3] = LAYOUT_all( + [3] = LAYOUT( C(KC_SLSH), VALORANT, VSCODE, DISCORD, LSA(KC_A), TD(QUAD_LAYER_SWITCH) ), }; \ No newline at end of file diff --git a/keyboards/h0oni/deskpad/keymaps/via/keymap.c b/keyboards/h0oni/deskpad/keymaps/via/keymap.c index c3eba7c4a9c..eea54cf6b19 100644 --- a/keyboards/h0oni/deskpad/keymaps/via/keymap.c +++ b/keyboards/h0oni/deskpad/keymaps/via/keymap.c @@ -171,19 +171,19 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( + [0] = LAYOUT( TD(TD_CUT_REDO), TD(TD_MPRV_LEFT), TD(TD_PLAY_PAUSE_MUTE), TD(TD_MNXT_RIGHT), TD(QUAD_CVXA), TD(QUAD_LAYER_SWITCH) ), - [1] = LAYOUT_all( + [1] = LAYOUT( YOUTUBE, KC_WBAK, TD(TD_SEARCH_REFRESH), KC_WFWD, FACEBOOK, TD(QUAD_LAYER_SWITCH) ), - [2] = LAYOUT_all( + [2] = LAYOUT( A(KC_F4), SGUI(KC_S), KC_MYCM, LCA(KC_DEL), KC_CALC, TD(QUAD_LAYER_SWITCH) ), - [3] = LAYOUT_all( + [3] = LAYOUT( C(KC_SLSH), VALORANT, VSCODE, DISCORD, LSA(KC_A), TD(QUAD_LAYER_SWITCH) ), }; \ No newline at end of file diff --git a/keyboards/h0oni/hotduck/keyboard.json b/keyboards/h0oni/hotduck/keyboard.json index 605d614d6af..bdb23860214 100644 --- a/keyboards/h0oni/hotduck/keyboard.json +++ b/keyboards/h0oni/hotduck/keyboard.json @@ -51,8 +51,11 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/h0oni/hotduck/keymaps/default/keymap.c b/keyboards/h0oni/hotduck/keymaps/default/keymap.c index 503f0bc74cd..de979ade438 100644 --- a/keyboards/h0oni/hotduck/keymaps/default/keymap.c +++ b/keyboards/h0oni/hotduck/keymaps/default/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( + [0] = LAYOUT( KC_ESC, 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_BSPC, MO(1), KC_HOME, 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_SLSH, KC_DEL, KC_END, 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_ENT, @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT ), - [1] = LAYOUT_all( + [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, MO(1), TG(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_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS ), - [2] = LAYOUT_all( + [2] = LAYOUT( 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,TG(2), MO(4), 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_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS ), - [3] = LAYOUT_all( + [3] = LAYOUT( 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,MO(4), 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_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, diff --git a/keyboards/h0oni/hotduck/keymaps/via/keymap.c b/keyboards/h0oni/hotduck/keymaps/via/keymap.c index 503f0bc74cd..de979ade438 100644 --- a/keyboards/h0oni/hotduck/keymaps/via/keymap.c +++ b/keyboards/h0oni/hotduck/keymaps/via/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( + [0] = LAYOUT( KC_ESC, 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_BSPC, MO(1), KC_HOME, 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_SLSH, KC_DEL, KC_END, 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_ENT, @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT ), - [1] = LAYOUT_all( + [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, MO(1), TG(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_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS ), - [2] = LAYOUT_all( + [2] = LAYOUT( 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,TG(2), MO(4), 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_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS ), - [3] = LAYOUT_all( + [3] = LAYOUT( 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,MO(4), 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_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, From cc0b2f981446620f73b7531f9205a14134fedbae Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 29 Jun 2024 19:20:11 +1000 Subject: [PATCH 02/54] `jels/boaty`: adjust layout name (#24013) --- keyboards/jels/boaty/keyboard.json | 5 ++++- keyboards/jels/boaty/keymaps/default/keymap.c | 4 ++-- keyboards/jels/boaty/keymaps/via/keymap.c | 8 ++++---- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/keyboards/jels/boaty/keyboard.json b/keyboards/jels/boaty/keyboard.json index 11a6e0aa151..36fa9288ab2 100644 --- a/keyboards/jels/boaty/keyboard.json +++ b/keyboards/jels/boaty/keyboard.json @@ -29,8 +29,11 @@ "rows": ["D6", "B0", "D7", "B5", "B3", "B4", "B2"] }, "diode_direction": "COL2ROW", + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"label": "Num Lock", "matrix": [2, 10], "x": 6.75, "y": 0}, {"label": "-", "matrix": [1, 10], "x": 6.75, "y": 1}, diff --git a/keyboards/jels/boaty/keymaps/default/keymap.c b/keyboards/jels/boaty/keymaps/default/keymap.c index 9c2dfc1d447..3dcf144e392 100644 --- a/keyboards/jels/boaty/keymaps/default/keymap.c +++ b/keyboards/jels/boaty/keymaps/default/keymap.c @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //base layer - [0] = LAYOUT_all( + [0] = LAYOUT( KC_NUM, KC_PAST, KC_PSLS, KC_P7, KC_P8, KC_P9, @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_1, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_RSFT, KC_LCTL, KC_LALT, KC_SPC, KC_1, KC_RALT, KC_RCTL ), - [1] = LAYOUT_all( + [1] = LAYOUT( KC_F2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/jels/boaty/keymaps/via/keymap.c b/keyboards/jels/boaty/keymaps/via/keymap.c index a2e557086bd..870642b49bf 100644 --- a/keyboards/jels/boaty/keymaps/via/keymap.c +++ b/keyboards/jels/boaty/keymaps/via/keymap.c @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //base layer - [0] = LAYOUT_all( + [0] = LAYOUT( KC_NUM, KC_PAST, KC_PSLS, KC_P7, KC_P8, KC_P9, @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_RSFT, KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RCTL ), - [1] = LAYOUT_all( + [1] = LAYOUT( KC_F2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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 ), - [2] = LAYOUT_all( + [2] = LAYOUT( KC_F2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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 ), - [3] = LAYOUT_all( + [3] = LAYOUT( KC_F2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, From d6bfbdb6b15967e649b54e9cea6643a8dc48ba0b Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 29 Jun 2024 20:56:29 +1000 Subject: [PATCH 03/54] `horrortroll/handwired_k552`: fix RGB Matrix LED config (#24014) --- .../handwired_k552/handwired_k552.c | 23 --------------- .../horrortroll/handwired_k552/keyboard.json | 28 ++++++++++++++++++- 2 files changed, 27 insertions(+), 24 deletions(-) diff --git a/keyboards/horrortroll/handwired_k552/handwired_k552.c b/keyboards/horrortroll/handwired_k552/handwired_k552.c index c6181d178e3..b4735bac05a 100644 --- a/keyboards/horrortroll/handwired_k552/handwired_k552.c +++ b/keyboards/horrortroll/handwired_k552/handwired_k552.c @@ -19,29 +19,6 @@ // OLED animation #include "lib/logo.h" -#ifdef RGB_MATRIX_ENABLE -led_config_t g_led_config = { { - { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, - { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, - { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, - { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, - { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }, - { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED } -}, { - {152, 0}, {165, 0}, {190, 0}, {205, 0}, - {224, 21}, {224, 43}, {224, 54}, - {188, 64}, {172, 64}, {156, 64}, {140, 64}, {115, 64}, {99 , 64}, {75 , 64}, {59 , 64}, {43 , 64}, {26 , 64}, - {0 , 15}, {0 , 50}, {0 , 39}, - {18 , 0}, {36 , 0}, {57 , 0}, {67 , 0} -}, { - 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, - 2, 2, - 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, -} }; -#endif - #ifdef OLED_ENABLE uint16_t startup_timer; diff --git a/keyboards/horrortroll/handwired_k552/keyboard.json b/keyboards/horrortroll/handwired_k552/keyboard.json index 6bbfa86e124..213cdf80860 100644 --- a/keyboards/horrortroll/handwired_k552/keyboard.json +++ b/keyboards/horrortroll/handwired_k552/keyboard.json @@ -34,7 +34,33 @@ "pixel_rain": true }, "driver": "ws2812", - "max_brightness": 200 + "max_brightness": 200, + "layout": [ + {"x": 152, "y": 0, "flags": 2}, + {"x": 165, "y": 0, "flags": 2}, + {"x": 190, "y": 0, "flags": 2}, + {"x": 205, "y": 0, "flags": 2}, + {"x": 224, "y": 21, "flags": 2}, + {"x": 224, "y": 43, "flags": 2}, + {"x": 224, "y": 54, "flags": 2}, + {"x": 188, "y": 64, "flags": 2}, + {"x": 172, "y": 64, "flags": 2}, + {"x": 156, "y": 64, "flags": 2}, + {"x": 140, "y": 64, "flags": 2}, + {"x": 115, "y": 64, "flags": 2}, + {"x": 99, "y": 64, "flags": 2}, + {"x": 75, "y": 64, "flags": 2}, + {"x": 59, "y": 64, "flags": 2}, + {"x": 43, "y": 64, "flags": 2}, + {"x": 26, "y": 64, "flags": 2}, + {"x": 0, "y": 50, "flags": 2}, + {"x": 0, "y": 39, "flags": 2}, + {"x": 0, "y": 15, "flags": 2}, + {"x": 18, "y": 0, "flags": 2}, + {"x": 36, "y": 0, "flags": 2}, + {"x": 57, "y": 0, "flags": 2}, + {"x": 67, "y": 0, "flags": 2} + ] }, "matrix_pins": { "cols": ["B15", "C6", "C7", "A3", "A1", "C3", "C1", "B14", "B13", "A9", "B3", "B4", "A0", "C11", "C4", "C0", "C2"], From 12379dc1ebd5bb1257eed5f7400510ee535d5d50 Mon Sep 17 00:00:00 2001 From: Danylo Kondratiev Date: Sun, 30 Jun 2024 04:57:35 +0300 Subject: [PATCH 04/54] Fix ploopy Adept/Madromys link (#24018) --- keyboards/ploopyco/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/ploopyco/readme.md b/keyboards/ploopyco/readme.md index a468058ce04..b6eecf080e9 100644 --- a/keyboards/ploopyco/readme.md +++ b/keyboards/ploopyco/readme.md @@ -5,7 +5,7 @@ * [Trackball Mini](trackball_mini/) * [Trackball Nano](trackball_nano/) * [Trackball Thumb](trackball_thumb/) -* [Adept/Madromys](manromys/) +* [Adept/Madromys](madromys/) # Customizing your PloopyCo Device From 3ffe8d917a7c43e56b11ada82ac57b86003719a3 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 30 Jun 2024 03:39:49 +0100 Subject: [PATCH 05/54] Fix 'qmk new-keyboard' processing of development_board (#23996) --- data/templates/keyboard/keyboard.json | 2 -- lib/python/qmk/cli/new/keyboard.py | 34 ++++++++++----------------- 2 files changed, 12 insertions(+), 24 deletions(-) diff --git a/data/templates/keyboard/keyboard.json b/data/templates/keyboard/keyboard.json index 65f935fb42a..94085d7f5a2 100644 --- a/data/templates/keyboard/keyboard.json +++ b/data/templates/keyboard/keyboard.json @@ -2,8 +2,6 @@ "keyboard_name": "%KEYBOARD%", "maintainer": "%USER_NAME%", "manufacturer": "%REAL_NAME%", - "processor": "%MCU%", - "bootloader": "%BOOTLOADER%", "diode_direction": "COL2ROW", "matrix_pins": { "cols": ["C2"], diff --git a/lib/python/qmk/cli/new/keyboard.py b/lib/python/qmk/cli/new/keyboard.py index 56bd05e1e3e..b84b130f8ec 100644 --- a/lib/python/qmk/cli/new/keyboard.py +++ b/lib/python/qmk/cli/new/keyboard.py @@ -14,7 +14,7 @@ from qmk.git import git_get_username from qmk.json_schema import load_jsonschema from qmk.path import keyboard from qmk.json_encoders import InfoJSONEncoder -from qmk.json_schema import deep_update, json_load +from qmk.json_schema import deep_update from qmk.constants import MCU2BOOTLOADER, QMK_FIRMWARE COMMUNITY = Path('layouts/default/') @@ -78,7 +78,7 @@ def replace_string(src, token, value): src.write_text(src.read_text().replace(token, value)) -def augment_community_info(src, dest): +def augment_community_info(config, src, dest): """Splice in any additional data into info.json """ info = json.loads(src.read_text()) @@ -86,6 +86,7 @@ def augment_community_info(src, dest): # merge community with template deep_update(info, template) + deep_update(info, config) # avoid assumptions on macro name by using the first available first_layout = next(iter(info["layouts"].values()))["layout"] @@ -105,7 +106,7 @@ def augment_community_info(src, dest): for item in first_layout: item["matrix"] = [int(item["y"]), int(item["x"])] - # finally write out the updated info.json + # finally write out the updated json dest.write_text(json.dumps(info, cls=InfoJSONEncoder, sort_keys=True)) @@ -212,15 +213,12 @@ def new_keyboard(cli): default_layout = cli.args.layout if cli.args.layout else prompt_layout() mcu = cli.args.type if cli.args.type else prompt_mcu() - # Preprocess any development_board presets + config = {} if mcu in dev_boards: - defaults_map = json_load(Path('data/mappings/defaults.hjson')) - board = defaults_map['development_board'][mcu] - - mcu = board['processor'] - bootloader = board['bootloader'] + config['development_board'] = mcu else: - bootloader = select_default_bootloader(mcu) + config['processor'] = mcu + config['bootloader'] = select_default_bootloader(mcu) detach_layout = False if default_layout == 'none of the above': @@ -231,17 +229,9 @@ def new_keyboard(cli): 'YEAR': str(date.today().year), 'KEYBOARD': kb_name, 'USER_NAME': user_name, - 'REAL_NAME': real_name, - 'LAYOUT': default_layout, - 'MCU': mcu, - 'BOOTLOADER': bootloader + 'REAL_NAME': real_name } - if cli.config.general.verbose: - cli.log.info("Creating keyboard with:") - for key, value in tokens.items(): - cli.echo(f" {key.ljust(10)}: {value}") - # begin with making the deepest folder in the tree keymaps_path = keyboard(kb_name) / 'keymaps/' keymaps_path.mkdir(parents=True) @@ -256,7 +246,7 @@ def new_keyboard(cli): # merge in infos community_info = Path(COMMUNITY / f'{default_layout}/info.json') - augment_community_info(community_info, keyboard(kb_name) / 'keyboard.json') + augment_community_info(config, community_info, keyboard(kb_name) / 'keyboard.json') # detach community layout and rename to just "LAYOUT" if detach_layout: @@ -265,5 +255,5 @@ def new_keyboard(cli): cli.log.info(f'{{fg_green}}Created a new keyboard called {{fg_cyan}}{kb_name}{{fg_green}}.{{fg_reset}}') cli.log.info(f"Build Command: {{fg_yellow}}qmk compile -kb {kb_name} -km default{{fg_reset}}.") - cli.log.info(f'Project Location: {{fg_cyan}}{QMK_FIRMWARE}/{keyboard(kb_name)}{{fg_reset}},') - cli.log.info("{{fg_yellow}}Now update the config files to match the hardware!{{fg_reset}}") + cli.log.info(f'Project Location: {{fg_cyan}}{QMK_FIRMWARE}/{keyboard(kb_name)}{{fg_reset}}.') + cli.log.info("{fg_yellow}Now update the config files to match the hardware!{fg_reset}") From 869b7d9ae63f2d5990934f938e44ecfe6d1d9e1f Mon Sep 17 00:00:00 2001 From: Cipulot <40441626+Cipulot@users.noreply.github.com> Date: Wed, 3 Jul 2024 06:35:26 +0900 Subject: [PATCH 06/54] Fix index EC Dolice (#24033) * Update keyboard.json Fixed wrong index in keyboard.json * Small touch layout --- keyboards/cipulot/ec_dolice/keyboard.json | 8 ++++---- keyboards/cipulot/ec_dolice/keymaps/default/keymap.c | 2 +- keyboards/cipulot/ec_dolice/keymaps/via/keymap.c | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/keyboards/cipulot/ec_dolice/keyboard.json b/keyboards/cipulot/ec_dolice/keyboard.json index e81422e2c54..cebaa50ba83 100644 --- a/keyboards/cipulot/ec_dolice/keyboard.json +++ b/keyboards/cipulot/ec_dolice/keyboard.json @@ -100,7 +100,7 @@ {"matrix": [3, 13], "x": 15.5, "y": 3, "w": 1.75}, {"matrix": [3, 14], "x": 17.25, "y": 3}, {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.5}, - {"matrix": [4, 2], "x": 4.25, "y": 4, "w": 1.5}, + {"matrix": [4, 3], "x": 4.25, "y": 4, "w": 1.5}, {"matrix": [4, 5], "x": 5.75, "y": 4, "w": 2}, {"matrix": [4, 6], "x": 7.75, "y": 4, "w": 1.25}, {"matrix": [4, 8], "x": 9.5, "y": 4, "w": 2.75}, @@ -170,7 +170,7 @@ {"matrix": [3, 13], "x": 15.5, "y": 3, "w": 1.75}, {"matrix": [3, 14], "x": 17.25, "y": 3}, {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.5}, - {"matrix": [4, 2], "x": 4.25, "y": 4, "w": 1.5}, + {"matrix": [4, 3], "x": 4.25, "y": 4, "w": 1.5}, {"matrix": [4, 5], "x": 5.75, "y": 4, "w": 2}, {"matrix": [4, 6], "x": 7.75, "y": 4, "w": 1.25}, {"matrix": [4, 8], "x": 9.5, "y": 4, "w": 2.75}, @@ -238,7 +238,7 @@ {"matrix": [3, 12], "x": 14.5, "y": 3}, {"matrix": [3, 13], "x": 15.5, "y": 3, "w": 2.75}, {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.5}, - {"matrix": [4, 2], "x": 4.25, "y": 4, "w": 1.5}, + {"matrix": [4, 3], "x": 4.25, "y": 4, "w": 1.5}, {"matrix": [4, 5], "x": 5.75, "y": 4, "w": 2}, {"matrix": [4, 6], "x": 7.75, "y": 4, "w": 1.25}, {"matrix": [4, 8], "x": 9.5, "y": 4, "w": 2.75}, @@ -307,7 +307,7 @@ {"matrix": [3, 12], "x": 14.5, "y": 3}, {"matrix": [3, 13], "x": 15.5, "y": 3, "w": 2.75}, {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.5}, - {"matrix": [4, 2], "x": 4.25, "y": 4, "w": 1.5}, + {"matrix": [4, 3], "x": 4.25, "y": 4, "w": 1.5}, {"matrix": [4, 5], "x": 5.75, "y": 4, "w": 2}, {"matrix": [4, 6], "x": 7.75, "y": 4, "w": 1.25}, {"matrix": [4, 8], "x": 9.5, "y": 4, "w": 2.75}, diff --git a/keyboards/cipulot/ec_dolice/keymaps/default/keymap.c b/keyboards/cipulot/ec_dolice/keymaps/default/keymap.c index 5a501e29823..8e6745b6819 100644 --- a/keyboards/cipulot/ec_dolice/keymaps/default/keymap.c +++ b/keyboards/cipulot/ec_dolice/keymaps/default/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( - KC_PSCR, KC_ESC, 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_BSPC, KC_DEL, + KC_PSCR, KC_ESC, 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_BSPC, 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_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), diff --git a/keyboards/cipulot/ec_dolice/keymaps/via/keymap.c b/keyboards/cipulot/ec_dolice/keymaps/via/keymap.c index 5a501e29823..8e6745b6819 100644 --- a/keyboards/cipulot/ec_dolice/keymaps/via/keymap.c +++ b/keyboards/cipulot/ec_dolice/keymaps/via/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( - KC_PSCR, KC_ESC, 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_BSPC, KC_DEL, + KC_PSCR, KC_ESC, 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_BSPC, 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_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), From e754c9f2b4bb63e5b63d09f596b6b67a0e1c56be Mon Sep 17 00:00:00 2001 From: kopibeng <52724926+kopibeng@users.noreply.github.com> Date: Wed, 3 Jul 2024 16:38:57 +0800 Subject: [PATCH 07/54] Update keymap for KLC x TGR Lena (#23688) --- keyboards/kopibeng/tgr_lena/keymaps/default/keymap.c | 2 +- keyboards/kopibeng/tgr_lena/keymaps/via/keymap.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/kopibeng/tgr_lena/keymaps/default/keymap.c b/keyboards/kopibeng/tgr_lena/keymaps/default/keymap.c index 33a1ccd6f77..7b4fd9db819 100644 --- a/keyboards/kopibeng/tgr_lena/keymaps/default/keymap.c +++ b/keyboards/kopibeng/tgr_lena/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { QK_BOOT, KC_TRNS, 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_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_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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, 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 ) }; diff --git a/keyboards/kopibeng/tgr_lena/keymaps/via/keymap.c b/keyboards/kopibeng/tgr_lena/keymaps/via/keymap.c index 33a1ccd6f77..7b4fd9db819 100644 --- a/keyboards/kopibeng/tgr_lena/keymaps/via/keymap.c +++ b/keyboards/kopibeng/tgr_lena/keymaps/via/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { QK_BOOT, KC_TRNS, 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_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_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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, 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 ) }; From 33adb8cba08130f3bdcf949b5c1a0ec9a60cbd30 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 3 Jul 2024 20:31:49 +1000 Subject: [PATCH 08/54] `vertex/arc60h`: add additional layouts (#24023) --- keyboards/vertex/arc60h/keyboard.json | 348 ++++++++++++++++++++++++++ 1 file changed, 348 insertions(+) diff --git a/keyboards/vertex/arc60h/keyboard.json b/keyboards/vertex/arc60h/keyboard.json index e79d8f0dc5e..4d4d903dc47 100644 --- a/keyboards/vertex/arc60h/keyboard.json +++ b/keyboards/vertex/arc60h/keyboard.json @@ -49,6 +49,10 @@ "diode_direction": "COL2ROW", "processor": "STM32F103", "bootloader": "stm32duino", + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, + "community_layouts": ["60_ansi_tsangan", "60_tsangan_hhkb", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb"], "layouts": { "LAYOUT_all": { "layout": [ @@ -120,6 +124,350 @@ {"matrix": [4, 12], "x": 12.5, "y": 4}, {"matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5} ] + }, + "LAYOUT_60_ansi_tsangan": { + "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}, + {"matrix": [0, 14], "x": 13, "y": 0, "w": 2}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4}, + {"matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { + "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}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4}, + {"matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_ansi_wkl": { + "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}, + {"matrix": [0, 14], "x": 13, "y": 0, "w": 2}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + + {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + + {"matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_ansi_wkl_split_bs_rshift": { + "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}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + + {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + + {"matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_hhkb": { + "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}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4} + ] } } } From bc8ac8642242516e0fe61f1b97b75374c9150647 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Wed, 3 Jul 2024 22:00:53 +1000 Subject: [PATCH 09/54] Minimum python version listing. (#23989) --- lib/python/qmk/cli/__init__.py | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/lib/python/qmk/cli/__init__.py b/lib/python/qmk/cli/__init__.py index b504aa5f8c6..f3314458701 100644 --- a/lib/python/qmk/cli/__init__.py +++ b/lib/python/qmk/cli/__init__.py @@ -189,20 +189,22 @@ def _eprint(errmsg): # Supported version information # # Based on the OSes we support these are the minimum python version available by default. -# Last update: 2021 Jan 02 +# Last update: 2024 Jun 24 # -# Arch: 3.9 -# Debian: 3.7 -# Fedora 31: 3.7 -# Fedora 32: 3.8 -# Fedora 33: 3.9 -# FreeBSD: 3.7 -# Gentoo: 3.7 -# macOS: 3.9 (from homebrew) -# msys2: 3.8 -# Slackware: 3.7 -# solus: 3.7 -# void: 3.9 +# Arch: 3.12 +# Debian 11: 3.9 +# Debian 12: 3.11 +# Fedora 39: 3.12 +# Fedora 40: 3.12 +# FreeBSD: 3.11 +# Gentoo: 3.12 +# macOS: 3.12 (from homebrew) +# msys2: 3.11 +# Slackware: 3.9 +# solus: 3.10 +# Ubuntu 22.04: 3.10 +# Ubuntu 24.04: 3.12 +# void: 3.12 if sys.version_info[0] != 3 or sys.version_info[1] < 7: _eprint('Error: Your Python is too old! Please upgrade to Python 3.7 or later.') From c2f7974c8eb5154c5a79c74150fc934086175024 Mon Sep 17 00:00:00 2001 From: James Gzowski Date: Thu, 4 Jul 2024 03:34:17 +0100 Subject: [PATCH 10/54] [Keyboard] Add Ashwing66 (#24031) * Create hello.txt * Add files via upload * Create keymap.c * Ashwing66 * Update readme.md * Update keymap.c * Ashwing66 addition * Ashwing66 addition * Changes as per request * Changes as per request * Changes as per request, Updated repo, fixed filenames * 02-Jul-11:04:08 --- keyboards/ashwing66/config.h | 6 + keyboards/ashwing66/keyboard.json | 166 +++++++++++++++++++ keyboards/ashwing66/keymaps/default/keymap.c | 41 +++++ keyboards/ashwing66/keymaps/default/rules.mk | 1 + keyboards/ashwing66/keymaps/via/keymap.c | 41 +++++ keyboards/ashwing66/keymaps/via/rules.mk | 2 + keyboards/ashwing66/readme.md | 23 +++ 7 files changed, 280 insertions(+) create mode 100644 keyboards/ashwing66/config.h create mode 100644 keyboards/ashwing66/keyboard.json create mode 100644 keyboards/ashwing66/keymaps/default/keymap.c create mode 100644 keyboards/ashwing66/keymaps/default/rules.mk create mode 100644 keyboards/ashwing66/keymaps/via/keymap.c create mode 100644 keyboards/ashwing66/keymaps/via/rules.mk create mode 100644 keyboards/ashwing66/readme.md diff --git a/keyboards/ashwing66/config.h b/keyboards/ashwing66/config.h new file mode 100644 index 00000000000..344ff327069 --- /dev/null +++ b/keyboards/ashwing66/config.h @@ -0,0 +1,6 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define ENCODER_MAP_KEY_DELAY 10 +#define ENCODER_DEFAULT_POS 0x3 diff --git a/keyboards/ashwing66/keyboard.json b/keyboards/ashwing66/keyboard.json new file mode 100644 index 00000000000..27a5799964a --- /dev/null +++ b/keyboards/ashwing66/keyboard.json @@ -0,0 +1,166 @@ +{ + "manufacturer": "gzowski", + "keyboard_name": "Ashwing66", + "maintainer": "gzowski", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "GP12", "pin_b": "GP11"} + ] + }, + "features": { + "bootmagic": true, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP14", "GP15", "GP16", "GP17", "GP19", "GP20", "GP21", "GP22", "GP26", "GP27"], + "rows": ["GP28", "GP8", "GP9", "GP10", "GP13"] + }, + "processor": "RP2040", + "rgb_matrix": { + "animations": { + "alphas_mods": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_sat": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "band_val": true, + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "cycle_up_down": true, + "dual_beacon": true, + "gradient_left_right": true, + "gradient_up_down": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "jellybean_raindrops": true, + "pixel_flow": true, + "pixel_fractal": true, + "pixel_rain": true, + "rainbow_beacon": true, + "rainbow_moving_chevron": true, + "rainbow_pinwheels": true, + "raindrops": true + }, + "driver": "ws2812", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 16, "y": 1, "flags": 4}, + {"matrix": [0, 2], "x": 33, "y": 2, "flags": 4}, + {"matrix": [0, 3], "x": 49, "y": 4, "flags": 4}, + {"matrix": [0, 4], "x": 65, "y": 7, "flags": 4}, + {"matrix": [0, 5], "x": 81, "y": 11, "flags": 4}, + {"matrix": [3, 6], "x": 86, "y": 39, "flags": 4}, + {"matrix": [4, 6], "x": 81, "y": 56, "flags": 4}, + {"matrix": [4, 7], "x": 96, "y": 63, "flags": 4}, + {"matrix": [4, 8], "x": 126, "y": 63, "flags": 4}, + {"matrix": [4, 9], "x": 141, "y": 56, "flags": 4}, + {"matrix": [3, 9], "x": 136, "y": 39, "flags": 4}, + {"matrix": [0, 10], "x": 141, "y": 11, "flags": 4}, + {"matrix": [0, 11], "x": 157, "y": 7, "flags": 4}, + {"matrix": [0, 12], "x": 173, "y": 4, "flags": 4}, + {"matrix": [0, 13], "x": 189, "y": 2, "flags": 4}, + {"matrix": [0, 14], "x": 206, "y": 1, "flags": 4}, + {"matrix": [0, 15], "x": 223, "y": 0, "flags": 4} + ], + "led_flush_limit": 16, + "led_process_limit": 5, + "max_brightness": 125, + "sleep": true + }, + "url": "https://github.com/gzowski", + "usb": { + "device_version": "1.0.0", + "pid": "0x6F64", + "vid": "0x7372" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP0" + }, + "layouts": { + "LAYOUT_5x16": { + "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, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15, "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, 10], "x": 10, "y": 1}, + {"matrix": [1, 11], "x": 11, "y": 1}, + {"matrix": [1, 12], "x": 12, "y": 1}, + {"matrix": [1, 13], "x": 13, "y": 1}, + {"matrix": [1, 14], "x": 14, "y": 1}, + {"matrix": [1, 15], "x": 15, "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, 10], "x": 10, "y": 2}, + {"matrix": [2, 11], "x": 11, "y": 2}, + {"matrix": [2, 12], "x": 12, "y": 2}, + {"matrix": [2, 13], "x": 13, "y": 2}, + {"matrix": [2, 14], "x": 14, "y": 2}, + {"matrix": [2, 15], "x": 15, "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": [3, 8], "x": 8, "y": 3}, + {"matrix": [3, 9], "x": 9, "y": 3}, + {"matrix": [3, 10], "x": 10, "y": 3}, + {"matrix": [3, 11], "x": 11, "y": 3}, + {"matrix": [3, 12], "x": 12, "y": 3}, + {"matrix": [3, 13], "x": 13, "y": 3}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "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": [4, 7], "x": 7, "y": 4}, + {"matrix": [4, 8], "x": 8, "y": 4}, + {"matrix": [4, 9], "x": 9, "y": 4}, + {"matrix": [4, 10], "x": 10, "y": 4}, + {"matrix": [4, 11], "x": 11, "y": 4}, + {"matrix": [4, 12], "x": 12, "y": 4}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/ashwing66/keymaps/default/keymap.c b/keyboards/ashwing66/keymaps/default/keymap.c new file mode 100644 index 00000000000..2b317e19eba --- /dev/null +++ b/keyboards/ashwing66/keymaps/default/keymap.c @@ -0,0 +1,41 @@ +// Copyright 2023 James GzowskiMO(_LAYERB) +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +enum custom_layer { + _LAYERA, + _LAYERB, + _LAYERC, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_LAYERA] = LAYOUT_5x16( + KC_ESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_GRV , + KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_MINS , + KC_LCTL,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_QUOT , + KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_LBRC ,KC_MUTE ,KC_RBRC ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT , + KC_LBRC,KC_PSCR,KC_CAPS ,MO(_LAYERB),KC_LGUI ,KC_LALT ,KC_SPC ,KC_PGDN ,KC_PGUP ,KC_ENT ,KC_BSPC ,MO(_LAYERC),KC_INS ,KC_DEL ,KC_BSLS ,KC_RBRC +), + [_LAYERB] = LAYOUT_5x16( + KC_ESC ,RGB_TOG,RGB_RMOD,RGB_MOD ,RGB_VAD ,RGB_VAI ,RGB_SPD ,RGB_SPI ,RGB_HUD ,RGB_HUI ,RGB_SAD ,RGB_SAI , + KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_Y ,KC_BTN1 ,KC_MS_U ,KC_BTN2 ,KC_P ,KC_EQL , + KC_LCTL,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_SCLN ,KC_QUOT , + KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_LBRC ,KC_MUTE ,KC_RBRC ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT , + KC_LBRC,KC_PSCR,KC_CAPS ,_______ ,KC_LGUI ,KC_LALT ,KC_SPC ,KC_END ,KC_HOME ,KC_ENT ,KC_BSPC ,_______ ,KC_INS ,KC_DEL ,KC_BSLS ,KC_RBRC +), + [_LAYERC] = LAYOUT_5x16( + KC_ESC ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_GRV , + KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_Y ,KC_U ,KC_UP ,KC_O ,KC_P ,KC_EQL , + KC_LCTL,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_LEFT ,KC_DOWN ,KC_RIGHT,KC_SCLN ,KC_QUOT , + KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_LBRC ,KC_MUTE ,KC_RBRC ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT , + KC_F11 ,KC_PSCR,KC_CAPS ,_______ ,KC_LGUI ,KC_LALT ,KC_SPC ,KC_END ,KC_HOME ,KC_ENT ,KC_BSPC ,_______ ,KC_INS ,KC_DEL ,KC_BSLS ,KC_F12 +) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_LAYERA] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, + [_LAYERB] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI)}, + [_LAYERC] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)} +}; +#endif diff --git a/keyboards/ashwing66/keymaps/default/rules.mk b/keyboards/ashwing66/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/ashwing66/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/ashwing66/keymaps/via/keymap.c b/keyboards/ashwing66/keymaps/via/keymap.c new file mode 100644 index 00000000000..2b317e19eba --- /dev/null +++ b/keyboards/ashwing66/keymaps/via/keymap.c @@ -0,0 +1,41 @@ +// Copyright 2023 James GzowskiMO(_LAYERB) +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +enum custom_layer { + _LAYERA, + _LAYERB, + _LAYERC, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_LAYERA] = LAYOUT_5x16( + KC_ESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_GRV , + KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_MINS , + KC_LCTL,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_QUOT , + KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_LBRC ,KC_MUTE ,KC_RBRC ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT , + KC_LBRC,KC_PSCR,KC_CAPS ,MO(_LAYERB),KC_LGUI ,KC_LALT ,KC_SPC ,KC_PGDN ,KC_PGUP ,KC_ENT ,KC_BSPC ,MO(_LAYERC),KC_INS ,KC_DEL ,KC_BSLS ,KC_RBRC +), + [_LAYERB] = LAYOUT_5x16( + KC_ESC ,RGB_TOG,RGB_RMOD,RGB_MOD ,RGB_VAD ,RGB_VAI ,RGB_SPD ,RGB_SPI ,RGB_HUD ,RGB_HUI ,RGB_SAD ,RGB_SAI , + KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_Y ,KC_BTN1 ,KC_MS_U ,KC_BTN2 ,KC_P ,KC_EQL , + KC_LCTL,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_SCLN ,KC_QUOT , + KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_LBRC ,KC_MUTE ,KC_RBRC ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT , + KC_LBRC,KC_PSCR,KC_CAPS ,_______ ,KC_LGUI ,KC_LALT ,KC_SPC ,KC_END ,KC_HOME ,KC_ENT ,KC_BSPC ,_______ ,KC_INS ,KC_DEL ,KC_BSLS ,KC_RBRC +), + [_LAYERC] = LAYOUT_5x16( + KC_ESC ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_GRV , + KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_Y ,KC_U ,KC_UP ,KC_O ,KC_P ,KC_EQL , + KC_LCTL,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_LEFT ,KC_DOWN ,KC_RIGHT,KC_SCLN ,KC_QUOT , + KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_LBRC ,KC_MUTE ,KC_RBRC ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT , + KC_F11 ,KC_PSCR,KC_CAPS ,_______ ,KC_LGUI ,KC_LALT ,KC_SPC ,KC_END ,KC_HOME ,KC_ENT ,KC_BSPC ,_______ ,KC_INS ,KC_DEL ,KC_BSLS ,KC_F12 +) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_LAYERA] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, + [_LAYERB] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI)}, + [_LAYERC] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)} +}; +#endif diff --git a/keyboards/ashwing66/keymaps/via/rules.mk b/keyboards/ashwing66/keymaps/via/rules.mk new file mode 100644 index 00000000000..f1adcab005e --- /dev/null +++ b/keyboards/ashwing66/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/ashwing66/readme.md b/keyboards/ashwing66/readme.md new file mode 100644 index 00000000000..a65769c9cc9 --- /dev/null +++ b/keyboards/ashwing66/readme.md @@ -0,0 +1,23 @@ +# Ashwing66 + +66 key winged unibody split + +* Keyboard Maintainer: [James Gzowski](https://github.com/gzowski) +* Hardware Supported: Pi Pico or equivilent +* Build Guide: [Ashwing66](https://github.com/gzowski/Ashwing66) + +Make example for this keyboard (after setting up your build environment): + + make ashwing66:default + +Flashing example for this keyboard: + + make ashwing66:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the PCB, if using a RP2040 press repeatidly to enter boot mode. +* **Hold down boot loader button on MCU** Hold down the boot loader button on the MCU while plugging in the keyboard From 977918982d0ee38ade3eeb178ca572645d0f9553 Mon Sep 17 00:00:00 2001 From: Guanzhong Chen Date: Wed, 3 Jul 2024 22:38:38 -0400 Subject: [PATCH 11/54] monsgeek/m5: make numlock and capslock LEDs work (#24027) --- keyboards/monsgeek/m5/m5.c | 1 + 1 file changed, 1 insertion(+) diff --git a/keyboards/monsgeek/m5/m5.c b/keyboards/monsgeek/m5/m5.c index 3e1d752581c..5113e322a5a 100644 --- a/keyboards/monsgeek/m5/m5.c +++ b/keyboards/monsgeek/m5/m5.c @@ -157,6 +157,7 @@ void keyboard_pre_init_kb(void) { bool led_update_kb(led_t led_state) { bool res = led_update_user(led_state); if (res) { + led_update_ports(led_state); gpio_write_pin(LED_WIN_LOCK_PIN, keymap_config.no_gui); } return res; From c663f5e9f33384a1589b4b476610f3069c8c2542 Mon Sep 17 00:00:00 2001 From: chalex <68408520+gaclee3b@users.noreply.github.com> Date: Wed, 3 Jul 2024 22:40:24 -0400 Subject: [PATCH 12/54] [Keyboard] Add chlx lfn merro (#24026) * add previous working files to new branch * update config files. tested via version * update per qmk PR requested changes - 1. rename info.json -> keyboard.json, move config.h -> keyamps/via/config.h, remove rules.mk * update photo link for pcb * remove redundant community keymaps * Update keyboards/chlx/lfn_merro60/keymaps/default/keymap.c correct keycode for iso keys Co-authored-by: Duncan Sutherland * switch image url to source from imgur instead of github --------- Co-authored-by: chalex Co-authored-by: Duncan Sutherland --- keyboards/chlx/lfn_merro60/keyboard.json | 957 ++++++++++++++++++ .../chlx/lfn_merro60/keymaps/default/keymap.c | 35 + .../chlx/lfn_merro60/keymaps/via/config.h | 21 + .../chlx/lfn_merro60/keymaps/via/keymap.c | 35 + .../chlx/lfn_merro60/keymaps/via/rules.mk | 2 + keyboards/chlx/lfn_merro60/readme.md | 27 + 6 files changed, 1077 insertions(+) create mode 100644 keyboards/chlx/lfn_merro60/keyboard.json create mode 100644 keyboards/chlx/lfn_merro60/keymaps/default/keymap.c create mode 100644 keyboards/chlx/lfn_merro60/keymaps/via/config.h create mode 100644 keyboards/chlx/lfn_merro60/keymaps/via/keymap.c create mode 100644 keyboards/chlx/lfn_merro60/keymaps/via/rules.mk create mode 100644 keyboards/chlx/lfn_merro60/readme.md diff --git a/keyboards/chlx/lfn_merro60/keyboard.json b/keyboards/chlx/lfn_merro60/keyboard.json new file mode 100644 index 00000000000..a35b598f0eb --- /dev/null +++ b/keyboards/chlx/lfn_merro60/keyboard.json @@ -0,0 +1,957 @@ +{ + "manufacturer": "chlx bsmt", + "keyboard_name": "lfn.merro60", + "maintainer": "gaclee3b", + "bootloader": "atmel-dfu", + "diode_direction": "ROW2COL", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "qmk": { + "locking": { + "enabled": true, + "resync": true + } + }, + "indicators": { + "caps_lock": "B2", + "on_state": 0, + "compose": "B0" + }, + "matrix_pins": { + "rows": ["F5", "F1", "F4", "F0", "F7", "F6", "D3", "D5", "B3", "B7"], + "cols": ["C6", "B6", "B5", "B4", "D7", "D6", "D4"] + }, + "processor": "atmega32u4", + "url": "www.github.com/gaclee3b", + "usb": { + "device_version": "2.0.1", + "pid": "0x0604", + "vid": "0x4358" + }, + "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_tsangan_hhkb", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan", "60_iso_tsangan_split_bs_rshift", "60_iso_wkl", "60_iso_wkl_split_bs_rshift"], + "layouts": { + "LAYOUT_60_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [1, 6], "x": 13, "y": 0, "w": 2}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [9, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [8, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [8, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [9, 4], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [1, 6], "x": 13, "y": 0}, + {"matrix": [9, 6], "x": 14, "y": 0}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [9, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [8, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [8, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [9, 4], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [1, 6], "x": 13, "y": 0, "w": 2}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [9, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [8, 0], "x": 1.5, "y": 4}, + {"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [9, 5], "x": 12.5, "y": 4}, + {"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_ansi_wkl": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [1, 6], "x": 13, "y": 0, "w": 2}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [9, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_ansi_wkl_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [1, 6], "x": 13, "y": 0}, + {"matrix": [9, 6], "x": 14, "y": 0}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [9, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_hhkb": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [1, 6], "x": 13, "y": 0}, + {"matrix": [9, 6], "x": 14, "y": 0}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [8, 0], "x": 1.5, "y": 4}, + {"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [9, 5], "x": 12.5, "y": 4} + ] + }, + "LAYOUT_60_iso": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [1, 6], "x": 13, "y": 0, "w": 2}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2}, + {"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [9, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [8, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [8, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [9, 4], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [1, 6], "x": 13, "y": 0}, + {"matrix": [9, 6], "x": 14, "y": 0}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2}, + {"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [9, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [8, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [8, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [9, 4], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [1, 6], "x": 13, "y": 0, "w": 2}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2}, + {"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [9, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [8, 0], "x": 1.5, "y": 4}, + {"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [9, 5], "x": 12.5, "y": 4}, + {"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_tsangan_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [1, 6], "x": 13, "y": 0}, + {"matrix": [9, 6], "x": 14, "y": 0}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2}, + {"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [9, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [8, 0], "x": 1.5, "y": 4}, + {"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [9, 5], "x": 12.5, "y": 4}, + {"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_wkl": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [1, 6], "x": 13, "y": 0, "w": 2}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2}, + {"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [9, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_wkl_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [1, 6], "x": 13, "y": 0}, + {"matrix": [9, 6], "x": 14, "y": 0}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2}, + {"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [9, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_tsangan_hhkb": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [1, 6], "x": 13, "y": 0}, + {"matrix": [9, 6], "x": 14, "y": 0}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [9, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [8, 0], "x": 1.5, "y": 4}, + {"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [9, 5], "x": 12.5, "y": 4}, + {"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_all": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [1, 6], "x": 13, "y": 0}, + {"matrix": [9, 6], "x": 14, "y": 0}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2}, + {"matrix": [5, 6], "x": 13.75, "y": 2, "w": 1.25}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [9, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [8, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [9, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [8, 2], "x": 3.75, "y": 4, "w": 2.75}, + {"matrix": [8, 3], "x": 6.5, "y": 4, "w": 1.25}, + {"matrix": [9, 3], "x": 7.75, "y": 4, "w": 2.25}, + {"matrix": [9, 4], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25} + ] + } + } +} diff --git a/keyboards/chlx/lfn_merro60/keymaps/default/keymap.c b/keyboards/chlx/lfn_merro60/keymaps/default/keymap.c new file mode 100644 index 00000000000..8cddabd62ba --- /dev/null +++ b/keyboards/chlx/lfn_merro60/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +/* +Copyright 2024 Alexander Lee + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[0] = LAYOUT_all( + KC_ESC, 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_BSLS, KC_GRV, + 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_BSPC, + 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_RSFT, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL), + +[1] = LAYOUT_all( + 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_DEL, + KC_CAPS, _______, KC_HOME, KC_UP, KC_PGUP, _______, _______, _______, _______, _______, _______, KC_UP, _______, QK_BOOT, + _______, KC_END, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, + _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), +}; diff --git a/keyboards/chlx/lfn_merro60/keymaps/via/config.h b/keyboards/chlx/lfn_merro60/keymaps/via/config.h new file mode 100644 index 00000000000..bdeed0c824e --- /dev/null +++ b/keyboards/chlx/lfn_merro60/keymaps/via/config.h @@ -0,0 +1,21 @@ +/* +Copyright 2024 Alexander Lee + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +/* VIA related config */ +#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2 diff --git a/keyboards/chlx/lfn_merro60/keymaps/via/keymap.c b/keyboards/chlx/lfn_merro60/keymaps/via/keymap.c new file mode 100644 index 00000000000..2163e4289f7 --- /dev/null +++ b/keyboards/chlx/lfn_merro60/keymaps/via/keymap.c @@ -0,0 +1,35 @@ +/* +Copyright 2024 Alexander Lee + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[0] = LAYOUT_all( + QK_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_BSLS, KC_GRV, + 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_BSPC, + 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_RSFT, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_LSCR, KC_RALT, KC_RGUI, KC_APP, KC_RCTL), + +[1] = LAYOUT_all( + 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_DEL, + KC_CAPS, _______, KC_HOME, KC_UP, KC_PGUP, _______, _______, _______, _______, _______, _______, KC_UP, _______, QK_BOOT, + _______, KC_END, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, + _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), +}; diff --git a/keyboards/chlx/lfn_merro60/keymaps/via/rules.mk b/keyboards/chlx/lfn_merro60/keymaps/via/rules.mk new file mode 100644 index 00000000000..36b7ba9cbc9 --- /dev/null +++ b/keyboards/chlx/lfn_merro60/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/chlx/lfn_merro60/readme.md b/keyboards/chlx/lfn_merro60/readme.md new file mode 100644 index 00000000000..1c59ac550e7 --- /dev/null +++ b/keyboards/chlx/lfn_merro60/readme.md @@ -0,0 +1,27 @@ +# lfn.merro60 + +![lfn.merro60 PCB](https://i.imgur.com/naIgvKy.jpg) + +- Standard 60% format keyboard PCB with USB-C and unified daughterboard compatibility. +- Modified cutouts to allow usage of certain tray mount cases into gummy gasket o-ring mount. +- Meant to be manufactured in 2mm thickness. + +* Keyboard Maintainer: [Alexander Lee](https://github.com/gaclee3b) +* Hardware Supported: chlx PCB lfn.merro60.x.x.x + +Make example for this keyboard (after setting up your build environment): + + make chlx/lfn_merro60:default + +Flashing example for this keyboard: + + make chlx/lfn_merro60:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter bootloader mode by any of the following options - +- When unplugged, holding the top-left key (typically ESC) while plugging in the keyboard +- After plugging in, press and release the reset button on the pcb top-side near the spacebar switch locations +- After plugging in, short out the two reset metal contacts near the 'z' key (accessible through the switch LED slot) From 1c6cdb8d74ae58583fb99c194aa94224a03f0162 Mon Sep 17 00:00:00 2001 From: Cipulot <40441626+Cipulot@users.noreply.github.com> Date: Thu, 4 Jul 2024 11:42:07 +0900 Subject: [PATCH 13/54] [Keyboard] Addition of EC 60X (#24028) * Addition of EC 60X * Update keyboards/cipulot/ec_60x/keymaps/via/keymap.c Co-authored-by: Duncan Sutherland * Update keyboards/cipulot/ec_60x/keymaps/default/keymap.c Co-authored-by: Duncan Sutherland * Update keyboards/cipulot/ec_60x/keyboard.json Co-authored-by: Duncan Sutherland * Update keyboards/cipulot/ec_60x/keyboard.json Co-authored-by: Duncan Sutherland * Update keyboards/cipulot/ec_60x/keyboard.json Co-authored-by: Duncan Sutherland * Update keyboards/cipulot/ec_60x/keyboard.json Co-authored-by: Duncan Sutherland * Revert "Update keyboards/cipulot/ec_60x/keyboard.json" This reverts commit 5f49ef63cdcc4ff99d8056b243d255fd9b30420c. * Revert "Update keyboards/cipulot/ec_60x/keyboard.json" This reverts commit 5fb9706acd7bcd40f60edfe2d8c46bffc460ee5e. * revert of what was done with the layouts * Update keyboards/cipulot/ec_60x/mcuconf.h Co-authored-by: Drashna Jaelre --------- Co-authored-by: Duncan Sutherland Co-authored-by: Drashna Jaelre --- keyboards/cipulot/ec_60x/config.h | 71 ++++ keyboards/cipulot/ec_60x/halconf.h | 23 ++ keyboards/cipulot/ec_60x/keyboard.json | 330 ++++++++++++++++++ .../ec_60x/keymaps/60_ansi_tsangan/keymap.c | 42 +++ .../ec_60x/keymaps/60_iso_tsangan/keymap.c | 42 +++ .../cipulot/ec_60x/keymaps/60_jis/keymap.c | 42 +++ .../cipulot/ec_60x/keymaps/default/keymap.c | 42 +++ keyboards/cipulot/ec_60x/keymaps/via/keymap.c | 42 +++ keyboards/cipulot/ec_60x/keymaps/via/rules.mk | 1 + keyboards/cipulot/ec_60x/mcuconf.h | 25 ++ keyboards/cipulot/ec_60x/post_rules.mk | 3 + keyboards/cipulot/ec_60x/readme.md | 26 ++ keyboards/cipulot/ec_60x/rules.mk | 5 + 13 files changed, 694 insertions(+) create mode 100644 keyboards/cipulot/ec_60x/config.h create mode 100644 keyboards/cipulot/ec_60x/halconf.h create mode 100644 keyboards/cipulot/ec_60x/keyboard.json create mode 100644 keyboards/cipulot/ec_60x/keymaps/60_ansi_tsangan/keymap.c create mode 100644 keyboards/cipulot/ec_60x/keymaps/60_iso_tsangan/keymap.c create mode 100644 keyboards/cipulot/ec_60x/keymaps/60_jis/keymap.c create mode 100644 keyboards/cipulot/ec_60x/keymaps/default/keymap.c create mode 100644 keyboards/cipulot/ec_60x/keymaps/via/keymap.c create mode 100644 keyboards/cipulot/ec_60x/keymaps/via/rules.mk create mode 100644 keyboards/cipulot/ec_60x/mcuconf.h create mode 100644 keyboards/cipulot/ec_60x/post_rules.mk create mode 100644 keyboards/cipulot/ec_60x/readme.md create mode 100644 keyboards/cipulot/ec_60x/rules.mk diff --git a/keyboards/cipulot/ec_60x/config.h b/keyboards/cipulot/ec_60x/config.h new file mode 100644 index 00000000000..1a8d105d680 --- /dev/null +++ b/keyboards/cipulot/ec_60x/config.h @@ -0,0 +1,71 @@ +/* Copyright 2024 Cipulot + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +#define MATRIX_ROW_PINS \ + { A8, A15, B12, B8, B9} + +#define AMUX_COUNT 1 +#define AMUX_MAX_COLS_COUNT 16 + +#define AMUX_EN_PINS \ + { B5 } + +#define AMUX_SEL_PINS \ + { B6, B7, B4, B3 } + +#define AMUX_COL_CHANNELS_SIZES \ + { 15 } + +#define AMUX_0_COL_CHANNELS \ + { 7, 6, 5, 4, 3, 2, 1, 0, 8, 14, 13, 10, 9, 12, 11} + +#define AMUX_COL_CHANNELS AMUX_0_COL_CHANNELS + +#define DISCHARGE_PIN A2 +#define ANALOG_PORT A3 + +#define DEFAULT_ACTUATION_MODE 0 +#define DEFAULT_MODE_0_ACTUATION_LEVEL 550 +#define DEFAULT_MODE_0_RELEASE_LEVEL 500 +#define DEFAULT_MODE_1_INITIAL_DEADZONE_OFFSET DEFAULT_MODE_0_ACTUATION_LEVEL +#define DEFAULT_MODE_1_ACTUATION_OFFSET 70 +#define DEFAULT_MODE_1_RELEASE_OFFSET 70 +#define DEFAULT_EXTREMUM 1023 +#define EXPECTED_NOISE_FLOOR 0 +#define NOISE_FLOOR_THRESHOLD 50 +#define BOTTOMING_CALIBRATION_THRESHOLD 50 +#define DEFAULT_NOISE_FLOOR_SAMPLING_COUNT 30 +#define DEFAULT_BOTTOMING_READING 1023 +#define DEFAULT_CALIBRATION_STARTER true + +#define DISCHARGE_TIME 10 + +// #define DEBUG_MATRIX_SCAN_RATE +#define EECONFIG_KB_DATA_SIZE 159 + +// PWM driver with direct memory access (DMA) support +#define WS2812_PWM_COMPLEMENTARY_OUTPUT +#define WS2812_PWM_DRIVER PWMD1 +#define WS2812_PWM_CHANNEL 3 +#define WS2812_PWM_PAL_MODE 1 +#define WS2812_DMA_STREAM STM32_DMA2_STREAM5 +#define WS2812_DMA_CHANNEL 6 +#define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM1_UP diff --git a/keyboards/cipulot/ec_60x/halconf.h b/keyboards/cipulot/ec_60x/halconf.h new file mode 100644 index 00000000000..fb0f77d82f9 --- /dev/null +++ b/keyboards/cipulot/ec_60x/halconf.h @@ -0,0 +1,23 @@ +/* Copyright 2024 Cipulot + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define HAL_USE_ADC TRUE +#define HAL_USE_PAL TRUE +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/cipulot/ec_60x/keyboard.json b/keyboards/cipulot/ec_60x/keyboard.json new file mode 100644 index 00000000000..1d121800fcc --- /dev/null +++ b/keyboards/cipulot/ec_60x/keyboard.json @@ -0,0 +1,330 @@ +{ + "manufacturer": "Cipulot", + "keyboard_name": "EC 60X", + "maintainer": "Cipulot", + "bootloader": "stm32-dfu", + "build": { + "lto": true + }, + "diode_direction": "COL2ROW", + "eeprom": { + "wear_leveling": { + "backing_size": 4096 + } + }, + "features": { + "bootmagic": false, + "console": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "processor": "STM32F411", + "qmk": { + "locking": { + "enabled": true, + "resync": true + } + }, + "rgblight": { + "animations": { + "alternating": true, + "breathing": true, + "christmas": true, + "knight": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "rgb_test": true, + "snake": true, + "static_gradient": true, + "twinkle": true + }, + "led_count": 22 + }, + "usb": { + "device_version": "0.0.1", + "pid": "0x6BC7", + "shared_endpoint": { + "keyboard": true + }, + "vid": "0x6369" + }, + "ws2812": { + "driver": "pwm", + "pin": "B15" + }, + "layouts": { + "LAYOUT_60_ansi_tsangan": { + "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}, + {"matrix": [0, 14], "x": 13, "y": 0, "w": 2}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_tsangan": { + "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}, + {"matrix": [0, 14], "x": 13, "y": 0, "w": 2}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_jis": { + "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}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3}, + {"matrix": [3, 13], "x": 13.25, "y": 3, "w": 1.75}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 4], "x": 4, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 5.5, "y": 4, "w": 2.5}, + {"matrix": [4, 8], "x": 8, "y": 4, "w": 1.5}, + {"matrix": [4, 10], "x": 9.5, "y": 4, "w": 1.5}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "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}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 0.75}, + {"matrix": [1, 14], "x": 14.25, "y": 1, "w": 0.75}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3}, + {"matrix": [3, 13], "x": 13.25, "y": 3, "w": 0.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 4], "x": 4, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 5.5, "y": 4, "w": 2.5}, + {"matrix": [4, 8], "x": 8, "y": 4, "w": 1.5}, + {"matrix": [4, 10], "x": 9.5, "y": 4, "w": 1.5}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + } + } +} diff --git a/keyboards/cipulot/ec_60x/keymaps/60_ansi_tsangan/keymap.c b/keyboards/cipulot/ec_60x/keymaps/60_ansi_tsangan/keymap.c new file mode 100644 index 00000000000..5c1c44cda9a --- /dev/null +++ b/keyboards/cipulot/ec_60x/keymaps/60_ansi_tsangan/keymap.c @@ -0,0 +1,42 @@ +/* Copyright 2024 Cipulot + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // clang-format off + [0] = LAYOUT_60_ansi_tsangan( + QK_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_BSPC, + 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL), + + [1] = LAYOUT_60_ansi_tsangan( + _______, 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_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, + _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RIGHT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, + _______, _______, _______, _______, MO(2), _______, _______), + + [2] = LAYOUT_60_ansi_tsangan( + QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______) + // clang-format on +}; diff --git a/keyboards/cipulot/ec_60x/keymaps/60_iso_tsangan/keymap.c b/keyboards/cipulot/ec_60x/keymaps/60_iso_tsangan/keymap.c new file mode 100644 index 00000000000..cc3eea74d75 --- /dev/null +++ b/keyboards/cipulot/ec_60x/keymaps/60_iso_tsangan/keymap.c @@ -0,0 +1,42 @@ +/* Copyright 2024 Cipulot + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // clang-format off + [0] = LAYOUT_60_iso_tsangan( + QK_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_BSPC, + 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_ENTER, + 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_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL), + + [1] = LAYOUT_60_iso_tsangan( + _______, 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_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, + _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RIGHT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, + _______, _______, _______, _______, MO(2), _______, _______), + + [2] = LAYOUT_60_iso_tsangan( + QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______) + // clang-format on +}; diff --git a/keyboards/cipulot/ec_60x/keymaps/60_jis/keymap.c b/keyboards/cipulot/ec_60x/keymaps/60_jis/keymap.c new file mode 100644 index 00000000000..f75581b0061 --- /dev/null +++ b/keyboards/cipulot/ec_60x/keymaps/60_jis/keymap.c @@ -0,0 +1,42 @@ +/* Copyright 2024 Cipulot + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // clang-format off + [0] = LAYOUT_60_jis( + QK_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_INT3, KC_BSPC, + 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_ENTER, + 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_INT1, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, KC_INT5, KC_SPC, KC_INT4, KC_INT2, KC_RALT, MO(1), KC_RCTL), + + [1] = LAYOUT_60_jis( + _______, 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_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, + _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RIGHT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______, + _______, _______, _______, _______, _______, _______, _______, MO(2), _______, _______), + + [2] = LAYOUT_60_jis( + QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) + // clang-format on +}; diff --git a/keyboards/cipulot/ec_60x/keymaps/default/keymap.c b/keyboards/cipulot/ec_60x/keymaps/default/keymap.c new file mode 100644 index 00000000000..33e9ed7c511 --- /dev/null +++ b/keyboards/cipulot/ec_60x/keymaps/default/keymap.c @@ -0,0 +1,42 @@ +/* Copyright 2024 Cipulot + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // clang-format off + [0] = LAYOUT_all( + QK_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_BSPC, KC_BSPC, + 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_ENTER, + 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_ENTER, + 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_RSFT, KC_RSFT, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RALT, MO(1), KC_RCTL), + + [1] = LAYOUT_all( + _______, 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_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, + _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RIGHT, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, MO(2), _______), + + [2] = LAYOUT_all( + QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) + // clang-format on +}; diff --git a/keyboards/cipulot/ec_60x/keymaps/via/keymap.c b/keyboards/cipulot/ec_60x/keymaps/via/keymap.c new file mode 100644 index 00000000000..33e9ed7c511 --- /dev/null +++ b/keyboards/cipulot/ec_60x/keymaps/via/keymap.c @@ -0,0 +1,42 @@ +/* Copyright 2024 Cipulot + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // clang-format off + [0] = LAYOUT_all( + QK_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_BSPC, KC_BSPC, + 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_ENTER, + 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_ENTER, + 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_RSFT, KC_RSFT, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RALT, MO(1), KC_RCTL), + + [1] = LAYOUT_all( + _______, 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_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, + _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RIGHT, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, MO(2), _______), + + [2] = LAYOUT_all( + QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) + // clang-format on +}; diff --git a/keyboards/cipulot/ec_60x/keymaps/via/rules.mk b/keyboards/cipulot/ec_60x/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/cipulot/ec_60x/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/cipulot/ec_60x/mcuconf.h b/keyboards/cipulot/ec_60x/mcuconf.h new file mode 100644 index 00000000000..88185d8e9da --- /dev/null +++ b/keyboards/cipulot/ec_60x/mcuconf.h @@ -0,0 +1,25 @@ +/* Copyright 2024 Cipulot + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include_next + +#undef STM32_ADC_USE_ADC1 +#define STM32_ADC_USE_ADC1 TRUE + +#undef STM32_PWM_USE_TIM1 +#define STM32_PWM_USE_TIM1 TRUE diff --git a/keyboards/cipulot/ec_60x/post_rules.mk b/keyboards/cipulot/ec_60x/post_rules.mk new file mode 100644 index 00000000000..d726a112a8c --- /dev/null +++ b/keyboards/cipulot/ec_60x/post_rules.mk @@ -0,0 +1,3 @@ +ifeq ($(strip $(VIA_ENABLE)), yes) + SRC += keyboards/cipulot/common/via_ec.c +endif diff --git a/keyboards/cipulot/ec_60x/readme.md b/keyboards/cipulot/ec_60x/readme.md new file mode 100644 index 00000000000..31166575719 --- /dev/null +++ b/keyboards/cipulot/ec_60x/readme.md @@ -0,0 +1,26 @@ +# EC 60X + +![EC 60X PCB](https://i.imgur.com/aYQgeSn.png) + +Universal 60% Electrostatic Capacitive PCB, with multi-layout support. + +* Keyboard Maintainer: [cipulot](https://github.com/cipulot) +* Hardware Supported: EC 60X +* Hardware Availability: TBD + +Make example for this keyboard (after setting up your build environment): + + make cipulot/ec_60x:default + +Flashing example for this keyboard: + + make cipulot/ec_60x:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 2 ways: + +* **Physical reset**: Long short the exposed pins on the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/cipulot/ec_60x/rules.mk b/keyboards/cipulot/ec_60x/rules.mk new file mode 100644 index 00000000000..318e0215ce9 --- /dev/null +++ b/keyboards/cipulot/ec_60x/rules.mk @@ -0,0 +1,5 @@ +CUSTOM_MATRIX = lite +ANALOG_DRIVER_REQUIRED = yes +VPATH += keyboards/cipulot/common +SRC += matrix.c ec_board.c ec_switch_matrix.c +OPT = 2 From 4ced8d9371441000d5f03a5b61c7ddceb490cbbc Mon Sep 17 00:00:00 2001 From: Ryan Neff Date: Thu, 4 Jul 2024 12:49:55 -0700 Subject: [PATCH 14/54] Fixes duplicate pid/vid for sofle_choc (#24030) --- keyboards/sofle_choc/keyboard.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/sofle_choc/keyboard.json b/keyboards/sofle_choc/keyboard.json index f0ce6d78e04..c4d9822371b 100644 --- a/keyboards/sofle_choc/keyboard.json +++ b/keyboards/sofle_choc/keyboard.json @@ -130,8 +130,8 @@ "url": "https://github.com/josefadamcik/SofleKeyboard", "usb": { "device_version": "0.0.1", - "pid": "0x0287", - "vid": "0xFC32" + "pid": "0x5343", + "vid": "0x424C" }, "ws2812": { "pin": "D3" From 43fc7b5a4f6d1d9079b09beb2a7eb24864f5222b Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 5 Jul 2024 09:44:23 +1000 Subject: [PATCH 15/54] `kikoslab/kl90`: add additional layouts (#24024) --- keyboards/kikoslab/kl90/keyboard.json | 1048 ++++++++++++++++++++++++- 1 file changed, 1037 insertions(+), 11 deletions(-) diff --git a/keyboards/kikoslab/kl90/keyboard.json b/keyboards/kikoslab/kl90/keyboard.json index 391008b58f5..0a107dfba8e 100644 --- a/keyboards/kikoslab/kl90/keyboard.json +++ b/keyboards/kikoslab/kl90/keyboard.json @@ -117,17 +117,17 @@ {"matrix": [4, 0], "x": 0, "y": 4.5}, {"matrix": [4, 1], "x": 1.5, "y": 4.5, "w": 1.25}, - {"matrix": [4, 2], "x": 2.75, "y": 4.5}, - {"matrix": [4, 3], "x": 3.75, "y": 4.5}, - {"matrix": [4, 4], "x": 4.75, "y": 4.5}, - {"matrix": [4, 5], "x": 5.75, "y": 4.5}, - {"matrix": [4, 6], "x": 6.75, "y": 4.5}, - {"matrix": [4, 7], "x": 7.75, "y": 4.5}, - {"matrix": [4, 8], "x": 8.75, "y": 4.5}, - {"matrix": [4, 9], "x": 9.75, "y": 4.5}, - {"matrix": [4, 10], "x": 10.75, "y": 4.5}, - {"matrix": [4, 11], "x": 11.75, "y": 4.5}, - {"matrix": [4, 12], "x": 12.75, "y": 4.5}, + {"matrix": [4, 12], "x": 2.75, "y": 4.5}, + {"matrix": [4, 2], "x": 3.75, "y": 4.5}, + {"matrix": [4, 3], "x": 4.75, "y": 4.5}, + {"matrix": [4, 4], "x": 5.75, "y": 4.5}, + {"matrix": [4, 5], "x": 6.75, "y": 4.5}, + {"matrix": [4, 6], "x": 7.75, "y": 4.5}, + {"matrix": [4, 7], "x": 8.75, "y": 4.5}, + {"matrix": [4, 8], "x": 9.75, "y": 4.5}, + {"matrix": [4, 9], "x": 10.75, "y": 4.5}, + {"matrix": [4, 10], "x": 11.75, "y": 4.5}, + {"matrix": [4, 11], "x": 12.75, "y": 4.5}, {"matrix": [4, 13], "x": 13.75, "y": 4.5, "w": 1.75}, {"matrix": [4, 14], "x": 15.75, "y": 4.75}, @@ -147,6 +147,1032 @@ {"matrix": [5, 11], "x": 12.5, "y": 5.5}, {"matrix": [5, 12], "x": 13.5, "y": 5.5}, + {"matrix": [5, 13], "x": 14.75, "y": 5.75}, + {"matrix": [5, 14], "x": 15.75, "y": 5.75}, + {"matrix": [5, 15], "x": 16.75, "y": 5.75} + ] + }, + "LAYOUT_solder_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.5, "y": 0}, + + {"matrix": [0, 2], "x": 2.75, "y": 0}, + {"matrix": [0, 3], "x": 3.75, "y": 0}, + {"matrix": [0, 4], "x": 4.75, "y": 0}, + {"matrix": [0, 5], "x": 5.75, "y": 0}, + + {"matrix": [0, 6], "x": 7, "y": 0}, + {"matrix": [0, 7], "x": 8, "y": 0}, + {"matrix": [0, 8], "x": 9, "y": 0}, + {"matrix": [0, 9], "x": 10, "y": 0}, + + {"matrix": [0, 10], "x": 11.25, "y": 0}, + {"matrix": [0, 11], "x": 12.25, "y": 0}, + {"matrix": [0, 12], "x": 13.25, "y": 0}, + {"matrix": [0, 13], "x": 14.25, "y": 0}, + + {"matrix": [0, 14], "x": 15.5, "y": 0}, + + {"matrix": [0, 15], "x": 17, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + + {"matrix": [1, 1], "x": 1.5, "y": 1.5}, + {"matrix": [1, 2], "x": 2.5, "y": 1.5}, + {"matrix": [1, 3], "x": 3.5, "y": 1.5}, + {"matrix": [1, 4], "x": 4.5, "y": 1.5}, + {"matrix": [1, 5], "x": 5.5, "y": 1.5}, + {"matrix": [1, 6], "x": 6.5, "y": 1.5}, + {"matrix": [1, 7], "x": 7.5, "y": 1.5}, + {"matrix": [1, 8], "x": 8.5, "y": 1.5}, + {"matrix": [1, 9], "x": 9.5, "y": 1.5}, + {"matrix": [1, 10], "x": 10.5, "y": 1.5}, + {"matrix": [1, 11], "x": 11.5, "y": 1.5}, + {"matrix": [1, 12], "x": 12.5, "y": 1.5}, + {"matrix": [1, 13], "x": 13.5, "y": 1.5}, + {"matrix": [1, 14], "x": 14.5, "y": 1.5, "w": 2}, + + {"matrix": [1, 15], "x": 17, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5}, + + {"matrix": [2, 1], "x": 1.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 2], "x": 3, "y": 2.5}, + {"matrix": [2, 3], "x": 4, "y": 2.5}, + {"matrix": [2, 4], "x": 5, "y": 2.5}, + {"matrix": [2, 5], "x": 6, "y": 2.5}, + {"matrix": [2, 6], "x": 7, "y": 2.5}, + {"matrix": [2, 7], "x": 8, "y": 2.5}, + {"matrix": [2, 8], "x": 9, "y": 2.5}, + {"matrix": [2, 9], "x": 10, "y": 2.5}, + {"matrix": [2, 10], "x": 11, "y": 2.5}, + {"matrix": [2, 11], "x": 12, "y": 2.5}, + {"matrix": [2, 12], "x": 13, "y": 2.5}, + {"matrix": [2, 13], "x": 14, "y": 2.5}, + {"matrix": [2, 14], "x": 15, "y": 2.5, "w": 1.5}, + + {"matrix": [2, 15], "x": 17, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5}, + + {"matrix": [3, 1], "x": 1.5, "y": 3.5, "w": 1.75}, + {"matrix": [3, 2], "x": 3.25, "y": 3.5}, + {"matrix": [3, 3], "x": 4.25, "y": 3.5}, + {"matrix": [3, 4], "x": 5.25, "y": 3.5}, + {"matrix": [3, 5], "x": 6.25, "y": 3.5}, + {"matrix": [3, 6], "x": 7.25, "y": 3.5}, + {"matrix": [3, 7], "x": 8.25, "y": 3.5}, + {"matrix": [3, 8], "x": 9.25, "y": 3.5}, + {"matrix": [3, 9], "x": 10.25, "y": 3.5}, + {"matrix": [3, 10], "x": 11.25, "y": 3.5}, + {"matrix": [3, 11], "x": 12.25, "y": 3.5}, + {"matrix": [3, 12], "x": 13.25, "y": 3.5}, + {"matrix": [3, 14], "x": 14.25, "y": 3.5, "w": 2.25}, + + {"matrix": [3, 15], "x": 17, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5}, + + {"matrix": [4, 1], "x": 1.5, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 3.75, "y": 4.5}, + {"matrix": [4, 3], "x": 4.75, "y": 4.5}, + {"matrix": [4, 4], "x": 5.75, "y": 4.5}, + {"matrix": [4, 5], "x": 6.75, "y": 4.5}, + {"matrix": [4, 6], "x": 7.75, "y": 4.5}, + {"matrix": [4, 7], "x": 8.75, "y": 4.5}, + {"matrix": [4, 8], "x": 9.75, "y": 4.5}, + {"matrix": [4, 9], "x": 10.75, "y": 4.5}, + {"matrix": [4, 10], "x": 11.75, "y": 4.5}, + {"matrix": [4, 11], "x": 12.75, "y": 4.5}, + {"matrix": [4, 13], "x": 13.75, "y": 4.5, "w": 1.75}, + + {"matrix": [4, 14], "x": 15.75, "y": 4.75}, + + {"matrix": [4, 15], "x": 17, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5}, + + {"matrix": [5, 1], "x": 1.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.75, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 4, "y": 5.5, "w": 1.25}, + {"matrix": [5, 6], "x": 5.25, "y": 5.5, "w": 6.25}, + {"matrix": [5, 10], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 13, "y": 5.5, "w": 1.5}, + + {"matrix": [5, 13], "x": 14.75, "y": 5.75}, + {"matrix": [5, 14], "x": 15.75, "y": 5.75}, + {"matrix": [5, 15], "x": 16.75, "y": 5.75} + ] + }, + "LAYOUT_solder_ansi_split_space": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.5, "y": 0}, + + {"matrix": [0, 2], "x": 2.75, "y": 0}, + {"matrix": [0, 3], "x": 3.75, "y": 0}, + {"matrix": [0, 4], "x": 4.75, "y": 0}, + {"matrix": [0, 5], "x": 5.75, "y": 0}, + + {"matrix": [0, 6], "x": 7, "y": 0}, + {"matrix": [0, 7], "x": 8, "y": 0}, + {"matrix": [0, 8], "x": 9, "y": 0}, + {"matrix": [0, 9], "x": 10, "y": 0}, + + {"matrix": [0, 10], "x": 11.25, "y": 0}, + {"matrix": [0, 11], "x": 12.25, "y": 0}, + {"matrix": [0, 12], "x": 13.25, "y": 0}, + {"matrix": [0, 13], "x": 14.25, "y": 0}, + + {"matrix": [0, 14], "x": 15.5, "y": 0}, + + {"matrix": [0, 15], "x": 17, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + + {"matrix": [1, 1], "x": 1.5, "y": 1.5}, + {"matrix": [1, 2], "x": 2.5, "y": 1.5}, + {"matrix": [1, 3], "x": 3.5, "y": 1.5}, + {"matrix": [1, 4], "x": 4.5, "y": 1.5}, + {"matrix": [1, 5], "x": 5.5, "y": 1.5}, + {"matrix": [1, 6], "x": 6.5, "y": 1.5}, + {"matrix": [1, 7], "x": 7.5, "y": 1.5}, + {"matrix": [1, 8], "x": 8.5, "y": 1.5}, + {"matrix": [1, 9], "x": 9.5, "y": 1.5}, + {"matrix": [1, 10], "x": 10.5, "y": 1.5}, + {"matrix": [1, 11], "x": 11.5, "y": 1.5}, + {"matrix": [1, 12], "x": 12.5, "y": 1.5}, + {"matrix": [1, 13], "x": 13.5, "y": 1.5}, + {"matrix": [1, 14], "x": 14.5, "y": 1.5, "w": 2}, + + {"matrix": [1, 15], "x": 17, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5}, + + {"matrix": [2, 1], "x": 1.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 2], "x": 3, "y": 2.5}, + {"matrix": [2, 3], "x": 4, "y": 2.5}, + {"matrix": [2, 4], "x": 5, "y": 2.5}, + {"matrix": [2, 5], "x": 6, "y": 2.5}, + {"matrix": [2, 6], "x": 7, "y": 2.5}, + {"matrix": [2, 7], "x": 8, "y": 2.5}, + {"matrix": [2, 8], "x": 9, "y": 2.5}, + {"matrix": [2, 9], "x": 10, "y": 2.5}, + {"matrix": [2, 10], "x": 11, "y": 2.5}, + {"matrix": [2, 11], "x": 12, "y": 2.5}, + {"matrix": [2, 12], "x": 13, "y": 2.5}, + {"matrix": [2, 13], "x": 14, "y": 2.5}, + {"matrix": [2, 14], "x": 15, "y": 2.5, "w": 1.5}, + + {"matrix": [2, 15], "x": 17, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5}, + + {"matrix": [3, 1], "x": 1.5, "y": 3.5, "w": 1.75}, + {"matrix": [3, 2], "x": 3.25, "y": 3.5}, + {"matrix": [3, 3], "x": 4.25, "y": 3.5}, + {"matrix": [3, 4], "x": 5.25, "y": 3.5}, + {"matrix": [3, 5], "x": 6.25, "y": 3.5}, + {"matrix": [3, 6], "x": 7.25, "y": 3.5}, + {"matrix": [3, 7], "x": 8.25, "y": 3.5}, + {"matrix": [3, 8], "x": 9.25, "y": 3.5}, + {"matrix": [3, 9], "x": 10.25, "y": 3.5}, + {"matrix": [3, 10], "x": 11.25, "y": 3.5}, + {"matrix": [3, 11], "x": 12.25, "y": 3.5}, + {"matrix": [3, 12], "x": 13.25, "y": 3.5}, + {"matrix": [3, 14], "x": 14.25, "y": 3.5, "w": 2.25}, + + {"matrix": [3, 15], "x": 17, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5}, + + {"matrix": [4, 1], "x": 1.5, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 3.75, "y": 4.5}, + {"matrix": [4, 3], "x": 4.75, "y": 4.5}, + {"matrix": [4, 4], "x": 5.75, "y": 4.5}, + {"matrix": [4, 5], "x": 6.75, "y": 4.5}, + {"matrix": [4, 6], "x": 7.75, "y": 4.5}, + {"matrix": [4, 7], "x": 8.75, "y": 4.5}, + {"matrix": [4, 8], "x": 9.75, "y": 4.5}, + {"matrix": [4, 9], "x": 10.75, "y": 4.5}, + {"matrix": [4, 10], "x": 11.75, "y": 4.5}, + {"matrix": [4, 11], "x": 12.75, "y": 4.5}, + {"matrix": [4, 13], "x": 13.75, "y": 4.5, "w": 1.75}, + + {"matrix": [4, 14], "x": 15.75, "y": 4.75}, + + {"matrix": [4, 15], "x": 17, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5}, + + {"matrix": [5, 1], "x": 1.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.75, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 4, "y": 5.5, "w": 1.25}, + {"matrix": [5, 4], "x": 5.25, "y": 5.5, "w": 2.25}, + {"matrix": [5, 6], "x": 7.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 8], "x": 8.75, "y": 5.5, "w": 2.75}, + {"matrix": [5, 10], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 13, "y": 5.5, "w": 1.5}, + + {"matrix": [5, 13], "x": 14.75, "y": 5.75}, + {"matrix": [5, 14], "x": 15.75, "y": 5.75}, + {"matrix": [5, 15], "x": 16.75, "y": 5.75} + ] + }, + "LAYOUT_solder_ansi_oled": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.5, "y": 0}, + + {"matrix": [0, 2], "x": 2.75, "y": 0}, + {"matrix": [0, 3], "x": 3.75, "y": 0}, + {"matrix": [0, 4], "x": 4.75, "y": 0}, + {"matrix": [0, 5], "x": 5.75, "y": 0}, + + {"matrix": [0, 6], "x": 7, "y": 0}, + {"matrix": [0, 7], "x": 8, "y": 0}, + {"matrix": [0, 8], "x": 9, "y": 0}, + {"matrix": [0, 9], "x": 10, "y": 0}, + + {"matrix": [0, 10], "x": 11.25, "y": 0}, + {"matrix": [0, 11], "x": 12.25, "y": 0}, + {"matrix": [0, 12], "x": 13.25, "y": 0}, + {"matrix": [0, 13], "x": 14.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + + {"matrix": [1, 1], "x": 1.5, "y": 1.5}, + {"matrix": [1, 2], "x": 2.5, "y": 1.5}, + {"matrix": [1, 3], "x": 3.5, "y": 1.5}, + {"matrix": [1, 4], "x": 4.5, "y": 1.5}, + {"matrix": [1, 5], "x": 5.5, "y": 1.5}, + {"matrix": [1, 6], "x": 6.5, "y": 1.5}, + {"matrix": [1, 7], "x": 7.5, "y": 1.5}, + {"matrix": [1, 8], "x": 8.5, "y": 1.5}, + {"matrix": [1, 9], "x": 9.5, "y": 1.5}, + {"matrix": [1, 10], "x": 10.5, "y": 1.5}, + {"matrix": [1, 11], "x": 11.5, "y": 1.5}, + {"matrix": [1, 12], "x": 12.5, "y": 1.5}, + {"matrix": [1, 13], "x": 13.5, "y": 1.5}, + {"matrix": [1, 14], "x": 14.5, "y": 1.5, "w": 2}, + + {"matrix": [1, 15], "x": 17, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5}, + + {"matrix": [2, 1], "x": 1.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 2], "x": 3, "y": 2.5}, + {"matrix": [2, 3], "x": 4, "y": 2.5}, + {"matrix": [2, 4], "x": 5, "y": 2.5}, + {"matrix": [2, 5], "x": 6, "y": 2.5}, + {"matrix": [2, 6], "x": 7, "y": 2.5}, + {"matrix": [2, 7], "x": 8, "y": 2.5}, + {"matrix": [2, 8], "x": 9, "y": 2.5}, + {"matrix": [2, 9], "x": 10, "y": 2.5}, + {"matrix": [2, 10], "x": 11, "y": 2.5}, + {"matrix": [2, 11], "x": 12, "y": 2.5}, + {"matrix": [2, 12], "x": 13, "y": 2.5}, + {"matrix": [2, 13], "x": 14, "y": 2.5}, + {"matrix": [2, 14], "x": 15, "y": 2.5, "w": 1.5}, + + {"matrix": [2, 15], "x": 17, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5}, + + {"matrix": [3, 1], "x": 1.5, "y": 3.5, "w": 1.75}, + {"matrix": [3, 2], "x": 3.25, "y": 3.5}, + {"matrix": [3, 3], "x": 4.25, "y": 3.5}, + {"matrix": [3, 4], "x": 5.25, "y": 3.5}, + {"matrix": [3, 5], "x": 6.25, "y": 3.5}, + {"matrix": [3, 6], "x": 7.25, "y": 3.5}, + {"matrix": [3, 7], "x": 8.25, "y": 3.5}, + {"matrix": [3, 8], "x": 9.25, "y": 3.5}, + {"matrix": [3, 9], "x": 10.25, "y": 3.5}, + {"matrix": [3, 10], "x": 11.25, "y": 3.5}, + {"matrix": [3, 11], "x": 12.25, "y": 3.5}, + {"matrix": [3, 12], "x": 13.25, "y": 3.5}, + {"matrix": [3, 14], "x": 14.25, "y": 3.5, "w": 2.25}, + + {"matrix": [3, 15], "x": 17, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5}, + + {"matrix": [4, 1], "x": 1.5, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 3.75, "y": 4.5}, + {"matrix": [4, 3], "x": 4.75, "y": 4.5}, + {"matrix": [4, 4], "x": 5.75, "y": 4.5}, + {"matrix": [4, 5], "x": 6.75, "y": 4.5}, + {"matrix": [4, 6], "x": 7.75, "y": 4.5}, + {"matrix": [4, 7], "x": 8.75, "y": 4.5}, + {"matrix": [4, 8], "x": 9.75, "y": 4.5}, + {"matrix": [4, 9], "x": 10.75, "y": 4.5}, + {"matrix": [4, 10], "x": 11.75, "y": 4.5}, + {"matrix": [4, 11], "x": 12.75, "y": 4.5}, + {"matrix": [4, 13], "x": 13.75, "y": 4.5, "w": 1.75}, + + {"matrix": [4, 14], "x": 15.75, "y": 4.75}, + + {"matrix": [4, 15], "x": 17, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5}, + + {"matrix": [5, 1], "x": 1.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.75, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 4, "y": 5.5, "w": 1.25}, + {"matrix": [5, 6], "x": 5.25, "y": 5.5, "w": 6.25}, + {"matrix": [5, 10], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 13, "y": 5.5, "w": 1.5}, + + {"matrix": [5, 13], "x": 14.75, "y": 5.75}, + {"matrix": [5, 14], "x": 15.75, "y": 5.75}, + {"matrix": [5, 15], "x": 16.75, "y": 5.75} + ] + }, + "LAYOUT_solder_iso": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.5, "y": 0}, + + {"matrix": [0, 2], "x": 2.75, "y": 0}, + {"matrix": [0, 3], "x": 3.75, "y": 0}, + {"matrix": [0, 4], "x": 4.75, "y": 0}, + {"matrix": [0, 5], "x": 5.75, "y": 0}, + + {"matrix": [0, 6], "x": 7, "y": 0}, + {"matrix": [0, 7], "x": 8, "y": 0}, + {"matrix": [0, 8], "x": 9, "y": 0}, + {"matrix": [0, 9], "x": 10, "y": 0}, + + {"matrix": [0, 10], "x": 11.25, "y": 0}, + {"matrix": [0, 11], "x": 12.25, "y": 0}, + {"matrix": [0, 12], "x": 13.25, "y": 0}, + {"matrix": [0, 13], "x": 14.25, "y": 0}, + + {"matrix": [0, 14], "x": 15.5, "y": 0}, + + {"matrix": [0, 15], "x": 17, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + + {"matrix": [1, 1], "x": 1.5, "y": 1.5}, + {"matrix": [1, 2], "x": 2.5, "y": 1.5}, + {"matrix": [1, 3], "x": 3.5, "y": 1.5}, + {"matrix": [1, 4], "x": 4.5, "y": 1.5}, + {"matrix": [1, 5], "x": 5.5, "y": 1.5}, + {"matrix": [1, 6], "x": 6.5, "y": 1.5}, + {"matrix": [1, 7], "x": 7.5, "y": 1.5}, + {"matrix": [1, 8], "x": 8.5, "y": 1.5}, + {"matrix": [1, 9], "x": 9.5, "y": 1.5}, + {"matrix": [1, 10], "x": 10.5, "y": 1.5}, + {"matrix": [1, 11], "x": 11.5, "y": 1.5}, + {"matrix": [1, 12], "x": 12.5, "y": 1.5}, + {"matrix": [1, 13], "x": 13.5, "y": 1.5}, + {"matrix": [1, 14], "x": 14.5, "y": 1.5, "w": 2}, + + {"matrix": [1, 15], "x": 17, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5}, + + {"matrix": [2, 1], "x": 1.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 2], "x": 3, "y": 2.5}, + {"matrix": [2, 3], "x": 4, "y": 2.5}, + {"matrix": [2, 4], "x": 5, "y": 2.5}, + {"matrix": [2, 5], "x": 6, "y": 2.5}, + {"matrix": [2, 6], "x": 7, "y": 2.5}, + {"matrix": [2, 7], "x": 8, "y": 2.5}, + {"matrix": [2, 8], "x": 9, "y": 2.5}, + {"matrix": [2, 9], "x": 10, "y": 2.5}, + {"matrix": [2, 10], "x": 11, "y": 2.5}, + {"matrix": [2, 11], "x": 12, "y": 2.5}, + {"matrix": [2, 12], "x": 13, "y": 2.5}, + {"matrix": [2, 13], "x": 14, "y": 2.5}, + {"matrix": [2, 14], "x": 15, "y": 2.5, "w": 1.5}, + + {"matrix": [2, 15], "x": 17, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5}, + + {"matrix": [3, 1], "x": 1.5, "y": 3.5, "w": 1.75}, + {"matrix": [3, 2], "x": 3.25, "y": 3.5}, + {"matrix": [3, 3], "x": 4.25, "y": 3.5}, + {"matrix": [3, 4], "x": 5.25, "y": 3.5}, + {"matrix": [3, 5], "x": 6.25, "y": 3.5}, + {"matrix": [3, 6], "x": 7.25, "y": 3.5}, + {"matrix": [3, 7], "x": 8.25, "y": 3.5}, + {"matrix": [3, 8], "x": 9.25, "y": 3.5}, + {"matrix": [3, 9], "x": 10.25, "y": 3.5}, + {"matrix": [3, 10], "x": 11.25, "y": 3.5}, + {"matrix": [3, 11], "x": 12.25, "y": 3.5}, + {"matrix": [3, 12], "x": 13.25, "y": 3.5}, + {"matrix": [3, 13], "x": 14.25, "y": 3.5}, + {"matrix": [3, 14], "x": 15.25, "y": 2.5, "w": 1.25, "h": 2}, + + {"matrix": [3, 15], "x": 17, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5}, + + {"matrix": [4, 1], "x": 1.5, "y": 4.5, "w": 1.25}, + {"matrix": [4, 12], "x": 2.75, "y": 4.5}, + {"matrix": [4, 2], "x": 3.75, "y": 4.5}, + {"matrix": [4, 3], "x": 4.75, "y": 4.5}, + {"matrix": [4, 4], "x": 5.75, "y": 4.5}, + {"matrix": [4, 5], "x": 6.75, "y": 4.5}, + {"matrix": [4, 6], "x": 7.75, "y": 4.5}, + {"matrix": [4, 7], "x": 8.75, "y": 4.5}, + {"matrix": [4, 8], "x": 9.75, "y": 4.5}, + {"matrix": [4, 9], "x": 10.75, "y": 4.5}, + {"matrix": [4, 10], "x": 11.75, "y": 4.5}, + {"matrix": [4, 11], "x": 12.75, "y": 4.5}, + {"matrix": [4, 13], "x": 13.75, "y": 4.5, "w": 1.75}, + + {"matrix": [4, 14], "x": 15.75, "y": 4.75}, + + {"matrix": [4, 15], "x": 17, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5}, + + {"matrix": [5, 1], "x": 1.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.75, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 4, "y": 5.5, "w": 1.25}, + {"matrix": [5, 6], "x": 5.25, "y": 5.5, "w": 6.25}, + {"matrix": [5, 10], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 13, "y": 5.5, "w": 1.5}, + + {"matrix": [5, 13], "x": 14.75, "y": 5.75}, + {"matrix": [5, 14], "x": 15.75, "y": 5.75}, + {"matrix": [5, 15], "x": 16.75, "y": 5.75} + ] + }, + "LAYOUT_solder_iso_split_space": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.5, "y": 0}, + + {"matrix": [0, 2], "x": 2.75, "y": 0}, + {"matrix": [0, 3], "x": 3.75, "y": 0}, + {"matrix": [0, 4], "x": 4.75, "y": 0}, + {"matrix": [0, 5], "x": 5.75, "y": 0}, + + {"matrix": [0, 6], "x": 7, "y": 0}, + {"matrix": [0, 7], "x": 8, "y": 0}, + {"matrix": [0, 8], "x": 9, "y": 0}, + {"matrix": [0, 9], "x": 10, "y": 0}, + + {"matrix": [0, 10], "x": 11.25, "y": 0}, + {"matrix": [0, 11], "x": 12.25, "y": 0}, + {"matrix": [0, 12], "x": 13.25, "y": 0}, + {"matrix": [0, 13], "x": 14.25, "y": 0}, + + {"matrix": [0, 14], "x": 15.5, "y": 0}, + + {"matrix": [0, 15], "x": 17, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + + {"matrix": [1, 1], "x": 1.5, "y": 1.5}, + {"matrix": [1, 2], "x": 2.5, "y": 1.5}, + {"matrix": [1, 3], "x": 3.5, "y": 1.5}, + {"matrix": [1, 4], "x": 4.5, "y": 1.5}, + {"matrix": [1, 5], "x": 5.5, "y": 1.5}, + {"matrix": [1, 6], "x": 6.5, "y": 1.5}, + {"matrix": [1, 7], "x": 7.5, "y": 1.5}, + {"matrix": [1, 8], "x": 8.5, "y": 1.5}, + {"matrix": [1, 9], "x": 9.5, "y": 1.5}, + {"matrix": [1, 10], "x": 10.5, "y": 1.5}, + {"matrix": [1, 11], "x": 11.5, "y": 1.5}, + {"matrix": [1, 12], "x": 12.5, "y": 1.5}, + {"matrix": [1, 13], "x": 13.5, "y": 1.5}, + {"matrix": [1, 14], "x": 14.5, "y": 1.5, "w": 2}, + + {"matrix": [1, 15], "x": 17, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5}, + + {"matrix": [2, 1], "x": 1.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 2], "x": 3, "y": 2.5}, + {"matrix": [2, 3], "x": 4, "y": 2.5}, + {"matrix": [2, 4], "x": 5, "y": 2.5}, + {"matrix": [2, 5], "x": 6, "y": 2.5}, + {"matrix": [2, 6], "x": 7, "y": 2.5}, + {"matrix": [2, 7], "x": 8, "y": 2.5}, + {"matrix": [2, 8], "x": 9, "y": 2.5}, + {"matrix": [2, 9], "x": 10, "y": 2.5}, + {"matrix": [2, 10], "x": 11, "y": 2.5}, + {"matrix": [2, 11], "x": 12, "y": 2.5}, + {"matrix": [2, 12], "x": 13, "y": 2.5}, + {"matrix": [2, 13], "x": 14, "y": 2.5}, + {"matrix": [2, 14], "x": 15, "y": 2.5, "w": 1.5}, + + {"matrix": [2, 15], "x": 17, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5}, + + {"matrix": [3, 1], "x": 1.5, "y": 3.5, "w": 1.75}, + {"matrix": [3, 2], "x": 3.25, "y": 3.5}, + {"matrix": [3, 3], "x": 4.25, "y": 3.5}, + {"matrix": [3, 4], "x": 5.25, "y": 3.5}, + {"matrix": [3, 5], "x": 6.25, "y": 3.5}, + {"matrix": [3, 6], "x": 7.25, "y": 3.5}, + {"matrix": [3, 7], "x": 8.25, "y": 3.5}, + {"matrix": [3, 8], "x": 9.25, "y": 3.5}, + {"matrix": [3, 9], "x": 10.25, "y": 3.5}, + {"matrix": [3, 10], "x": 11.25, "y": 3.5}, + {"matrix": [3, 11], "x": 12.25, "y": 3.5}, + {"matrix": [3, 12], "x": 13.25, "y": 3.5}, + {"matrix": [3, 13], "x": 14.25, "y": 3.5}, + {"matrix": [3, 14], "x": 15.25, "y": 2.5, "w": 1.25, "h": 2}, + + {"matrix": [3, 15], "x": 17, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5}, + + {"matrix": [4, 1], "x": 1.5, "y": 4.5, "w": 1.25}, + {"matrix": [4, 12], "x": 2.75, "y": 4.5}, + {"matrix": [4, 2], "x": 3.75, "y": 4.5}, + {"matrix": [4, 3], "x": 4.75, "y": 4.5}, + {"matrix": [4, 4], "x": 5.75, "y": 4.5}, + {"matrix": [4, 5], "x": 6.75, "y": 4.5}, + {"matrix": [4, 6], "x": 7.75, "y": 4.5}, + {"matrix": [4, 7], "x": 8.75, "y": 4.5}, + {"matrix": [4, 8], "x": 9.75, "y": 4.5}, + {"matrix": [4, 9], "x": 10.75, "y": 4.5}, + {"matrix": [4, 10], "x": 11.75, "y": 4.5}, + {"matrix": [4, 11], "x": 12.75, "y": 4.5}, + {"matrix": [4, 13], "x": 13.75, "y": 4.5, "w": 1.75}, + + {"matrix": [4, 14], "x": 15.75, "y": 4.75}, + + {"matrix": [4, 15], "x": 17, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5}, + + {"matrix": [5, 1], "x": 1.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.75, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 4, "y": 5.5, "w": 1.25}, + {"matrix": [5, 4], "x": 5.25, "y": 5.5, "w": 2.25}, + {"matrix": [5, 6], "x": 7.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 8], "x": 8.75, "y": 5.5, "w": 2.75}, + {"matrix": [5, 10], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 13, "y": 5.5, "w": 1.5}, + + {"matrix": [5, 13], "x": 14.75, "y": 5.75}, + {"matrix": [5, 14], "x": 15.75, "y": 5.75}, + {"matrix": [5, 15], "x": 16.75, "y": 5.75} + ] + }, + "LAYOUT_solder_iso_oled": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.5, "y": 0}, + + {"matrix": [0, 2], "x": 2.75, "y": 0}, + {"matrix": [0, 3], "x": 3.75, "y": 0}, + {"matrix": [0, 4], "x": 4.75, "y": 0}, + {"matrix": [0, 5], "x": 5.75, "y": 0}, + + {"matrix": [0, 6], "x": 7, "y": 0}, + {"matrix": [0, 7], "x": 8, "y": 0}, + {"matrix": [0, 8], "x": 9, "y": 0}, + {"matrix": [0, 9], "x": 10, "y": 0}, + + {"matrix": [0, 10], "x": 11.25, "y": 0}, + {"matrix": [0, 11], "x": 12.25, "y": 0}, + {"matrix": [0, 12], "x": 13.25, "y": 0}, + {"matrix": [0, 13], "x": 14.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + + {"matrix": [1, 1], "x": 1.5, "y": 1.5}, + {"matrix": [1, 2], "x": 2.5, "y": 1.5}, + {"matrix": [1, 3], "x": 3.5, "y": 1.5}, + {"matrix": [1, 4], "x": 4.5, "y": 1.5}, + {"matrix": [1, 5], "x": 5.5, "y": 1.5}, + {"matrix": [1, 6], "x": 6.5, "y": 1.5}, + {"matrix": [1, 7], "x": 7.5, "y": 1.5}, + {"matrix": [1, 8], "x": 8.5, "y": 1.5}, + {"matrix": [1, 9], "x": 9.5, "y": 1.5}, + {"matrix": [1, 10], "x": 10.5, "y": 1.5}, + {"matrix": [1, 11], "x": 11.5, "y": 1.5}, + {"matrix": [1, 12], "x": 12.5, "y": 1.5}, + {"matrix": [1, 13], "x": 13.5, "y": 1.5}, + {"matrix": [1, 14], "x": 14.5, "y": 1.5, "w": 2}, + + {"matrix": [1, 15], "x": 17, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5}, + + {"matrix": [2, 1], "x": 1.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 2], "x": 3, "y": 2.5}, + {"matrix": [2, 3], "x": 4, "y": 2.5}, + {"matrix": [2, 4], "x": 5, "y": 2.5}, + {"matrix": [2, 5], "x": 6, "y": 2.5}, + {"matrix": [2, 6], "x": 7, "y": 2.5}, + {"matrix": [2, 7], "x": 8, "y": 2.5}, + {"matrix": [2, 8], "x": 9, "y": 2.5}, + {"matrix": [2, 9], "x": 10, "y": 2.5}, + {"matrix": [2, 10], "x": 11, "y": 2.5}, + {"matrix": [2, 11], "x": 12, "y": 2.5}, + {"matrix": [2, 12], "x": 13, "y": 2.5}, + {"matrix": [2, 13], "x": 14, "y": 2.5}, + {"matrix": [2, 14], "x": 15, "y": 2.5, "w": 1.5}, + + {"matrix": [2, 15], "x": 17, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5}, + + {"matrix": [3, 1], "x": 1.5, "y": 3.5, "w": 1.75}, + {"matrix": [3, 2], "x": 3.25, "y": 3.5}, + {"matrix": [3, 3], "x": 4.25, "y": 3.5}, + {"matrix": [3, 4], "x": 5.25, "y": 3.5}, + {"matrix": [3, 5], "x": 6.25, "y": 3.5}, + {"matrix": [3, 6], "x": 7.25, "y": 3.5}, + {"matrix": [3, 7], "x": 8.25, "y": 3.5}, + {"matrix": [3, 8], "x": 9.25, "y": 3.5}, + {"matrix": [3, 9], "x": 10.25, "y": 3.5}, + {"matrix": [3, 10], "x": 11.25, "y": 3.5}, + {"matrix": [3, 11], "x": 12.25, "y": 3.5}, + {"matrix": [3, 12], "x": 13.25, "y": 3.5}, + {"matrix": [3, 13], "x": 14.25, "y": 3.5}, + {"matrix": [3, 14], "x": 15.25, "y": 2.5, "w": 1.25, "h": 2}, + + {"matrix": [3, 15], "x": 17, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5}, + + {"matrix": [4, 1], "x": 1.5, "y": 4.5, "w": 1.25}, + {"matrix": [4, 12], "x": 2.75, "y": 4.5}, + {"matrix": [4, 2], "x": 3.75, "y": 4.5}, + {"matrix": [4, 3], "x": 4.75, "y": 4.5}, + {"matrix": [4, 4], "x": 5.75, "y": 4.5}, + {"matrix": [4, 5], "x": 6.75, "y": 4.5}, + {"matrix": [4, 6], "x": 7.75, "y": 4.5}, + {"matrix": [4, 7], "x": 8.75, "y": 4.5}, + {"matrix": [4, 8], "x": 9.75, "y": 4.5}, + {"matrix": [4, 9], "x": 10.75, "y": 4.5}, + {"matrix": [4, 10], "x": 11.75, "y": 4.5}, + {"matrix": [4, 11], "x": 12.75, "y": 4.5}, + {"matrix": [4, 13], "x": 13.75, "y": 4.5, "w": 1.75}, + + {"matrix": [4, 14], "x": 15.75, "y": 4.75}, + + {"matrix": [4, 15], "x": 17, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5}, + + {"matrix": [5, 1], "x": 1.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.75, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 4, "y": 5.5, "w": 1.25}, + {"matrix": [5, 6], "x": 5.25, "y": 5.5, "w": 6.25}, + {"matrix": [5, 10], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 13, "y": 5.5, "w": 1.5}, + + {"matrix": [5, 13], "x": 14.75, "y": 5.75}, + {"matrix": [5, 14], "x": 15.75, "y": 5.75}, + {"matrix": [5, 15], "x": 16.75, "y": 5.75} + ] + }, + "LAYOUT_hotswap_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.5, "y": 0}, + + {"matrix": [0, 2], "x": 2.75, "y": 0}, + {"matrix": [0, 3], "x": 3.75, "y": 0}, + {"matrix": [0, 4], "x": 4.75, "y": 0}, + {"matrix": [0, 5], "x": 5.75, "y": 0}, + + {"matrix": [0, 6], "x": 7, "y": 0}, + {"matrix": [0, 7], "x": 8, "y": 0}, + {"matrix": [0, 8], "x": 9, "y": 0}, + {"matrix": [0, 9], "x": 10, "y": 0}, + + {"matrix": [0, 10], "x": 11.25, "y": 0}, + {"matrix": [0, 11], "x": 12.25, "y": 0}, + {"matrix": [0, 12], "x": 13.25, "y": 0}, + {"matrix": [0, 13], "x": 14.25, "y": 0}, + + {"matrix": [0, 14], "x": 15.5, "y": 0}, + + {"matrix": [0, 15], "x": 17, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + + {"matrix": [1, 1], "x": 1.5, "y": 1.5}, + {"matrix": [1, 2], "x": 2.5, "y": 1.5}, + {"matrix": [1, 3], "x": 3.5, "y": 1.5}, + {"matrix": [1, 4], "x": 4.5, "y": 1.5}, + {"matrix": [1, 5], "x": 5.5, "y": 1.5}, + {"matrix": [1, 6], "x": 6.5, "y": 1.5}, + {"matrix": [1, 7], "x": 7.5, "y": 1.5}, + {"matrix": [1, 8], "x": 8.5, "y": 1.5}, + {"matrix": [1, 9], "x": 9.5, "y": 1.5}, + {"matrix": [1, 10], "x": 10.5, "y": 1.5}, + {"matrix": [1, 11], "x": 11.5, "y": 1.5}, + {"matrix": [1, 12], "x": 12.5, "y": 1.5}, + {"matrix": [1, 13], "x": 13.5, "y": 1.5}, + {"matrix": [1, 14], "x": 14.5, "y": 1.5, "w": 2}, + + {"matrix": [1, 15], "x": 17, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5}, + + {"matrix": [2, 1], "x": 1.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 2], "x": 3, "y": 2.5}, + {"matrix": [2, 3], "x": 4, "y": 2.5}, + {"matrix": [2, 4], "x": 5, "y": 2.5}, + {"matrix": [2, 5], "x": 6, "y": 2.5}, + {"matrix": [2, 6], "x": 7, "y": 2.5}, + {"matrix": [2, 7], "x": 8, "y": 2.5}, + {"matrix": [2, 8], "x": 9, "y": 2.5}, + {"matrix": [2, 9], "x": 10, "y": 2.5}, + {"matrix": [2, 10], "x": 11, "y": 2.5}, + {"matrix": [2, 11], "x": 12, "y": 2.5}, + {"matrix": [2, 12], "x": 13, "y": 2.5}, + {"matrix": [2, 13], "x": 14, "y": 2.5}, + {"matrix": [2, 14], "x": 15, "y": 2.5, "w": 1.5}, + + {"matrix": [2, 15], "x": 17, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5}, + + {"matrix": [3, 1], "x": 1.5, "y": 3.5, "w": 1.75}, + {"matrix": [3, 2], "x": 3.25, "y": 3.5}, + {"matrix": [3, 3], "x": 4.25, "y": 3.5}, + {"matrix": [3, 4], "x": 5.25, "y": 3.5}, + {"matrix": [3, 5], "x": 6.25, "y": 3.5}, + {"matrix": [3, 6], "x": 7.25, "y": 3.5}, + {"matrix": [3, 7], "x": 8.25, "y": 3.5}, + {"matrix": [3, 8], "x": 9.25, "y": 3.5}, + {"matrix": [3, 9], "x": 10.25, "y": 3.5}, + {"matrix": [3, 10], "x": 11.25, "y": 3.5}, + {"matrix": [3, 11], "x": 12.25, "y": 3.5}, + {"matrix": [3, 12], "x": 13.25, "y": 3.5}, + {"matrix": [3, 14], "x": 14.25, "y": 3.5, "w": 2.25}, + + {"matrix": [3, 15], "x": 17, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5}, + + {"matrix": [4, 1], "x": 1.5, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 3.75, "y": 4.5}, + {"matrix": [4, 3], "x": 4.75, "y": 4.5}, + {"matrix": [4, 4], "x": 5.75, "y": 4.5}, + {"matrix": [4, 5], "x": 6.75, "y": 4.5}, + {"matrix": [4, 6], "x": 7.75, "y": 4.5}, + {"matrix": [4, 7], "x": 8.75, "y": 4.5}, + {"matrix": [4, 8], "x": 9.75, "y": 4.5}, + {"matrix": [4, 9], "x": 10.75, "y": 4.5}, + {"matrix": [4, 10], "x": 11.75, "y": 4.5}, + {"matrix": [4, 11], "x": 12.75, "y": 4.5}, + {"matrix": [4, 13], "x": 13.75, "y": 4.5, "w": 1.75}, + + {"matrix": [4, 14], "x": 15.75, "y": 4.75}, + + {"matrix": [4, 15], "x": 17, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5}, + + {"matrix": [5, 1], "x": 1.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.75, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 4, "y": 5.5, "w": 1.25}, + {"matrix": [5, 5], "x": 5.25, "y": 5.5, "w": 6.25}, + {"matrix": [5, 10], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 13, "y": 5.5, "w": 1.5}, + + {"matrix": [5, 13], "x": 14.75, "y": 5.75}, + {"matrix": [5, 14], "x": 15.75, "y": 5.75}, + {"matrix": [5, 15], "x": 16.75, "y": 5.75} + ] + }, + "LAYOUT_hotswap_ansi_split_space": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.5, "y": 0}, + + {"matrix": [0, 2], "x": 2.75, "y": 0}, + {"matrix": [0, 3], "x": 3.75, "y": 0}, + {"matrix": [0, 4], "x": 4.75, "y": 0}, + {"matrix": [0, 5], "x": 5.75, "y": 0}, + + {"matrix": [0, 6], "x": 7, "y": 0}, + {"matrix": [0, 7], "x": 8, "y": 0}, + {"matrix": [0, 8], "x": 9, "y": 0}, + {"matrix": [0, 9], "x": 10, "y": 0}, + + {"matrix": [0, 10], "x": 11.25, "y": 0}, + {"matrix": [0, 11], "x": 12.25, "y": 0}, + {"matrix": [0, 12], "x": 13.25, "y": 0}, + {"matrix": [0, 13], "x": 14.25, "y": 0}, + + {"matrix": [0, 14], "x": 15.5, "y": 0}, + + {"matrix": [0, 15], "x": 17, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + + {"matrix": [1, 1], "x": 1.5, "y": 1.5}, + {"matrix": [1, 2], "x": 2.5, "y": 1.5}, + {"matrix": [1, 3], "x": 3.5, "y": 1.5}, + {"matrix": [1, 4], "x": 4.5, "y": 1.5}, + {"matrix": [1, 5], "x": 5.5, "y": 1.5}, + {"matrix": [1, 6], "x": 6.5, "y": 1.5}, + {"matrix": [1, 7], "x": 7.5, "y": 1.5}, + {"matrix": [1, 8], "x": 8.5, "y": 1.5}, + {"matrix": [1, 9], "x": 9.5, "y": 1.5}, + {"matrix": [1, 10], "x": 10.5, "y": 1.5}, + {"matrix": [1, 11], "x": 11.5, "y": 1.5}, + {"matrix": [1, 12], "x": 12.5, "y": 1.5}, + {"matrix": [1, 13], "x": 13.5, "y": 1.5}, + {"matrix": [1, 14], "x": 14.5, "y": 1.5, "w": 2}, + + {"matrix": [1, 15], "x": 17, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5}, + + {"matrix": [2, 1], "x": 1.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 2], "x": 3, "y": 2.5}, + {"matrix": [2, 3], "x": 4, "y": 2.5}, + {"matrix": [2, 4], "x": 5, "y": 2.5}, + {"matrix": [2, 5], "x": 6, "y": 2.5}, + {"matrix": [2, 6], "x": 7, "y": 2.5}, + {"matrix": [2, 7], "x": 8, "y": 2.5}, + {"matrix": [2, 8], "x": 9, "y": 2.5}, + {"matrix": [2, 9], "x": 10, "y": 2.5}, + {"matrix": [2, 10], "x": 11, "y": 2.5}, + {"matrix": [2, 11], "x": 12, "y": 2.5}, + {"matrix": [2, 12], "x": 13, "y": 2.5}, + {"matrix": [2, 13], "x": 14, "y": 2.5}, + {"matrix": [2, 14], "x": 15, "y": 2.5, "w": 1.5}, + + {"matrix": [2, 15], "x": 17, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5}, + + {"matrix": [3, 1], "x": 1.5, "y": 3.5, "w": 1.75}, + {"matrix": [3, 2], "x": 3.25, "y": 3.5}, + {"matrix": [3, 3], "x": 4.25, "y": 3.5}, + {"matrix": [3, 4], "x": 5.25, "y": 3.5}, + {"matrix": [3, 5], "x": 6.25, "y": 3.5}, + {"matrix": [3, 6], "x": 7.25, "y": 3.5}, + {"matrix": [3, 7], "x": 8.25, "y": 3.5}, + {"matrix": [3, 8], "x": 9.25, "y": 3.5}, + {"matrix": [3, 9], "x": 10.25, "y": 3.5}, + {"matrix": [3, 10], "x": 11.25, "y": 3.5}, + {"matrix": [3, 11], "x": 12.25, "y": 3.5}, + {"matrix": [3, 12], "x": 13.25, "y": 3.5}, + {"matrix": [3, 14], "x": 14.25, "y": 3.5, "w": 2.25}, + + {"matrix": [3, 15], "x": 17, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5}, + + {"matrix": [4, 1], "x": 1.5, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 3.75, "y": 4.5}, + {"matrix": [4, 3], "x": 4.75, "y": 4.5}, + {"matrix": [4, 4], "x": 5.75, "y": 4.5}, + {"matrix": [4, 5], "x": 6.75, "y": 4.5}, + {"matrix": [4, 6], "x": 7.75, "y": 4.5}, + {"matrix": [4, 7], "x": 8.75, "y": 4.5}, + {"matrix": [4, 8], "x": 9.75, "y": 4.5}, + {"matrix": [4, 9], "x": 10.75, "y": 4.5}, + {"matrix": [4, 10], "x": 11.75, "y": 4.5}, + {"matrix": [4, 11], "x": 12.75, "y": 4.5}, + {"matrix": [4, 13], "x": 13.75, "y": 4.5, "w": 1.75}, + + {"matrix": [4, 14], "x": 15.75, "y": 4.75}, + + {"matrix": [4, 15], "x": 17, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5}, + + {"matrix": [5, 1], "x": 1.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.75, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 4, "y": 5.5, "w": 1.25}, + {"matrix": [5, 4], "x": 5.25, "y": 5.5, "w": 2.25}, + {"matrix": [5, 5], "x": 7.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 8], "x": 8.75, "y": 5.5, "w": 2.75}, + {"matrix": [5, 10], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 13, "y": 5.5, "w": 1.5}, + + {"matrix": [5, 13], "x": 14.75, "y": 5.75}, + {"matrix": [5, 14], "x": 15.75, "y": 5.75}, + {"matrix": [5, 15], "x": 16.75, "y": 5.75} + ] + }, + "LAYOUT_hotswap_ansi_oled": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.5, "y": 0}, + + {"matrix": [0, 2], "x": 2.75, "y": 0}, + {"matrix": [0, 3], "x": 3.75, "y": 0}, + {"matrix": [0, 4], "x": 4.75, "y": 0}, + {"matrix": [0, 5], "x": 5.75, "y": 0}, + + {"matrix": [0, 6], "x": 7, "y": 0}, + {"matrix": [0, 7], "x": 8, "y": 0}, + {"matrix": [0, 8], "x": 9, "y": 0}, + {"matrix": [0, 9], "x": 10, "y": 0}, + + {"matrix": [0, 10], "x": 11.25, "y": 0}, + {"matrix": [0, 11], "x": 12.25, "y": 0}, + {"matrix": [0, 12], "x": 13.25, "y": 0}, + {"matrix": [0, 13], "x": 14.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + + {"matrix": [1, 1], "x": 1.5, "y": 1.5}, + {"matrix": [1, 2], "x": 2.5, "y": 1.5}, + {"matrix": [1, 3], "x": 3.5, "y": 1.5}, + {"matrix": [1, 4], "x": 4.5, "y": 1.5}, + {"matrix": [1, 5], "x": 5.5, "y": 1.5}, + {"matrix": [1, 6], "x": 6.5, "y": 1.5}, + {"matrix": [1, 7], "x": 7.5, "y": 1.5}, + {"matrix": [1, 8], "x": 8.5, "y": 1.5}, + {"matrix": [1, 9], "x": 9.5, "y": 1.5}, + {"matrix": [1, 10], "x": 10.5, "y": 1.5}, + {"matrix": [1, 11], "x": 11.5, "y": 1.5}, + {"matrix": [1, 12], "x": 12.5, "y": 1.5}, + {"matrix": [1, 13], "x": 13.5, "y": 1.5}, + {"matrix": [1, 14], "x": 14.5, "y": 1.5, "w": 2}, + + {"matrix": [1, 15], "x": 17, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5}, + + {"matrix": [2, 1], "x": 1.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 2], "x": 3, "y": 2.5}, + {"matrix": [2, 3], "x": 4, "y": 2.5}, + {"matrix": [2, 4], "x": 5, "y": 2.5}, + {"matrix": [2, 5], "x": 6, "y": 2.5}, + {"matrix": [2, 6], "x": 7, "y": 2.5}, + {"matrix": [2, 7], "x": 8, "y": 2.5}, + {"matrix": [2, 8], "x": 9, "y": 2.5}, + {"matrix": [2, 9], "x": 10, "y": 2.5}, + {"matrix": [2, 10], "x": 11, "y": 2.5}, + {"matrix": [2, 11], "x": 12, "y": 2.5}, + {"matrix": [2, 12], "x": 13, "y": 2.5}, + {"matrix": [2, 13], "x": 14, "y": 2.5}, + {"matrix": [2, 14], "x": 15, "y": 2.5, "w": 1.5}, + + {"matrix": [2, 15], "x": 17, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5}, + + {"matrix": [3, 1], "x": 1.5, "y": 3.5, "w": 1.75}, + {"matrix": [3, 2], "x": 3.25, "y": 3.5}, + {"matrix": [3, 3], "x": 4.25, "y": 3.5}, + {"matrix": [3, 4], "x": 5.25, "y": 3.5}, + {"matrix": [3, 5], "x": 6.25, "y": 3.5}, + {"matrix": [3, 6], "x": 7.25, "y": 3.5}, + {"matrix": [3, 7], "x": 8.25, "y": 3.5}, + {"matrix": [3, 8], "x": 9.25, "y": 3.5}, + {"matrix": [3, 9], "x": 10.25, "y": 3.5}, + {"matrix": [3, 10], "x": 11.25, "y": 3.5}, + {"matrix": [3, 11], "x": 12.25, "y": 3.5}, + {"matrix": [3, 12], "x": 13.25, "y": 3.5}, + {"matrix": [3, 14], "x": 14.25, "y": 3.5, "w": 2.25}, + + {"matrix": [3, 15], "x": 17, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5}, + + {"matrix": [4, 1], "x": 1.5, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 3.75, "y": 4.5}, + {"matrix": [4, 3], "x": 4.75, "y": 4.5}, + {"matrix": [4, 4], "x": 5.75, "y": 4.5}, + {"matrix": [4, 5], "x": 6.75, "y": 4.5}, + {"matrix": [4, 6], "x": 7.75, "y": 4.5}, + {"matrix": [4, 7], "x": 8.75, "y": 4.5}, + {"matrix": [4, 8], "x": 9.75, "y": 4.5}, + {"matrix": [4, 9], "x": 10.75, "y": 4.5}, + {"matrix": [4, 10], "x": 11.75, "y": 4.5}, + {"matrix": [4, 11], "x": 12.75, "y": 4.5}, + {"matrix": [4, 13], "x": 13.75, "y": 4.5, "w": 1.75}, + + {"matrix": [4, 14], "x": 15.75, "y": 4.75}, + + {"matrix": [4, 15], "x": 17, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5}, + + {"matrix": [5, 1], "x": 1.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.75, "y": 5.5, "w": 1.25}, + {"matrix": [5, 3], "x": 4, "y": 5.5, "w": 1.25}, + {"matrix": [5, 5], "x": 5.25, "y": 5.5, "w": 6.25}, + {"matrix": [5, 10], "x": 11.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 13, "y": 5.5, "w": 1.5}, + {"matrix": [5, 13], "x": 14.75, "y": 5.75}, {"matrix": [5, 14], "x": 15.75, "y": 5.75}, {"matrix": [5, 15], "x": 16.75, "y": 5.75} From 031ccd48879d29539ce478cf7d3d33b406ea993c Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 5 Jul 2024 09:49:05 +1000 Subject: [PATCH 16/54] `salicylic_acid3/setta21`: fix RGB Matrix LED config (#24041) --- .../setta21/rev1/keyboard.json | 30 ++++++++++++++++++- keyboards/salicylic_acid3/setta21/rev1/rev1.c | 21 ------------- 2 files changed, 29 insertions(+), 22 deletions(-) delete mode 100644 keyboards/salicylic_acid3/setta21/rev1/rev1.c diff --git a/keyboards/salicylic_acid3/setta21/rev1/keyboard.json b/keyboards/salicylic_acid3/setta21/rev1/keyboard.json index 452d0211c37..75517a7d407 100644 --- a/keyboards/salicylic_acid3/setta21/rev1/keyboard.json +++ b/keyboards/salicylic_acid3/setta21/rev1/keyboard.json @@ -41,7 +41,35 @@ "pin": "D3" }, "rgb_matrix": { - "driver": "ws2812" + "driver": "ws2812", + "layout": [ + {"matrix": [0, 4], "x": 0, "y": 13, "flags": 4}, + {"matrix": [1, 4], "x": 75, "y": 13, "flags": 4}, + {"matrix": [2, 4], "x": 149, "y": 13, "flags": 4}, + {"matrix": [3, 4], "x": 224, "y": 13, "flags": 4}, + + {"matrix": [2, 3], "x": 149, "y": 26, "flags": 4}, + {"matrix": [1, 3], "x": 75, "y": 26, "flags": 4}, + {"matrix": [0, 3], "x": 0, "y": 26, "flags": 4}, + + {"matrix": [0, 2], "x": 0, "y": 38, "flags": 4}, + {"matrix": [1, 2], "x": 75, "y": 38, "flags": 4}, + {"matrix": [2, 2], "x": 149, "y": 38, "flags": 4}, + {"matrix": [3, 2], "x": 224, "y": 32, "flags": 4}, + + {"matrix": [2, 1], "x": 149, "y": 51, "flags": 4}, + {"matrix": [1, 1], "x": 75, "y": 51, "flags": 4}, + {"matrix": [0, 1], "x": 0, "y": 51, "flags": 4}, + + {"matrix": [0, 0], "x": 38, "y": 64, "flags": 4}, + {"matrix": [2, 0], "x": 149, "y": 64, "flags": 4}, + {"matrix": [3, 0], "x": 224, "y": 58, "flags": 4}, + + {"matrix": [3, 5], "x": 224, "y": 0, "flags": 4}, + {"matrix": [2, 5], "x": 149, "y": 0, "flags": 4}, + {"matrix": [1, 5], "x": 75, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 0, "y": 0, "flags": 4} + ] }, "matrix_pins": { "cols": ["F4", "F5", "F6", "F7", "B1", "B3"], diff --git a/keyboards/salicylic_acid3/setta21/rev1/rev1.c b/keyboards/salicylic_acid3/setta21/rev1/rev1.c deleted file mode 100644 index c31fe5c8f38..00000000000 --- a/keyboards/salicylic_acid3/setta21/rev1/rev1.c +++ /dev/null @@ -1,21 +0,0 @@ -#include "quantum.h" - -#ifdef RGB_MATRIX_ENABLE - led_config_t g_led_config = { { - // Key Matrix to LED Index - { 14,13, 7, 6, 0,20 }, - { 12, 8, 5, 1,19 }, - { 15,11, 9, 4, 2,18 }, - { 16, 10, 3,17 } - }, { - // LED Index to Physical Position - { 0, 179 }, { 21, 179 }, { 43, 179 }, { 64, 179 }, { 43, 134 }, { 21, 134 }, { 0, 134 }, { 0, 90 }, { 21, 90 }, { 43, 90 }, - { 64, 112 }, { 43, 45 }, { 21, 45 }, { 0, 45 }, { 11, 0 }, { 43, 0 }, { 64, 23 }, { 64, 224 }, { 43, 224 }, { 21, 224 }, - { 0, 224 } - }, { - // LED Index to Flag - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4 -} }; -#endif From 8fe667a1a449a1f767d2f1e79bf6c8f7391ebb34 Mon Sep 17 00:00:00 2001 From: Coby Sher <63015754+CobyPear@users.noreply.github.com> Date: Thu, 4 Jul 2024 20:35:29 -0500 Subject: [PATCH 17/54] Add Sleepy Craft Studios Sleepy Keeb Split (#23844) --- .../sleepy_keeb_split/config.h | 6 ++ .../sleepy_keeb_split/keyboard.json | 101 ++++++++++++++++++ .../keymaps/default/keymap.c | 31 ++++++ .../sleepy_keeb_split/keymaps/via/keymap.c | 31 ++++++ .../sleepy_keeb_split/keymaps/via/rules.mk | 1 + .../sleepy_keeb_split/readme.md | 31 ++++++ 6 files changed, 201 insertions(+) create mode 100644 keyboards/sleepy_craft_studios/sleepy_keeb_split/config.h create mode 100644 keyboards/sleepy_craft_studios/sleepy_keeb_split/keyboard.json create mode 100644 keyboards/sleepy_craft_studios/sleepy_keeb_split/keymaps/default/keymap.c create mode 100644 keyboards/sleepy_craft_studios/sleepy_keeb_split/keymaps/via/keymap.c create mode 100644 keyboards/sleepy_craft_studios/sleepy_keeb_split/keymaps/via/rules.mk create mode 100644 keyboards/sleepy_craft_studios/sleepy_keeb_split/readme.md diff --git a/keyboards/sleepy_craft_studios/sleepy_keeb_split/config.h b/keyboards/sleepy_craft_studios/sleepy_keeb_split/config.h new file mode 100644 index 00000000000..5e3eb67255b --- /dev/null +++ b/keyboards/sleepy_craft_studios/sleepy_keeb_split/config.h @@ -0,0 +1,6 @@ +// Copyright 2024 Sleepy Craft Studios (@Sleepy Craft Studios) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define EE_HANDS diff --git a/keyboards/sleepy_craft_studios/sleepy_keeb_split/keyboard.json b/keyboards/sleepy_craft_studios/sleepy_keeb_split/keyboard.json new file mode 100644 index 00000000000..c645bfbaff5 --- /dev/null +++ b/keyboards/sleepy_craft_studios/sleepy_keeb_split/keyboard.json @@ -0,0 +1,101 @@ +{ + "manufacturer": "Sleepy Craft Studios", + "keyboard_name": "sleepy_keeb_split", + "maintainer": "Sleepy Craft Studios", + "development_board": "promicro", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "matrix_pins": { + "cols": ["B5", "B6", "B2", "B3", "B1", "F7"], + "rows": ["C6", "D7", "E6", "B4"] + }, + "rgblight": { + "animations": { + "alternating": true, + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "static_gradient": true, + "twinkle": true + }, + "led_count": 18, + "split_count": [9, 9] + }, + "split": { + "enabled": true, + "soft_serial_pin": "D2", + "usb_detect": { + "enabled": true + } + }, + "url": "https://sleepycraftstudios.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x0002", + "vid": "0x7373" + }, + "ws2812": { + "pin": "F4" + }, + "community_layouts": ["ortho_4x12"], + "layouts": { + "LAYOUT_ortho_4x12": { + "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": [4, 0], "x": 6, "y": 0}, + {"matrix": [4, 1], "x": 7, "y": 0}, + {"matrix": [4, 2], "x": 8, "y": 0}, + {"matrix": [4, 3], "x": 9, "y": 0}, + {"matrix": [4, 4], "x": 10, "y": 0}, + {"matrix": [4, 5], "x": 11, "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": [5, 0], "x": 6, "y": 1}, + {"matrix": [5, 1], "x": 7, "y": 1}, + {"matrix": [5, 2], "x": 8, "y": 1}, + {"matrix": [5, 3], "x": 9, "y": 1}, + {"matrix": [5, 4], "x": 10, "y": 1}, + {"matrix": [5, 5], "x": 11, "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": [6, 0], "x": 6, "y": 2}, + {"matrix": [6, 1], "x": 7, "y": 2}, + {"matrix": [6, 2], "x": 8, "y": 2}, + {"matrix": [6, 3], "x": 9, "y": 2}, + {"matrix": [6, 4], "x": 10, "y": 2}, + {"matrix": [6, 5], "x": 11, "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": [7, 0], "x": 6, "y": 3}, + {"matrix": [7, 1], "x": 7, "y": 3}, + {"matrix": [7, 2], "x": 8, "y": 3}, + {"matrix": [7, 3], "x": 9, "y": 3}, + {"matrix": [7, 4], "x": 10, "y": 3}, + {"matrix": [7, 5], "x": 11, "y": 3} + ] + } + } +} diff --git a/keyboards/sleepy_craft_studios/sleepy_keeb_split/keymaps/default/keymap.c b/keyboards/sleepy_craft_studios/sleepy_keeb_split/keymaps/default/keymap.c new file mode 100644 index 00000000000..65bd5c46097 --- /dev/null +++ b/keyboards/sleepy_craft_studios/sleepy_keeb_split/keymaps/default/keymap.c @@ -0,0 +1,31 @@ +// Copyright 2024 Sleepy Craft Studios +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum keeb_layers { + _BASE, + _RAISE, + _FN, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_ortho_4x12( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_GRV, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_UP, KC_DOWN, KC_LEFT, KC_RGHT + ), + [_RAISE] = LAYOUT_ortho_4x12( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, RGB_MOD, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), + [_FN] = LAYOUT_ortho_4x12( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, RGB_TOG, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), +}; diff --git a/keyboards/sleepy_craft_studios/sleepy_keeb_split/keymaps/via/keymap.c b/keyboards/sleepy_craft_studios/sleepy_keeb_split/keymaps/via/keymap.c new file mode 100644 index 00000000000..65bd5c46097 --- /dev/null +++ b/keyboards/sleepy_craft_studios/sleepy_keeb_split/keymaps/via/keymap.c @@ -0,0 +1,31 @@ +// Copyright 2024 Sleepy Craft Studios +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum keeb_layers { + _BASE, + _RAISE, + _FN, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_ortho_4x12( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + KC_GRV, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_UP, KC_DOWN, KC_LEFT, KC_RGHT + ), + [_RAISE] = LAYOUT_ortho_4x12( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, RGB_MOD, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), + [_FN] = LAYOUT_ortho_4x12( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, RGB_TOG, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY + ), +}; diff --git a/keyboards/sleepy_craft_studios/sleepy_keeb_split/keymaps/via/rules.mk b/keyboards/sleepy_craft_studios/sleepy_keeb_split/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/sleepy_craft_studios/sleepy_keeb_split/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/sleepy_craft_studios/sleepy_keeb_split/readme.md b/keyboards/sleepy_craft_studios/sleepy_keeb_split/readme.md new file mode 100644 index 00000000000..15e311bd1f5 --- /dev/null +++ b/keyboards/sleepy_craft_studios/sleepy_keeb_split/readme.md @@ -0,0 +1,31 @@ +# sleepy_keeb_split + +![sleepy_keeb_split](https://i.imgur.com/f5VEA8C.jpeg) + + +The Sleepy Keeb Split is an ortholinear 4x6 split keyboard inspired by the Planck. This is a hand-wired keyboard using the pro-micro or similar microcontrollers. The keyboard is designed to be used with a 3d printed case, which is also available on the Sleepy Craft Studios website. The unique element to this design is the integrated hotswap holders present in the 3d printed plate. The plate also includes diode holders for easy soldering. + +This keyboard is available as a kit as on the sleepycraftstudios.com, and is designed to be a beginner friendly hand-wired keyboard. The keyboard is also compatible with VIA, and the keymap is designed to be easily modified. + +The STL files are made available under the CC BY-NC-SA 4.0 license. + +* Keyboard Maintainer: [Sleepy Craft Studios](https://github.com/sleepy-craft-studios) +* Hardware Supported: Pro-micro (tested), Elite-C, any other ATMega32U4 based microcontroller should work. +* Hardware Availability: Kits can be purchased at [Sleepy Craft Studios](https://sleepycraftstudios.com/shop/sleepy-keeb-split-(diy)) + +Make example for this keyboard (after setting up your build environment): + + make sleepy_craft_studios/sleepy_keeb_split:default + +Flashing example for this keyboard: + + make sleepy_craft_studios/sleepy_keeb_split:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 2 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Short GND and RST**: Short these two pins twice quickly with a pair of pliers or paperclip to enter the bootloader. From 62c1787d72088123744fb0d938990b796cd8ab01 Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 5 Jul 2024 15:10:02 +1000 Subject: [PATCH 18/54] `dc01/arrow`: fix layout name (#24025) --- keyboards/dc01/arrow/keyboard.json | 5 +++- keyboards/dc01/arrow/keymaps/default/keymap.c | 2 +- keyboards/dc01/arrow/keymaps/via/keymap.c | 25 ++----------------- 3 files changed, 7 insertions(+), 25 deletions(-) diff --git a/keyboards/dc01/arrow/keyboard.json b/keyboards/dc01/arrow/keyboard.json index 72fa1b4e22c..f56646367fc 100644 --- a/keyboards/dc01/arrow/keyboard.json +++ b/keyboards/dc01/arrow/keyboard.json @@ -23,8 +23,11 @@ "resync": true } }, + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/dc01/arrow/keymaps/default/keymap.c b/keyboards/dc01/arrow/keymaps/default/keymap.c index b7f539e85c3..65f778a5a61 100644 --- a/keyboards/dc01/arrow/keymaps/default/keymap.c +++ b/keyboards/dc01/arrow/keymaps/default/keymap.c @@ -16,7 +16,7 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT_all( /* Base */ +[0] = LAYOUT( /* Base */ KC_INS, KC_HOME, KC_PGUP, KC_DEL, KC_END, KC_PGDN, diff --git a/keyboards/dc01/arrow/keymaps/via/keymap.c b/keyboards/dc01/arrow/keymaps/via/keymap.c index a086ffc0744..79ef05e2c52 100644 --- a/keyboards/dc01/arrow/keymaps/via/keymap.c +++ b/keyboards/dc01/arrow/keymaps/via/keymap.c @@ -16,31 +16,10 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT_all( /* Base */ +[0] = LAYOUT( /* Base */ KC_INS, KC_HOME, KC_PGUP, KC_DEL, KC_END, KC_PGDN, KC_UP, - KC_LEFT, KC_DOWN, KC_RIGHT), - -[1] = LAYOUT_all( /* Empty for Dynamic keymap */ - KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS), - -[2] = LAYOUT_all( /* Empty for Dynamic keymap */ - KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS), - -[3] = LAYOUT_all( /* Empty for Dynamic keymap */ - KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, - - KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS) + KC_LEFT, KC_DOWN, KC_RIGHT) }; From 15af5d7d0da08f05c5a6998f693c3d383b358451 Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 5 Jul 2024 15:25:00 +1000 Subject: [PATCH 19/54] `handwired/tkk`: fix layout name (#24056) --- keyboards/handwired/tkk/keyboard.json | 5 +++- .../handwired/tkk/keymaps/default/keymap.c | 24 +++++++++---------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/keyboards/handwired/tkk/keyboard.json b/keyboards/handwired/tkk/keyboard.json index 911c95426d5..91e495081f6 100644 --- a/keyboards/handwired/tkk/keyboard.json +++ b/keyboards/handwired/tkk/keyboard.json @@ -23,8 +23,11 @@ "pid": "0x0000", "vid": "0xFEED" }, + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/handwired/tkk/keymaps/default/keymap.c b/keyboards/handwired/tkk/keymaps/default/keymap.c index 14367413da9..220daab6279 100644 --- a/keyboards/handwired/tkk/keymaps/default/keymap.c +++ b/keyboards/handwired/tkk/keymaps/default/keymap.c @@ -11,40 +11,40 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * LP, LR, LM, LI, LT, RT, RI, RM, RR, RP * */ - [0] = LAYOUT_all( + [0] = LAYOUT( LT(8, KC_A), LT(7, KC_O), LT(6, KC_E), LT(5, KC_U), LT(10,KC_BSPC), LT(9, KC_SPC), LT(1, KC_H), LT(2, KC_T), LT(3, KC_N), LT(4, KC_S) ), - [1] = LAYOUT_all( + [1] = LAYOUT( KC_Q, KC_K, KC_J, KC_I, KC_ESC, KC_TAB, KC_NO, KC_RGUI, KC_RGUI, KC_RGUI ), - [2] = LAYOUT_all( + [2] = LAYOUT( KC_Z, KC_Y, KC_X, KC_P, KC_NO, KC_NO, KC_RCTL, KC_NO, KC_RCTL, KC_RCTL ), - [3] = LAYOUT_all( + [3] = LAYOUT( KC_QUOT, KC_COMM, KC_DOT, KC_F, KC_NO, KC_NO, KC_RALT, KC_RALT, KC_NO, KC_RALT ), - [4] = LAYOUT_all( + [4] = LAYOUT( KC_SCLN, KC_LPRN, KC_RPRN, KC_GRV, KC_NO, MO(11), KC_RSFT, KC_RSFT, KC_RSFT, KC_NO ), - [5] = LAYOUT_all( + [5] = LAYOUT( KC_LGUI, KC_LGUI, KC_LGUI, KC_NO, LGUI(KC_GRV), LGUI(KC_TAB), KC_D, KC_G, KC_C, KC_ENT ), - [6] = LAYOUT_all( + [6] = LAYOUT( KC_LCTL, KC_LCTL, KC_NO, KC_LCTL, KC_NO, KC_NO, KC_M, KC_B, KC_V, KC_W ), - [7] = LAYOUT_all( + [7] = LAYOUT( KC_LALT, KC_NO, KC_LALT, KC_LALT, KC_NO, KC_NO, KC_SLSH, KC_L, KC_R, KC_BSLS ), - [8] = LAYOUT_all( + [8] = LAYOUT( KC_NO, KC_LSFT, KC_LSFT, KC_LSFT, MO(11), KC_NO, KC_MINS, KC_LBRC, KC_RBRC, KC_EQL ), - [9] = LAYOUT_all( + [9] = LAYOUT( KC_1, KC_2, KC_3, KC_4, KC_5, KC_NO, KC_LEFT, KC_RGHT, KC_UP, KC_DOWN ), - [10] = LAYOUT_all( + [10] = LAYOUT( KC_PGDN, KC_PGUP, KC_HOME, KC_END, KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0 ), - [11] = LAYOUT_all( + [11] = LAYOUT( KC_WH_D, KC_WH_U, KC_WH_L, KC_WH_R, KC_BTN2, KC_BTN1, KC_MS_L, KC_MS_R, KC_MS_U, KC_MS_D ) }; From 5e2368984ed3c84f3d88c16b7b9783d4d87173fa Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 5 Jul 2024 16:35:15 +1000 Subject: [PATCH 20/54] `ash_xiix`: add additional layouts (#24057) --- keyboards/ash_xiix/keyboard.json | 492 +++++++++++++++++++++++++++ keyboards/ash_xiix/matrix_diagram.md | 26 ++ 2 files changed, 518 insertions(+) create mode 100644 keyboards/ash_xiix/matrix_diagram.md diff --git a/keyboards/ash_xiix/keyboard.json b/keyboards/ash_xiix/keyboard.json index 5cb21b488e9..e743b80a8f8 100644 --- a/keyboards/ash_xiix/keyboard.json +++ b/keyboards/ash_xiix/keyboard.json @@ -156,6 +156,498 @@ {"matrix": [11, 8], "x": 14.25, "y": 6.25}, {"matrix": [11, 9], "x": 15.25, "y": 6.25}, + {"matrix": [11, 5], "x": 16.5, "y": 6}, + {"matrix": [11, 6], "x": 17.5, "y": 6} + ] + }, + "LAYOUT_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [6, 0], "x": 4.25, "y": 0}, + + {"matrix": [6, 1], "x": 5.5, "y": 0}, + {"matrix": [6, 2], "x": 6.5, "y": 0}, + {"matrix": [6, 3], "x": 7.5, "y": 0}, + {"matrix": [0, 4], "x": 8.5, "y": 0}, + + {"matrix": [0, 5], "x": 9.75, "y": 0}, + {"matrix": [0, 6], "x": 10.75, "y": 0}, + {"matrix": [0, 7], "x": 11.75, "y": 0}, + {"matrix": [0, 8], "x": 12.75, "y": 0}, + + {"matrix": [5, 4], "x": 15.5, "y": 0}, + {"matrix": [5, 5], "x": 16.5, "y": 0}, + {"matrix": [5, 6], "x": 17.5, "y": 0}, + {"matrix": [5, 7], "x": 18.5, "y": 0}, + + {"matrix": [6, 4], "x": 15.5, "y": 1}, + {"matrix": [6, 5], "x": 16.5, "y": 1}, + {"matrix": [6, 6], "x": 17.5, "y": 1}, + {"matrix": [6, 7], "x": 18.5, "y": 1}, + + {"matrix": [1, 0], "x": 0, "y": 2}, + {"matrix": [1, 1], "x": 1, "y": 2}, + {"matrix": [1, 2], "x": 2, "y": 2}, + {"matrix": [1, 3], "x": 3, "y": 2}, + {"matrix": [7, 0], "x": 4, "y": 2}, + {"matrix": [7, 1], "x": 5, "y": 2}, + {"matrix": [7, 2], "x": 6, "y": 2}, + {"matrix": [7, 3], "x": 7, "y": 2}, + {"matrix": [1, 4], "x": 8, "y": 2}, + {"matrix": [1, 5], "x": 9, "y": 2}, + {"matrix": [1, 6], "x": 10, "y": 2}, + {"matrix": [1, 7], "x": 11, "y": 2}, + {"matrix": [1, 8], "x": 12, "y": 2}, + {"matrix": [1, 9], "x": 13, "y": 2, "w": 2}, + + {"matrix": [7, 4], "x": 15.5, "y": 2}, + {"matrix": [7, 5], "x": 16.5, "y": 2}, + {"matrix": [7, 6], "x": 17.5, "y": 2}, + {"matrix": [7, 7], "x": 18.5, "y": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 3}, + {"matrix": [2, 2], "x": 2.5, "y": 3}, + {"matrix": [2, 3], "x": 3.5, "y": 3}, + {"matrix": [8, 0], "x": 4.5, "y": 3}, + {"matrix": [8, 1], "x": 5.5, "y": 3}, + {"matrix": [8, 2], "x": 6.5, "y": 3}, + {"matrix": [8, 3], "x": 7.5, "y": 3}, + {"matrix": [2, 4], "x": 8.5, "y": 3}, + {"matrix": [2, 5], "x": 9.5, "y": 3}, + {"matrix": [2, 6], "x": 10.5, "y": 3}, + {"matrix": [2, 7], "x": 11.5, "y": 3}, + {"matrix": [2, 8], "x": 12.5, "y": 3}, + {"matrix": [2, 9], "x": 13.5, "y": 3, "w": 1.5}, + + {"matrix": [8, 4], "x": 15.5, "y": 3}, + {"matrix": [8, 5], "x": 16.5, "y": 3}, + {"matrix": [8, 6], "x": 17.5, "y": 3}, + {"matrix": [8, 7], "x": 18.5, "y": 3}, + + {"matrix": [3, 0], "x": 0, "y": 4, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 4}, + {"matrix": [3, 2], "x": 2.75, "y": 4}, + {"matrix": [3, 3], "x": 3.75, "y": 4}, + {"matrix": [9, 0], "x": 4.75, "y": 4}, + {"matrix": [9, 1], "x": 5.75, "y": 4}, + {"matrix": [9, 2], "x": 6.75, "y": 4}, + {"matrix": [9, 3], "x": 7.75, "y": 4}, + {"matrix": [3, 4], "x": 8.75, "y": 4}, + {"matrix": [3, 5], "x": 9.75, "y": 4}, + {"matrix": [3, 6], "x": 10.75, "y": 4}, + {"matrix": [3, 7], "x": 11.75, "y": 4}, + {"matrix": [3, 8], "x": 12.75, "y": 4, "w": 2.25}, + + {"matrix": [9, 4], "x": 15.5, "y": 4}, + {"matrix": [9, 5], "x": 16.5, "y": 4}, + {"matrix": [9, 6], "x": 17.5, "y": 4}, + {"matrix": [9, 7], "x": 18.5, "y": 4}, + + {"matrix": [4, 0], "x": 0, "y": 5, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 5}, + {"matrix": [4, 3], "x": 3.25, "y": 5}, + {"matrix": [10, 0], "x": 4.25, "y": 5}, + {"matrix": [10, 1], "x": 5.25, "y": 5}, + {"matrix": [10, 2], "x": 6.25, "y": 5}, + {"matrix": [10, 3], "x": 7.25, "y": 5}, + {"matrix": [4, 4], "x": 8.25, "y": 5}, + {"matrix": [4, 5], "x": 9.25, "y": 5}, + {"matrix": [4, 6], "x": 10.25, "y": 5}, + {"matrix": [4, 7], "x": 11.25, "y": 5}, + {"matrix": [4, 8], "x": 12.25, "y": 5, "w": 1.75}, + + {"matrix": [10, 9], "x": 14.25, "y": 5.25}, + + {"matrix": [10, 4], "x": 15.5, "y": 5}, + {"matrix": [10, 5], "x": 16.5, "y": 5}, + {"matrix": [10, 6], "x": 17.5, "y": 5}, + {"matrix": [10, 7], "x": 18.5, "y": 5, "h": 2}, + + {"matrix": [5, 0], "x": 0, "y": 6, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 6, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 6, "w": 1.25}, + {"matrix": [5, 3], "x": 3.75, "y": 6, "w": 6.25}, + {"matrix": [11, 4], "x": 10, "y": 6, "w": 1.5}, + {"matrix": [11, 7], "x": 11.5, "y": 6, "w": 1.5}, + + {"matrix": [10, 8], "x": 13.25, "y": 6.25}, + {"matrix": [11, 8], "x": 14.25, "y": 6.25}, + {"matrix": [11, 9], "x": 15.25, "y": 6.25}, + + {"matrix": [11, 5], "x": 16.5, "y": 6}, + {"matrix": [11, 6], "x": 17.5, "y": 6} + ] + }, + "LAYOUT_ansi_wkl": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [6, 0], "x": 4.25, "y": 0}, + + {"matrix": [6, 1], "x": 5.5, "y": 0}, + {"matrix": [6, 2], "x": 6.5, "y": 0}, + {"matrix": [6, 3], "x": 7.5, "y": 0}, + {"matrix": [0, 4], "x": 8.5, "y": 0}, + + {"matrix": [0, 5], "x": 9.75, "y": 0}, + {"matrix": [0, 6], "x": 10.75, "y": 0}, + {"matrix": [0, 7], "x": 11.75, "y": 0}, + {"matrix": [0, 8], "x": 12.75, "y": 0}, + + {"matrix": [5, 4], "x": 15.5, "y": 0}, + {"matrix": [5, 5], "x": 16.5, "y": 0}, + {"matrix": [5, 6], "x": 17.5, "y": 0}, + {"matrix": [5, 7], "x": 18.5, "y": 0}, + + {"matrix": [6, 4], "x": 15.5, "y": 1}, + {"matrix": [6, 5], "x": 16.5, "y": 1}, + {"matrix": [6, 6], "x": 17.5, "y": 1}, + {"matrix": [6, 7], "x": 18.5, "y": 1}, + + {"matrix": [1, 0], "x": 0, "y": 2}, + {"matrix": [1, 1], "x": 1, "y": 2}, + {"matrix": [1, 2], "x": 2, "y": 2}, + {"matrix": [1, 3], "x": 3, "y": 2}, + {"matrix": [7, 0], "x": 4, "y": 2}, + {"matrix": [7, 1], "x": 5, "y": 2}, + {"matrix": [7, 2], "x": 6, "y": 2}, + {"matrix": [7, 3], "x": 7, "y": 2}, + {"matrix": [1, 4], "x": 8, "y": 2}, + {"matrix": [1, 5], "x": 9, "y": 2}, + {"matrix": [1, 6], "x": 10, "y": 2}, + {"matrix": [1, 7], "x": 11, "y": 2}, + {"matrix": [1, 8], "x": 12, "y": 2}, + {"matrix": [1, 9], "x": 13, "y": 2, "w": 2}, + + {"matrix": [7, 4], "x": 15.5, "y": 2}, + {"matrix": [7, 5], "x": 16.5, "y": 2}, + {"matrix": [7, 6], "x": 17.5, "y": 2}, + {"matrix": [7, 7], "x": 18.5, "y": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 3}, + {"matrix": [2, 2], "x": 2.5, "y": 3}, + {"matrix": [2, 3], "x": 3.5, "y": 3}, + {"matrix": [8, 0], "x": 4.5, "y": 3}, + {"matrix": [8, 1], "x": 5.5, "y": 3}, + {"matrix": [8, 2], "x": 6.5, "y": 3}, + {"matrix": [8, 3], "x": 7.5, "y": 3}, + {"matrix": [2, 4], "x": 8.5, "y": 3}, + {"matrix": [2, 5], "x": 9.5, "y": 3}, + {"matrix": [2, 6], "x": 10.5, "y": 3}, + {"matrix": [2, 7], "x": 11.5, "y": 3}, + {"matrix": [2, 8], "x": 12.5, "y": 3}, + {"matrix": [2, 9], "x": 13.5, "y": 3, "w": 1.5}, + + {"matrix": [8, 4], "x": 15.5, "y": 3}, + {"matrix": [8, 5], "x": 16.5, "y": 3}, + {"matrix": [8, 6], "x": 17.5, "y": 3}, + {"matrix": [8, 7], "x": 18.5, "y": 3}, + + {"matrix": [3, 0], "x": 0, "y": 4, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 4}, + {"matrix": [3, 2], "x": 2.75, "y": 4}, + {"matrix": [3, 3], "x": 3.75, "y": 4}, + {"matrix": [9, 0], "x": 4.75, "y": 4}, + {"matrix": [9, 1], "x": 5.75, "y": 4}, + {"matrix": [9, 2], "x": 6.75, "y": 4}, + {"matrix": [9, 3], "x": 7.75, "y": 4}, + {"matrix": [3, 4], "x": 8.75, "y": 4}, + {"matrix": [3, 5], "x": 9.75, "y": 4}, + {"matrix": [3, 6], "x": 10.75, "y": 4}, + {"matrix": [3, 7], "x": 11.75, "y": 4}, + {"matrix": [3, 8], "x": 12.75, "y": 4, "w": 2.25}, + + {"matrix": [9, 4], "x": 15.5, "y": 4}, + {"matrix": [9, 5], "x": 16.5, "y": 4}, + {"matrix": [9, 6], "x": 17.5, "y": 4}, + {"matrix": [9, 7], "x": 18.5, "y": 4}, + + {"matrix": [4, 0], "x": 0, "y": 5, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 5}, + {"matrix": [4, 3], "x": 3.25, "y": 5}, + {"matrix": [10, 0], "x": 4.25, "y": 5}, + {"matrix": [10, 1], "x": 5.25, "y": 5}, + {"matrix": [10, 2], "x": 6.25, "y": 5}, + {"matrix": [10, 3], "x": 7.25, "y": 5}, + {"matrix": [4, 4], "x": 8.25, "y": 5}, + {"matrix": [4, 5], "x": 9.25, "y": 5}, + {"matrix": [4, 6], "x": 10.25, "y": 5}, + {"matrix": [4, 7], "x": 11.25, "y": 5}, + {"matrix": [4, 8], "x": 12.25, "y": 5, "w": 1.75}, + + {"matrix": [10, 9], "x": 14.25, "y": 5.25}, + + {"matrix": [10, 4], "x": 15.5, "y": 5}, + {"matrix": [10, 5], "x": 16.5, "y": 5}, + {"matrix": [10, 6], "x": 17.5, "y": 5}, + {"matrix": [10, 7], "x": 18.5, "y": 5, "h": 2}, + + {"matrix": [5, 0], "x": 0, "y": 6, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 6, "w": 1.5}, + {"matrix": [5, 3], "x": 3, "y": 6, "w": 7}, + {"matrix": [11, 4], "x": 10, "y": 6, "w": 1.5}, + {"matrix": [11, 7], "x": 11.5, "y": 6, "w": 1.5}, + + {"matrix": [10, 8], "x": 13.25, "y": 6.25}, + {"matrix": [11, 8], "x": 14.25, "y": 6.25}, + {"matrix": [11, 9], "x": 15.25, "y": 6.25}, + + {"matrix": [11, 5], "x": 16.5, "y": 6}, + {"matrix": [11, 6], "x": 17.5, "y": 6} + ] + }, + "LAYOUT_iso": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [6, 0], "x": 4.25, "y": 0}, + + {"matrix": [6, 1], "x": 5.5, "y": 0}, + {"matrix": [6, 2], "x": 6.5, "y": 0}, + {"matrix": [6, 3], "x": 7.5, "y": 0}, + {"matrix": [0, 4], "x": 8.5, "y": 0}, + + {"matrix": [0, 5], "x": 9.75, "y": 0}, + {"matrix": [0, 6], "x": 10.75, "y": 0}, + {"matrix": [0, 7], "x": 11.75, "y": 0}, + {"matrix": [0, 8], "x": 12.75, "y": 0}, + + {"matrix": [5, 4], "x": 15.5, "y": 0}, + {"matrix": [5, 5], "x": 16.5, "y": 0}, + {"matrix": [5, 6], "x": 17.5, "y": 0}, + {"matrix": [5, 7], "x": 18.5, "y": 0}, + + {"matrix": [6, 4], "x": 15.5, "y": 1}, + {"matrix": [6, 5], "x": 16.5, "y": 1}, + {"matrix": [6, 6], "x": 17.5, "y": 1}, + {"matrix": [6, 7], "x": 18.5, "y": 1}, + + {"matrix": [1, 0], "x": 0, "y": 2}, + {"matrix": [1, 1], "x": 1, "y": 2}, + {"matrix": [1, 2], "x": 2, "y": 2}, + {"matrix": [1, 3], "x": 3, "y": 2}, + {"matrix": [7, 0], "x": 4, "y": 2}, + {"matrix": [7, 1], "x": 5, "y": 2}, + {"matrix": [7, 2], "x": 6, "y": 2}, + {"matrix": [7, 3], "x": 7, "y": 2}, + {"matrix": [1, 4], "x": 8, "y": 2}, + {"matrix": [1, 5], "x": 9, "y": 2}, + {"matrix": [1, 6], "x": 10, "y": 2}, + {"matrix": [1, 7], "x": 11, "y": 2}, + {"matrix": [1, 8], "x": 12, "y": 2}, + {"matrix": [1, 9], "x": 13, "y": 2, "w": 2}, + + {"matrix": [7, 4], "x": 15.5, "y": 2}, + {"matrix": [7, 5], "x": 16.5, "y": 2}, + {"matrix": [7, 6], "x": 17.5, "y": 2}, + {"matrix": [7, 7], "x": 18.5, "y": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 3}, + {"matrix": [2, 2], "x": 2.5, "y": 3}, + {"matrix": [2, 3], "x": 3.5, "y": 3}, + {"matrix": [8, 0], "x": 4.5, "y": 3}, + {"matrix": [8, 1], "x": 5.5, "y": 3}, + {"matrix": [8, 2], "x": 6.5, "y": 3}, + {"matrix": [8, 3], "x": 7.5, "y": 3}, + {"matrix": [2, 4], "x": 8.5, "y": 3}, + {"matrix": [2, 5], "x": 9.5, "y": 3}, + {"matrix": [2, 6], "x": 10.5, "y": 3}, + {"matrix": [2, 7], "x": 11.5, "y": 3}, + {"matrix": [2, 8], "x": 12.5, "y": 3}, + + {"matrix": [8, 4], "x": 15.5, "y": 3}, + {"matrix": [8, 5], "x": 16.5, "y": 3}, + {"matrix": [8, 6], "x": 17.5, "y": 3}, + {"matrix": [8, 7], "x": 18.5, "y": 3}, + + {"matrix": [3, 0], "x": 0, "y": 4, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 4}, + {"matrix": [3, 2], "x": 2.75, "y": 4}, + {"matrix": [3, 3], "x": 3.75, "y": 4}, + {"matrix": [9, 0], "x": 4.75, "y": 4}, + {"matrix": [9, 1], "x": 5.75, "y": 4}, + {"matrix": [9, 2], "x": 6.75, "y": 4}, + {"matrix": [9, 3], "x": 7.75, "y": 4}, + {"matrix": [3, 4], "x": 8.75, "y": 4}, + {"matrix": [3, 5], "x": 9.75, "y": 4}, + {"matrix": [3, 6], "x": 10.75, "y": 4}, + {"matrix": [3, 7], "x": 11.75, "y": 4}, + {"matrix": [2, 9], "x": 12.75, "y": 4}, + {"matrix": [3, 8], "x": 13.75, "y": 3, "w": 1.25, "h": 2}, + + {"matrix": [9, 4], "x": 15.5, "y": 4}, + {"matrix": [9, 5], "x": 16.5, "y": 4}, + {"matrix": [9, 6], "x": 17.5, "y": 4}, + {"matrix": [9, 7], "x": 18.5, "y": 4}, + + {"matrix": [4, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 5}, + {"matrix": [4, 2], "x": 2.25, "y": 5}, + {"matrix": [4, 3], "x": 3.25, "y": 5}, + {"matrix": [10, 0], "x": 4.25, "y": 5}, + {"matrix": [10, 1], "x": 5.25, "y": 5}, + {"matrix": [10, 2], "x": 6.25, "y": 5}, + {"matrix": [10, 3], "x": 7.25, "y": 5}, + {"matrix": [4, 4], "x": 8.25, "y": 5}, + {"matrix": [4, 5], "x": 9.25, "y": 5}, + {"matrix": [4, 6], "x": 10.25, "y": 5}, + {"matrix": [4, 7], "x": 11.25, "y": 5}, + {"matrix": [4, 8], "x": 12.25, "y": 5, "w": 1.75}, + + {"matrix": [10, 9], "x": 14.25, "y": 5.25}, + + {"matrix": [10, 4], "x": 15.5, "y": 5}, + {"matrix": [10, 5], "x": 16.5, "y": 5}, + {"matrix": [10, 6], "x": 17.5, "y": 5}, + {"matrix": [10, 7], "x": 18.5, "y": 5, "h": 2}, + + {"matrix": [5, 0], "x": 0, "y": 6, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 6, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 6, "w": 1.25}, + {"matrix": [5, 3], "x": 3.75, "y": 6, "w": 6.25}, + {"matrix": [11, 4], "x": 10, "y": 6, "w": 1.5}, + {"matrix": [11, 7], "x": 11.5, "y": 6, "w": 1.5}, + + {"matrix": [10, 8], "x": 13.25, "y": 6.25}, + {"matrix": [11, 8], "x": 14.25, "y": 6.25}, + {"matrix": [11, 9], "x": 15.25, "y": 6.25}, + + {"matrix": [11, 5], "x": 16.5, "y": 6}, + {"matrix": [11, 6], "x": 17.5, "y": 6} + ] + }, + "LAYOUT_iso_wkl": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [6, 0], "x": 4.25, "y": 0}, + + {"matrix": [6, 1], "x": 5.5, "y": 0}, + {"matrix": [6, 2], "x": 6.5, "y": 0}, + {"matrix": [6, 3], "x": 7.5, "y": 0}, + {"matrix": [0, 4], "x": 8.5, "y": 0}, + + {"matrix": [0, 5], "x": 9.75, "y": 0}, + {"matrix": [0, 6], "x": 10.75, "y": 0}, + {"matrix": [0, 7], "x": 11.75, "y": 0}, + {"matrix": [0, 8], "x": 12.75, "y": 0}, + + {"matrix": [5, 4], "x": 15.5, "y": 0}, + {"matrix": [5, 5], "x": 16.5, "y": 0}, + {"matrix": [5, 6], "x": 17.5, "y": 0}, + {"matrix": [5, 7], "x": 18.5, "y": 0}, + + {"matrix": [6, 4], "x": 15.5, "y": 1}, + {"matrix": [6, 5], "x": 16.5, "y": 1}, + {"matrix": [6, 6], "x": 17.5, "y": 1}, + {"matrix": [6, 7], "x": 18.5, "y": 1}, + + {"matrix": [1, 0], "x": 0, "y": 2}, + {"matrix": [1, 1], "x": 1, "y": 2}, + {"matrix": [1, 2], "x": 2, "y": 2}, + {"matrix": [1, 3], "x": 3, "y": 2}, + {"matrix": [7, 0], "x": 4, "y": 2}, + {"matrix": [7, 1], "x": 5, "y": 2}, + {"matrix": [7, 2], "x": 6, "y": 2}, + {"matrix": [7, 3], "x": 7, "y": 2}, + {"matrix": [1, 4], "x": 8, "y": 2}, + {"matrix": [1, 5], "x": 9, "y": 2}, + {"matrix": [1, 6], "x": 10, "y": 2}, + {"matrix": [1, 7], "x": 11, "y": 2}, + {"matrix": [1, 8], "x": 12, "y": 2}, + {"matrix": [1, 9], "x": 13, "y": 2, "w": 2}, + + {"matrix": [7, 4], "x": 15.5, "y": 2}, + {"matrix": [7, 5], "x": 16.5, "y": 2}, + {"matrix": [7, 6], "x": 17.5, "y": 2}, + {"matrix": [7, 7], "x": 18.5, "y": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 3}, + {"matrix": [2, 2], "x": 2.5, "y": 3}, + {"matrix": [2, 3], "x": 3.5, "y": 3}, + {"matrix": [8, 0], "x": 4.5, "y": 3}, + {"matrix": [8, 1], "x": 5.5, "y": 3}, + {"matrix": [8, 2], "x": 6.5, "y": 3}, + {"matrix": [8, 3], "x": 7.5, "y": 3}, + {"matrix": [2, 4], "x": 8.5, "y": 3}, + {"matrix": [2, 5], "x": 9.5, "y": 3}, + {"matrix": [2, 6], "x": 10.5, "y": 3}, + {"matrix": [2, 7], "x": 11.5, "y": 3}, + {"matrix": [2, 8], "x": 12.5, "y": 3}, + + {"matrix": [8, 4], "x": 15.5, "y": 3}, + {"matrix": [8, 5], "x": 16.5, "y": 3}, + {"matrix": [8, 6], "x": 17.5, "y": 3}, + {"matrix": [8, 7], "x": 18.5, "y": 3}, + + {"matrix": [3, 0], "x": 0, "y": 4, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 4}, + {"matrix": [3, 2], "x": 2.75, "y": 4}, + {"matrix": [3, 3], "x": 3.75, "y": 4}, + {"matrix": [9, 0], "x": 4.75, "y": 4}, + {"matrix": [9, 1], "x": 5.75, "y": 4}, + {"matrix": [9, 2], "x": 6.75, "y": 4}, + {"matrix": [9, 3], "x": 7.75, "y": 4}, + {"matrix": [3, 4], "x": 8.75, "y": 4}, + {"matrix": [3, 5], "x": 9.75, "y": 4}, + {"matrix": [3, 6], "x": 10.75, "y": 4}, + {"matrix": [3, 7], "x": 11.75, "y": 4}, + {"matrix": [2, 9], "x": 12.75, "y": 4}, + {"matrix": [3, 8], "x": 13.75, "y": 3, "w": 1.25, "h": 2}, + + {"matrix": [9, 4], "x": 15.5, "y": 4}, + {"matrix": [9, 5], "x": 16.5, "y": 4}, + {"matrix": [9, 6], "x": 17.5, "y": 4}, + {"matrix": [9, 7], "x": 18.5, "y": 4}, + + {"matrix": [4, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 5}, + {"matrix": [4, 2], "x": 2.25, "y": 5}, + {"matrix": [4, 3], "x": 3.25, "y": 5}, + {"matrix": [10, 0], "x": 4.25, "y": 5}, + {"matrix": [10, 1], "x": 5.25, "y": 5}, + {"matrix": [10, 2], "x": 6.25, "y": 5}, + {"matrix": [10, 3], "x": 7.25, "y": 5}, + {"matrix": [4, 4], "x": 8.25, "y": 5}, + {"matrix": [4, 5], "x": 9.25, "y": 5}, + {"matrix": [4, 6], "x": 10.25, "y": 5}, + {"matrix": [4, 7], "x": 11.25, "y": 5}, + {"matrix": [4, 8], "x": 12.25, "y": 5, "w": 1.75}, + + {"matrix": [10, 9], "x": 14.25, "y": 5.25}, + + {"matrix": [10, 4], "x": 15.5, "y": 5}, + {"matrix": [10, 5], "x": 16.5, "y": 5}, + {"matrix": [10, 6], "x": 17.5, "y": 5}, + {"matrix": [10, 7], "x": 18.5, "y": 5, "h": 2}, + + {"matrix": [5, 0], "x": 0, "y": 6, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 6, "w": 1.5}, + {"matrix": [5, 3], "x": 3, "y": 6, "w": 7}, + {"matrix": [11, 4], "x": 10, "y": 6, "w": 1.5}, + {"matrix": [11, 7], "x": 11.5, "y": 6, "w": 1.5}, + + {"matrix": [10, 8], "x": 13.25, "y": 6.25}, + {"matrix": [11, 8], "x": 14.25, "y": 6.25}, + {"matrix": [11, 9], "x": 15.25, "y": 6.25}, + {"matrix": [11, 5], "x": 16.5, "y": 6}, {"matrix": [11, 6], "x": 17.5, "y": 6} ] diff --git a/keyboards/ash_xiix/matrix_diagram.md b/keyboards/ash_xiix/matrix_diagram.md new file mode 100644 index 00000000000..408857c8b43 --- /dev/null +++ b/keyboards/ash_xiix/matrix_diagram.md @@ -0,0 +1,26 @@ +# Matrix Diagram for ASH-XIIX + +``` +┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ +│00 ││01 │02 │03 │60 ││61 │62 │63 │04 ││05 │06 │07 │08 │ │54 │55 │56 │57 │ +└───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘ ├───┼───┼───┼───┤ + │64 │65 │66 │67 │ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ├───┼───┼───┼───┤ +│10 │11 │12 │13 │70 │71 │72 │73 │14 │15 │16 │17 │18 │19 │ │74 │75 │76 │77 │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┼───┤ ┌─────┐ +│20 │21 │22 │23 │80 │81 │82 │83 │24 │25 │26 │27 │28 │29 │ │84 │85 │86 │87 │ │38 │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┼───┼───┼───┤ ┌──┴┐ │ ISO Enter +│30 │31 │32 │33 │90 │91 │92 │93 │34 │35 │36 │37 │38 │ │94 │95 │96 │97 │ │29 │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┼───┼───┼───┤ └───┴────┘ +│40 │41 │42 │43 │A0 │A1 │A2 │A3 │44 │45 │46 │47 │48 │┌───┐│A4 │A5 │A6 │A7 │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┘│A9 │└───┼───┼───┤ │ +│50 │51 │52 │53 │B4 │B7 │┌───┼───┼───┐│B5 │B6 │ │ +└────┴────┴────┴────────────────────────┴─────┴─────┘│A8 │B8 │B9 │└───┴───┴───┘ + └───┴───┴───┘ +┌────────┐ +│40 │ 2.25u LShift +└────────┘ +┌─────┬─────┬───────────────────────────┬─────┬─────┐ +│50 │51 │53 │B4 │B7 │ WKL +└─────┴─────┴───────────────────────────┴─────┴─────┘ +``` From 8e64ff574ab444f3dd1b4b7b71ec274ced3e99df Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 5 Jul 2024 16:35:35 +1000 Subject: [PATCH 21/54] `kakunpc/angel64`: add additional layouts (#24058) --- keyboards/kakunpc/angel64/rev1/keyboard.json | 138 ++++++++++++++++++ .../kakunpc/angel64/rev1/matrix_diagram.md | 22 +++ 2 files changed, 160 insertions(+) create mode 100644 keyboards/kakunpc/angel64/rev1/matrix_diagram.md diff --git a/keyboards/kakunpc/angel64/rev1/keyboard.json b/keyboards/kakunpc/angel64/rev1/keyboard.json index 9ed4904c686..ca7f7dcb285 100644 --- a/keyboards/kakunpc/angel64/rev1/keyboard.json +++ b/keyboards/kakunpc/angel64/rev1/keyboard.json @@ -117,6 +117,144 @@ {"matrix": [2, 5], "x": 12.25, "y": 4, "w": 1.5}, {"matrix": [3, 5], "x": 13.75, "y": 4, "w": 1.25} ] + }, + "LAYOUT_5u5_space_left": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [2, 0], "x": 2, "y": 0}, + {"matrix": [3, 0], "x": 3, "y": 0}, + {"matrix": [4, 0], "x": 4, "y": 0}, + {"matrix": [5, 0], "x": 5, "y": 0}, + {"matrix": [6, 0], "x": 6, "y": 0}, + {"matrix": [7, 0], "x": 7, "y": 0}, + {"matrix": [8, 0], "x": 8, "y": 0}, + {"matrix": [9, 0], "x": 9, "y": 0}, + {"matrix": [10, 0], "x": 10, "y": 0}, + {"matrix": [11, 0], "x": 11, "y": 0}, + {"matrix": [0, 1], "x": 12, "y": 0}, + {"matrix": [1, 1], "x": 13, "y": 0, "w": 2}, + + {"matrix": [2, 1], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 1}, + {"matrix": [4, 1], "x": 2.5, "y": 1}, + {"matrix": [5, 1], "x": 3.5, "y": 1}, + {"matrix": [6, 1], "x": 4.5, "y": 1}, + {"matrix": [7, 1], "x": 5.5, "y": 1}, + {"matrix": [8, 1], "x": 6.5, "y": 1}, + {"matrix": [9, 1], "x": 7.5, "y": 1}, + {"matrix": [10, 1], "x": 8.5, "y": 1}, + {"matrix": [11, 1], "x": 9.5, "y": 1}, + {"matrix": [0, 2], "x": 10.5, "y": 1}, + {"matrix": [1, 2], "x": 11.5, "y": 1}, + {"matrix": [2, 2], "x": 12.5, "y": 1}, + {"matrix": [3, 2], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [4, 2], "x": 0, "y": 2, "w": 2}, + {"matrix": [5, 2], "x": 2, "y": 2}, + {"matrix": [6, 2], "x": 3, "y": 2}, + {"matrix": [7, 2], "x": 4, "y": 2}, + {"matrix": [8, 2], "x": 5, "y": 2}, + {"matrix": [9, 2], "x": 6, "y": 2}, + {"matrix": [10, 2], "x": 7, "y": 2}, + {"matrix": [11, 2], "x": 8, "y": 2}, + {"matrix": [0, 3], "x": 9, "y": 2}, + {"matrix": [1, 3], "x": 10, "y": 2}, + {"matrix": [2, 3], "x": 11, "y": 2}, + {"matrix": [3, 3], "x": 12, "y": 2}, + {"matrix": [4, 3], "x": 13, "y": 2, "w": 2}, + + {"matrix": [5, 3], "x": 0, "y": 3, "w": 2.5}, + {"matrix": [6, 3], "x": 2.5, "y": 3}, + {"matrix": [7, 3], "x": 3.5, "y": 3}, + {"matrix": [8, 3], "x": 4.5, "y": 3}, + {"matrix": [9, 3], "x": 5.5, "y": 3}, + {"matrix": [10, 3], "x": 6.5, "y": 3}, + {"matrix": [11, 3], "x": 7.5, "y": 3}, + {"matrix": [0, 4], "x": 8.5, "y": 3}, + {"matrix": [1, 4], "x": 9.5, "y": 3}, + {"matrix": [2, 4], "x": 10.5, "y": 3}, + {"matrix": [3, 4], "x": 11.5, "y": 3}, + {"matrix": [4, 4], "x": 12.5, "y": 3, "w": 2.5}, + + {"matrix": [5, 4], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [6, 4], "x": 1.25, "y": 4, "w": 1.5}, + {"matrix": [7, 4], "x": 2.75, "y": 4, "w": 1.5}, + {"matrix": [10, 4], "x": 4.25, "y": 4, "w": 5.5}, + {"matrix": [0, 5], "x": 9.75, "y": 4}, + {"matrix": [1, 5], "x": 10.75, "y": 4, "w": 1.5}, + {"matrix": [2, 5], "x": 12.25, "y": 4, "w": 1.5}, + {"matrix": [3, 5], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_5u5_space_right": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [2, 0], "x": 2, "y": 0}, + {"matrix": [3, 0], "x": 3, "y": 0}, + {"matrix": [4, 0], "x": 4, "y": 0}, + {"matrix": [5, 0], "x": 5, "y": 0}, + {"matrix": [6, 0], "x": 6, "y": 0}, + {"matrix": [7, 0], "x": 7, "y": 0}, + {"matrix": [8, 0], "x": 8, "y": 0}, + {"matrix": [9, 0], "x": 9, "y": 0}, + {"matrix": [10, 0], "x": 10, "y": 0}, + {"matrix": [11, 0], "x": 11, "y": 0}, + {"matrix": [0, 1], "x": 12, "y": 0}, + {"matrix": [1, 1], "x": 13, "y": 0, "w": 2}, + + {"matrix": [2, 1], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 1}, + {"matrix": [4, 1], "x": 2.5, "y": 1}, + {"matrix": [5, 1], "x": 3.5, "y": 1}, + {"matrix": [6, 1], "x": 4.5, "y": 1}, + {"matrix": [7, 1], "x": 5.5, "y": 1}, + {"matrix": [8, 1], "x": 6.5, "y": 1}, + {"matrix": [9, 1], "x": 7.5, "y": 1}, + {"matrix": [10, 1], "x": 8.5, "y": 1}, + {"matrix": [11, 1], "x": 9.5, "y": 1}, + {"matrix": [0, 2], "x": 10.5, "y": 1}, + {"matrix": [1, 2], "x": 11.5, "y": 1}, + {"matrix": [2, 2], "x": 12.5, "y": 1}, + {"matrix": [3, 2], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [4, 2], "x": 0, "y": 2, "w": 2}, + {"matrix": [5, 2], "x": 2, "y": 2}, + {"matrix": [6, 2], "x": 3, "y": 2}, + {"matrix": [7, 2], "x": 4, "y": 2}, + {"matrix": [8, 2], "x": 5, "y": 2}, + {"matrix": [9, 2], "x": 6, "y": 2}, + {"matrix": [10, 2], "x": 7, "y": 2}, + {"matrix": [11, 2], "x": 8, "y": 2}, + {"matrix": [0, 3], "x": 9, "y": 2}, + {"matrix": [1, 3], "x": 10, "y": 2}, + {"matrix": [2, 3], "x": 11, "y": 2}, + {"matrix": [3, 3], "x": 12, "y": 2}, + {"matrix": [4, 3], "x": 13, "y": 2, "w": 2}, + + {"matrix": [5, 3], "x": 0, "y": 3, "w": 2.5}, + {"matrix": [6, 3], "x": 2.5, "y": 3}, + {"matrix": [7, 3], "x": 3.5, "y": 3}, + {"matrix": [8, 3], "x": 4.5, "y": 3}, + {"matrix": [9, 3], "x": 5.5, "y": 3}, + {"matrix": [10, 3], "x": 6.5, "y": 3}, + {"matrix": [11, 3], "x": 7.5, "y": 3}, + {"matrix": [0, 4], "x": 8.5, "y": 3}, + {"matrix": [1, 4], "x": 9.5, "y": 3}, + {"matrix": [2, 4], "x": 10.5, "y": 3}, + {"matrix": [3, 4], "x": 11.5, "y": 3}, + {"matrix": [4, 4], "x": 12.5, "y": 3, "w": 2.5}, + + {"matrix": [5, 4], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [6, 4], "x": 1.25, "y": 4, "w": 1.5}, + {"matrix": [7, 4], "x": 2.75, "y": 4, "w": 1.5}, + {"matrix": [8, 4], "x": 4.25, "y": 4}, + {"matrix": [10, 4], "x": 5.25, "y": 4, "w": 5.5}, + {"matrix": [1, 5], "x": 10.75, "y": 4, "w": 1.5}, + {"matrix": [2, 5], "x": 12.25, "y": 4, "w": 1.5}, + {"matrix": [3, 5], "x": 13.75, "y": 4, "w": 1.25} + ] } } } diff --git a/keyboards/kakunpc/angel64/rev1/matrix_diagram.md b/keyboards/kakunpc/angel64/rev1/matrix_diagram.md new file mode 100644 index 00000000000..d9efcc6a55a --- /dev/null +++ b/keyboards/kakunpc/angel64/rev1/matrix_diagram.md @@ -0,0 +1,22 @@ +# Matrix Diagram for Angel64 Rev1 + +``` +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ +│00 │10 │20 │30 │40 │50 │60 │70 │80 │90 │A0 │B0 │01 │11 │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ +│21 │31 │41 │51 │61 │71 │81 │91 │A1 │B1 │02 │12 │22 │32 │ +├─────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─────┤ +│42 │52 │62 │72 │82 │92 │A2 │B2 │03 │13 │23 │33 │43 │ +├───────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───────┤ +│53 │63 │73 │83 │93 │A3 │B3 │04 │14 │24 │34 │44 │ +├────┬────┴┬──┴──┬┴──┬┴───┴┬──┴──┬┴───┴┬──┴┬──┴──┬┴────┬────┤ +│54 │64 │74 │84 │94 │A4 │B4 │05 │15 │25 │35 │ +└────┴─────┴─────┴───┴─────┴─────┴─────┴───┴─────┴─────┴────┘ + +┌────┬─────┬─────┬─────────────────────┬───┬─────┬─────┬────┐ +│54 │64 │74 │A4 │05 │15 │25 │35 │ 5.5u Space (Left) +└────┴─────┴─────┴─────────────────────┴───┴─────┴─────┴────┘ +┌────┬─────┬─────┬───┬─────────────────────┬─────┬─────┬────┐ +│54 │64 │74 │84 │A4 │15 │25 │35 │ 5.5u Space (Right) +└────┴─────┴─────┴───┴─────────────────────┴─────┴─────┴────┘ +``` From 096dc672c14f6e29dc85cd7e82aebb20b5bebf35 Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 5 Jul 2024 16:35:48 +1000 Subject: [PATCH 22/54] `kakunpc/rabbit_capture_plan`: add additional layouts (#24059) --- .../kakunpc/rabbit_capture_plan/keyboard.json | 255 +++++++++++++++++- .../rabbit_capture_plan/matrix_diagram.md | 16 ++ 2 files changed, 270 insertions(+), 1 deletion(-) create mode 100644 keyboards/kakunpc/rabbit_capture_plan/matrix_diagram.md diff --git a/keyboards/kakunpc/rabbit_capture_plan/keyboard.json b/keyboards/kakunpc/rabbit_capture_plan/keyboard.json index 16364fb71fe..3d6e7958f47 100644 --- a/keyboards/kakunpc/rabbit_capture_plan/keyboard.json +++ b/keyboards/kakunpc/rabbit_capture_plan/keyboard.json @@ -57,8 +57,94 @@ }, "processor": "atmega32u4", "bootloader": "caterina", + "layout_aliases": { + "LAYOUT_all": "LAYOUT_ansi_split_rshift" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0.41, "y": 0}, + {"matrix": [0, 1], "x": 1.41, "y": 0}, + {"matrix": [0, 2], "x": 2.72, "y": 0}, + {"matrix": [0, 3], "x": 3.72, "y": 0}, + {"matrix": [0, 4], "x": 4.72, "y": 0}, + {"matrix": [0, 5], "x": 5.72, "y": 0}, + {"matrix": [0, 6], "x": 6.72, "y": 0}, + + {"matrix": [5, 0], "x": 9.62, "y": 0}, + {"matrix": [5, 1], "x": 10.62, "y": 0}, + {"matrix": [5, 2], "x": 11.62, "y": 0}, + {"matrix": [5, 3], "x": 12.62, "y": 0}, + {"matrix": [5, 4], "x": 14.07, "y": 0}, + {"matrix": [5, 5], "x": 15.07, "y": 0}, + {"matrix": [5, 6], "x": 16.07, "y": 0}, + {"matrix": [5, 7], "x": 17.07, "y": 0}, + + {"matrix": [1, 0], "x": 0.28, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.78, "y": 1}, + {"matrix": [1, 2], "x": 3.22, "y": 1}, + {"matrix": [1, 3], "x": 4.22, "y": 1}, + {"matrix": [1, 4], "x": 5.22, "y": 1}, + {"matrix": [1, 5], "x": 6.22, "y": 1}, + {"matrix": [1, 6], "x": 7.22, "y": 1}, + + {"matrix": [6, 0], "x": 9.12, "y": 1}, + {"matrix": [6, 1], "x": 10.12, "y": 1}, + {"matrix": [6, 2], "x": 11.12, "y": 1}, + {"matrix": [6, 3], "x": 12.12, "y": 1}, + {"matrix": [6, 4], "x": 13.72, "y": 1}, + {"matrix": [6, 5], "x": 14.72, "y": 1}, + {"matrix": [6, 6], "x": 15.72, "y": 1}, + {"matrix": [6, 7], "x": 16.72, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0.14, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.89, "y": 2}, + {"matrix": [2, 2], "x": 3.47, "y": 2}, + {"matrix": [2, 3], "x": 4.47, "y": 2}, + {"matrix": [2, 4], "x": 5.47, "y": 2}, + {"matrix": [2, 5], "x": 6.47, "y": 2}, + {"matrix": [4, 5], "x": 7.47, "y": 2}, + + {"matrix": [7, 0], "x": 9.37, "y": 2}, + {"matrix": [7, 1], "x": 10.37, "y": 2}, + {"matrix": [7, 2], "x": 11.37, "y": 2}, + {"matrix": [7, 3], "x": 12.37, "y": 2}, + {"matrix": [7, 4], "x": 14.09, "y": 2}, + {"matrix": [7, 5], "x": 15.09, "y": 2}, + {"matrix": [7, 6], "x": 16.09, "y": 2, "w": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 1], "x": 2.25, "y": 3}, + {"matrix": [3, 2], "x": 3.97, "y": 3}, + {"matrix": [3, 3], "x": 4.97, "y": 3}, + {"matrix": [3, 4], "x": 5.97, "y": 3}, + {"matrix": [3, 5], "x": 6.97, "y": 3}, + + {"matrix": [8, 0], "x": 8.87, "y": 3}, + {"matrix": [8, 1], "x": 9.87, "y": 3}, + {"matrix": [8, 2], "x": 10.87, "y": 3}, + {"matrix": [8, 3], "x": 11.87, "y": 3}, + {"matrix": [8, 4], "x": 13.72, "y": 3}, + {"matrix": [8, 5], "x": 14.72, "y": 3}, + {"matrix": [8, 6], "x": 15.72, "y": 3, "w": 1.75}, + + {"matrix": [9, 0], "x": 18, "y": 3.25}, + + {"matrix": [4, 0], "x": 0.25, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.5, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 4.47, "y": 4}, + {"matrix": [4, 3], "x": 5.47, "y": 4, "w": 2}, + {"matrix": [4, 4], "x": 7.47, "y": 4}, + + {"matrix": [9, 1], "x": 9.35, "y": 4, "w": 2.75}, + {"matrix": [9, 2], "x": 12.1, "y": 4}, + + {"matrix": [9, 3], "x": 17, "y": 4.25}, + {"matrix": [9, 4], "x": 18, "y": 4.25}, + {"matrix": [9, 5], "x": 19, "y": 4.25} + ] + }, + "LAYOUT_ansi_split_rshift": { "layout": [ {"matrix": [0, 0], "x": 0.41, "y": 0}, {"matrix": [0, 1], "x": 1.41, "y": 0}, @@ -137,6 +223,173 @@ {"matrix": [9, 1], "x": 9.35, "y": 4, "w": 2.75}, {"matrix": [9, 2], "x": 12.1, "y": 4}, + {"matrix": [9, 3], "x": 17, "y": 4.25}, + {"matrix": [9, 4], "x": 18, "y": 4.25}, + {"matrix": [9, 5], "x": 19, "y": 4.25} + ] + }, + "LAYOUT_iso": { + "layout": [ + {"matrix": [0, 0], "x": 0.41, "y": 0}, + {"matrix": [0, 1], "x": 1.41, "y": 0}, + {"matrix": [0, 2], "x": 2.72, "y": 0}, + {"matrix": [0, 3], "x": 3.72, "y": 0}, + {"matrix": [0, 4], "x": 4.72, "y": 0}, + {"matrix": [0, 5], "x": 5.72, "y": 0}, + {"matrix": [0, 6], "x": 6.72, "y": 0}, + + {"matrix": [5, 0], "x": 9.62, "y": 0}, + {"matrix": [5, 1], "x": 10.62, "y": 0}, + {"matrix": [5, 2], "x": 11.62, "y": 0}, + {"matrix": [5, 3], "x": 12.62, "y": 0}, + {"matrix": [5, 4], "x": 14.07, "y": 0}, + {"matrix": [5, 5], "x": 15.07, "y": 0}, + {"matrix": [5, 6], "x": 16.07, "y": 0}, + {"matrix": [5, 7], "x": 17.07, "y": 0}, + + {"matrix": [1, 0], "x": 0.28, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.78, "y": 1}, + {"matrix": [1, 2], "x": 3.22, "y": 1}, + {"matrix": [1, 3], "x": 4.22, "y": 1}, + {"matrix": [1, 4], "x": 5.22, "y": 1}, + {"matrix": [1, 5], "x": 6.22, "y": 1}, + {"matrix": [1, 6], "x": 7.22, "y": 1}, + + {"matrix": [6, 0], "x": 9.12, "y": 1}, + {"matrix": [6, 1], "x": 10.12, "y": 1}, + {"matrix": [6, 2], "x": 11.12, "y": 1}, + {"matrix": [6, 3], "x": 12.12, "y": 1}, + {"matrix": [6, 4], "x": 13.72, "y": 1}, + {"matrix": [6, 5], "x": 14.72, "y": 1}, + {"matrix": [6, 6], "x": 15.72, "y": 1}, + + {"matrix": [2, 0], "x": 0.14, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.89, "y": 2}, + {"matrix": [2, 2], "x": 3.47, "y": 2}, + {"matrix": [2, 3], "x": 4.47, "y": 2}, + {"matrix": [2, 4], "x": 5.47, "y": 2}, + {"matrix": [2, 5], "x": 6.47, "y": 2}, + {"matrix": [4, 5], "x": 7.47, "y": 2}, + + {"matrix": [7, 0], "x": 9.37, "y": 2}, + {"matrix": [7, 1], "x": 10.37, "y": 2}, + {"matrix": [7, 2], "x": 11.37, "y": 2}, + {"matrix": [7, 3], "x": 12.37, "y": 2}, + {"matrix": [7, 4], "x": 14.09, "y": 2}, + {"matrix": [7, 5], "x": 15.09, "y": 2}, + {"matrix": [7, 6], "x": 16.09, "y": 2}, + {"matrix": [6, 7], "x": 17.09, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 1], "x": 2.25, "y": 3}, + {"matrix": [3, 2], "x": 3.97, "y": 3}, + {"matrix": [3, 3], "x": 4.97, "y": 3}, + {"matrix": [3, 4], "x": 5.97, "y": 3}, + {"matrix": [3, 5], "x": 6.97, "y": 3}, + + {"matrix": [8, 0], "x": 8.87, "y": 3}, + {"matrix": [8, 1], "x": 9.87, "y": 3}, + {"matrix": [8, 2], "x": 10.87, "y": 3}, + {"matrix": [8, 3], "x": 11.87, "y": 3}, + {"matrix": [8, 4], "x": 13.72, "y": 3}, + {"matrix": [8, 5], "x": 14.72, "y": 3}, + {"matrix": [8, 6], "x": 15.72, "y": 3, "w": 1.75}, + + {"matrix": [9, 0], "x": 18, "y": 3.25}, + + {"matrix": [4, 0], "x": 0.25, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.5, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 4.47, "y": 4}, + {"matrix": [4, 3], "x": 5.47, "y": 4, "w": 2}, + {"matrix": [4, 4], "x": 7.47, "y": 4}, + + {"matrix": [9, 1], "x": 9.35, "y": 4, "w": 2.75}, + {"matrix": [9, 2], "x": 12.1, "y": 4}, + + {"matrix": [9, 3], "x": 17, "y": 4.25}, + {"matrix": [9, 4], "x": 18, "y": 4.25}, + {"matrix": [9, 5], "x": 19, "y": 4.25} + ] + }, + "LAYOUT_iso_split_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0.41, "y": 0}, + {"matrix": [0, 1], "x": 1.41, "y": 0}, + {"matrix": [0, 2], "x": 2.72, "y": 0}, + {"matrix": [0, 3], "x": 3.72, "y": 0}, + {"matrix": [0, 4], "x": 4.72, "y": 0}, + {"matrix": [0, 5], "x": 5.72, "y": 0}, + {"matrix": [0, 6], "x": 6.72, "y": 0}, + + {"matrix": [5, 0], "x": 9.62, "y": 0}, + {"matrix": [5, 1], "x": 10.62, "y": 0}, + {"matrix": [5, 2], "x": 11.62, "y": 0}, + {"matrix": [5, 3], "x": 12.62, "y": 0}, + {"matrix": [5, 4], "x": 14.07, "y": 0}, + {"matrix": [5, 5], "x": 15.07, "y": 0}, + {"matrix": [5, 6], "x": 16.07, "y": 0}, + {"matrix": [5, 7], "x": 17.07, "y": 0}, + + {"matrix": [1, 0], "x": 0.28, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.78, "y": 1}, + {"matrix": [1, 2], "x": 3.22, "y": 1}, + {"matrix": [1, 3], "x": 4.22, "y": 1}, + {"matrix": [1, 4], "x": 5.22, "y": 1}, + {"matrix": [1, 5], "x": 6.22, "y": 1}, + {"matrix": [1, 6], "x": 7.22, "y": 1}, + + {"matrix": [6, 0], "x": 9.12, "y": 1}, + {"matrix": [6, 1], "x": 10.12, "y": 1}, + {"matrix": [6, 2], "x": 11.12, "y": 1}, + {"matrix": [6, 3], "x": 12.12, "y": 1}, + {"matrix": [6, 4], "x": 13.72, "y": 1}, + {"matrix": [6, 5], "x": 14.72, "y": 1}, + {"matrix": [6, 6], "x": 15.72, "y": 1}, + + {"matrix": [2, 0], "x": 0.14, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.89, "y": 2}, + {"matrix": [2, 2], "x": 3.47, "y": 2}, + {"matrix": [2, 3], "x": 4.47, "y": 2}, + {"matrix": [2, 4], "x": 5.47, "y": 2}, + {"matrix": [2, 5], "x": 6.47, "y": 2}, + {"matrix": [4, 5], "x": 7.47, "y": 2}, + + {"matrix": [7, 0], "x": 9.37, "y": 2}, + {"matrix": [7, 1], "x": 10.37, "y": 2}, + {"matrix": [7, 2], "x": 11.37, "y": 2}, + {"matrix": [7, 3], "x": 12.37, "y": 2}, + {"matrix": [7, 4], "x": 14.09, "y": 2}, + {"matrix": [7, 5], "x": 15.09, "y": 2}, + {"matrix": [7, 6], "x": 16.09, "y": 2}, + {"matrix": [6, 7], "x": 17.09, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 1], "x": 2.25, "y": 3}, + {"matrix": [3, 2], "x": 3.97, "y": 3}, + {"matrix": [3, 3], "x": 4.97, "y": 3}, + {"matrix": [3, 4], "x": 5.97, "y": 3}, + {"matrix": [3, 5], "x": 6.97, "y": 3}, + + {"matrix": [8, 0], "x": 8.87, "y": 3}, + {"matrix": [8, 1], "x": 9.87, "y": 3}, + {"matrix": [8, 2], "x": 10.87, "y": 3}, + {"matrix": [8, 3], "x": 11.87, "y": 3}, + {"matrix": [8, 4], "x": 13.72, "y": 3}, + {"matrix": [8, 5], "x": 14.72, "y": 3}, + {"matrix": [8, 6], "x": 15.72, "y": 3}, + {"matrix": [8, 7], "x": 16.72, "y": 3}, + + {"matrix": [9, 0], "x": 18, "y": 3.25}, + + {"matrix": [4, 0], "x": 0.25, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.5, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 4.47, "y": 4}, + {"matrix": [4, 3], "x": 5.47, "y": 4, "w": 2}, + {"matrix": [4, 4], "x": 7.47, "y": 4}, + + {"matrix": [9, 1], "x": 9.35, "y": 4, "w": 2.75}, + {"matrix": [9, 2], "x": 12.1, "y": 4}, + {"matrix": [9, 3], "x": 17, "y": 4.25}, {"matrix": [9, 4], "x": 18, "y": 4.25}, {"matrix": [9, 5], "x": 19, "y": 4.25} diff --git a/keyboards/kakunpc/rabbit_capture_plan/matrix_diagram.md b/keyboards/kakunpc/rabbit_capture_plan/matrix_diagram.md new file mode 100644 index 00000000000..9b28372360e --- /dev/null +++ b/keyboards/kakunpc/rabbit_capture_plan/matrix_diagram.md @@ -0,0 +1,16 @@ +# Matrix Diagram for rabbit_capture_plan + +``` + ┌───┬───┐ ┌───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ + │00 │01 │ │02 │03 │04 │05 │06 │ │50 │51 │52 │53 │ │54 │55 │56 │57 │ + ┌┴───┴┬──┴┐└─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┘ ┌─┴─┬─┴─┬─┴─┬─┴───┤ ┌─────┐ + │10 │11 │ │12 │13 │14 │15 │16 │ │60 │61 │62 │63 │ │64 │65 │66 │67 │ │67 │ + ┌┴─────┼───┤ └┬──┴┬──┴┬──┴┬──┴┬──┴┐ └┬──┴┬──┴┬──┴┬──┴┐ └─┬─┴─┬─┴─┬─┴─────┴┐ ┌──┴┐ │ ISO Enter + │20 │21 │ │22 │23 │24 │25 │26 │ │70 │71 │72 │73 │ │74 │75 │76 │ │76 │ │ +┌┴──────┴┬──┴┐ └─┬─┴─┬─┴─┬─┴─┬─┴─┬─┘ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┘ ┌─┴─┬─┴─┬─┴─┬───┬──┘ └───┴────┘ +│30 │31 │ │32 │33 │34 │35 │ │80 │81 │82 │83 │ │84 │85 │86 │87 │ ┌───┐ ┌──────┐ +└┬────┬──┴─┬─┘ └─┬─┴─┬─┴───┴─┬─┴─┐ └─┬─┴───┴───┴┬──┴┐ └───┴───┴───┴───┘ │90 │ │86 │ 1.75u Right Shift + │40 │41 │ │42 │43 │44 │ │91 │92 │ ┌───┼───┼───┐ └──────┘ + └────┴────┘ └───┴───────┴───┘ └──────────┴───┘ │93 │94 │95 │ + └───┴───┴───┘ +``` From 6d21898c146856b5679d38af073643107bc9dd83 Mon Sep 17 00:00:00 2001 From: ai03 Date: Fri, 5 Jul 2024 03:55:25 -0700 Subject: [PATCH 23/54] Add support for Equinox XL (#23695) --- keyboards/ai03/equinox_xl/keyboard.json | 89 +++++++++++++++++++ .../ai03/equinox_xl/keymaps/default/keymap.c | 15 ++++ .../ai03/equinox_xl/keymaps/via/keymap.c | 15 ++++ .../ai03/equinox_xl/keymaps/via/rules.mk | 1 + keyboards/ai03/equinox_xl/readme.md | 28 ++++++ 5 files changed, 148 insertions(+) create mode 100644 keyboards/ai03/equinox_xl/keyboard.json create mode 100644 keyboards/ai03/equinox_xl/keymaps/default/keymap.c create mode 100644 keyboards/ai03/equinox_xl/keymaps/via/keymap.c create mode 100644 keyboards/ai03/equinox_xl/keymaps/via/rules.mk create mode 100644 keyboards/ai03/equinox_xl/readme.md diff --git a/keyboards/ai03/equinox_xl/keyboard.json b/keyboards/ai03/equinox_xl/keyboard.json new file mode 100644 index 00000000000..e6abf4a0c21 --- /dev/null +++ b/keyboards/ai03/equinox_xl/keyboard.json @@ -0,0 +1,89 @@ +{ + "manufacturer": "ai03 Design Studio", + "keyboard_name": "Equinox XL", + "maintainer": "ai03", + "bootloader": "atmel-dfu", + "build": { + "debounce_type": "asym_eager_defer_pk" + }, + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "indicators": { + "caps_lock": "F1", + "on_state": 0 + }, + "matrix_pins": { + "cols": ["F5", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "D1", "D0"], + "rows": ["B7", "F4", "F6", "F7"] + }, + "processor": "atmega32u4", + "url": "https://ai03.com/projects/equinox-xl/", + "usb": { + "device_version": "0.0.1", + "pid": "0x0020", + "vid": "0xA103" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.5, "y": 0}, + {"matrix": [0, 10], "x": 10.5, "y": 0}, + {"matrix": [0, 11], "x": 11.5, "y": 0}, + {"matrix": [0, 12], "x": 12.5, "y": 0}, + {"matrix": [0, 13], "x": 13.5, "y": 0, "w": 1.5}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.75}, + {"matrix": [1, 1], "x": 1.75, "y": 1}, + {"matrix": [1, 2], "x": 2.75, "y": 1}, + {"matrix": [1, 3], "x": 3.75, "y": 1}, + {"matrix": [1, 4], "x": 4.75, "y": 1}, + {"matrix": [1, 5], "x": 5.75, "y": 1}, + {"matrix": [1, 6], "x": 6.75, "y": 1}, + {"matrix": [1, 7], "x": 7.75, "y": 1}, + {"matrix": [1, 8], "x": 8.75, "y": 1}, + {"matrix": [1, 9], "x": 9.75, "y": 1}, + {"matrix": [1, 10], "x": 10.75, "y": 1}, + {"matrix": [1, 11], "x": 11.75, "y": 1}, + {"matrix": [1, 13], "x": 12.75, "y": 1, "w": 2.25}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.25}, + {"matrix": [2, 1], "x": 1.25, "y": 2}, + {"matrix": [2, 2], "x": 2.25, "y": 2}, + {"matrix": [2, 3], "x": 3.25, "y": 2}, + {"matrix": [2, 4], "x": 4.25, "y": 2}, + {"matrix": [2, 5], "x": 5.25, "y": 2}, + {"matrix": [2, 6], "x": 6.25, "y": 2}, + {"matrix": [2, 7], "x": 7.25, "y": 2}, + {"matrix": [2, 8], "x": 8.25, "y": 2}, + {"matrix": [2, 9], "x": 9.25, "y": 2}, + {"matrix": [2, 10], "x": 10.25, "y": 2}, + {"matrix": [2, 11], "x": 11.25, "y": 2}, + {"matrix": [2, 12], "x": 12.25, "y": 2, "w": 1.75}, + {"matrix": [2, 13], "x": 14, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 3}, + {"matrix": [3, 2], "x": 2.5, "y": 3, "w": 1.5}, + {"matrix": [3, 5], "x": 4, "y": 3, "w": 3}, + {"matrix": [3, 7], "x": 7, "y": 3}, + {"matrix": [3, 9], "x": 8, "y": 3, "w": 3}, + {"matrix": [3, 11], "x": 11, "y": 3, "w": 1.5}, + {"matrix": [3, 12], "x": 12.5, "y": 3}, + {"matrix": [3, 13], "x": 13.5, "y": 3, "w": 1.5} + ] + } + } +} diff --git a/keyboards/ai03/equinox_xl/keymaps/default/keymap.c b/keyboards/ai03/equinox_xl/keymaps/default/keymap.c new file mode 100644 index 00000000000..be2f1cb7e0b --- /dev/null +++ b/keyboards/ai03/equinox_xl/keymaps/default/keymap.c @@ -0,0 +1,15 @@ +// Copyright 2024 ai03 +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + KC_ESC, 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_BSPC, + 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_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_RSFT, KC_GRV, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL + ), + +}; diff --git a/keyboards/ai03/equinox_xl/keymaps/via/keymap.c b/keyboards/ai03/equinox_xl/keymaps/via/keymap.c new file mode 100644 index 00000000000..be2f1cb7e0b --- /dev/null +++ b/keyboards/ai03/equinox_xl/keymaps/via/keymap.c @@ -0,0 +1,15 @@ +// Copyright 2024 ai03 +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + KC_ESC, 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_BSPC, + 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_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_RSFT, KC_GRV, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL + ), + +}; diff --git a/keyboards/ai03/equinox_xl/keymaps/via/rules.mk b/keyboards/ai03/equinox_xl/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/ai03/equinox_xl/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/ai03/equinox_xl/readme.md b/keyboards/ai03/equinox_xl/readme.md new file mode 100644 index 00000000000..84ceef68090 --- /dev/null +++ b/keyboards/ai03/equinox_xl/readme.md @@ -0,0 +1,28 @@ +# Equinox XL + +![Cover image](https://i.imgur.com/sQpe0Zv.jpg) + +A numrowless 50% keyboard + +* Keyboard Maintainer: [ai03](https://github.com/ai03-2725) +* Hardware Supported: The Equinox XL PCB, powered by the Atmega32u4 +* Hardware Availability: Available via group buy + + +Make example for this keyboard (after setting up your build environment): + + make ai03/equinox_xl:default + +Flashing example for this keyboard: + + make ai03/equinox_xl:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Press the reset button on the back of the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available From 9fb51cfe2b6f3138bd706d0902d3ba749e2ef513 Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 5 Jul 2024 20:57:39 +1000 Subject: [PATCH 24/54] `kbdfans/baguette66`: fix layout name (#24061) --- keyboards/kbdfans/baguette66/rgb/keyboard.json | 5 ++++- keyboards/kbdfans/baguette66/rgb/keymaps/default/keymap.c | 8 ++++---- keyboards/kbdfans/baguette66/rgb/keymaps/via/keymap.c | 8 ++++---- keyboards/kbdfans/baguette66/soldered/keyboard.json | 5 ++++- .../kbdfans/baguette66/soldered/keymaps/default/keymap.c | 8 ++++---- .../kbdfans/baguette66/soldered/keymaps/via/keymap.c | 8 ++++---- 6 files changed, 24 insertions(+), 18 deletions(-) diff --git a/keyboards/kbdfans/baguette66/rgb/keyboard.json b/keyboards/kbdfans/baguette66/rgb/keyboard.json index e72d56e6f96..61579473cd9 100644 --- a/keyboards/kbdfans/baguette66/rgb/keyboard.json +++ b/keyboards/kbdfans/baguette66/rgb/keyboard.json @@ -80,8 +80,11 @@ "diode_direction": "COL2ROW", "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/kbdfans/baguette66/rgb/keymaps/default/keymap.c b/keyboards/kbdfans/baguette66/rgb/keymaps/default/keymap.c index cc93228ad02..a420edfa7b2 100644 --- a/keyboards/kbdfans/baguette66/rgb/keymaps/default/keymap.c +++ b/keyboards/kbdfans/baguette66/rgb/keymaps/default/keymap.c @@ -17,25 +17,25 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( + [0] = LAYOUT( KC_ESC, 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_BSPC, KC_GRAVE, KC_HOME, 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_END, 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_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_DEL, KC_UP, KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT,KC_DOWN, KC_RIGHT), - [1] = LAYOUT_all( + [1] = LAYOUT( QK_GESC, 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_DEL, KC_GRAVE, KC_PGUP, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN, KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), - [2] = LAYOUT_all( + [2] = LAYOUT( QK_GESC, 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_DEL, KC_GRAVE, KC_PGUP, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN, KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), - [3] = LAYOUT_all( + [3] = LAYOUT( QK_GESC, 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_DEL, KC_GRAVE, KC_PGUP, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN, KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, diff --git a/keyboards/kbdfans/baguette66/rgb/keymaps/via/keymap.c b/keyboards/kbdfans/baguette66/rgb/keymaps/via/keymap.c index eefda15f523..267ada99c9b 100644 --- a/keyboards/kbdfans/baguette66/rgb/keymaps/via/keymap.c +++ b/keyboards/kbdfans/baguette66/rgb/keymaps/via/keymap.c @@ -17,25 +17,25 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( + [0] = LAYOUT( KC_ESC, 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_BSPC, KC_GRAVE, KC_HOME, 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_END, 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_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_DEL, KC_UP, KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT,KC_DOWN, KC_RIGHT), - [1] = LAYOUT_all( + [1] = LAYOUT( QK_GESC, 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_DEL, KC_GRAVE, KC_PGUP, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN, KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), - [2] = LAYOUT_all( + [2] = LAYOUT( QK_GESC, 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_DEL, KC_GRAVE, KC_PGUP, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN, KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), - [3] = LAYOUT_all( + [3] = LAYOUT( QK_GESC, 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_DEL, KC_GRAVE, KC_PGUP, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI,RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN, KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, diff --git a/keyboards/kbdfans/baguette66/soldered/keyboard.json b/keyboards/kbdfans/baguette66/soldered/keyboard.json index da473daf915..f9c87dad06e 100644 --- a/keyboards/kbdfans/baguette66/soldered/keyboard.json +++ b/keyboards/kbdfans/baguette66/soldered/keyboard.json @@ -26,8 +26,11 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/kbdfans/baguette66/soldered/keymaps/default/keymap.c b/keyboards/kbdfans/baguette66/soldered/keymaps/default/keymap.c index 87879b109a9..3d5b45ebab6 100644 --- a/keyboards/kbdfans/baguette66/soldered/keymaps/default/keymap.c +++ b/keyboards/kbdfans/baguette66/soldered/keymaps/default/keymap.c @@ -17,25 +17,25 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( + [0] = LAYOUT( KC_ESC, 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_BSPC, KC_GRAVE, KC_HOME, 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_END, 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_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_DEL, KC_UP, KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT,KC_DOWN, KC_RIGHT), - [1] = LAYOUT_all( + [1] = LAYOUT( QK_GESC, 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_DEL, KC_GRAVE, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), - [2] = LAYOUT_all( + [2] = LAYOUT( QK_GESC, 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_DEL, KC_GRAVE, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), - [3] = LAYOUT_all( + [3] = LAYOUT( QK_GESC, 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_DEL, KC_GRAVE, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, diff --git a/keyboards/kbdfans/baguette66/soldered/keymaps/via/keymap.c b/keyboards/kbdfans/baguette66/soldered/keymaps/via/keymap.c index 87879b109a9..3d5b45ebab6 100644 --- a/keyboards/kbdfans/baguette66/soldered/keymaps/via/keymap.c +++ b/keyboards/kbdfans/baguette66/soldered/keymaps/via/keymap.c @@ -17,25 +17,25 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( + [0] = LAYOUT( KC_ESC, 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_BSPC, KC_GRAVE, KC_HOME, 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_END, 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_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_DEL, KC_UP, KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT,KC_DOWN, KC_RIGHT), - [1] = LAYOUT_all( + [1] = LAYOUT( QK_GESC, 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_DEL, KC_GRAVE, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), - [2] = LAYOUT_all( + [2] = LAYOUT( QK_GESC, 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_DEL, KC_GRAVE, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT), - [3] = LAYOUT_all( + [3] = LAYOUT( QK_GESC, 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_DEL, KC_GRAVE, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, From af72a58c8f932dc55401bb1197a466b615f660e3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 23:25:48 +0100 Subject: [PATCH 25/54] Bump JamesIves/github-pages-deploy-action from 4.6.1 to 4.6.3 (#24063) Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.6.1 to 4.6.3. - [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases) - [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/v4.6.1...v4.6.3) --- updated-dependencies: - dependency-name: JamesIves/github-pages-deploy-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 0fdd2c7b37d..7f588fda608 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -56,7 +56,7 @@ jobs: - name: Deploy if: ${{ github.event_name == 'push' && github.repository == 'qmk/qmk_firmware' }} - uses: JamesIves/github-pages-deploy-action@v4.6.1 + uses: JamesIves/github-pages-deploy-action@v4.6.3 with: token: ${{ secrets.GITHUB_TOKEN }} branch: gh-pages From be967d42d27b7391e544bf5499caea2026d4cf27 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 6 Jul 2024 08:41:32 +1000 Subject: [PATCH 26/54] `playkbtw/pk64rgb`: move RGB Matrix LED config to data driven (#24062) --- keyboards/playkbtw/pk64rgb/config.h | 2 - keyboards/playkbtw/pk64rgb/keyboard.json | 72 +++++++++++++++++++++++- keyboards/playkbtw/pk64rgb/pk64rgb.c | 20 ------- 3 files changed, 71 insertions(+), 23 deletions(-) diff --git a/keyboards/playkbtw/pk64rgb/config.h b/keyboards/playkbtw/pk64rgb/config.h index 76f02334b4d..e234999f2fc 100644 --- a/keyboards/playkbtw/pk64rgb/config.h +++ b/keyboards/playkbtw/pk64rgb/config.h @@ -17,5 +17,3 @@ #pragma once #define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND - -#define RGB_MATRIX_LED_COUNT 64 diff --git a/keyboards/playkbtw/pk64rgb/keyboard.json b/keyboards/playkbtw/pk64rgb/keyboard.json index 1f200e2089f..81ac5be5963 100644 --- a/keyboards/playkbtw/pk64rgb/keyboard.json +++ b/keyboards/playkbtw/pk64rgb/keyboard.json @@ -12,7 +12,77 @@ "driver": "is31fl3733", "led_flush_limit": 26, "led_process_limit": 20, - "max_brightness": 160 + "max_brightness": 160, + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, + {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, + {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4}, + {"matrix": [0, 9], "x": 144, "y": 0, "flags": 4}, + {"matrix": [0, 10], "x": 160, "y": 0, "flags": 4}, + {"matrix": [0, 11], "x": 176, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 192, "y": 0, "flags": 4}, + {"matrix": [0, 13], "x": 216, "y": 0, "flags": 1}, + + {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, + {"matrix": [1, 1], "x": 24, "y": 16, "flags": 4}, + {"matrix": [1, 2], "x": 40, "y": 16, "flags": 4}, + {"matrix": [1, 3], "x": 56, "y": 16, "flags": 4}, + {"matrix": [1, 4], "x": 72, "y": 16, "flags": 4}, + {"matrix": [1, 5], "x": 88, "y": 16, "flags": 4}, + {"matrix": [1, 6], "x": 104, "y": 16, "flags": 4}, + {"matrix": [1, 7], "x": 120, "y": 16, "flags": 4}, + {"matrix": [1, 8], "x": 136, "y": 16, "flags": 4}, + {"matrix": [1, 9], "x": 152, "y": 16, "flags": 4}, + {"matrix": [1, 10], "x": 168, "y": 16, "flags": 4}, + {"matrix": [1, 11], "x": 184, "y": 16, "flags": 4}, + {"matrix": [1, 12], "x": 200, "y": 16, "flags": 4}, + {"matrix": [1, 13], "x": 220, "y": 16, "flags": 1}, + + {"matrix": [2, 0], "x": 6, "y": 32, "flags": 1}, + {"matrix": [2, 1], "x": 28, "y": 32, "flags": 4}, + {"matrix": [2, 2], "x": 44, "y": 32, "flags": 4}, + {"matrix": [2, 3], "x": 60, "y": 32, "flags": 4}, + {"matrix": [2, 4], "x": 76, "y": 32, "flags": 4}, + {"matrix": [2, 5], "x": 92, "y": 32, "flags": 4}, + {"matrix": [2, 6], "x": 108, "y": 32, "flags": 4}, + {"matrix": [2, 7], "x": 124, "y": 32, "flags": 4}, + {"matrix": [2, 8], "x": 140, "y": 32, "flags": 4}, + {"matrix": [2, 9], "x": 156, "y": 32, "flags": 4}, + {"matrix": [2, 10], "x": 172, "y": 32, "flags": 4}, + {"matrix": [2, 11], "x": 188, "y": 32, "flags": 4}, + {"matrix": [2, 12], "x": 214, "y": 32, "flags": 1}, + + {"matrix": [3, 0], "x": 8, "y": 48, "flags": 1}, + {"matrix": [3, 1], "x": 32, "y": 48, "flags": 4}, + {"matrix": [3, 2], "x": 48, "y": 48, "flags": 4}, + {"matrix": [3, 3], "x": 64, "y": 48, "flags": 4}, + {"matrix": [3, 4], "x": 80, "y": 48, "flags": 4}, + {"matrix": [3, 5], "x": 96, "y": 48, "flags": 4}, + {"matrix": [3, 6], "x": 112, "y": 48, "flags": 4}, + {"matrix": [3, 7], "x": 128, "y": 48, "flags": 4}, + {"matrix": [3, 8], "x": 144, "y": 48, "flags": 4}, + {"matrix": [3, 9], "x": 160, "y": 48, "flags": 4}, + {"matrix": [3, 10], "x": 176, "y": 48, "flags": 4}, + {"matrix": [3, 11], "x": 192, "y": 48, "flags": 4}, + {"matrix": [3, 12], "x": 208, "y": 48, "flags": 4}, + {"matrix": [3, 13], "x": 224, "y": 48, "flags": 1}, + + {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, + {"matrix": [4, 1], "x": 22, "y": 64, "flags": 1}, + {"matrix": [4, 2], "x": 42, "y": 64, "flags": 1}, + {"matrix": [4, 5], "x": 102, "y": 64, "flags": 4}, + {"matrix": [4, 9], "x": 160, "y": 64, "flags": 1}, + {"matrix": [4, 10], "x": 176, "y": 64, "flags": 1}, + {"matrix": [4, 11], "x": 192, "y": 64, "flags": 4}, + {"matrix": [4, 12], "x": 208, "y": 64, "flags": 4}, + {"matrix": [4, 13], "x": 224, "y": 64, "flags": 4} + ] }, "build": { "lto": true diff --git a/keyboards/playkbtw/pk64rgb/pk64rgb.c b/keyboards/playkbtw/pk64rgb/pk64rgb.c index b745c82b9d5..e8ac5eb4e25 100644 --- a/keyboards/playkbtw/pk64rgb/pk64rgb.c +++ b/keyboards/playkbtw/pk64rgb/pk64rgb.c @@ -94,24 +94,4 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { {0, SW10_CS10, SW11_CS10, SW12_CS10}, {0, SW10_CS15, SW11_CS15, SW12_CS15} }; - -led_config_t g_led_config = {{ - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 }, - { 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27 }, - { 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40}, - { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54 }, - { 55, 56, 57, 58, 59, 60, 61, 62, 63} -}, { - { 0, 0 }, { 16, 0 }, { 32, 0 }, { 48, 0 }, { 64, 0 }, { 80, 0 }, { 96, 0 }, { 112, 0 }, { 128, 0 }, { 144, 0 }, { 160, 0 }, { 176, 0 }, { 192, 0 }, { 216, 0 }, - { 4, 16 }, { 18, 16 }, { 34, 16 }, { 50, 16 }, { 66, 16 }, { 82, 16 }, { 98, 16 }, { 114, 16 }, { 130, 16 }, { 146, 16 }, { 162, 16 }, { 178, 16 }, { 194, 16 }, { 220, 16 }, - { 6, 32 }, { 20, 32 }, { 36, 32 }, { 52, 32 }, { 68, 32 }, { 84, 32 }, { 100, 32 }, { 116, 32 }, { 132, 32 }, { 148, 32 }, { 164, 32 }, { 180, 32 }, { 212, 32 }, - { 9, 48 }, { 27, 48 }, { 43, 48 }, { 59, 48 }, { 75, 48 }, { 91, 48 }, { 107, 48 }, { 123, 48 }, { 139, 48 }, { 155, 48 }, { 171, 48 }, { 187, 48 }, { 203, 48 }, { 219, 48 }, - { 2, 64 }, { 16, 64 }, { 32, 64 }, { 64, 64 }, { 114, 64 }, { 130, 64 }, { 146, 64 }, { 204, 64 }, { 224, 64 } -}, { - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 1, 1, 4, 1, 1, 4, 4, 4, -}}; #endif \ No newline at end of file From b82f6ac40244269427fe6436bc5e7b1b3c04a9f7 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 6 Jul 2024 11:14:09 +1000 Subject: [PATCH 27/54] [docs] Update RGBLight (Underglow) keycode names (#23999) --- docs/features/encoders.md | 6 ++--- docs/features/rgblight.md | 48 ++++++++++++++++++++------------------- docs/keycodes.md | 43 +++++++++++++++++++---------------- 3 files changed, 51 insertions(+), 46 deletions(-) diff --git a/docs/features/encoders.md b/docs/features/encoders.md index 3d1cac79af7..9157fe67c8b 100644 --- a/docs/features/encoders.md +++ b/docs/features/encoders.md @@ -85,9 +85,9 @@ Your `keymap.c` will then need an encoder mapping defined (for four layers and t #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [0] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) }, - [2] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, - [3] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) }, + [1] = { ENCODER_CCW_CW(UG_HUED, UG_HUEU), ENCODER_CCW_CW(UG_SATD, UG_SATU) }, + [2] = { ENCODER_CCW_CW(UG_VALD, UG_VALU), ENCODER_CCW_CW(UG_SPDD, UG_SPDU) }, + [3] = { ENCODER_CCW_CW(UG_PREV, UG_NEXT), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) }, }; #endif ``` diff --git a/docs/features/rgblight.md b/docs/features/rgblight.md index ece1c104677..794398a0f95 100644 --- a/docs/features/rgblight.md +++ b/docs/features/rgblight.md @@ -59,30 +59,32 @@ Changing the **Value** sets the overall brightness.
## Keycodes -|Key |Aliases |Description | -|-------------------|----------|--------------------------------------------------------------------| -|`RGB_TOG` | |Toggle RGB lighting on or off | -|`RGB_MODE_FORWARD` |`RGB_MOD` |Cycle through modes, reverse direction when Shift is held | -|`RGB_MODE_REVERSE` |`RGB_RMOD`|Cycle through modes in reverse, forward direction when Shift is held| -|`RGB_HUI` | |Increase hue, decrease hue when Shift is held | -|`RGB_HUD` | |Decrease hue, increase hue when Shift is held | -|`RGB_SAI` | |Increase saturation, decrease saturation when Shift is held | -|`RGB_SAD` | |Decrease saturation, increase saturation when Shift is held | -|`RGB_VAI` | |Increase value (brightness), decrease value when Shift is held | -|`RGB_VAD` | |Decrease value (brightness), increase value when Shift is held | -|`RGB_MODE_PLAIN` |`RGB_M_P `|Static (no animation) mode | -|`RGB_MODE_BREATHE` |`RGB_M_B` |Breathing animation mode | -|`RGB_MODE_RAINBOW` |`RGB_M_R` |Rainbow animation mode | -|`RGB_MODE_SWIRL` |`RGB_M_SW`|Swirl animation mode | -|`RGB_MODE_SNAKE` |`RGB_M_SN`|Snake animation mode | -|`RGB_MODE_KNIGHT` |`RGB_M_K` |"Knight Rider" animation mode | -|`RGB_MODE_XMAS` |`RGB_M_X` |Christmas animation mode | -|`RGB_MODE_GRADIENT`|`RGB_M_G` |Static gradient animation mode | -|`RGB_MODE_RGBTEST` |`RGB_M_T` |Red, Green, Blue test animation mode | -|`RGB_MODE_TWINKLE` |`RGB_M_TW`|Twinkle animation mode | +|Key |Aliases |Description | +|------------------------------|----------|---------------------------------------------------------------------| +|`QK_UNDERGLOW_TOGGLE` |`UG_TOGG` |Toggle RGB lighting on or off | +|`QK_UNDERGLOW_MODE_NEXT` |`UG_NEXT` |Cycle through modes, reverse direction when Shift is held | +|`QK_UNDERGLOW_MODE_PREVIOUS` |`UG_PREV` |Cycle through modes in reverse, forward direction when Shift is held | +|`QK_UNDERGLOW_HUE_UP` |`UG_HUEU` |Increase hue, decrease hue when Shift is held | +|`QK_UNDERGLOW_HUE_DOWN` |`UG_HUED` |Decrease hue, increase hue when Shift is held | +|`QK_UNDERGLOW_SATURATION_UP` |`UG_SATU` |Increase saturation, decrease saturation when Shift is held | +|`QK_UNDERGLOW_SATURATION_DOWN`|`UG_SATD` |Decrease saturation, increase saturation when Shift is held | +|`QK_UNDERGLOW_VALUE_UP` |`UG_VALU` |Increase value (brightness), decrease value when Shift is held | +|`QK_UNDERGLOW_VALUE_DOWN` |`UG_VALD` |Decrease value (brightness), increase value when Shift is held | +|`QK_UNDERGLOW_SPEED_UP` |`UG_SPDU` |Increase effect speed (brightness), decrease speed when Shift is held| +|`QK_UNDERGLOW_SPEED_DOWN` |`UG_SPDD` |Decrease effect speed (brightness), increase speed when Shift is held| +|`RGB_MODE_PLAIN` |`RGB_M_P `|Static (no animation) mode (deprecated) | +|`RGB_MODE_BREATHE` |`RGB_M_B` |Breathing animation mode (deprecated) | +|`RGB_MODE_RAINBOW` |`RGB_M_R` |Rainbow animation mode (deprecated) | +|`RGB_MODE_SWIRL` |`RGB_M_SW`|Swirl animation mode (deprecated) | +|`RGB_MODE_SNAKE` |`RGB_M_SN`|Snake animation mode (deprecated) | +|`RGB_MODE_KNIGHT` |`RGB_M_K` |"Knight Rider" animation mode (deprecated) | +|`RGB_MODE_XMAS` |`RGB_M_X` |Christmas animation mode (deprecated) | +|`RGB_MODE_GRADIENT` |`RGB_M_G` |Static gradient animation mode (deprecated) | +|`RGB_MODE_RGBTEST` |`RGB_M_T` |Red, Green, Blue test animation mode (deprecated) | +|`RGB_MODE_TWINKLE` |`RGB_M_TW`|Twinkle animation mode (deprecated) | ::: tip -`RGB_*` keycodes cannot be used with functions like `tap_code16(RGB_HUI)` as they're not USB HID keycodes. If you wish to replicate similar behaviour in custom code within your firmware (e.g. inside `encoder_update_user()` or `process_record_user()`), the equivalent [RGB functions](#functions) should be used instead. +These keycodes cannot be used with functions like `tap_code16()` as they are not USB HID keycodes. If you wish to replicate similar behaviour in custom code within your firmware (e.g. inside `encoder_update_user()` or `process_record_user()`), the equivalent [RGB functions](#functions) should be used instead. ::: @@ -358,7 +360,7 @@ Lighting layers on split keyboards will require layer state synced to the slave ### Overriding RGB Lighting on/off status -Normally lighting layers are not shown when RGB Lighting is disabled (e.g. with `RGB_TOG` keycode). If you would like lighting layers to work even when the RGB Lighting is otherwise off, add `#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF` to your `config.h`. +Normally lighting layers are not shown when RGB Lighting is disabled (e.g. with `UG_TOGG` keycode). If you would like lighting layers to work even when the RGB Lighting is otherwise off, add `#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF` to your `config.h`. ### Retain brightness diff --git a/docs/keycodes.md b/docs/keycodes.md index 4c91d98fa7a..95268952289 100644 --- a/docs/keycodes.md +++ b/docs/keycodes.md @@ -701,26 +701,29 @@ See also: [Dynamic Tapping Term](tap_hold#dynamic-tapping-term) See also: [RGB Lighting](features/rgblight) -|Key |Aliases |Description | -|-------------------|----------|--------------------------------------------------------------------| -|`RGB_TOG` | |Toggle RGB lighting on or off | -|`RGB_MODE_FORWARD` |`RGB_MOD` |Cycle through modes, reverse direction when Shift is held | -|`RGB_MODE_REVERSE` |`RGB_RMOD`|Cycle through modes in reverse, forward direction when Shift is held| -|`RGB_HUI` | |Increase hue, decrease hue when Shift is held | -|`RGB_HUD` | |Decrease hue, increase hue when Shift is held | -|`RGB_SAI` | |Increase saturation, decrease saturation when Shift is held | -|`RGB_SAD` | |Decrease saturation, increase saturation when Shift is held | -|`RGB_VAI` | |Increase value (brightness), decrease value when Shift is held | -|`RGB_VAD` | |Decrease value (brightness), increase value when Shift is held | -|`RGB_MODE_PLAIN` |`RGB_M_P `|Static (no animation) mode | -|`RGB_MODE_BREATHE` |`RGB_M_B` |Breathing animation mode | -|`RGB_MODE_RAINBOW` |`RGB_M_R` |Rainbow animation mode | -|`RGB_MODE_SWIRL` |`RGB_M_SW`|Swirl animation mode | -|`RGB_MODE_SNAKE` |`RGB_M_SN`|Snake animation mode | -|`RGB_MODE_KNIGHT` |`RGB_M_K` |"Knight Rider" animation mode | -|`RGB_MODE_XMAS` |`RGB_M_X` |Christmas animation mode | -|`RGB_MODE_GRADIENT`|`RGB_M_G` |Static gradient animation mode | -|`RGB_MODE_RGBTEST` |`RGB_M_T` |Red,Green,Blue test animation mode | +|Key |Aliases |Description | +|------------------------------|----------|---------------------------------------------------------------------| +|`QK_UNDERGLOW_TOGGLE` |`UG_TOGG` |Toggle RGB lighting on or off | +|`QK_UNDERGLOW_MODE_NEXT` |`UG_NEXT` |Cycle through modes, reverse direction when Shift is held | +|`QK_UNDERGLOW_MODE_PREVIOUS` |`UG_PREV` |Cycle through modes in reverse, forward direction when Shift is held | +|`QK_UNDERGLOW_HUE_UP` |`UG_HUEU` |Increase hue, decrease hue when Shift is held | +|`QK_UNDERGLOW_HUE_DOWN` |`UG_HUED` |Decrease hue, increase hue when Shift is held | +|`QK_UNDERGLOW_SATURATION_UP` |`UG_SATU` |Increase saturation, decrease saturation when Shift is held | +|`QK_UNDERGLOW_SATURATION_DOWN`|`UG_SATD` |Decrease saturation, increase saturation when Shift is held | +|`QK_UNDERGLOW_VALUE_UP` |`UG_VALU` |Increase value (brightness), decrease value when Shift is held | +|`QK_UNDERGLOW_VALUE_DOWN` |`UG_VALD` |Decrease value (brightness), increase value when Shift is held | +|`QK_UNDERGLOW_SPEED_UP` |`UG_SPDU` |Increase effect speed (brightness), decrease speed when Shift is held| +|`QK_UNDERGLOW_SPEED_DOWN` |`UG_SPDD` |Decrease effect speed (brightness), increase speed when Shift is held| +|`RGB_MODE_PLAIN` |`RGB_M_P `|Static (no animation) mode (deprecated) | +|`RGB_MODE_BREATHE` |`RGB_M_B` |Breathing animation mode (deprecated) | +|`RGB_MODE_RAINBOW` |`RGB_M_R` |Rainbow animation mode (deprecated) | +|`RGB_MODE_SWIRL` |`RGB_M_SW`|Swirl animation mode (deprecated) | +|`RGB_MODE_SNAKE` |`RGB_M_SN`|Snake animation mode (deprecated) | +|`RGB_MODE_KNIGHT` |`RGB_M_K` |"Knight Rider" animation mode (deprecated) | +|`RGB_MODE_XMAS` |`RGB_M_X` |Christmas animation mode (deprecated) | +|`RGB_MODE_GRADIENT` |`RGB_M_G` |Static gradient animation mode (deprecated) | +|`RGB_MODE_RGBTEST` |`RGB_M_T` |Red, Green, Blue test animation mode (deprecated) | +|`RGB_MODE_TWINKLE` |`RGB_M_TW`|Twinkle animation mode (deprecated) | ## RGB Matrix Lighting {#rgb-matrix-lighting} From 38f07e1fd27b40c3a66707b2e1478832a4f927cb Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 6 Jul 2024 12:23:54 +1000 Subject: [PATCH 28/54] `handwired/swiftrax/bumblebee`: fix layout name (#24064) --- .../handwired/swiftrax/bumblebee/keyboard.json | 5 ++++- .../swiftrax/bumblebee/keymaps/default/keymap.c | 6 +++--- .../swiftrax/bumblebee/keymaps/via/keymap.c | 14 ++++---------- 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/keyboards/handwired/swiftrax/bumblebee/keyboard.json b/keyboards/handwired/swiftrax/bumblebee/keyboard.json index 9a68fe1b4fe..6dec52b59a4 100644 --- a/keyboards/handwired/swiftrax/bumblebee/keyboard.json +++ b/keyboards/handwired/swiftrax/bumblebee/keyboard.json @@ -36,8 +36,11 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [1, 0], "x": 1, "y": 0, "w": 1.5}, diff --git a/keyboards/handwired/swiftrax/bumblebee/keymaps/default/keymap.c b/keyboards/handwired/swiftrax/bumblebee/keymaps/default/keymap.c index fef24f402fa..b3976f33db5 100644 --- a/keyboards/handwired/swiftrax/bumblebee/keymaps/default/keymap.c +++ b/keyboards/handwired/swiftrax/bumblebee/keymaps/default/keymap.c @@ -26,19 +26,19 @@ along with this program. If not, see . #define DRV2605L_V_PEAK 5 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( + [0] = LAYOUT( KC_ESC , 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_BSPC, KC_DEL , KC_F13 , 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_ENT , KC_HOME, KC_F14 , KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_END , KC_F15 , KC_LCTL, KC_LALT, KC_SPC , KC_MUTE, MO(1) , MO(2) , KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT_all( + [1] = LAYOUT( _______, _______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [2] = LAYOUT_all( + [2] = LAYOUT( _______, _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/handwired/swiftrax/bumblebee/keymaps/via/keymap.c b/keyboards/handwired/swiftrax/bumblebee/keymaps/via/keymap.c index 12791a69dd6..e25de6d7bd2 100644 --- a/keyboards/handwired/swiftrax/bumblebee/keymaps/via/keymap.c +++ b/keyboards/handwired/swiftrax/bumblebee/keymaps/via/keymap.c @@ -26,28 +26,22 @@ along with this program. If not, see . #define DRV2605L_V_PEAK 5 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( + [0] = LAYOUT( KC_ESC , 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_BSPC, KC_DEL , KC_F13 , 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_ENT , KC_HOME, KC_F14 , KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_END , KC_F15 , KC_LCTL, KC_LALT, KC_SPC , KC_MUTE, MO(1) , MO(2) , KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT_all( + [1] = LAYOUT( _______, _______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [2] = LAYOUT_all( + [2] = LAYOUT( _______, _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [3] = LAYOUT_all( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), + ) }; From 300505bd9eab51585e36e82a1f3f58e9dbd76d0e Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Sat, 6 Jul 2024 16:08:55 +1000 Subject: [PATCH 29/54] [docs] Fixup home link. (#24068) --- builddefs/docsgen/.vitepress/config.mts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/builddefs/docsgen/.vitepress/config.mts b/builddefs/docsgen/.vitepress/config.mts index 289e08ef919..54ecae2e86b 100644 --- a/builddefs/docsgen/.vitepress/config.mts +++ b/builddefs/docsgen/.vitepress/config.mts @@ -33,7 +33,7 @@ export default defineConfig(({ mode }) => { }, title: 'QMK Firmware', - nav: [{ text: "Home", link: "./" }], + nav: [{ text: "Home", link: "/" }], search: { provider: "local", From 4fbb3956025627250e7a0d2439266006ebf3efc4 Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 6 Jul 2024 18:21:11 +1000 Subject: [PATCH 30/54] `ano`: fix layout name (#24067) --- keyboards/ano/keyboard.json | 5 ++++- keyboards/ano/keymaps/default/keymap.c | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/keyboards/ano/keyboard.json b/keyboards/ano/keyboard.json index e676ce72707..9c46895f1af 100644 --- a/keyboards/ano/keyboard.json +++ b/keyboards/ano/keyboard.json @@ -36,8 +36,11 @@ }, "processor": "STM32F303", "bootloader": "stm32-dfu", + "layout_aliases": { + "LAYOUT_all": "LAYOUT" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, diff --git a/keyboards/ano/keymaps/default/keymap.c b/keyboards/ano/keymaps/default/keymap.c index 3e9907fa917..5832f764401 100644 --- a/keyboards/ano/keymaps/default/keymap.c +++ b/keyboards/ano/keymaps/default/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( + [0] = LAYOUT( KC_ESC, 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_DEL, KC_MEDIA_PLAY_PAUSE, KC_GRV, 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_BSPC, KC_NUM, KC_PSLS, KC_PAST, KC_B, 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_P7, KC_P8, KC_P9, KC_PMNS, @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT ), - [1] = LAYOUT_all( + [1] = LAYOUT( 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, QK_BOOT, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, From 67d512e639806b24e68cb35170789f614e779638 Mon Sep 17 00:00:00 2001 From: Lex Brugman Date: Sun, 7 Jul 2024 01:58:04 +0200 Subject: [PATCH 31/54] Fix enter for two ANSI layouts on the TKD Cycle7 (#24070) --- keyboards/vertex/cycle7/keyboard.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/vertex/cycle7/keyboard.json b/keyboards/vertex/cycle7/keyboard.json index d9b2f301684..9d55b63fecd 100644 --- a/keyboards/vertex/cycle7/keyboard.json +++ b/keyboards/vertex/cycle7/keyboard.json @@ -252,7 +252,7 @@ {"matrix": [2, 9], "x": 9.75, "y": 2}, {"matrix": [2, 10], "x": 10.75, "y": 2}, {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, {"matrix": [3, 2], "x": 2.25, "y": 3}, {"matrix": [3, 3], "x": 3.25, "y": 3}, @@ -557,7 +557,7 @@ {"matrix": [2, 9], "x": 9.75, "y": 2}, {"matrix": [2, 10], "x": 10.75, "y": 2}, {"matrix": [2, 11], "x": 11.75, "y": 2}, - {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, {"matrix": [3, 2], "x": 2.25, "y": 3}, {"matrix": [3, 3], "x": 3.25, "y": 3}, From b23ddb9ad8b55717cc750f0b146fb5bbc503340b Mon Sep 17 00:00:00 2001 From: Less/Rikki <86894501+lesshonor@users.noreply.github.com> Date: Sun, 7 Jul 2024 15:09:48 -0400 Subject: [PATCH 32/54] [keyboard] mechwild/bbpad (#24072) * Initial bbpad commit * refactor: bbpad --------- Co-authored-by: Kyle McCreery --- keyboards/mechwild/bbpad/config.h | 10 + keyboards/mechwild/bbpad/f401/keyboard.json | 3 + keyboards/mechwild/bbpad/f411/keyboard.json | 3 + keyboards/mechwild/bbpad/halconf.h | 8 + keyboards/mechwild/bbpad/info.json | 195 ++++++++++++++++++ .../bbpad/keymaps/default/keymap.json | 29 +++ keyboards/mechwild/bbpad/mcuconf.h | 10 + keyboards/mechwild/bbpad/readme.md | 23 +++ 8 files changed, 281 insertions(+) create mode 100644 keyboards/mechwild/bbpad/config.h create mode 100644 keyboards/mechwild/bbpad/f401/keyboard.json create mode 100644 keyboards/mechwild/bbpad/f411/keyboard.json create mode 100644 keyboards/mechwild/bbpad/halconf.h create mode 100644 keyboards/mechwild/bbpad/info.json create mode 100644 keyboards/mechwild/bbpad/keymaps/default/keymap.json create mode 100644 keyboards/mechwild/bbpad/mcuconf.h create mode 100644 keyboards/mechwild/bbpad/readme.md diff --git a/keyboards/mechwild/bbpad/config.h b/keyboards/mechwild/bbpad/config.h new file mode 100644 index 00000000000..a0dd1826eb6 --- /dev/null +++ b/keyboards/mechwild/bbpad/config.h @@ -0,0 +1,10 @@ +// Copyright 2024 QMK Contributors (@qmk) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define WS2812_PWM_DRIVER PWMD4 +#define WS2812_PWM_CHANNEL 1 +#define WS2812_PWM_PAL_MODE 2 +#define WS2812_DMA_STREAM STM32_DMA1_STREAM6 +#define WS2812_DMA_CHANNEL 2 diff --git a/keyboards/mechwild/bbpad/f401/keyboard.json b/keyboards/mechwild/bbpad/f401/keyboard.json new file mode 100644 index 00000000000..797e9900595 --- /dev/null +++ b/keyboards/mechwild/bbpad/f401/keyboard.json @@ -0,0 +1,3 @@ +{ + "development_board": "blackpill_f401" +} diff --git a/keyboards/mechwild/bbpad/f411/keyboard.json b/keyboards/mechwild/bbpad/f411/keyboard.json new file mode 100644 index 00000000000..a41c5f4dd14 --- /dev/null +++ b/keyboards/mechwild/bbpad/f411/keyboard.json @@ -0,0 +1,3 @@ +{ + "development_board": "blackpill_f411" +} diff --git a/keyboards/mechwild/bbpad/halconf.h b/keyboards/mechwild/bbpad/halconf.h new file mode 100644 index 00000000000..db4caea1d05 --- /dev/null +++ b/keyboards/mechwild/bbpad/halconf.h @@ -0,0 +1,8 @@ +// Copyright 2023 QMK Contributors (@qmk) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/mechwild/bbpad/info.json b/keyboards/mechwild/bbpad/info.json new file mode 100644 index 00000000000..73a383f311b --- /dev/null +++ b/keyboards/mechwild/bbpad/info.json @@ -0,0 +1,195 @@ +{ + "manufacturer": "MechWild", + "keyboard_name": "BBPad", + "maintainer": "kylemccreery", + "bootloader_instructions": "Hold down the BOOT button, then tap the NRST button on the BlackPill. Avoid touching the A11 and A12 pins.", + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "B1", "pin_b": "B0"} + ] + }, + "features": { + "bootmagic": true, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["A4", "A3", "A2", "A1", "C15"], + "rows": ["B12", "B13", "B14", "B15", "A8"] + }, + "rgb_matrix": { + "animations": { + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_sat": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "band_val": true, + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "cycle_up_down": true, + "digital_rain": true, + "dual_beacon": true, + "flower_blooming": true, + "gradient_left_right": true, + "gradient_up_down": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "jellybean_raindrops": true, + "multisplash": true, + "pixel_flow": true, + "pixel_fractal": true, + "pixel_rain": true, + "rainbow_beacon": true, + "rainbow_moving_chevron": true, + "rainbow_pinwheels": true, + "raindrops": true, + "riverflow": true, + "solid_multisplash": true, + "solid_reactive": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_multinexus": true, + "solid_reactive_multiwide": true, + "solid_reactive_nexus": true, + "solid_reactive_simple": true, + "solid_reactive_wide": true, + "solid_splash": true, + "splash": true, + "starlight": true, + "starlight_dual_hue": true, + "starlight_dual_sat": true, + "typing_heatmap": true + }, + "center_point": [112, 75], + "driver": "ws2812", + "layout": [ + {"x": 195, "y": 53, "flags": 2}, + {"x": 195, "y": 97, "flags": 2}, + {"x": 142, "y": 144, "flags": 2}, + {"x": 74, "y": 144, "flags": 2}, + {"x": 8, "y": 97, "flags": 2}, + {"x": 8, "y": 53, "flags": 2}, + {"x": 74, "y": 9, "flags": 2}, + {"x": 142, "y": 9, "flags": 2}, + {"matrix": [0, 0], "x": 147, "y": 24, "flags": 4}, + {"matrix": [0, 1], "x": 147, "y": 58, "flags": 4}, + {"matrix": [0, 2], "x": 147, "y": 90, "flags": 4}, + {"matrix": [0, 3], "x": 147, "y": 124, "flags": 4}, + {"matrix": [1, 3], "x": 115, "y": 124, "flags": 4}, + {"matrix": [1, 2], "x": 115, "y": 90, "flags": 4}, + {"matrix": [1, 1], "x": 115, "y": 58, "flags": 4}, + {"matrix": [1, 0], "x": 115, "y": 24, "flags": 4}, + {"matrix": [2, 0], "x": 83, "y": 24, "flags": 4}, + {"matrix": [2, 1], "x": 83, "y": 58, "flags": 4}, + {"matrix": [2, 2], "x": 83, "y": 90, "flags": 4}, + {"matrix": [2, 3], "x": 83, "y": 124, "flags": 4}, + {"matrix": [3, 3], "x": 51, "y": 124, "flags": 4}, + {"matrix": [3, 2], "x": 51, "y": 90, "flags": 4}, + {"matrix": [3, 1], "x": 51, "y": 58, "flags": 4}, + {"matrix": [3, 0], "x": 51, "y": 24, "flags": 4}, + {"matrix": [4, 0], "x": 17, "y": 31, "flags": 4}, + {"matrix": [4, 1], "x": 17, "y": 53, "flags": 4}, + {"matrix": [4, 2], "x": 17, "y": 90, "flags": 4}, + {"matrix": [4, 3], "x": 17, "y": 124, "flags": 4} + ], + "max_brightness": 120 + }, + "url": "https://mechwild.com/product/bbpad/", + "usb": { + "device_version": "1.0.0", + "pid": "0x1713", + "vid": "0x6D77" + }, + "ws2812": { + "driver": "pwm", + "pin": "B6" + }, + "layout_aliases": { + "LAYOUT": "LAYOUT_vert" + }, + "layouts": { + "LAYOUT_horiz": { + "layout": [ + {"matrix": [4, 0], "x": 0, "y": 0}, + {"matrix": [3, 0], "x": 1, "y": 0}, + {"matrix": [2, 0], "x": 2, "y": 0}, + {"matrix": [1, 0], "x": 3, "y": 0}, + {"matrix": [0, 0], "x": 4, "y": 0}, + {"matrix": [4, 1], "x": 0, "y": 1}, + {"matrix": [3, 1], "x": 1, "y": 1}, + {"matrix": [2, 1], "x": 2, "y": 1}, + {"matrix": [1, 1], "x": 3, "y": 1}, + {"matrix": [0, 1], "x": 4, "y": 1}, + {"matrix": [4, 2], "x": 0, "y": 2}, + {"matrix": [3, 2], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [1, 2], "x": 3, "y": 2}, + {"matrix": [0, 2], "x": 4, "y": 2}, + {"matrix": [4, 3], "x": 0, "y": 3}, + {"matrix": [3, 3], "x": 1, "y": 3}, + {"matrix": [2, 3], "x": 2, "y": 3}, + {"matrix": [1, 3], "x": 3, "y": 3}, + {"matrix": [0, 3], "x": 4, "y": 3}, + {"matrix": [0, 4], "x": 5, "y": 3, "encoder": 0} + ] + }, + "LAYOUT_numpad": { + "layout": [ + {"matrix": [0, 4], "x": 3, "y": 0, "encoder": 0}, + {"matrix": [0, 0], "x": 0, "y": 1}, + {"matrix": [0, 1], "x": 1, "y": 1}, + {"matrix": [0, 2], "x": 2, "y": 1}, + {"matrix": [0, 3], "x": 3, "y": 1}, + {"matrix": [1, 0], "x": 0, "y": 2}, + {"matrix": [1, 1], "x": 1, "y": 2}, + {"matrix": [1, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2, "h": 2}, + {"matrix": [2, 0], "x": 0, "y": 3}, + {"matrix": [2, 1], "x": 1, "y": 3}, + {"matrix": [2, 2], "x": 2, "y": 3}, + {"matrix": [3, 0], "x": 0, "y": 4}, + {"matrix": [3, 1], "x": 1, "y": 4}, + {"matrix": [3, 2], "x": 2, "y": 4}, + {"matrix": [4, 3], "x": 3, "y": 4, "h": 2}, + {"matrix": [4, 0], "x": 0, "y": 5, "w": 2}, + {"matrix": [4, 2], "x": 2, "y": 5} + ] + }, + "LAYOUT_vert": { + "layout": [ + {"matrix": [0, 4], "x": 3, "y": 0, "encoder": 0}, + {"matrix": [0, 0], "x": 0, "y": 1}, + {"matrix": [0, 1], "x": 1, "y": 1}, + {"matrix": [0, 2], "x": 2, "y": 1}, + {"matrix": [0, 3], "x": 3, "y": 1}, + {"matrix": [1, 0], "x": 0, "y": 2}, + {"matrix": [1, 1], "x": 1, "y": 2}, + {"matrix": [1, 2], "x": 2, "y": 2}, + {"matrix": [1, 3], "x": 3, "y": 2}, + {"matrix": [2, 0], "x": 0, "y": 3}, + {"matrix": [2, 1], "x": 1, "y": 3}, + {"matrix": [2, 2], "x": 2, "y": 3}, + {"matrix": [2, 3], "x": 3, "y": 3}, + {"matrix": [3, 0], "x": 0, "y": 4}, + {"matrix": [3, 1], "x": 1, "y": 4}, + {"matrix": [3, 2], "x": 2, "y": 4}, + {"matrix": [3, 3], "x": 3, "y": 4}, + {"matrix": [4, 0], "x": 0, "y": 5}, + {"matrix": [4, 1], "x": 1, "y": 5}, + {"matrix": [4, 2], "x": 2, "y": 5}, + {"matrix": [4, 3], "x": 3, "y": 5} + ] + } + } +} diff --git a/keyboards/mechwild/bbpad/keymaps/default/keymap.json b/keyboards/mechwild/bbpad/keymaps/default/keymap.json new file mode 100644 index 00000000000..bffab8d66e7 --- /dev/null +++ b/keyboards/mechwild/bbpad/keymaps/default/keymap.json @@ -0,0 +1,29 @@ +{ + "keyboard": "mechwild/bbpad", + "keymap": "default", + "version": 1, + "layout": "LAYOUT_horiz", + "layers": [ + [ + "KC_P7", "KC_P8", "KC_P9", "KC_PSLS", "KC_CALC", + "KC_P4", "KC_P5", "KC_P6", "KC_PAST", "TG(1)", + "KC_P1", "KC_P2", "KC_P3", "KC_PPLS", "KC_BSPC", + "KC_P0", "KC_PDOT", "KC_NUM", "KC_PMNS", "KC_PENT", "KC_MUTE" + ], + [ + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "RGB_RMOD", "KC_TRNS", "RGB_MOD", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_NUM", "RGB_TOG" + ] + ], + "config": { + "features": { + "encoder_map": true + } + }, + "encoders": [ + [{"ccw": "KC_VOLD", "cw": "KC_VOLU"}], + [{"ccw": "RGB_VAD", "cw": "RGB_VAI"}] + ] +} diff --git a/keyboards/mechwild/bbpad/mcuconf.h b/keyboards/mechwild/bbpad/mcuconf.h new file mode 100644 index 00000000000..ea8856635de --- /dev/null +++ b/keyboards/mechwild/bbpad/mcuconf.h @@ -0,0 +1,10 @@ +// Copyright 2023 QMK Contributors (@qmk) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +// WS2812 +#undef STM32_PWM_USE_TIM4 +#define STM32_PWM_USE_TIM4 TRUE diff --git a/keyboards/mechwild/bbpad/readme.md b/keyboards/mechwild/bbpad/readme.md new file mode 100644 index 00000000000..5655bc2ddea --- /dev/null +++ b/keyboards/mechwild/bbpad/readme.md @@ -0,0 +1,23 @@ +# BBPad + +![BBPad](https://i.imgur.com/FTrK1TC.png) + +A completely normal BlackPill-powered DIY numpad kit. + +The `f401` version is the standard for this kit, using an STM32F401 BlackPill. The `f411` version will not run on an STM32F401 BlackPill; if in doubt, use `f401`. + +* Keyboard Maintainer: [Kyle McCreery](https://github.com/kylemccreery) +* Hardware Supported: BBPad 1.0 +* Hardware Availability: [BBPad on MechWild](https://mechwild.com/product/bbpad/) + +Make example for this keyboard (after setting up your build environment): + + make mechwild/bbpad/f401:default + make mechwild/bbpad/f411:default + +Flashing example for this keyboard: + + make mechwild/bbpad/f401:default:flash + make mechwild/bbpad/f411:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). From 8336b5c72f85ff89e20148930d2746d3c373404c Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 8 Jul 2024 15:56:57 +1000 Subject: [PATCH 33/54] `ash1800`: add additional layouts (#24065) --- keyboards/ash1800/keyboard.json | 492 ++++++++++++++++++++++++++++ keyboards/ash1800/matrix_diagram.md | 26 ++ 2 files changed, 518 insertions(+) create mode 100644 keyboards/ash1800/matrix_diagram.md diff --git a/keyboards/ash1800/keyboard.json b/keyboards/ash1800/keyboard.json index c2244a7ad70..7156172173d 100644 --- a/keyboards/ash1800/keyboard.json +++ b/keyboards/ash1800/keyboard.json @@ -155,6 +155,498 @@ {"matrix": [11, 8], "x": 14.25, "y": 6.25}, {"matrix": [11, 9], "x": 15.25, "y": 6.25}, + {"matrix": [11, 5], "x": 16.5, "y": 6}, + {"matrix": [11, 6], "x": 17.5, "y": 6} + ] + }, + "LAYOUT_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [6, 0], "x": 4.25, "y": 0}, + + {"matrix": [6, 1], "x": 5.5, "y": 0}, + {"matrix": [6, 2], "x": 6.5, "y": 0}, + {"matrix": [6, 3], "x": 7.5, "y": 0}, + {"matrix": [0, 4], "x": 8.5, "y": 0}, + + {"matrix": [0, 5], "x": 9.75, "y": 0}, + {"matrix": [0, 6], "x": 10.75, "y": 0}, + {"matrix": [0, 7], "x": 11.75, "y": 0}, + {"matrix": [0, 8], "x": 12.75, "y": 0}, + + {"matrix": [5, 4], "x": 15.5, "y": 0}, + {"matrix": [5, 5], "x": 16.5, "y": 0}, + {"matrix": [5, 6], "x": 17.5, "y": 0}, + {"matrix": [5, 7], "x": 18.5, "y": 0}, + + {"matrix": [6, 4], "x": 15.5, "y": 1}, + {"matrix": [6, 5], "x": 16.5, "y": 1}, + {"matrix": [6, 6], "x": 17.5, "y": 1}, + {"matrix": [6, 7], "x": 18.5, "y": 1}, + + {"matrix": [1, 0], "x": 0, "y": 2}, + {"matrix": [1, 1], "x": 1, "y": 2}, + {"matrix": [1, 2], "x": 2, "y": 2}, + {"matrix": [1, 3], "x": 3, "y": 2}, + {"matrix": [7, 0], "x": 4, "y": 2}, + {"matrix": [7, 1], "x": 5, "y": 2}, + {"matrix": [7, 2], "x": 6, "y": 2}, + {"matrix": [7, 3], "x": 7, "y": 2}, + {"matrix": [1, 4], "x": 8, "y": 2}, + {"matrix": [1, 5], "x": 9, "y": 2}, + {"matrix": [1, 6], "x": 10, "y": 2}, + {"matrix": [1, 7], "x": 11, "y": 2}, + {"matrix": [1, 8], "x": 12, "y": 2}, + {"matrix": [1, 9], "x": 13, "y": 2, "w": 2}, + + {"matrix": [7, 4], "x": 15.5, "y": 2}, + {"matrix": [7, 5], "x": 16.5, "y": 2}, + {"matrix": [7, 6], "x": 17.5, "y": 2}, + {"matrix": [7, 7], "x": 18.5, "y": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 3}, + {"matrix": [2, 2], "x": 2.5, "y": 3}, + {"matrix": [2, 3], "x": 3.5, "y": 3}, + {"matrix": [8, 0], "x": 4.5, "y": 3}, + {"matrix": [8, 1], "x": 5.5, "y": 3}, + {"matrix": [8, 2], "x": 6.5, "y": 3}, + {"matrix": [8, 3], "x": 7.5, "y": 3}, + {"matrix": [2, 4], "x": 8.5, "y": 3}, + {"matrix": [2, 5], "x": 9.5, "y": 3}, + {"matrix": [2, 6], "x": 10.5, "y": 3}, + {"matrix": [2, 7], "x": 11.5, "y": 3}, + {"matrix": [2, 8], "x": 12.5, "y": 3}, + {"matrix": [2, 9], "x": 13.5, "y": 3, "w": 1.5}, + + {"matrix": [8, 4], "x": 15.5, "y": 3}, + {"matrix": [8, 5], "x": 16.5, "y": 3}, + {"matrix": [8, 6], "x": 17.5, "y": 3}, + {"matrix": [8, 7], "x": 18.5, "y": 3}, + + {"matrix": [3, 0], "x": 0, "y": 4, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 4}, + {"matrix": [3, 2], "x": 2.75, "y": 4}, + {"matrix": [3, 3], "x": 3.75, "y": 4}, + {"matrix": [9, 0], "x": 4.75, "y": 4}, + {"matrix": [9, 1], "x": 5.75, "y": 4}, + {"matrix": [9, 2], "x": 6.75, "y": 4}, + {"matrix": [9, 3], "x": 7.75, "y": 4}, + {"matrix": [3, 4], "x": 8.75, "y": 4}, + {"matrix": [3, 5], "x": 9.75, "y": 4}, + {"matrix": [3, 6], "x": 10.75, "y": 4}, + {"matrix": [3, 7], "x": 11.75, "y": 4}, + {"matrix": [3, 8], "x": 12.75, "y": 4, "w": 2.25}, + + {"matrix": [9, 4], "x": 15.5, "y": 4}, + {"matrix": [9, 5], "x": 16.5, "y": 4}, + {"matrix": [9, 6], "x": 17.5, "y": 4}, + {"matrix": [9, 7], "x": 18.5, "y": 4}, + + {"matrix": [4, 0], "x": 0, "y": 5, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 5}, + {"matrix": [4, 3], "x": 3.25, "y": 5}, + {"matrix": [10, 0], "x": 4.25, "y": 5}, + {"matrix": [10, 1], "x": 5.25, "y": 5}, + {"matrix": [10, 2], "x": 6.25, "y": 5}, + {"matrix": [10, 3], "x": 7.25, "y": 5}, + {"matrix": [4, 4], "x": 8.25, "y": 5}, + {"matrix": [4, 5], "x": 9.25, "y": 5}, + {"matrix": [4, 6], "x": 10.25, "y": 5}, + {"matrix": [4, 7], "x": 11.25, "y": 5}, + {"matrix": [4, 8], "x": 12.25, "y": 5, "w": 1.75}, + + {"matrix": [10, 9], "x": 14.25, "y": 5.25}, + + {"matrix": [10, 4], "x": 15.5, "y": 5}, + {"matrix": [10, 5], "x": 16.5, "y": 5}, + {"matrix": [10, 6], "x": 17.5, "y": 5}, + {"matrix": [10, 7], "x": 18.5, "y": 5, "h": 2}, + + {"matrix": [5, 0], "x": 0, "y": 6, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 6, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 6, "w": 1.25}, + {"matrix": [5, 3], "x": 3.75, "y": 6, "w": 6.25}, + {"matrix": [11, 4], "x": 10, "y": 6, "w": 1.5}, + {"matrix": [11, 7], "x": 11.5, "y": 6, "w": 1.5}, + + {"matrix": [10, 8], "x": 13.25, "y": 6.25}, + {"matrix": [11, 8], "x": 14.25, "y": 6.25}, + {"matrix": [11, 9], "x": 15.25, "y": 6.25}, + + {"matrix": [11, 5], "x": 16.5, "y": 6}, + {"matrix": [11, 6], "x": 17.5, "y": 6} + ] + }, + "LAYOUT_ansi_wkl": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [6, 0], "x": 4.25, "y": 0}, + + {"matrix": [6, 1], "x": 5.5, "y": 0}, + {"matrix": [6, 2], "x": 6.5, "y": 0}, + {"matrix": [6, 3], "x": 7.5, "y": 0}, + {"matrix": [0, 4], "x": 8.5, "y": 0}, + + {"matrix": [0, 5], "x": 9.75, "y": 0}, + {"matrix": [0, 6], "x": 10.75, "y": 0}, + {"matrix": [0, 7], "x": 11.75, "y": 0}, + {"matrix": [0, 8], "x": 12.75, "y": 0}, + + {"matrix": [5, 4], "x": 15.5, "y": 0}, + {"matrix": [5, 5], "x": 16.5, "y": 0}, + {"matrix": [5, 6], "x": 17.5, "y": 0}, + {"matrix": [5, 7], "x": 18.5, "y": 0}, + + {"matrix": [6, 4], "x": 15.5, "y": 1}, + {"matrix": [6, 5], "x": 16.5, "y": 1}, + {"matrix": [6, 6], "x": 17.5, "y": 1}, + {"matrix": [6, 7], "x": 18.5, "y": 1}, + + {"matrix": [1, 0], "x": 0, "y": 2}, + {"matrix": [1, 1], "x": 1, "y": 2}, + {"matrix": [1, 2], "x": 2, "y": 2}, + {"matrix": [1, 3], "x": 3, "y": 2}, + {"matrix": [7, 0], "x": 4, "y": 2}, + {"matrix": [7, 1], "x": 5, "y": 2}, + {"matrix": [7, 2], "x": 6, "y": 2}, + {"matrix": [7, 3], "x": 7, "y": 2}, + {"matrix": [1, 4], "x": 8, "y": 2}, + {"matrix": [1, 5], "x": 9, "y": 2}, + {"matrix": [1, 6], "x": 10, "y": 2}, + {"matrix": [1, 7], "x": 11, "y": 2}, + {"matrix": [1, 8], "x": 12, "y": 2}, + {"matrix": [1, 9], "x": 13, "y": 2, "w": 2}, + + {"matrix": [7, 4], "x": 15.5, "y": 2}, + {"matrix": [7, 5], "x": 16.5, "y": 2}, + {"matrix": [7, 6], "x": 17.5, "y": 2}, + {"matrix": [7, 7], "x": 18.5, "y": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 3}, + {"matrix": [2, 2], "x": 2.5, "y": 3}, + {"matrix": [2, 3], "x": 3.5, "y": 3}, + {"matrix": [8, 0], "x": 4.5, "y": 3}, + {"matrix": [8, 1], "x": 5.5, "y": 3}, + {"matrix": [8, 2], "x": 6.5, "y": 3}, + {"matrix": [8, 3], "x": 7.5, "y": 3}, + {"matrix": [2, 4], "x": 8.5, "y": 3}, + {"matrix": [2, 5], "x": 9.5, "y": 3}, + {"matrix": [2, 6], "x": 10.5, "y": 3}, + {"matrix": [2, 7], "x": 11.5, "y": 3}, + {"matrix": [2, 8], "x": 12.5, "y": 3}, + {"matrix": [2, 9], "x": 13.5, "y": 3, "w": 1.5}, + + {"matrix": [8, 4], "x": 15.5, "y": 3}, + {"matrix": [8, 5], "x": 16.5, "y": 3}, + {"matrix": [8, 6], "x": 17.5, "y": 3}, + {"matrix": [8, 7], "x": 18.5, "y": 3}, + + {"matrix": [3, 0], "x": 0, "y": 4, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 4}, + {"matrix": [3, 2], "x": 2.75, "y": 4}, + {"matrix": [3, 3], "x": 3.75, "y": 4}, + {"matrix": [9, 0], "x": 4.75, "y": 4}, + {"matrix": [9, 1], "x": 5.75, "y": 4}, + {"matrix": [9, 2], "x": 6.75, "y": 4}, + {"matrix": [9, 3], "x": 7.75, "y": 4}, + {"matrix": [3, 4], "x": 8.75, "y": 4}, + {"matrix": [3, 5], "x": 9.75, "y": 4}, + {"matrix": [3, 6], "x": 10.75, "y": 4}, + {"matrix": [3, 7], "x": 11.75, "y": 4}, + {"matrix": [3, 8], "x": 12.75, "y": 4, "w": 2.25}, + + {"matrix": [9, 4], "x": 15.5, "y": 4}, + {"matrix": [9, 5], "x": 16.5, "y": 4}, + {"matrix": [9, 6], "x": 17.5, "y": 4}, + {"matrix": [9, 7], "x": 18.5, "y": 4}, + + {"matrix": [4, 0], "x": 0, "y": 5, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 5}, + {"matrix": [4, 3], "x": 3.25, "y": 5}, + {"matrix": [10, 0], "x": 4.25, "y": 5}, + {"matrix": [10, 1], "x": 5.25, "y": 5}, + {"matrix": [10, 2], "x": 6.25, "y": 5}, + {"matrix": [10, 3], "x": 7.25, "y": 5}, + {"matrix": [4, 4], "x": 8.25, "y": 5}, + {"matrix": [4, 5], "x": 9.25, "y": 5}, + {"matrix": [4, 6], "x": 10.25, "y": 5}, + {"matrix": [4, 7], "x": 11.25, "y": 5}, + {"matrix": [4, 8], "x": 12.25, "y": 5, "w": 1.75}, + + {"matrix": [10, 9], "x": 14.25, "y": 5.25}, + + {"matrix": [10, 4], "x": 15.5, "y": 5}, + {"matrix": [10, 5], "x": 16.5, "y": 5}, + {"matrix": [10, 6], "x": 17.5, "y": 5}, + {"matrix": [10, 7], "x": 18.5, "y": 5, "h": 2}, + + {"matrix": [5, 0], "x": 0, "y": 6, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 6, "w": 1.5}, + {"matrix": [5, 3], "x": 3, "y": 6, "w": 7}, + {"matrix": [11, 4], "x": 10, "y": 6, "w": 1.5}, + {"matrix": [11, 7], "x": 11.5, "y": 6, "w": 1.5}, + + {"matrix": [10, 8], "x": 13.25, "y": 6.25}, + {"matrix": [11, 8], "x": 14.25, "y": 6.25}, + {"matrix": [11, 9], "x": 15.25, "y": 6.25}, + + {"matrix": [11, 5], "x": 16.5, "y": 6}, + {"matrix": [11, 6], "x": 17.5, "y": 6} + ] + }, + "LAYOUT_iso": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [6, 0], "x": 4.25, "y": 0}, + + {"matrix": [6, 1], "x": 5.5, "y": 0}, + {"matrix": [6, 2], "x": 6.5, "y": 0}, + {"matrix": [6, 3], "x": 7.5, "y": 0}, + {"matrix": [0, 4], "x": 8.5, "y": 0}, + + {"matrix": [0, 5], "x": 9.75, "y": 0}, + {"matrix": [0, 6], "x": 10.75, "y": 0}, + {"matrix": [0, 7], "x": 11.75, "y": 0}, + {"matrix": [0, 8], "x": 12.75, "y": 0}, + + {"matrix": [5, 4], "x": 15.5, "y": 0}, + {"matrix": [5, 5], "x": 16.5, "y": 0}, + {"matrix": [5, 6], "x": 17.5, "y": 0}, + {"matrix": [5, 7], "x": 18.5, "y": 0}, + + {"matrix": [6, 4], "x": 15.5, "y": 1}, + {"matrix": [6, 5], "x": 16.5, "y": 1}, + {"matrix": [6, 6], "x": 17.5, "y": 1}, + {"matrix": [6, 7], "x": 18.5, "y": 1}, + + {"matrix": [1, 0], "x": 0, "y": 2}, + {"matrix": [1, 1], "x": 1, "y": 2}, + {"matrix": [1, 2], "x": 2, "y": 2}, + {"matrix": [1, 3], "x": 3, "y": 2}, + {"matrix": [7, 0], "x": 4, "y": 2}, + {"matrix": [7, 1], "x": 5, "y": 2}, + {"matrix": [7, 2], "x": 6, "y": 2}, + {"matrix": [7, 3], "x": 7, "y": 2}, + {"matrix": [1, 4], "x": 8, "y": 2}, + {"matrix": [1, 5], "x": 9, "y": 2}, + {"matrix": [1, 6], "x": 10, "y": 2}, + {"matrix": [1, 7], "x": 11, "y": 2}, + {"matrix": [1, 8], "x": 12, "y": 2}, + {"matrix": [1, 9], "x": 13, "y": 2, "w": 2}, + + {"matrix": [7, 4], "x": 15.5, "y": 2}, + {"matrix": [7, 5], "x": 16.5, "y": 2}, + {"matrix": [7, 6], "x": 17.5, "y": 2}, + {"matrix": [7, 7], "x": 18.5, "y": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 3}, + {"matrix": [2, 2], "x": 2.5, "y": 3}, + {"matrix": [2, 3], "x": 3.5, "y": 3}, + {"matrix": [8, 0], "x": 4.5, "y": 3}, + {"matrix": [8, 1], "x": 5.5, "y": 3}, + {"matrix": [8, 2], "x": 6.5, "y": 3}, + {"matrix": [8, 3], "x": 7.5, "y": 3}, + {"matrix": [2, 4], "x": 8.5, "y": 3}, + {"matrix": [2, 5], "x": 9.5, "y": 3}, + {"matrix": [2, 6], "x": 10.5, "y": 3}, + {"matrix": [2, 7], "x": 11.5, "y": 3}, + {"matrix": [2, 8], "x": 12.5, "y": 3}, + + {"matrix": [8, 4], "x": 15.5, "y": 3}, + {"matrix": [8, 5], "x": 16.5, "y": 3}, + {"matrix": [8, 6], "x": 17.5, "y": 3}, + {"matrix": [8, 7], "x": 18.5, "y": 3}, + + {"matrix": [3, 0], "x": 0, "y": 4, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 4}, + {"matrix": [3, 2], "x": 2.75, "y": 4}, + {"matrix": [3, 3], "x": 3.75, "y": 4}, + {"matrix": [9, 0], "x": 4.75, "y": 4}, + {"matrix": [9, 1], "x": 5.75, "y": 4}, + {"matrix": [9, 2], "x": 6.75, "y": 4}, + {"matrix": [9, 3], "x": 7.75, "y": 4}, + {"matrix": [3, 4], "x": 8.75, "y": 4}, + {"matrix": [3, 5], "x": 9.75, "y": 4}, + {"matrix": [3, 6], "x": 10.75, "y": 4}, + {"matrix": [3, 7], "x": 11.75, "y": 4}, + {"matrix": [2, 9], "x": 12.75, "y": 4}, + {"matrix": [3, 8], "x": 13.75, "y": 3, "w": 1.25, "h": 2}, + + {"matrix": [9, 4], "x": 15.5, "y": 4}, + {"matrix": [9, 5], "x": 16.5, "y": 4}, + {"matrix": [9, 6], "x": 17.5, "y": 4}, + {"matrix": [9, 7], "x": 18.5, "y": 4}, + + {"matrix": [4, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 5}, + {"matrix": [4, 2], "x": 2.25, "y": 5}, + {"matrix": [4, 3], "x": 3.25, "y": 5}, + {"matrix": [10, 0], "x": 4.25, "y": 5}, + {"matrix": [10, 1], "x": 5.25, "y": 5}, + {"matrix": [10, 2], "x": 6.25, "y": 5}, + {"matrix": [10, 3], "x": 7.25, "y": 5}, + {"matrix": [4, 4], "x": 8.25, "y": 5}, + {"matrix": [4, 5], "x": 9.25, "y": 5}, + {"matrix": [4, 6], "x": 10.25, "y": 5}, + {"matrix": [4, 7], "x": 11.25, "y": 5}, + {"matrix": [4, 8], "x": 12.25, "y": 5, "w": 1.75}, + + {"matrix": [10, 9], "x": 14.25, "y": 5.25}, + + {"matrix": [10, 4], "x": 15.5, "y": 5}, + {"matrix": [10, 5], "x": 16.5, "y": 5}, + {"matrix": [10, 6], "x": 17.5, "y": 5}, + {"matrix": [10, 7], "x": 18.5, "y": 5, "h": 2}, + + {"matrix": [5, 0], "x": 0, "y": 6, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 6, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 6, "w": 1.25}, + {"matrix": [5, 3], "x": 3.75, "y": 6, "w": 6.25}, + {"matrix": [11, 4], "x": 10, "y": 6, "w": 1.5}, + {"matrix": [11, 7], "x": 11.5, "y": 6, "w": 1.5}, + + {"matrix": [10, 8], "x": 13.25, "y": 6.25}, + {"matrix": [11, 8], "x": 14.25, "y": 6.25}, + {"matrix": [11, 9], "x": 15.25, "y": 6.25}, + + {"matrix": [11, 5], "x": 16.5, "y": 6}, + {"matrix": [11, 6], "x": 17.5, "y": 6} + ] + }, + "LAYOUT_iso_wkl": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [6, 0], "x": 4.25, "y": 0}, + + {"matrix": [6, 1], "x": 5.5, "y": 0}, + {"matrix": [6, 2], "x": 6.5, "y": 0}, + {"matrix": [6, 3], "x": 7.5, "y": 0}, + {"matrix": [0, 4], "x": 8.5, "y": 0}, + + {"matrix": [0, 5], "x": 9.75, "y": 0}, + {"matrix": [0, 6], "x": 10.75, "y": 0}, + {"matrix": [0, 7], "x": 11.75, "y": 0}, + {"matrix": [0, 8], "x": 12.75, "y": 0}, + + {"matrix": [5, 4], "x": 15.5, "y": 0}, + {"matrix": [5, 5], "x": 16.5, "y": 0}, + {"matrix": [5, 6], "x": 17.5, "y": 0}, + {"matrix": [5, 7], "x": 18.5, "y": 0}, + + {"matrix": [6, 4], "x": 15.5, "y": 1}, + {"matrix": [6, 5], "x": 16.5, "y": 1}, + {"matrix": [6, 6], "x": 17.5, "y": 1}, + {"matrix": [6, 7], "x": 18.5, "y": 1}, + + {"matrix": [1, 0], "x": 0, "y": 2}, + {"matrix": [1, 1], "x": 1, "y": 2}, + {"matrix": [1, 2], "x": 2, "y": 2}, + {"matrix": [1, 3], "x": 3, "y": 2}, + {"matrix": [7, 0], "x": 4, "y": 2}, + {"matrix": [7, 1], "x": 5, "y": 2}, + {"matrix": [7, 2], "x": 6, "y": 2}, + {"matrix": [7, 3], "x": 7, "y": 2}, + {"matrix": [1, 4], "x": 8, "y": 2}, + {"matrix": [1, 5], "x": 9, "y": 2}, + {"matrix": [1, 6], "x": 10, "y": 2}, + {"matrix": [1, 7], "x": 11, "y": 2}, + {"matrix": [1, 8], "x": 12, "y": 2}, + {"matrix": [1, 9], "x": 13, "y": 2, "w": 2}, + + {"matrix": [7, 4], "x": 15.5, "y": 2}, + {"matrix": [7, 5], "x": 16.5, "y": 2}, + {"matrix": [7, 6], "x": 17.5, "y": 2}, + {"matrix": [7, 7], "x": 18.5, "y": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 3}, + {"matrix": [2, 2], "x": 2.5, "y": 3}, + {"matrix": [2, 3], "x": 3.5, "y": 3}, + {"matrix": [8, 0], "x": 4.5, "y": 3}, + {"matrix": [8, 1], "x": 5.5, "y": 3}, + {"matrix": [8, 2], "x": 6.5, "y": 3}, + {"matrix": [8, 3], "x": 7.5, "y": 3}, + {"matrix": [2, 4], "x": 8.5, "y": 3}, + {"matrix": [2, 5], "x": 9.5, "y": 3}, + {"matrix": [2, 6], "x": 10.5, "y": 3}, + {"matrix": [2, 7], "x": 11.5, "y": 3}, + {"matrix": [2, 8], "x": 12.5, "y": 3}, + + {"matrix": [8, 4], "x": 15.5, "y": 3}, + {"matrix": [8, 5], "x": 16.5, "y": 3}, + {"matrix": [8, 6], "x": 17.5, "y": 3}, + {"matrix": [8, 7], "x": 18.5, "y": 3}, + + {"matrix": [3, 0], "x": 0, "y": 4, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 4}, + {"matrix": [3, 2], "x": 2.75, "y": 4}, + {"matrix": [3, 3], "x": 3.75, "y": 4}, + {"matrix": [9, 0], "x": 4.75, "y": 4}, + {"matrix": [9, 1], "x": 5.75, "y": 4}, + {"matrix": [9, 2], "x": 6.75, "y": 4}, + {"matrix": [9, 3], "x": 7.75, "y": 4}, + {"matrix": [3, 4], "x": 8.75, "y": 4}, + {"matrix": [3, 5], "x": 9.75, "y": 4}, + {"matrix": [3, 6], "x": 10.75, "y": 4}, + {"matrix": [3, 7], "x": 11.75, "y": 4}, + {"matrix": [2, 9], "x": 12.75, "y": 4}, + {"matrix": [3, 8], "x": 13.75, "y": 3, "w": 1.25, "h": 2}, + + {"matrix": [9, 4], "x": 15.5, "y": 4}, + {"matrix": [9, 5], "x": 16.5, "y": 4}, + {"matrix": [9, 6], "x": 17.5, "y": 4}, + {"matrix": [9, 7], "x": 18.5, "y": 4}, + + {"matrix": [4, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 5}, + {"matrix": [4, 2], "x": 2.25, "y": 5}, + {"matrix": [4, 3], "x": 3.25, "y": 5}, + {"matrix": [10, 0], "x": 4.25, "y": 5}, + {"matrix": [10, 1], "x": 5.25, "y": 5}, + {"matrix": [10, 2], "x": 6.25, "y": 5}, + {"matrix": [10, 3], "x": 7.25, "y": 5}, + {"matrix": [4, 4], "x": 8.25, "y": 5}, + {"matrix": [4, 5], "x": 9.25, "y": 5}, + {"matrix": [4, 6], "x": 10.25, "y": 5}, + {"matrix": [4, 7], "x": 11.25, "y": 5}, + {"matrix": [4, 8], "x": 12.25, "y": 5, "w": 1.75}, + + {"matrix": [10, 9], "x": 14.25, "y": 5.25}, + + {"matrix": [10, 4], "x": 15.5, "y": 5}, + {"matrix": [10, 5], "x": 16.5, "y": 5}, + {"matrix": [10, 6], "x": 17.5, "y": 5}, + {"matrix": [10, 7], "x": 18.5, "y": 5, "h": 2}, + + {"matrix": [5, 0], "x": 0, "y": 6, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 6, "w": 1.5}, + {"matrix": [5, 3], "x": 3, "y": 6, "w": 7}, + {"matrix": [11, 4], "x": 10, "y": 6, "w": 1.5}, + {"matrix": [11, 7], "x": 11.5, "y": 6, "w": 1.5}, + + {"matrix": [10, 8], "x": 13.25, "y": 6.25}, + {"matrix": [11, 8], "x": 14.25, "y": 6.25}, + {"matrix": [11, 9], "x": 15.25, "y": 6.25}, + {"matrix": [11, 5], "x": 16.5, "y": 6}, {"matrix": [11, 6], "x": 17.5, "y": 6} ] diff --git a/keyboards/ash1800/matrix_diagram.md b/keyboards/ash1800/matrix_diagram.md new file mode 100644 index 00000000000..4141116663c --- /dev/null +++ b/keyboards/ash1800/matrix_diagram.md @@ -0,0 +1,26 @@ +# Matrix Diagram for ASH1800 + +``` +┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ +│00 ││01 │02 │03 │60 ││61 │62 │63 │04 ││05 │06 │07 │08 │ │54 │55 │56 │57 │ +└───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘ ├───┼───┼───┼───┤ + │64 │65 │66 │67 │ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ├───┼───┼───┼───┤ +│10 │11 │12 │13 │70 │71 │72 │73 │14 │15 │16 │17 │18 │19 │ │74 │75 │76 │77 │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┼───┤ ┌─────┐ +│20 │21 │22 │23 │80 │81 │82 │83 │24 │25 │26 │27 │28 │29 │ │84 │85 │86 │87 │ │38 │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┼───┼───┼───┤ ┌──┴┐ │ ISO Enter +│30 │31 │32 │33 │90 │91 │92 │93 │34 │35 │36 │37 │38 │ │94 │95 │96 │97 │ │29 │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┼───┼───┼───┤ └───┴────┘ +│40 │41 │42 │43 │A0 │A1 │A2 │A3 │44 │45 │46 │47 │48 │┌───┐│A4 │A5 │A6 │A7 │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┘│A9 │└───┼───┼───┤ │ +│50 │51 │52 │53 │B4 │B7 │┌───┼───┼───┐│B5 │B6 │ │ +└────┴────┴────┴────────────────────────┴─────┴─────┘│A8 │B8 │B9 │└───┴───┴───┘ + └───┴───┴───┘ +┌────────┐ +│40 │ 2.25u LShift +└────────┘ +┌─────┬─────┬───────────────────────────┬─────┬─────┐ +│50 │51 │53 │B4 │B7 │ WKL +└─────┴─────┴───────────────────────────┴─────┴─────┘ +``` From d08da05cb8cff3f03670b1303d418996695834b4 Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 8 Jul 2024 15:57:13 +1000 Subject: [PATCH 34/54] `mechlovin/olly/octagon`: move LED Matrix LED config to data driven (#24069) --- keyboards/mechlovin/olly/octagon/config.h | 2 - .../mechlovin/olly/octagon/keyboard.json | 105 +++++++++++++++++- keyboards/mechlovin/olly/octagon/octagon.c | 27 ----- 3 files changed, 104 insertions(+), 30 deletions(-) diff --git a/keyboards/mechlovin/olly/octagon/config.h b/keyboards/mechlovin/olly/octagon/config.h index 6f9d5f9a027..791bfee784d 100644 --- a/keyboards/mechlovin/olly/octagon/config.h +++ b/keyboards/mechlovin/olly/octagon/config.h @@ -19,8 +19,6 @@ along with this program. If not, see . #define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_SDA -#define LED_MATRIX_LED_COUNT 94 - #define I2C_DRIVER I2CD2 #define I2C1_SCL_PIN B10 #define I2C1_SDA_PIN B11 diff --git a/keyboards/mechlovin/olly/octagon/keyboard.json b/keyboards/mechlovin/olly/octagon/keyboard.json index 81b78b0b1cb..4bc7d88ed77 100644 --- a/keyboards/mechlovin/olly/octagon/keyboard.json +++ b/keyboards/mechlovin/olly/octagon/keyboard.json @@ -57,7 +57,110 @@ "wave_up_down": true }, "driver": "is31fl3731", - "react_on_keyup": true + "react_on_keyup": true, + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 15, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 30, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 45, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 60, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 75, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 90, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 105, "y": 0, "flags": 4}, + {"matrix": [0, 8], "x": 120, "y": 0, "flags": 4}, + {"matrix": [0, 9], "x": 134, "y": 0, "flags": 4}, + {"matrix": [0, 10], "x": 149, "y": 0, "flags": 4}, + {"matrix": [0, 11], "x": 164, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 179, "y": 0, "flags": 4}, + {"matrix": [0, 13], "x": 194, "y": 0, "flags": 4}, + {"matrix": [0, 14], "x": 209, "y": 0, "flags": 4}, + {"matrix": [0, 15], "x": 224, "y": 0, "flags": 4}, + + {"matrix": [1, 0], "x": 0, "y": 13, "flags": 4}, + {"matrix": [1, 1], "x": 15, "y": 13, "flags": 4}, + {"matrix": [1, 2], "x": 30, "y": 13, "flags": 4}, + {"matrix": [1, 3], "x": 45, "y": 13, "flags": 4}, + {"matrix": [1, 4], "x": 60, "y": 13, "flags": 4}, + {"matrix": [1, 5], "x": 75, "y": 13, "flags": 4}, + {"matrix": [1, 6], "x": 90, "y": 13, "flags": 4}, + {"matrix": [1, 7], "x": 105, "y": 13, "flags": 4}, + {"matrix": [1, 8], "x": 120, "y": 13, "flags": 4}, + {"matrix": [1, 9], "x": 134, "y": 13, "flags": 4}, + {"matrix": [1, 10], "x": 149, "y": 13, "flags": 4}, + {"matrix": [1, 11], "x": 164, "y": 13, "flags": 4}, + {"matrix": [1, 12], "x": 179, "y": 13, "flags": 4}, + {"matrix": [1, 13], "x": 194, "y": 13, "flags": 4}, + {"matrix": [1, 14], "x": 209, "y": 13, "flags": 4}, + {"matrix": [1, 15], "x": 224, "y": 13, "flags": 4}, + + {"matrix": [2, 0], "x": 4, "y": 26, "flags": 4}, + {"matrix": [2, 1], "x": 22, "y": 26, "flags": 4}, + {"matrix": [2, 2], "x": 37, "y": 26, "flags": 4}, + {"matrix": [2, 3], "x": 52, "y": 26, "flags": 4}, + {"matrix": [2, 4], "x": 67, "y": 26, "flags": 4}, + {"matrix": [2, 5], "x": 82, "y": 26, "flags": 4}, + {"matrix": [2, 6], "x": 97, "y": 26, "flags": 4}, + {"matrix": [2, 7], "x": 112, "y": 26, "flags": 4}, + {"matrix": [2, 8], "x": 127, "y": 26, "flags": 4}, + {"matrix": [2, 9], "x": 142, "y": 26, "flags": 4}, + {"matrix": [2, 10], "x": 157, "y": 26, "flags": 4}, + {"matrix": [2, 11], "x": 172, "y": 26, "flags": 4}, + {"matrix": [2, 12], "x": 187, "y": 26, "flags": 4}, + {"matrix": [2, 14], "x": 205, "y": 26, "flags": 4}, + {"matrix": [2, 15], "x": 224, "y": 26, "flags": 4}, + + {"matrix": [3, 0], "x": 6, "y": 38, "flags": 4}, + {"matrix": [3, 1], "x": 26, "y": 38, "flags": 4}, + {"matrix": [3, 2], "x": 41, "y": 38, "flags": 4}, + {"matrix": [3, 3], "x": 56, "y": 38, "flags": 4}, + {"matrix": [3, 4], "x": 71, "y": 38, "flags": 4}, + {"matrix": [3, 5], "x": 86, "y": 38, "flags": 4}, + {"matrix": [3, 6], "x": 101, "y": 38, "flags": 4}, + {"matrix": [3, 7], "x": 116, "y": 38, "flags": 4}, + {"matrix": [3, 8], "x": 131, "y": 38, "flags": 4}, + {"matrix": [3, 9], "x": 146, "y": 38, "flags": 4}, + {"matrix": [3, 10], "x": 161, "y": 38, "flags": 4}, + {"matrix": [3, 11], "x": 175, "y": 38, "flags": 4}, + {"matrix": [3, 12], "x": 190, "y": 38, "flags": 4}, + {"matrix": [3, 13], "x": 207, "y": 38, "flags": 4}, + {"matrix": [3, 15], "x": 224, "y": 38, "flags": 4}, + + {"matrix": [4, 0], "x": 2, "y": 51, "flags": 4}, + {"matrix": [4, 1], "x": 19, "y": 51, "flags": 4}, + {"matrix": [4, 2], "x": 34, "y": 51, "flags": 4}, + {"matrix": [4, 3], "x": 49, "y": 51, "flags": 4}, + {"matrix": [4, 4], "x": 64, "y": 51, "flags": 4}, + {"matrix": [4, 5], "x": 78, "y": 51, "flags": 4}, + {"matrix": [4, 6], "x": 93, "y": 51, "flags": 4}, + {"matrix": [4, 7], "x": 108, "y": 51, "flags": 4}, + {"matrix": [4, 8], "x": 123, "y": 51, "flags": 4}, + {"matrix": [4, 9], "x": 138, "y": 51, "flags": 4}, + {"matrix": [4, 10], "x": 153, "y": 51, "flags": 4}, + {"matrix": [4, 11], "x": 168, "y": 51, "flags": 4}, + {"matrix": [4, 12], "x": 189, "y": 51, "flags": 4}, + {"matrix": [4, 14], "x": 209, "y": 51, "flags": 4}, + {"matrix": [4, 15], "x": 224, "y": 51, "flags": 4}, + + {"matrix": [5, 0], "x": 2, "y": 64, "flags": 4}, + {"matrix": [5, 1], "x": 21, "y": 64, "flags": 4}, + {"matrix": [5, 2], "x": 39, "y": 64, "flags": 4}, + {"matrix": [5, 6], "x": 95, "y": 64, "flags": 4}, + {"matrix": [5, 10], "x": 149, "y": 64, "flags": 4}, + {"matrix": [5, 11], "x": 164, "y": 64, "flags": 4}, + {"matrix": [5, 12], "x": 179, "y": 64, "flags": 4}, + {"matrix": [5, 13], "x": 194, "y": 64, "flags": 4}, + {"matrix": [5, 14], "x": 209, "y": 64, "flags": 4}, + {"matrix": [5, 15], "x": 224, "y": 64, "flags": 4}, + + {"x": 113, "y": 0, "flags": 8}, + {"x": 127, "y": 0, "flags": 8}, + {"x": 142, "y": 0, "flags": 8}, + + {"x": 172, "y": 0, "flags": 8}, + {"x": 187, "y": 0, "flags": 8}, + {"x": 202, "y": 0, "flags": 8}, + {"x": 217, "y": 0, "flags": 8} + ] }, "matrix_pins": { "cols": ["A10", "A9", "A8", "B15", "B14", "B13", "B2", "B1", "A15", "B3", "B9", "B8", "B7", "B6", "B5", "B4"], diff --git a/keyboards/mechlovin/olly/octagon/octagon.c b/keyboards/mechlovin/olly/octagon/octagon.c index c89565168b2..a8ff139c01b 100644 --- a/keyboards/mechlovin/olly/octagon/octagon.c +++ b/keyboards/mechlovin/olly/octagon/octagon.c @@ -31,33 +31,6 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = { { 0, C7_13 }, { 0, C7_14 }, { 0, C7_15 }, { 0, C7_16 }, // Layer Indicator }; -led_config_t g_led_config = { -{ - // Key Matrix to LED Index - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, - {16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31}, - {32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46}, - {47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61}, - {62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76}, - {77, 78, 79, 80, 81, 82, 83, 84, 85, 86}, -}, { - //LED Index to Physical Positon - {0, 0}, {15, 0}, {30, 0}, {45, 0}, {60, 0}, {75, 0}, {90, 0}, {105, 0}, {119, 0}, {134, 0}, {149, 0}, {164, 0}, {179, 0}, {194, 0}, {209, 0}, {224, 0}, - {0,13}, {15, 13}, {30, 13}, {45, 13}, {60, 13}, {75, 13}, {90, 13}, {105,13}, {119,13}, {134,13}, {149,13}, {164,13}, {179,13}, {194,13}, {209,13}, {224,13}, - {0,26}, {15, 26}, {30, 26}, {45, 26}, {60, 26}, {75, 26}, {90, 26}, {105,26}, {119,26}, {134,26}, {149,26}, {164,26}, {179,26}, {194,26}, {224,26}, - {0,38}, {15, 38}, {30, 38}, {45, 38}, {60, 38}, {75, 38}, {90, 38}, {105,38}, {119,38}, {134,38}, {149,38}, {164,38}, {179,38}, {194,38}, {224,38}, - {0,51}, {15, 51}, {30, 51}, {45, 51}, {60, 51}, {75, 51}, {90, 51}, {105,51}, {119,51}, {134,51}, {149,51}, {164,51}, {179,51}, {194,51}, {224,51}, - {0,64}, {15, 64}, {30, 64}, {90, 64}, {149,64}, {164,64}, {179,64}, {194,64}, {209,64}, {224,64}, - }, { - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - } -}; - bool led_matrix_indicators_kb(void) { if (!led_matrix_indicators_user()) { return false; From 6eb6e3048a730c39190914663d5aabceecc9b52e Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 8 Jul 2024 15:57:29 +1000 Subject: [PATCH 35/54] `pearlboards/zeuspad`: add additional layouts (#24066) --- keyboards/pearlboards/zeuspad/keyboard.json | 36 ++++++++++++++++++- .../zeuspad/keymaps/default/keymap.c | 4 +-- .../pearlboards/zeuspad/keymaps/via/keymap.c | 18 +--------- .../pearlboards/zeuspad/matrix_diagram.md | 21 +++++++++++ 4 files changed, 59 insertions(+), 20 deletions(-) create mode 100644 keyboards/pearlboards/zeuspad/matrix_diagram.md diff --git a/keyboards/pearlboards/zeuspad/keyboard.json b/keyboards/pearlboards/zeuspad/keyboard.json index 6f67bd74b08..93e1e644332 100644 --- a/keyboards/pearlboards/zeuspad/keyboard.json +++ b/keyboards/pearlboards/zeuspad/keyboard.json @@ -61,8 +61,12 @@ "processor": "atmega32u4", "bootloader": "atmel-dfu", "debounce": 0, + "community_layouts": ["numpad_6x4"], + "layout_aliases": { + "LAYOUT_all": "LAYOUT_ortho_6x4" + }, "layouts": { - "LAYOUT_all": { + "LAYOUT_ortho_6x4": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -94,6 +98,36 @@ {"matrix": [5, 2], "x": 2, "y": 5.25}, {"matrix": [5, 3], "x": 3, "y": 5.25} ] + }, + "LAYOUT_numpad_6x4": { + "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": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25}, + {"matrix": [2, 1], "x": 1, "y": 2.25}, + {"matrix": [2, 2], "x": 2, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25}, + {"matrix": [3, 1], "x": 1, "y": 3.25}, + {"matrix": [3, 2], "x": 2, "y": 3.25}, + {"matrix": [3, 3], "x": 3, "y": 2.25, "h": 2}, + + {"matrix": [4, 0], "x": 0, "y": 4.25}, + {"matrix": [4, 1], "x": 1, "y": 4.25}, + {"matrix": [4, 2], "x": 2, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 2}, + {"matrix": [5, 2], "x": 2, "y": 5.25}, + {"matrix": [5, 3], "x": 3, "y": 4.25, "h": 2} + ] } } } diff --git a/keyboards/pearlboards/zeuspad/keymaps/default/keymap.c b/keyboards/pearlboards/zeuspad/keymaps/default/keymap.c index 88c243cdc59..850c96237c4 100644 --- a/keyboards/pearlboards/zeuspad/keymaps/default/keymap.c +++ b/keyboards/pearlboards/zeuspad/keymaps/default/keymap.c @@ -18,7 +18,7 @@ along with this program. If not, see . #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_all( + [0] = LAYOUT_ortho_6x4( LT(1, KC_ESC), KC_LCTL, KC_LALT, KC_MEDIA_PLAY_PAUSE, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_P7, KC_P8, KC_P9, KC_PPLS, @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_P1, KC_P2, KC_P3, KC_PENT, KC_P0, KC_P0, KC_PDOT, KC_PENT), - [1] = LAYOUT_all( + [1] = LAYOUT_ortho_6x4( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, RGB_TOG, RGB_MOD, RGB_HUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/pearlboards/zeuspad/keymaps/via/keymap.c b/keyboards/pearlboards/zeuspad/keymaps/via/keymap.c index ee0165b28eb..d7489b34246 100644 --- a/keyboards/pearlboards/zeuspad/keymaps/via/keymap.c +++ b/keyboards/pearlboards/zeuspad/keymaps/via/keymap.c @@ -14,7 +14,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ -#include + #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -33,20 +33,4 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - - [2] = LAYOUT_all( - 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), - - [3] = LAYOUT_all( - 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) }; diff --git a/keyboards/pearlboards/zeuspad/matrix_diagram.md b/keyboards/pearlboards/zeuspad/matrix_diagram.md new file mode 100644 index 00000000000..1dde3faef85 --- /dev/null +++ b/keyboards/pearlboards/zeuspad/matrix_diagram.md @@ -0,0 +1,21 @@ +# Matrix Diagram for Pearl Boards Zeuspad + +``` +┌───┬───┬───┬───┐ +│00 │01 │02 │03 │ +└───┴───┴───┴───┘ +┌───┬───┬───┬───┐ +│10 │11 │12 │13 │ +├───┼───┼───┼───┤┌───┐ +│20 │21 │22 │23 ││33 │ +├───┼───┼───┼───┤│ │ 2uh + +│30 │31 │32 │33 ││ │ +├───┼───┼───┼───┤├───┤ +│40 │41 │42 │43 ││53 │ +├───┼───┼───┼───┤│ │ 2uh Enter +│50 │51 │52 │53 ││ │ +└───┴───┴───┴───┘└───┘ +┌───────┐ +│50 │ 2u P0 +└───────┘ +``` \ No newline at end of file From a0bb7ff9925c8e32664aa2020e5ece848ea1d60b Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 8 Jul 2024 15:57:45 +1000 Subject: [PATCH 36/54] `latinpad/latin60rgb`: move RGB Matrix LED config to data driven (#24076) --- keyboards/latincompass/latin60rgb/config.h | 2 - .../latincompass/latin60rgb/keyboard.json | 66 ++++++++ .../latincompass/latin60rgb/latin60rgb.c | 144 ++++++++---------- 3 files changed, 127 insertions(+), 85 deletions(-) diff --git a/keyboards/latincompass/latin60rgb/config.h b/keyboards/latincompass/latin60rgb/config.h index 94ea00468ca..b2636abe1a3 100644 --- a/keyboards/latincompass/latin60rgb/config.h +++ b/keyboards/latincompass/latin60rgb/config.h @@ -16,5 +16,3 @@ #pragma once #define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND - -#define RGB_MATRIX_LED_COUNT 60 diff --git a/keyboards/latincompass/latin60rgb/keyboard.json b/keyboards/latincompass/latin60rgb/keyboard.json index 3197b3979d3..764a7c882a6 100644 --- a/keyboards/latincompass/latin60rgb/keyboard.json +++ b/keyboards/latincompass/latin60rgb/keyboard.json @@ -40,6 +40,72 @@ "solid_reactive": true }, "driver": "is31fl3733", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, + {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, + {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4}, + {"matrix": [0, 9], "x": 144, "y": 0, "flags": 4}, + {"matrix": [0, 10], "x": 160, "y": 0, "flags": 4}, + {"matrix": [0, 11], "x": 176, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 192, "y": 0, "flags": 4}, + {"matrix": [0, 13], "x": 216, "y": 0, "flags": 1}, + + {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, + {"matrix": [1, 1], "x": 24, "y": 16, "flags": 4}, + {"matrix": [1, 2], "x": 40, "y": 16, "flags": 4}, + {"matrix": [1, 3], "x": 56, "y": 16, "flags": 4}, + {"matrix": [1, 4], "x": 72, "y": 16, "flags": 4}, + {"matrix": [1, 5], "x": 88, "y": 16, "flags": 4}, + {"matrix": [1, 6], "x": 104, "y": 16, "flags": 4}, + {"matrix": [1, 7], "x": 120, "y": 16, "flags": 4}, + {"matrix": [1, 8], "x": 136, "y": 16, "flags": 4}, + {"matrix": [1, 9], "x": 152, "y": 16, "flags": 4}, + {"matrix": [1, 10], "x": 168, "y": 16, "flags": 4}, + {"matrix": [1, 11], "x": 184, "y": 16, "flags": 4}, + {"matrix": [1, 12], "x": 200, "y": 16, "flags": 4}, + {"matrix": [1, 13], "x": 220, "y": 16, "flags": 1}, + + {"matrix": [2, 0], "x": 6, "y": 32, "flags": 1}, + {"matrix": [2, 1], "x": 28, "y": 32, "flags": 4}, + {"matrix": [2, 2], "x": 44, "y": 32, "flags": 4}, + {"matrix": [2, 3], "x": 60, "y": 32, "flags": 4}, + {"matrix": [2, 4], "x": 76, "y": 32, "flags": 4}, + {"matrix": [2, 5], "x": 92, "y": 32, "flags": 4}, + {"matrix": [2, 6], "x": 108, "y": 32, "flags": 4}, + {"matrix": [2, 7], "x": 124, "y": 32, "flags": 4}, + {"matrix": [2, 8], "x": 140, "y": 32, "flags": 4}, + {"matrix": [2, 9], "x": 156, "y": 32, "flags": 4}, + {"matrix": [2, 10], "x": 172, "y": 32, "flags": 4}, + {"matrix": [2, 11], "x": 188, "y": 32, "flags": 4}, + {"matrix": [2, 12], "x": 214, "y": 32, "flags": 1}, + + {"matrix": [3, 0], "x": 8, "y": 48, "flags": 1}, + {"matrix": [3, 1], "x": 32, "y": 48, "flags": 4}, + {"matrix": [3, 2], "x": 48, "y": 48, "flags": 4}, + {"matrix": [3, 3], "x": 64, "y": 48, "flags": 4}, + {"matrix": [3, 4], "x": 80, "y": 48, "flags": 4}, + {"matrix": [3, 5], "x": 96, "y": 48, "flags": 4}, + {"matrix": [3, 6], "x": 112, "y": 48, "flags": 4}, + {"matrix": [3, 7], "x": 128, "y": 48, "flags": 4}, + {"matrix": [3, 8], "x": 144, "y": 48, "flags": 4}, + {"matrix": [3, 9], "x": 160, "y": 48, "flags": 4}, + {"matrix": [3, 10], "x": 176, "y": 48, "flags": 4}, + {"matrix": [3, 11], "x": 192, "y": 48, "flags": 4}, + {"matrix": [3, 12], "x": 208, "y": 48, "flags": 4}, + {"matrix": [3, 13], "x": 224, "y": 48, "flags": 4}, + + {"matrix": [4, 0], "x": 22, "y": 64, "flags": 1}, + {"matrix": [4, 1], "x": 42, "y": 64, "flags": 1}, + {"matrix": [4, 2], "x": 102, "y": 64, "flags": 4}, + {"matrix": [4, 3], "x": 162, "y": 64, "flags": 1}, + {"matrix": [4, 4], "x": 180, "y": 64, "flags": 1} + ], "sleep": true }, "features": { diff --git a/keyboards/latincompass/latin60rgb/latin60rgb.c b/keyboards/latincompass/latin60rgb/latin60rgb.c index 8a032d76b14..305aaff5f21 100644 --- a/keyboards/latincompass/latin60rgb/latin60rgb.c +++ b/keyboards/latincompass/latin60rgb/latin60rgb.c @@ -17,92 +17,70 @@ #ifdef RGB_MATRIX_ENABLE const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { - { 0, SW11_CS13, SW10_CS13, SW12_CS13 }, - { 0, SW11_CS12, SW10_CS12, SW12_CS12 }, - { 0, SW11_CS11, SW10_CS11, SW12_CS11 }, - { 0, SW11_CS10, SW10_CS10, SW12_CS10 }, - { 0, SW11_CS9, SW10_CS9, SW12_CS9 }, - { 0, SW11_CS8, SW10_CS8, SW12_CS8 }, - { 0, SW11_CS7, SW10_CS7, SW12_CS7 }, - { 0, SW11_CS6, SW10_CS6, SW12_CS6 }, - { 0, SW11_CS5, SW10_CS5, SW12_CS5 }, - { 0, SW11_CS4, SW10_CS4, SW12_CS4 }, - { 0, SW11_CS3, SW10_CS3, SW12_CS3 }, - { 0, SW11_CS2, SW10_CS2, SW12_CS2 }, - { 0, SW11_CS1, SW10_CS1, SW12_CS1 }, - - { 0, SW8_CS16, SW7_CS16, SW9_CS16 }, - { 0, SW8_CS15, SW7_CS15, SW9_CS15 }, - { 0, SW8_CS14, SW7_CS14, SW9_CS14 }, - { 0, SW8_CS13, SW7_CS13, SW9_CS13 }, - { 0, SW8_CS12, SW7_CS12, SW9_CS12 }, - { 0, SW8_CS11, SW7_CS11, SW9_CS11 }, - { 0, SW8_CS10, SW7_CS10, SW9_CS10 }, - { 0, SW8_CS9, SW7_CS9, SW9_CS9 }, - { 0, SW8_CS8, SW7_CS8, SW9_CS8 }, - { 0, SW8_CS7, SW7_CS7, SW9_CS7 }, - { 0, SW8_CS6, SW7_CS6, SW9_CS6 }, - { 0, SW8_CS5, SW7_CS5, SW9_CS5 }, - { 0, SW8_CS4, SW7_CS4, SW9_CS4 }, - { 0, SW8_CS3, SW7_CS3, SW9_CS3 }, - { 0, SW8_CS2, SW7_CS2, SW9_CS2 }, - { 0, SW8_CS1, SW7_CS1, SW9_CS1 }, - - { 0, SW5_CS16, SW4_CS16, SW6_CS16 }, - { 0, SW5_CS15, SW4_CS15, SW6_CS15 }, - { 0, SW5_CS14, SW4_CS14, SW6_CS14 }, - { 0, SW5_CS13, SW4_CS13, SW6_CS13 }, - { 0, SW5_CS12, SW4_CS12, SW6_CS12 }, - { 0, SW5_CS11, SW4_CS11, SW6_CS11 }, - { 0, SW5_CS10, SW4_CS10, SW6_CS10 }, - { 0, SW5_CS9, SW4_CS9, SW6_CS9 }, - { 0, SW5_CS8, SW4_CS8, SW6_CS8 }, - { 0, SW5_CS7, SW4_CS7, SW6_CS7 }, - { 0, SW5_CS6, SW4_CS6, SW6_CS6 }, - { 0, SW5_CS5, SW4_CS5, SW6_CS5 }, - { 0, SW5_CS4, SW4_CS4, SW6_CS4 }, - { 0, SW5_CS3, SW4_CS3, SW6_CS3 }, - { 0, SW5_CS2, SW4_CS2, SW6_CS2 }, - { 0, SW5_CS1, SW4_CS1, SW6_CS1 }, + { 0, SW2_CS1, SW1_CS1, SW3_CS1 }, + { 0, SW2_CS2, SW1_CS2, SW3_CS2 }, + { 0, SW2_CS3, SW1_CS3, SW3_CS3 }, + { 0, SW2_CS4, SW1_CS4, SW3_CS4 }, + { 0, SW2_CS5, SW1_CS5, SW3_CS5 }, + { 0, SW2_CS6, SW1_CS6, SW3_CS6 }, + { 0, SW2_CS7, SW1_CS7, SW3_CS7 }, + { 0, SW2_CS8, SW1_CS8, SW3_CS8 }, + { 0, SW2_CS9, SW1_CS9, SW3_CS9 }, + { 0, SW2_CS10, SW1_CS10, SW3_CS10 }, + { 0, SW2_CS11, SW1_CS11, SW3_CS11 }, + { 0, SW2_CS12, SW1_CS12, SW3_CS12 }, + { 0, SW2_CS13, SW1_CS13, SW3_CS13 }, + { 0, SW2_CS14, SW1_CS14, SW3_CS14 }, { 0, SW2_CS16, SW1_CS16, SW3_CS16 }, - { 0, SW2_CS14, SW1_CS14, SW3_CS14 }, - { 0, SW2_CS13, SW1_CS13, SW3_CS13 }, - { 0, SW2_CS12, SW1_CS12, SW3_CS12 }, - { 0, SW2_CS11, SW1_CS11, SW3_CS11 }, - { 0, SW2_CS10, SW1_CS10, SW3_CS10 }, - { 0, SW2_CS9, SW1_CS9, SW3_CS9 }, - { 0, SW2_CS8, SW1_CS8, SW3_CS8 }, - { 0, SW2_CS7, SW1_CS7, SW3_CS7 }, - { 0, SW2_CS6, SW1_CS6, SW3_CS6 }, - { 0, SW2_CS5, SW1_CS5, SW3_CS5 }, - { 0, SW2_CS4, SW1_CS4, SW3_CS4 }, - { 0, SW2_CS3, SW1_CS3, SW3_CS3 }, - { 0, SW2_CS2, SW1_CS2, SW3_CS2 }, - { 0, SW2_CS1, SW1_CS1, SW3_CS1 } + { 0, SW5_CS1, SW4_CS1, SW6_CS1 }, + { 0, SW5_CS2, SW4_CS2, SW6_CS2 }, + { 0, SW5_CS3, SW4_CS3, SW6_CS3 }, + { 0, SW5_CS4, SW4_CS4, SW6_CS4 }, + { 0, SW5_CS5, SW4_CS5, SW6_CS5 }, + { 0, SW5_CS6, SW4_CS6, SW6_CS6 }, + { 0, SW5_CS7, SW4_CS7, SW6_CS7 }, + { 0, SW5_CS8, SW4_CS8, SW6_CS8 }, + { 0, SW5_CS9, SW4_CS9, SW6_CS9 }, + { 0, SW5_CS10, SW4_CS10, SW6_CS10 }, + { 0, SW5_CS11, SW4_CS11, SW6_CS11 }, + { 0, SW5_CS12, SW4_CS12, SW6_CS12 }, + { 0, SW5_CS13, SW4_CS13, SW6_CS13 }, -}; + { 0, SW5_CS14, SW4_CS14, SW6_CS14 }, + { 0, SW5_CS15, SW4_CS15, SW6_CS15 }, + { 0, SW5_CS16, SW4_CS16, SW6_CS16 }, + { 0, SW8_CS1, SW7_CS1, SW9_CS1 }, + { 0, SW8_CS2, SW7_CS2, SW9_CS2 }, + { 0, SW8_CS3, SW7_CS3, SW9_CS3 }, + { 0, SW8_CS4, SW7_CS4, SW9_CS4 }, + { 0, SW8_CS5, SW7_CS5, SW9_CS5 }, + { 0, SW8_CS6, SW7_CS6, SW9_CS6 }, + { 0, SW8_CS7, SW7_CS7, SW9_CS7 }, + { 0, SW8_CS8, SW7_CS8, SW9_CS8 }, + { 0, SW8_CS9, SW7_CS9, SW9_CS9 }, + { 0, SW8_CS10, SW7_CS10, SW9_CS10 }, -led_config_t g_led_config = { - { - { 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46 }, - { 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32 }, - { 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19 }, - { 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5 }, - { 4, 3, 2, 1 ,0 } - }, { - { 224, 0 }, { 208, 0 }, { 192, 0 }, { 176, 0 }, { 160, 0 }, { 144, 0 }, { 128, 0 }, { 112, 0 }, { 96, 0 }, { 80, 0 }, { 64, 0 }, { 48, 0 }, { 32, 0 }, { 16, 0 }, - { 220, 16 }, { 200, 16 }, { 184, 16 }, { 168, 16 }, { 152, 16 }, { 136, 16 }, { 120, 16 }, { 104, 16 }, { 88, 16 }, { 72, 16 }, { 56, 16 }, { 40, 16 }, { 24, 16 }, { 4, 16 }, - { 204, 32 }, { 188, 32 }, { 172, 32 }, { 156, 32 }, { 140, 32 }, { 124, 32 }, { 108, 32 }, { 92, 32 }, { 76, 32 }, { 60, 32 }, { 44, 32 }, { 28, 32 }, { 6, 32 }, - { 224, 48 }, { 198, 64 }, { 202, 48 }, { 180, 48 }, { 164, 48 }, { 148, 48 }, { 132, 48 }, { 116, 48 }, { 100, 48 }, { 84, 48 }, { 68, 48 }, { 52, 48 }, { 20, 48 }, { 10, 48 }, - { 218, 64 }, { 178, 64 }, { 112, 64 }, { 46, 64 }, { 26, 64 } - }, { - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 1, 4, 1, 1 - } + { 0, SW8_CS11, SW7_CS11, SW9_CS11 }, + { 0, SW8_CS12, SW7_CS12, SW9_CS12 }, + { 0, SW8_CS13, SW7_CS13, SW9_CS13 }, + { 0, SW8_CS14, SW7_CS14, SW9_CS14 }, + { 0, SW8_CS15, SW7_CS15, SW9_CS15 }, + { 0, SW8_CS16, SW7_CS16, SW9_CS16 }, + { 0, SW11_CS1, SW10_CS1, SW12_CS1 }, + { 0, SW11_CS2, SW10_CS2, SW12_CS2 }, + { 0, SW11_CS3, SW10_CS3, SW12_CS3 }, + { 0, SW11_CS4, SW10_CS4, SW12_CS4 }, + { 0, SW11_CS5, SW10_CS5, SW12_CS5 }, + { 0, SW11_CS6, SW10_CS6, SW12_CS6 }, + { 0, SW11_CS7, SW10_CS7, SW12_CS7 }, + { 0, SW11_CS8, SW10_CS8, SW12_CS8 }, + + { 0, SW11_CS9, SW10_CS9, SW12_CS9 }, + { 0, SW11_CS10, SW10_CS10, SW12_CS10 }, + { 0, SW11_CS11, SW10_CS11, SW12_CS11 }, + { 0, SW11_CS12, SW10_CS12, SW12_CS12 }, + { 0, SW11_CS13, SW10_CS13, SW12_CS13 } }; void suspend_power_down_kb(void) { @@ -120,7 +98,7 @@ bool rgb_matrix_indicators_kb(void) { return false; } if (host_keyboard_led_state().caps_lock) { - rgb_matrix_set_color(41, 0xFF, 0xFF, 0xFF); + rgb_matrix_set_color(28, 0xFF, 0xFF, 0xFF); } return true; } From fbbc71ec34e1e9dc5450e9620e71526f5488fe81 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 9 Jul 2024 02:27:09 +1000 Subject: [PATCH 37/54] `kakunpc/rabbit_capture_plan`: update keymap layout name (#24079) `kakunpc/rabbit_capture_plan`: update keymap layout names --- .../kakunpc/rabbit_capture_plan/keymaps/default/keymap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/kakunpc/rabbit_capture_plan/keymaps/default/keymap.c b/keyboards/kakunpc/rabbit_capture_plan/keymaps/default/keymap.c index 649ea50c429..aba1a40e15c 100644 --- a/keyboards/kakunpc/rabbit_capture_plan/keymaps/default/keymap.c +++ b/keyboards/kakunpc/rabbit_capture_plan/keymaps/default/keymap.c @@ -22,14 +22,14 @@ enum layers{ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base */ - [_BASE] = LAYOUT_all( + [_BASE] = LAYOUT_ansi_split_rshift( KC_ESC, KC_GRV, 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_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_LCAP, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_DEL, KC_UP, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_LEFT, KC_DOWN, KC_RIGHT ), - [_FN] = LAYOUT_all( + [_FN] = LAYOUT_ansi_split_rshift( QK_BOOT, _______, 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_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______,_______, _______, _______, _______, _______, _______, _______, _______, From fb54a59bba20d83be7a42da52faf3e6afebc1c26 Mon Sep 17 00:00:00 2001 From: Ryan Date: Thu, 11 Jul 2024 10:09:41 +1000 Subject: [PATCH 38/54] `jadookb/jkb65`: move RGB Matrix LED config to data driven (#24080) --- keyboards/jadookb/jkb65/config.h | 19 -------- keyboards/jadookb/jkb65/info.json | 73 +++++++++++++++++++++++++++++++ keyboards/jadookb/jkb65/jkb65.c | 29 +----------- 3 files changed, 74 insertions(+), 47 deletions(-) delete mode 100644 keyboards/jadookb/jkb65/config.h diff --git a/keyboards/jadookb/jkb65/config.h b/keyboards/jadookb/jkb65/config.h deleted file mode 100644 index a0793c58611..00000000000 --- a/keyboards/jadookb/jkb65/config.h +++ /dev/null @@ -1,19 +0,0 @@ - /* Copyright 2021 Wizad-GG - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define RGB_MATRIX_LED_COUNT 67 diff --git a/keyboards/jadookb/jkb65/info.json b/keyboards/jadookb/jkb65/info.json index 054b1c5452c..c4a44a0d744 100644 --- a/keyboards/jadookb/jkb65/info.json +++ b/keyboards/jadookb/jkb65/info.json @@ -77,6 +77,79 @@ "animation": "cycle_all" }, "driver": "ws2812", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, + {"matrix": [0, 1], "x": 15, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 30, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 45, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 60, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 75, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 90, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 105, "y": 0, "flags": 4}, + {"matrix": [0, 8], "x": 120, "y": 0, "flags": 4}, + {"matrix": [0, 9], "x": 134, "y": 0, "flags": 4}, + {"matrix": [0, 10], "x": 149, "y": 0, "flags": 4}, + {"matrix": [0, 11], "x": 164, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 179, "y": 0, "flags": 4}, + {"matrix": [0, 14], "x": 202, "y": 0, "flags": 1}, + {"matrix": [0, 15], "x": 224, "y": 0, "flags": 1}, + + {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, + {"matrix": [1, 1], "x": 22, "y": 16, "flags": 4}, + {"matrix": [1, 2], "x": 37, "y": 16, "flags": 4}, + {"matrix": [1, 3], "x": 52, "y": 16, "flags": 4}, + {"matrix": [1, 4], "x": 67, "y": 16, "flags": 4}, + {"matrix": [1, 5], "x": 82, "y": 16, "flags": 4}, + {"matrix": [1, 6], "x": 97, "y": 16, "flags": 4}, + {"matrix": [1, 7], "x": 112, "y": 16, "flags": 4}, + {"matrix": [1, 8], "x": 127, "y": 16, "flags": 4}, + {"matrix": [1, 9], "x": 142, "y": 16, "flags": 4}, + {"matrix": [1, 10], "x": 157, "y": 16, "flags": 4}, + {"matrix": [1, 11], "x": 172, "y": 16, "flags": 4}, + {"matrix": [1, 12], "x": 187, "y": 16, "flags": 4}, + {"matrix": [1, 13], "x": 205, "y": 16, "flags": 4}, + {"matrix": [1, 15], "x": 224, "y": 16, "flags": 1}, + + {"matrix": [2, 0], "x": 6, "y": 32, "flags": 1}, + {"matrix": [2, 1], "x": 26, "y": 32, "flags": 4}, + {"matrix": [2, 2], "x": 41, "y": 32, "flags": 4}, + {"matrix": [2, 3], "x": 56, "y": 32, "flags": 4}, + {"matrix": [2, 4], "x": 71, "y": 32, "flags": 4}, + {"matrix": [2, 5], "x": 86, "y": 32, "flags": 4}, + {"matrix": [2, 6], "x": 101, "y": 32, "flags": 4}, + {"matrix": [2, 7], "x": 116, "y": 32, "flags": 4}, + {"matrix": [2, 8], "x": 131, "y": 32, "flags": 4}, + {"matrix": [2, 9], "x": 146, "y": 32, "flags": 4}, + {"matrix": [2, 10], "x": 161, "y": 32, "flags": 4}, + {"matrix": [2, 11], "x": 175, "y": 32, "flags": 4}, + {"matrix": [2, 13], "x": 200, "y": 32, "flags": 1}, + {"matrix": [2, 15], "x": 224, "y": 32, "flags": 1}, + + {"matrix": [3, 0], "x": 9, "y": 48, "flags": 1}, + {"matrix": [3, 2], "x": 34, "y": 48, "flags": 4}, + {"matrix": [3, 3], "x": 49, "y": 48, "flags": 4}, + {"matrix": [3, 4], "x": 63, "y": 48, "flags": 4}, + {"matrix": [3, 5], "x": 78, "y": 48, "flags": 4}, + {"matrix": [3, 6], "x": 93, "y": 48, "flags": 4}, + {"matrix": [3, 7], "x": 108, "y": 48, "flags": 4}, + {"matrix": [3, 8], "x": 123, "y": 48, "flags": 4}, + {"matrix": [3, 9], "x": 138, "y": 48, "flags": 4}, + {"matrix": [3, 10], "x": 153, "y": 48, "flags": 4}, + {"matrix": [3, 11], "x": 168, "y": 48, "flags": 4}, + {"matrix": [3, 12], "x": 189, "y": 48, "flags": 1}, + {"matrix": [3, 13], "x": 209, "y": 48, "flags": 1}, + {"matrix": [3, 15], "x": 224, "y": 48, "flags": 1}, + + {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, + {"matrix": [4, 1], "x": 21, "y": 64, "flags": 1}, + {"matrix": [4, 2], "x": 39, "y": 64, "flags": 1}, + {"matrix": [4, 6], "x": 95, "y": 64, "flags": 4}, + {"matrix": [4, 10], "x": 151, "y": 64, "flags": 1}, + {"matrix": [4, 11], "x": 170, "y": 64, "flags": 1}, + {"matrix": [4, 12], "x": 194, "y": 64, "flags": 1}, + {"matrix": [4, 13], "x": 209, "y": 64, "flags": 1}, + {"matrix": [4, 15], "x": 224, "y": 64, "flags": 1} + ], "led_process_limit": 4, "led_flush_limit": 26, "sleep": true, diff --git a/keyboards/jadookb/jkb65/jkb65.c b/keyboards/jadookb/jkb65/jkb65.c index 0e76162b5ab..54037899dca 100644 --- a/keyboards/jadookb/jkb65/jkb65.c +++ b/keyboards/jadookb/jkb65/jkb65.c @@ -17,38 +17,11 @@ #include "quantum.h" #ifdef RGB_MATRIX_ENABLE - -led_config_t g_led_config = { { - // Key Matrix to LED Index - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, - { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 }, - { 30, NO_LED, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43 }, - { NO_LED, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 }, - { 58, 59, 60, NO_LED, NO_LED, NO_LED, 61, NO_LED, NO_LED, 62, 63, 64, 65, 66 } -}, { - // LED Index to Physical Position - { 0, 0}, { 15, 0}, { 30, 0}, { 45, 0}, { 60, 0}, { 75, 0}, { 90, 0}, {105, 0}, {120, 0}, {135, 0}, {150, 0}, {165, 0}, {180, 0}, {202, 0}, {225, 0}, // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace, Delete - { 4, 16}, { 22, 16}, { 37, 16}, { 52, 16}, { 67, 16}, { 82, 16}, { 97, 16}, {112, 16}, {127, 16}, {142, 16}, {157, 16}, {172, 16}, {187, 16}, {206, 16}, {225, 16}, // Tab, Q, W, E, R, T, Y, U, I, O, P, [, ], backslash , Home - { 6, 32}, { 26, 32}, { 41, 32}, { 56, 32}, { 71, 32}, { 86, 32}, {101, 32}, {116, 32}, {131, 32}, {146, 32}, {161, 32}, {176, 32}, {201, 32}, {225, 32}, // Capslock, A, S, D, F, G, H, J, K, L, ;, ', Enter, Page up - { 9, 48}, { 34, 48}, { 49, 48}, { 64, 48}, { 79, 48}, { 94, 48}, {109, 48}, {124, 48}, {139, 48}, {154, 48}, {169, 48}, {189, 48}, {208, 48}, {225, 48}, // LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, Page Down - { 2, 64}, { 21, 64}, { 39, 64}, { 94, 64}, {148, 64}, {163, 64}, {193, 64}, {208, 64}, {225, 64}, // Ctrl, GUI, Alt, Space, RAlt, FN, Ctrl, Left, Down, Right - -}, { - // LED Index to Flag - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, // Esc, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, -, =, Backspace, Delete - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, // Tab, Q, W, E, R, T, Y, U, I, O, P, [, ], backslash , Home - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, // Capslock, A, S, D, F, G, H, J, K, L, ;, ', Enter, Page up - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, // LShift, Z, X, C, V, B, N, M, ,, ., /, Shift, Up, Page Down - 1, 1, 1, 4, 1, 1, 1, 1, 1, // Ctrl, GUI, Alt, Space, Alt, FN, Left, Down, Right - -} }; - - bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; } - if (host_keyboard_led_state().caps_lock) { + if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF); } return true; From efa5b30cfdc0649c18ba5315a11cb3294c928dbd Mon Sep 17 00:00:00 2001 From: era <73109780+eerraa@users.noreply.github.com> Date: Thu, 11 Jul 2024 11:50:09 +0900 Subject: [PATCH 39/54] [Keyboard] Add Linx3 FAve65S (#24034) Co-authored-by: Duncan Sutherland --- keyboards/era/linx3/fave65s/config.h | 8 + keyboards/era/linx3/fave65s/fave65s.c | 16 + keyboards/era/linx3/fave65s/keyboard.json | 771 ++++++++++++++++++ .../linx3/fave65s/keymaps/default/keymap.c | 21 + .../era/linx3/fave65s/keymaps/via/keymap.c | 21 + .../era/linx3/fave65s/keymaps/via/rules.mk | 1 + keyboards/era/linx3/fave65s/readme.md | 26 + 7 files changed, 864 insertions(+) create mode 100644 keyboards/era/linx3/fave65s/config.h create mode 100644 keyboards/era/linx3/fave65s/fave65s.c create mode 100644 keyboards/era/linx3/fave65s/keyboard.json create mode 100644 keyboards/era/linx3/fave65s/keymaps/default/keymap.c create mode 100644 keyboards/era/linx3/fave65s/keymaps/via/keymap.c create mode 100644 keyboards/era/linx3/fave65s/keymaps/via/rules.mk create mode 100644 keyboards/era/linx3/fave65s/readme.md diff --git a/keyboards/era/linx3/fave65s/config.h b/keyboards/era/linx3/fave65s/config.h new file mode 100644 index 00000000000..28d7f4f370d --- /dev/null +++ b/keyboards/era/linx3/fave65s/config.h @@ -0,0 +1,8 @@ +// Copyright 2024 Hyojin Bak (@eerraa) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* Reset */ +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 2000U diff --git a/keyboards/era/linx3/fave65s/fave65s.c b/keyboards/era/linx3/fave65s/fave65s.c new file mode 100644 index 00000000000..751594bc933 --- /dev/null +++ b/keyboards/era/linx3/fave65s/fave65s.c @@ -0,0 +1,16 @@ +// Copyright 2024 Hyojin Bak (@eerraa) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(0, 0, 128, 128); + } else { + rgb_matrix_set_color(0, 0, 0, 0); + } + return true; +} diff --git a/keyboards/era/linx3/fave65s/keyboard.json b/keyboards/era/linx3/fave65s/keyboard.json new file mode 100644 index 00000000000..9bb1e456949 --- /dev/null +++ b/keyboards/era/linx3/fave65s/keyboard.json @@ -0,0 +1,771 @@ +{ + "manufacturer": "eerraa", + "keyboard_name": "FAve65S", + "maintainer": "eerraa", + "bootloader": "rp2040", + "build": { + "debounce_type": "sym_defer_pk" + }, + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["GP28", "GP27", "GP26", "GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9", "GP12", "GP11", "GP10"], + "rows": ["GP25", "GP29", "GP18", "GP23", "GP24"] + }, + "processor": "RP2040", + "rgb_matrix": { + "animations": { + "alphas_mods": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_sat": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "band_val": true, + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "cycle_up_down": true, + "dual_beacon": true, + "flower_blooming": true, + "gradient_left_right": true, + "gradient_up_down": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "jellybean_raindrops": true, + "pixel_flow": true, + "pixel_fractal": true, + "pixel_rain": true, + "rainbow_beacon": true, + "rainbow_moving_chevron": true, + "rainbow_pinwheels": true, + "raindrops": true, + "riverflow": true, + "starlight": true, + "starlight_dual_hue": true, + "starlight_dual_sat": true + }, + "default": { + "animation": "rainbow_moving_chevron" + }, + "driver": "ws2812", + "layout": [ + {"matrix": [2, 0], "x": 10, "y": 39, "flags": 8}, + {"x": 0, "y": 0, "flags": 2}, + {"x": 13, "y": 0, "flags": 2}, + {"x": 26, "y": 0, "flags": 2}, + {"x": 40, "y": 0, "flags": 2}, + {"x": 53, "y": 0, "flags": 2}, + {"x": 66, "y": 0, "flags": 2}, + {"x": 79, "y": 0, "flags": 2}, + {"x": 92, "y": 0, "flags": 2}, + {"x": 105, "y": 0, "flags": 2}, + {"x": 119, "y": 0, "flags": 2}, + {"x": 132, "y": 0, "flags": 2}, + {"x": 145, "y": 0, "flags": 2}, + {"x": 158, "y": 0, "flags": 2}, + {"x": 171, "y": 0, "flags": 2}, + {"x": 184, "y": 0, "flags": 2}, + {"x": 198, "y": 0, "flags": 2}, + {"x": 211, "y": 0, "flags": 2}, + {"x": 224, "y": 0, "flags": 2}, + {"x": 224, "y": 13, "flags": 2}, + {"x": 224, "y": 26, "flags": 2}, + {"x": 224, "y": 38, "flags": 2}, + {"x": 224, "y": 51, "flags": 2}, + {"x": 224, "y": 64, "flags": 2}, + {"x": 211, "y": 64, "flags": 2}, + {"x": 198, "y": 64, "flags": 2}, + {"x": 184, "y": 64, "flags": 2}, + {"x": 171, "y": 64, "flags": 2}, + {"x": 158, "y": 64, "flags": 2}, + {"x": 145, "y": 64, "flags": 2}, + {"x": 132, "y": 64, "flags": 2}, + {"x": 119, "y": 64, "flags": 2}, + {"x": 105, "y": 64, "flags": 2}, + {"x": 92, "y": 64, "flags": 2}, + {"x": 79, "y": 64, "flags": 2}, + {"x": 66, "y": 64, "flags": 2}, + {"x": 53, "y": 64, "flags": 2}, + {"x": 40, "y": 64, "flags": 2}, + {"x": 26, "y": 64, "flags": 2}, + {"x": 13, "y": 64, "flags": 2}, + {"x": 0, "y": 64, "flags": 2}, + {"x": 0, "y": 51, "flags": 2}, + {"x": 0, "y": 38, "flags": 2}, + {"x": 0, "y": 26, "flags": 2}, + {"x": 0, "y": 13, "flags": 2} + ], + "sleep": true + }, + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0011", + "vid": "0x4552" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP19" + }, + "community_layouts": ["65_ansi_blocker", "65_ansi_blocker_split_bs", "65_ansi_blocker_tsangan", "65_ansi_blocker_tsangan_split_bs", "65_iso_blocker", "65_iso_blocker_split_bs", "65_iso_blocker_tsangan", "65_iso_blocker_tsangan_split_bs"], + "layouts": { + "LAYOUT_65_ansi_blocker": { + "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}, + {"matrix": [0, 14], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 15], "x": 15, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 15], "x": 15, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_split_bs": { + "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}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 15], "x": 15, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan": { + "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}, + {"matrix": [0, 14], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 15], "x": 15, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 15], "x": 15, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 5], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan_split_bs": { + "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}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 15], "x": 15, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 5], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker": { + "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}, + {"matrix": [0, 14], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 15], "x": 15, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 15], "x": 15, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 15], "x": 15, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_split_bs": { + "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}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 15], "x": 15, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 15], "x": 15, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_tsangan": { + "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}, + {"matrix": [0, 14], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 15], "x": 15, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 15], "x": 15, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 15], "x": 15, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 5], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_tsangan_split_bs": { + "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}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 15], "x": 15, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 15], "x": 15, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 5], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "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}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25}, + {"matrix": [2, 15], "x": 15, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/era/linx3/fave65s/keymaps/default/keymap.c b/keyboards/era/linx3/fave65s/keymaps/default/keymap.c new file mode 100644 index 00000000000..85eb4fb4ee2 --- /dev/null +++ b/keyboards/era/linx3/fave65s/keymaps/default/keymap.c @@ -0,0 +1,21 @@ +// Copyright 2024 QMK (@qmk) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + QK_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_BSPC, KC_BSPC, KC_INS, + 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_DEL, + 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_PGUP, + 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_RSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + 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_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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, 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 + ) +}; diff --git a/keyboards/era/linx3/fave65s/keymaps/via/keymap.c b/keyboards/era/linx3/fave65s/keymaps/via/keymap.c new file mode 100644 index 00000000000..85eb4fb4ee2 --- /dev/null +++ b/keyboards/era/linx3/fave65s/keymaps/via/keymap.c @@ -0,0 +1,21 @@ +// Copyright 2024 QMK (@qmk) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + QK_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_BSPC, KC_BSPC, KC_INS, + 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_DEL, + 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_PGUP, + 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_RSFT, KC_UP, KC_PGDN, + KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + 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_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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, 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 + ) +}; diff --git a/keyboards/era/linx3/fave65s/keymaps/via/rules.mk b/keyboards/era/linx3/fave65s/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/era/linx3/fave65s/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/era/linx3/fave65s/readme.md b/keyboards/era/linx3/fave65s/readme.md new file mode 100644 index 00000000000..e31b3acef94 --- /dev/null +++ b/keyboards/era/linx3/fave65s/readme.md @@ -0,0 +1,26 @@ +# FAve 65S, Solder Ver + +![head](https://i.imgur.com/4Sc42zO.jpg) +![tail](https://i.imgur.com/hgCPtWg.jpg) + +* Keyboard Maintainer: [ERA](https://github.com/eerraa) +* Hardware supported: LINWORKS +* Hardware availability: [LINWORKS](https://allthatkeyboard.com/) + +Make example for this keyboard (after setting up your build environment): + + make era/linx3/fave65s:default + +Flashing example for this keyboard: + + make era/linx3/fave65s:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at ESC(0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly short the `RESET` and `GND` pads on the SWD header twice, or short the `BOOT` header and plug in keyboard +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file From f8cf58a512d3e85f491b884672353acefab2f7bc Mon Sep 17 00:00:00 2001 From: Dasky <32983009+daskygit@users.noreply.github.com> Date: Thu, 11 Jul 2024 13:10:28 +0100 Subject: [PATCH 40/54] Remove a user keymap from crkbd. (#24091) remove personal keymap --- keyboards/crkbd/keymaps/colemak_luna/config.h | 115 ------ keyboards/crkbd/keymaps/colemak_luna/keymap.c | 385 ------------------ .../crkbd/keymaps/colemak_luna/readme.md | 17 - keyboards/crkbd/keymaps/colemak_luna/rules.mk | 7 - 4 files changed, 524 deletions(-) delete mode 100644 keyboards/crkbd/keymaps/colemak_luna/config.h delete mode 100644 keyboards/crkbd/keymaps/colemak_luna/keymap.c delete mode 100644 keyboards/crkbd/keymaps/colemak_luna/readme.md delete mode 100644 keyboards/crkbd/keymaps/colemak_luna/rules.mk diff --git a/keyboards/crkbd/keymaps/colemak_luna/config.h b/keyboards/crkbd/keymaps/colemak_luna/config.h deleted file mode 100644 index 546e01bdba9..00000000000 --- a/keyboards/crkbd/keymaps/colemak_luna/config.h +++ /dev/null @@ -1,115 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2023 @asdfire1 - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - -/* Select hand configuration */ - -#define MASTER_LEFT -// #define MASTER_RIGHT -// #define EE_HANDS - -#ifdef RGBLIGHT_ENABLE - #define RGBLIGHT_EFFECT_BREATHING - #define RGBLIGHT_EFFECT_RAINBOW_MOOD - #define RGBLIGHT_EFFECT_RAINBOW_SWIRL - #define RGBLIGHT_EFFECT_SNAKE - #define RGBLIGHT_EFFECT_KNIGHT - #define RGBLIGHT_EFFECT_CHRISTMAS - #define RGBLIGHT_EFFECT_STATIC_GRADIENT -// #define RGBLIGHT_EFFECT_RGB_TEST -// #define RGBLIGHT_EFFECT_ALTERNATING -// #define RGBLIGHT_EFFECT_TWINKLE - #define RGBLIGHT_LIMIT_VAL 120 - #define RGBLIGHT_HUE_STEP 10 - #define RGBLIGHT_SAT_STEP 17 - #define RGBLIGHT_VAL_STEP 17 -#endif - -#ifdef RGB_MATRIX_ENABLE -//# define RGB_MATRIX_KEYPRESSES // reacts to keypresses -// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) -// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects -# define RGB_MATRIX_SLEEP // turn off effects when suspended -//# define RGB_MATRIX_FRAMEBUFFER_EFFECTS -// # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) -// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness) -# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash. -# define RGB_MATRIX_HUE_STEP 8 -# define RGB_MATRIX_SAT_STEP 8 -# define RGB_MATRIX_VAL_STEP 8 -# define RGB_MATRIX_SPD_STEP 10 - -/* Enable the animations you want/need. You may need to enable only a small number of these because * - * they take up a lot of space. Enable and confirm that you can still successfully compile your firmware. */ -// RGB Matrix Animation modes. Explicitly enabled -// For full list of effects, see: -// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects -# define ENABLE_RGB_MATRIX_ALPHAS_MODS -//# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -//# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT -//# define ENABLE_RGB_MATRIX_BREATHING -//# define ENABLE_RGB_MATRIX_BAND_SAT -//# define ENABLE_RGB_MATRIX_BAND_VAL -//# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT -//# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL -//# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT -//# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL -//# define ENABLE_RGB_MATRIX_CYCLE_ALL -//# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -//# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -//# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN -//# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL -//# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL -//# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL -//# define ENABLE_RGB_MATRIX_DUAL_BEACON -//# define ENABLE_RGB_MATRIX_RAINBOW_BEACON -//# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS -//# define ENABLE_RGB_MATRIX_RAINDROPS -//# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS -//# define ENABLE_RGB_MATRIX_HUE_BREATHING -//# define ENABLE_RGB_MATRIX_HUE_PENDULUM -//# define ENABLE_RGB_MATRIX_HUE_WAVE -//# define ENABLE_RGB_MATRIX_PIXEL_RAIN -//# define ENABLE_RGB_MATRIX_PIXEL_FLOW -//# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL -// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined -//# define ENABLE_RGB_MATRIX_TYPING_HEATMAP -//# define ENABLE_RGB_MATRIX_DIGITAL_RAIN -// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined -//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE -//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -//# define ENABLE_RGB_MATRIX_SPLASH -//# define ENABLE_RGB_MATRIX_MULTISPLASH -//# define ENABLE_RGB_MATRIX_SOLID_SPLASH -//# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -#endif -#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c" -#define SPLIT_LAYER_STATE_ENABLE -#define SPLIT_WPM_ENABLE //Enable WPM across split keyboards (+268). -#define NO_ACTION_ONESHOT -//#define SPLIT_OLED_ENABLE - -#define DYNAMIC_KEYMAP_LAYER_COUNT 6 \ No newline at end of file diff --git a/keyboards/crkbd/keymaps/colemak_luna/keymap.c b/keyboards/crkbd/keymaps/colemak_luna/keymap.c deleted file mode 100644 index 39cfd1ca256..00000000000 --- a/keyboards/crkbd/keymaps/colemak_luna/keymap.c +++ /dev/null @@ -1,385 +0,0 @@ -/* -Copyright 2019 @foostan -Copyright 2021 @HellSingCoder -Copyright 2023 @asdfire1 - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#include QMK_KEYBOARD_H -//#include - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - //COLEMAK - [0] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ESC, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, MO(3), KC_SPC, KC_ENT, MO(4), KC_RALT - //`--------------------------' `--------------------------' - - ), - //GAME1 - [1] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ESC, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LALT, MO(2), KC_SPC, KC_ENT, MO(4), KC_RALT - //`--------------------------' `--------------------------' - ), - //GAME2 - [2] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DEL, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, KC_F1, KC_F2, XXXXXXX, XXXXXXX, KC_6, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F13, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F13, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, _______, KC_SPC, KC_ENT, MO(5), KC_RALT - //`--------------------------' `--------------------------' - ), - //LOWER - [3] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, KC_MPRV, XXXXXXX, KC_MINS, KC_P7, KC_P8, KC_P9, KC_DEL, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LSFT, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX, KC_MPLY, XXXXXXX, KC_PLUS, KC_P4, KC_P5, KC_P6, XXXXXXX, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MNXT, XXXXXXX, KC_EQL, KC_P1, KC_P2, KC_P3, KC_F13, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, _______, KC_SPC, KC_SPC, MO(5), KC_P0 - //`--------------------------' `--------------------------' - ), - //RAISE - [4] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_PGUP, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_CAPS, KC_CIRC, KC_AMPR, KC_LCBR, KC_LBRC, KC_LPRN, KC_RPRN, KC_RBRC, KC_RCBR, XXXXXXX, KC_END, KC_PGDN, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, KC_ASTR, KC_UNDS, KC_BSLS, KC_PIPE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, MO(5), KC_BSPC, _______, _______, KC_LALT - //`--------------------------' `--------------------------' - ), - //ADJUST - [5] = LAYOUT_split_3x6_3( - //,-----------------------------------------------------. ,-----------------------------------------------------. - QK_BOOT, TG(1), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LGUI, _______, _______, _______, _______, KC_LALT - //`--------------------------' `--------------------------' - ) -}; -// clang-format on - -#ifdef OLED_ENABLE - - -/* 32 * 32 logo */ -static void render_logo(void) { - static const char PROGMEM hexagram_logo[] = { - 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x70, 0x18, 0x06, - 0x06, 0x18, 0x70, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x07, 0x1f, 0x32, 0x66, 0xc4, 0x6c, 0x38, 0x1e, 0x37, 0x61, 0xc0, 0x80, 0x80, - 0x80, 0x80, 0xc0, 0x61, 0x37, 0x1e, 0x38, 0x6c, 0xc4, 0x66, 0x32, 0x1f, 0x07, 0x01, 0x00, 0x00, - 0x00, 0x00, 0x80, 0xe0, 0xf8, 0x4c, 0x66, 0x23, 0x36, 0x1c, 0x78, 0xec, 0x86, 0x03, 0x01, 0x01, - 0x01, 0x01, 0x03, 0x86, 0xec, 0x78, 0x1c, 0x36, 0x23, 0x66, 0x4c, 0xf8, 0xe0, 0x80, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x0e, 0x18, 0x60, - 0x60, 0x18, 0x0e, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00 -}; - oled_write_raw_P(hexagram_logo, sizeof(hexagram_logo)); -} - - - -/* KEYBOARD PET START */ - -/* settings */ -# define MIN_WALK_SPEED 10 -# define MIN_RUN_SPEED 40 - -/* advanced settings */ -# define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms -# define ANIM_SIZE 96 // number of bytes in array. If you change sprites, minimize for adequate firmware size. max is 1024 - -/* timers */ -uint32_t anim_timer = 0; -uint32_t anim_sleep = 0; - -/* current frame */ -uint8_t current_frame = 0; - -/* status variables */ -int current_wpm = 0; -led_t led_usb_state; - -bool isSneaking = false; -bool isJumping = false; -bool showedJump = true; -bool isBarking = false; - -/* logic */ -static void render_luna(int LUNA_X, int LUNA_Y) { - /* Sit */ - static const char PROGMEM sit[2][ANIM_SIZE] = {/* 'sit1', 32x22px */ - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x02, 0x05, 0x02, 0x24, 0x04, 0x04, 0x02, 0xa9, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x68, 0x10, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x82, 0x7c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x0c, 0x10, 0x10, 0x20, 0x20, 0x20, 0x28, 0x3e, 0x1c, 0x20, 0x20, 0x3e, 0x0f, 0x11, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - }, - - /* 'sit2', 32x22px */ - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x02, 0x05, 0x02, 0x24, 0x04, 0x04, 0x02, 0xa9, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x90, 0x08, 0x18, 0x60, 0x10, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0e, 0x82, 0x7c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x0c, 0x10, 0x10, 0x20, 0x20, 0x20, 0x28, 0x3e, 0x1c, 0x20, 0x20, 0x3e, 0x0f, 0x11, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}; - - /* Walk */ - static const char PROGMEM walk[2][ANIM_SIZE] = {/* 'walk1', 32x22px */ - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x90, 0x90, 0x90, 0xa0, 0xc0, 0x80, 0x80, 0x80, 0x70, 0x08, 0x14, 0x08, 0x90, 0x10, 0x10, 0x08, 0xa4, 0x78, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x08, 0xfc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x18, 0xea, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1c, 0x20, 0x20, 0x3c, 0x0f, 0x11, 0x1f, 0x03, 0x06, 0x18, 0x20, 0x20, 0x3c, 0x0c, 0x12, 0x1e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - }, - - /* 'walk2', 32x22px */ - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x20, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x28, 0x10, 0x20, 0x20, 0x20, 0x10, 0x48, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x20, 0xf8, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x30, 0xd5, 0x20, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x30, 0x0c, 0x02, 0x05, 0x09, 0x12, 0x1e, 0x02, 0x1c, 0x14, 0x08, 0x10, 0x20, 0x2c, 0x32, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - }}; - - /* Run */ - static const char PROGMEM run[2][ANIM_SIZE] = {/* 'run1', 32x22px */ - { - 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x08, 0xc8, 0xb0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x3c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xc4, 0xa4, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc8, 0x58, 0x28, 0x2a, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x09, 0x04, 0x04, 0x04, 0x04, 0x02, 0x03, 0x02, 0x01, 0x01, 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, - }, - - /* 'run2', 32x22px */ - { - 0x00, 0x00, 0x00, 0xe0, 0x10, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x78, 0x28, 0x08, 0x10, 0x20, 0x30, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0xb0, 0x50, 0x55, 0x20, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37, 0x02, 0x1e, 0x20, 0x20, 0x18, 0x0c, 0x14, 0x1e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - }}; - - /* Bark */ - static const char PROGMEM bark[2][ANIM_SIZE] = {/* 'bark1', 32x22px */ - { - 0x00, 0xc0, 0x20, 0x10, 0xd0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x3c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc8, 0x48, 0x28, 0x2a, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37, 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - }, - - /* 'bark2', 32x22px */ - { - 0x00, 0xe0, 0x10, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x2c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x48, 0x28, 0x2a, 0x10, 0x0f, 0x20, 0x4a, 0x09, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37, 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - }}; - - /* Sneak */ - static const char PROGMEM sneak[2][ANIM_SIZE] = {/* 'sneak1', 32x22px */ - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x80, 0x00, 0x80, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x21, 0xf0, 0x04, 0x02, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02, 0x04, 0x04, 0x04, 0x03, 0x01, 0x00, 0x00, 0x09, 0x01, 0x80, 0x80, 0xab, 0x04, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1c, 0x20, 0x20, 0x3c, 0x0f, 0x11, 0x1f, 0x02, 0x06, 0x18, 0x20, 0x20, 0x38, 0x08, 0x10, 0x18, 0x04, 0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, - }, - - /* 'sneak2', 32x22px */ - { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xa0, 0x20, 0x40, 0x80, 0xc0, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x41, 0xf0, 0x04, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02, 0x02, 0x04, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x40, 0x40, 0x55, 0x82, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x30, 0x0c, 0x02, 0x05, 0x09, 0x12, 0x1e, 0x04, 0x18, 0x10, 0x08, 0x10, 0x20, 0x28, 0x34, 0x06, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, - }}; - - /* animation */ - void animate_luna(void) { - /* jump */ - if (isJumping || !showedJump) { - /* clear */ - oled_set_cursor(LUNA_X, LUNA_Y + 2); - oled_write(" ", false); - - oled_set_cursor(LUNA_X, LUNA_Y - 1); - - showedJump = true; - } else { - /* clear */ - oled_set_cursor(LUNA_X, LUNA_Y - 1); - oled_write(" ", false); - - oled_set_cursor(LUNA_X, LUNA_Y); - } - - /* switch frame */ - current_frame = (current_frame + 1) % 2; - - /* current status */ - if (led_usb_state.caps_lock) { - oled_write_raw_P(bark[abs(1 - current_frame)], ANIM_SIZE); - - } else if (isSneaking) { - oled_write_raw_P(sneak[abs(1 - current_frame)], ANIM_SIZE); - - } else if (current_wpm <= MIN_WALK_SPEED) { - oled_write_raw_P(sit[abs(1 - current_frame)], ANIM_SIZE); - - } else if (current_wpm <= MIN_RUN_SPEED) { - oled_write_raw_P(walk[abs(1 - current_frame)], ANIM_SIZE); - - } else { - oled_write_raw_P(run[abs(1 - current_frame)], ANIM_SIZE); - } - } - - /* animation timer */ - if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { - anim_timer = timer_read32(); - animate_luna(); - } - - /* this fixes the screen on and off bug */ - if (current_wpm > 0) { - oled_on(); - anim_sleep = timer_read32(); - } else if(timer_elapsed32(anim_sleep) > OLED_TIMEOUT) { - /* clear */ - oled_set_cursor(0,0); - oled_write(" ", false); - oled_off(); - oled_set_cursor(LUNA_X,LUNA_Y); - } -} - -/* KEYBOARD PET END */ - -static void print_logo_narrow(void) { - render_logo(); -if (current_wpm > 0) { - anim_sleep = timer_read32(); - /* wpm counter */ - oled_set_cursor(0, 14); - oled_write(get_u8_str(get_current_wpm(), '0'), false); - - oled_set_cursor(0, 15); - oled_write(" wpm", false); - - /* this fixes the screen on and off bug */ - - } else if(timer_elapsed32(anim_sleep) > OLED_TIMEOUT) { - /* clear */ - oled_set_cursor(0,0); - oled_write(" ", false); - oled_off(); - - - } -} - -layer_state_t layer_state_set_user(layer_state_t state) { - switch (get_highest_layer(state)) { - case 0: - rgb_matrix_reload_from_eeprom(); - break; - case 1: - rgb_matrix_mode_noeeprom(RGB_MATRIX_ALPHAS_MODS); - rgb_matrix_sethsv_noeeprom(HSV_TEAL); - break; - case 2: - rgb_matrix_mode_noeeprom(RGB_MATRIX_ALPHAS_MODS); - rgb_matrix_sethsv_noeeprom(HSV_PURPLE); - break; - case 5: - rgb_matrix_mode_noeeprom(RGB_MATRIX_ALPHAS_MODS); - rgb_matrix_sethsv_noeeprom(HSV_YELLOW); - break; - } - return state; -} - -static void print_status_narrow(void) { - - - /* Print current layer */ - oled_write("LAYER", false); - - oled_set_cursor(0, 6); - - switch (get_highest_layer(layer_state)) { - case 0: - oled_write("Base ", false); - break; - case 1: - oled_write("Game ", false); - break; - case 2: - oled_write("Game2", false); - break; - case 3: - oled_write("Lower", false); - break; - case 4: - oled_write("Raise", false); - break; - case 5: - oled_write("Adj ", false); - break; - default: - oled_write("Undef", false); - } - - - /* KEYBOARD PET RENDER START */ - - render_luna(0, 13); - - /* KEYBOARD PET RENDER END */ -} - -oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_270; } - -bool oled_task_user(void) { - /* KEYBOARD PET VARIABLES START */ - - current_wpm = get_current_wpm(); - led_usb_state = host_keyboard_led_state(); - - /* KEYBOARD PET VARIABLES END */ - - if (is_keyboard_master()) { - print_status_narrow(); - } else { - print_logo_narrow(); - } - return false; -} - -#endif - bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - /* KEYBOARD PET STATUS START */ - - case KC_LCTL: - isSneaking = record->event.pressed; - break; - case KC_SPC: - isJumping = record->event.pressed; - if (isJumping) { - showedJump = false; - } - break; - case KC_CAPS: - isBarking = record->event.pressed; - break; - - /* KEYBOARD PET STATUS END */ -} - -return true; -} diff --git a/keyboards/crkbd/keymaps/colemak_luna/readme.md b/keyboards/crkbd/keymaps/colemak_luna/readme.md deleted file mode 100644 index 0f729e702ce..00000000000 --- a/keyboards/crkbd/keymaps/colemak_luna/readme.md +++ /dev/null @@ -1,17 +0,0 @@ -# Personal keymap for the CRKBD -My own keymap with some custom OLED features, Colemak base layer and gaming layers. The F13 key on multiple layers can be bound to something, I use it as toggle mute microphone on Discord. -## Layers -- Colemak - Default layer -- Lower - Has numbers and arrows -- Raise - Has symbols -- Game1 - A QWERTY Gaming layer -- Game2 - An alternate lower layer when Game1 is active, has numbers and other keys that may be needed -- Adjust - Has F-keys and settings, allows to set the Game1 as base layer. -## Custom OLED -- Left side: - - Layer indicator - - Keyboard pet Luna from @HellSingCoder -- Right side - - Unicursal hexagram pixel art logo - - WPM counter - diff --git a/keyboards/crkbd/keymaps/colemak_luna/rules.mk b/keyboards/crkbd/keymaps/colemak_luna/rules.mk deleted file mode 100644 index 9ff3128931a..00000000000 --- a/keyboards/crkbd/keymaps/colemak_luna/rules.mk +++ /dev/null @@ -1,7 +0,0 @@ -MOUSEKEY_ENABLE = no # Mouse keys -RGBLIGHT_ENABLE = no -RGB_MATRIX_ENABLE = yes # Enable WS2812 RGB underlight. -VIA_ENABLE = yes # Enable VIA -OLED_ENABLE = yes -LTO_ENABLE = yes -WPM_ENABLE = yes From e3ef5b2d9d3e9d97f86b0da42d1a2e2bd2ae194b Mon Sep 17 00:00:00 2001 From: tarxvf Date: Thu, 11 Jul 2024 08:46:54 -0400 Subject: [PATCH 41/54] mntre_v3: fix matrix bottom row (#24077) --- keyboards/mntre_v3/keyboard.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/keyboards/mntre_v3/keyboard.json b/keyboards/mntre_v3/keyboard.json index d9cee6aede8..e00fe1deb28 100644 --- a/keyboards/mntre_v3/keyboard.json +++ b/keyboards/mntre_v3/keyboard.json @@ -108,12 +108,12 @@ {"matrix": [5, 2], "x": 2.75, "y": 5, "w": 1.5}, {"matrix": [5, 3], "x": 4.25, "y": 5, "w": 1.5}, {"matrix": [5, 4], "x": 5.75, "y": 5,"w": 2}, - {"matrix": [5, 5], "x": 7.75, "y": 5,"w": 1.5}, - {"matrix": [5, 6], "x": 9.25, "y": 5}, - {"matrix": [5, 7], "x": 10.25, "y": 5}, - {"matrix": [5, 8], "x": 11.25, "y": 5}, - {"matrix": [5, 9], "x": 12.25, "y": 5}, - {"matrix": [5, 10], "x": 13.25, "y": 5,"w": 1.25} + {"matrix": [5, 6], "x": 7.75, "y": 5,"w": 1.5}, + {"matrix": [5, 7], "x": 9.25, "y": 5}, + {"matrix": [5, 8], "x": 10.25, "y": 5}, + {"matrix": [5, 9], "x": 11.25, "y": 5}, + {"matrix": [5, 10], "x": 12.25, "y": 5}, + {"matrix": [5, 11], "x": 13.25, "y": 5,"w": 1.25} ] } } From 3d10171e2ced2923568d197a5a5f53d8d9355243 Mon Sep 17 00:00:00 2001 From: Ryan Date: Thu, 11 Jul 2024 22:49:45 +1000 Subject: [PATCH 42/54] `mt/mt84`: move RGB Matrix config to data driven (#24090) --- keyboards/mt/mt84/config.h | 2 - keyboards/mt/mt84/keyboard.json | 91 +++++++++++++++++++++++++++++++++ keyboards/mt/mt84/mt84.c | 23 --------- 3 files changed, 91 insertions(+), 25 deletions(-) diff --git a/keyboards/mt/mt84/config.h b/keyboards/mt/mt84/config.h index 9b115d527d5..e2b30400a93 100644 --- a/keyboards/mt/mt84/config.h +++ b/keyboards/mt/mt84/config.h @@ -18,8 +18,6 @@ #define IS31FL3737_I2C_ADDRESS_1 IS31FL3737_I2C_ADDRESS_GND #define IS31FL3737_I2C_ADDRESS_2 IS31FL3737_I2C_ADDRESS_VCC -#define RGB_MATRIX_LED_COUNT 84 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/mt/mt84/keyboard.json b/keyboards/mt/mt84/keyboard.json index 8833f77ed98..fd03c2cf71f 100644 --- a/keyboards/mt/mt84/keyboard.json +++ b/keyboards/mt/mt84/keyboard.json @@ -57,6 +57,97 @@ "animation": "cycle_all" }, "driver": "is31fl3737", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, + {"matrix": [0, 1], "x": 15, "y": 0, "flags": 1}, + {"matrix": [0, 2], "x": 30, "y": 0, "flags": 1}, + {"matrix": [0, 3], "x": 45, "y": 0, "flags": 1}, + {"matrix": [0, 4], "x": 60, "y": 0, "flags": 1}, + {"matrix": [0, 5], "x": 75, "y": 0, "flags": 1}, + {"matrix": [0, 6], "x": 90, "y": 0, "flags": 1}, + {"matrix": [0, 7], "x": 105, "y": 0, "flags": 1}, + {"matrix": [0, 8], "x": 119, "y": 0, "flags": 1}, + {"matrix": [0, 9], "x": 134, "y": 0, "flags": 1}, + {"matrix": [0, 10], "x": 149, "y": 0, "flags": 1}, + {"matrix": [0, 11], "x": 164, "y": 0, "flags": 1}, + {"matrix": [0, 12], "x": 179, "y": 0, "flags": 1}, + {"matrix": [0, 13], "x": 194, "y": 0, "flags": 1}, + {"matrix": [0, 14], "x": 209, "y": 0, "flags": 1}, + {"matrix": [4, 14], "x": 224, "y": 0, "flags": 1}, + + {"matrix": [1, 0], "x": 0, "y": 13, "flags": 1}, + {"matrix": [1, 1], "x": 15, "y": 13, "flags": 4}, + {"matrix": [1, 2], "x": 30, "y": 13, "flags": 4}, + {"matrix": [1, 3], "x": 45, "y": 13, "flags": 4}, + {"matrix": [1, 4], "x": 60, "y": 13, "flags": 4}, + {"matrix": [1, 5], "x": 75, "y": 13, "flags": 4}, + {"matrix": [1, 6], "x": 90, "y": 13, "flags": 4}, + {"matrix": [1, 7], "x": 105, "y": 13, "flags": 4}, + {"matrix": [1, 8], "x": 119, "y": 13, "flags": 4}, + {"matrix": [1, 9], "x": 134, "y": 13, "flags": 4}, + {"matrix": [1, 10], "x": 149, "y": 13, "flags": 4}, + {"matrix": [1, 11], "x": 164, "y": 13, "flags": 4}, + {"matrix": [1, 12], "x": 179, "y": 13, "flags": 4}, + {"matrix": [1, 13], "x": 202, "y": 13, "flags": 4}, + {"matrix": [1, 14], "x": 224, "y": 13, "flags": 1}, + + {"matrix": [2, 0], "x": 4, "y": 26, "flags": 1}, + {"matrix": [2, 1], "x": 22, "y": 26, "flags": 4}, + {"matrix": [2, 2], "x": 37, "y": 26, "flags": 4}, + {"matrix": [2, 3], "x": 52, "y": 26, "flags": 4}, + {"matrix": [2, 4], "x": 67, "y": 26, "flags": 4}, + {"matrix": [2, 5], "x": 82, "y": 26, "flags": 4}, + {"matrix": [2, 6], "x": 97, "y": 26, "flags": 4}, + {"matrix": [2, 7], "x": 112, "y": 26, "flags": 4}, + {"matrix": [2, 8], "x": 127, "y": 26, "flags": 4}, + {"matrix": [2, 9], "x": 142, "y": 26, "flags": 4}, + {"matrix": [2, 10], "x": 157, "y": 26, "flags": 4}, + {"matrix": [2, 11], "x": 172, "y": 26, "flags": 4}, + {"matrix": [2, 12], "x": 187, "y": 26, "flags": 4}, + {"matrix": [2, 13], "x": 205, "y": 26, "flags": 4}, + {"matrix": [2, 14], "x": 224, "y": 26, "flags": 1}, + + {"matrix": [3, 0], "x": 6, "y": 38, "flags": 1}, + {"matrix": [3, 1], "x": 26, "y": 38, "flags": 4}, + {"matrix": [3, 2], "x": 41, "y": 38, "flags": 4}, + {"matrix": [3, 3], "x": 56, "y": 38, "flags": 4}, + {"matrix": [3, 4], "x": 71, "y": 38, "flags": 4}, + {"matrix": [3, 5], "x": 86, "y": 38, "flags": 4}, + {"matrix": [3, 6], "x": 101, "y": 38, "flags": 4}, + {"matrix": [3, 7], "x": 116, "y": 38, "flags": 4}, + {"matrix": [3, 8], "x": 131, "y": 38, "flags": 4}, + {"matrix": [3, 9], "x": 146, "y": 38, "flags": 4}, + {"matrix": [3, 10], "x": 161, "y": 38, "flags": 4}, + {"matrix": [3, 11], "x": 175, "y": 38, "flags": 4}, + {"matrix": [3, 12], "x": 200, "y": 38, "flags": 4}, + {"matrix": [3, 14], "x": 224, "y": 38, "flags": 1}, + + {"matrix": [4, 0], "x": 9, "y": 51, "flags": 1}, + {"matrix": [4, 1], "x": 34, "y": 51, "flags": 4}, + {"matrix": [4, 2], "x": 49, "y": 51, "flags": 4}, + {"matrix": [4, 3], "x": 63, "y": 51, "flags": 4}, + {"matrix": [4, 4], "x": 78, "y": 51, "flags": 4}, + {"matrix": [4, 5], "x": 93, "y": 51, "flags": 4}, + {"matrix": [4, 6], "x": 108, "y": 51, "flags": 4}, + {"matrix": [4, 7], "x": 123, "y": 51, "flags": 4}, + {"matrix": [4, 8], "x": 138, "y": 51, "flags": 4}, + {"matrix": [4, 9], "x": 153, "y": 51, "flags": 4}, + {"matrix": [4, 10], "x": 168, "y": 51, "flags": 4}, + {"matrix": [4, 11], "x": 189, "y": 51, "flags": 4}, + {"matrix": [4, 12], "x": 209, "y": 51, "flags": 4}, + {"matrix": [4, 13], "x": 224, "y": 51, "flags": 1}, + + {"matrix": [5, 0], "x": 2, "y": 64, "flags": 1}, + {"matrix": [5, 1], "x": 21, "y": 64, "flags": 1}, + {"matrix": [5, 2], "x": 39, "y": 64, "flags": 1}, + {"matrix": [5, 5], "x": 95, "y": 64, "flags": 4}, + {"matrix": [5, 9], "x": 149, "y": 64, "flags": 1}, + {"matrix": [5, 10], "x": 164, "y": 64, "flags": 1}, + {"matrix": [5, 11], "x": 179, "y": 64, "flags": 1}, + {"matrix": [5, 12], "x": 194, "y": 64, "flags": 4}, + {"matrix": [5, 13], "x": 209, "y": 64, "flags": 4}, + {"matrix": [5, 14], "x": 224, "y": 64, "flags": 4} + ], "led_flush_limit": 26, "led_process_limit": 20, "max_brightness": 200 diff --git a/keyboards/mt/mt84/mt84.c b/keyboards/mt/mt84/mt84.c index 276c92fc065..1ac61e87c02 100644 --- a/keyboards/mt/mt84/mt84.c +++ b/keyboards/mt/mt84/mt84.c @@ -114,27 +114,4 @@ const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT] = { {1, SW4_CS10, SW5_CS10, SW6_CS10}, {1, SW7_CS10, SW8_CS10, SW9_CS10} }; - -led_config_t g_led_config = {{ - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 }, - { 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 }, - { 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44 }, - { 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58 }, - { 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73 }, - {74, 75, 76, 77, 78, 79, 80, 81, 82, 83 } -}, { - { 0, 0 }, { 15, 0 }, { 30, 0 }, { 45, 0 }, { 60, 0 }, { 75, 0 }, { 90, 0 }, { 105, 0 }, { 120, 0 }, { 135, 0 }, { 150, 0 }, { 165, 0 }, { 180, 0 }, { 195, 0 }, { 210, 0 }, { 224, 0 }, - { 0, 13 }, { 15, 13 }, { 30, 13 }, { 45, 13 }, { 60, 13 }, { 75, 13 }, { 90, 13 }, { 105, 13 }, { 120, 13 }, { 135, 13 }, { 150, 13 }, { 165, 13 }, { 180, 13 }, { 205, 13 }, { 224, 13 }, - { 3, 26 }, { 18, 26 }, { 33, 26 }, { 48, 26 }, { 63, 26 }, { 78, 26 }, { 93, 26 }, { 108, 26 }, { 123, 26 }, { 138, 26 }, { 153, 26 }, { 168, 26 }, { 183, 26 }, { 205, 26 },{ 224, 26 }, - { 6, 39 }, { 20, 39 }, { 36, 39 }, { 52, 39 }, { 68, 39 }, { 84, 39 }, { 100, 39 }, { 116, 39 }, { 132, 39 }, { 148, 39 }, { 164, 39 }, { 180, 39 }, { 212, 39 }, { 224, 39 }, - { 9, 52 }, { 27, 52 }, { 43, 52 }, { 59, 52 }, { 75, 52 }, { 91, 52 }, { 107, 52 }, { 123, 52 }, { 139, 52 }, { 155, 52 }, { 171, 52 }, { 187, 52 }, { 212, 52 }, { 224, 52 }, -{ 2, 64 }, { 18, 64 }, { 33, 64 }, { 93, 64 }, { 150, 64 }, { 165, 64 }, { 180, 64 }, { 195, 64 }, { 210, 64 }, { 224, 64 } -}, { - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 1, 1, 4, 1, 1, 1, 4, 4, 4, -}}; #endif From 9be6d76c61f5b760e7ceaf03fe80da3f07a29d8a Mon Sep 17 00:00:00 2001 From: Ryan Date: Thu, 11 Jul 2024 22:50:26 +1000 Subject: [PATCH 43/54] `mt/mt64rgb`: move RGB Matrix config to data driven (#24089) --- keyboards/mt/mt64rgb/config.h | 2 - keyboards/mt/mt64rgb/keyboard.json | 70 +++++++++++++++++++ keyboards/mt/mt64rgb/keymaps/default/keymap.c | 3 - keyboards/mt/mt64rgb/keymaps/via/keymap.c | 3 - keyboards/mt/mt64rgb/mt64rgb.c | 20 ------ 5 files changed, 70 insertions(+), 28 deletions(-) diff --git a/keyboards/mt/mt64rgb/config.h b/keyboards/mt/mt64rgb/config.h index f69c778b8b6..ad034ceec8d 100644 --- a/keyboards/mt/mt64rgb/config.h +++ b/keyboards/mt/mt64rgb/config.h @@ -16,5 +16,3 @@ #pragma once #define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND - -#define RGB_MATRIX_LED_COUNT 64 diff --git a/keyboards/mt/mt64rgb/keyboard.json b/keyboards/mt/mt64rgb/keyboard.json index 0858e85ecae..451be59f8f5 100644 --- a/keyboards/mt/mt64rgb/keyboard.json +++ b/keyboards/mt/mt64rgb/keyboard.json @@ -60,6 +60,76 @@ "solid_multisplash": true }, "driver": "is31fl3733", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, + {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 96, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 112, "y": 0, "flags": 4}, + {"matrix": [0, 8], "x": 128, "y": 0, "flags": 4}, + {"matrix": [0, 9], "x": 144, "y": 0, "flags": 4}, + {"matrix": [0, 10], "x": 160, "y": 0, "flags": 4}, + {"matrix": [0, 11], "x": 176, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 192, "y": 0, "flags": 4}, + {"matrix": [0, 13], "x": 216, "y": 0, "flags": 1}, + + {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, + {"matrix": [1, 1], "x": 24, "y": 16, "flags": 4}, + {"matrix": [1, 2], "x": 40, "y": 16, "flags": 4}, + {"matrix": [1, 3], "x": 56, "y": 16, "flags": 4}, + {"matrix": [1, 4], "x": 72, "y": 16, "flags": 4}, + {"matrix": [1, 5], "x": 88, "y": 16, "flags": 4}, + {"matrix": [1, 6], "x": 104, "y": 16, "flags": 4}, + {"matrix": [1, 7], "x": 120, "y": 16, "flags": 4}, + {"matrix": [1, 8], "x": 136, "y": 16, "flags": 4}, + {"matrix": [1, 9], "x": 152, "y": 16, "flags": 4}, + {"matrix": [1, 10], "x": 168, "y": 16, "flags": 4}, + {"matrix": [1, 11], "x": 184, "y": 16, "flags": 4}, + {"matrix": [1, 12], "x": 200, "y": 16, "flags": 4}, + {"matrix": [1, 13], "x": 220, "y": 16, "flags": 1}, + + {"matrix": [2, 0], "x": 6, "y": 32, "flags": 1}, + {"matrix": [2, 1], "x": 28, "y": 32, "flags": 4}, + {"matrix": [2, 2], "x": 44, "y": 32, "flags": 4}, + {"matrix": [2, 3], "x": 60, "y": 32, "flags": 4}, + {"matrix": [2, 4], "x": 76, "y": 32, "flags": 4}, + {"matrix": [2, 5], "x": 92, "y": 32, "flags": 4}, + {"matrix": [2, 6], "x": 108, "y": 32, "flags": 4}, + {"matrix": [2, 7], "x": 124, "y": 32, "flags": 4}, + {"matrix": [2, 8], "x": 140, "y": 32, "flags": 4}, + {"matrix": [2, 9], "x": 156, "y": 32, "flags": 4}, + {"matrix": [2, 10], "x": 172, "y": 32, "flags": 4}, + {"matrix": [2, 11], "x": 188, "y": 32, "flags": 4}, + {"matrix": [2, 12], "x": 214, "y": 32, "flags": 1}, + + {"matrix": [3, 0], "x": 8, "y": 48, "flags": 1}, + {"matrix": [3, 1], "x": 32, "y": 48, "flags": 4}, + {"matrix": [3, 2], "x": 48, "y": 48, "flags": 4}, + {"matrix": [3, 3], "x": 64, "y": 48, "flags": 4}, + {"matrix": [3, 4], "x": 80, "y": 48, "flags": 4}, + {"matrix": [3, 5], "x": 96, "y": 48, "flags": 4}, + {"matrix": [3, 6], "x": 112, "y": 48, "flags": 4}, + {"matrix": [3, 7], "x": 128, "y": 48, "flags": 4}, + {"matrix": [3, 8], "x": 144, "y": 48, "flags": 4}, + {"matrix": [3, 9], "x": 160, "y": 48, "flags": 4}, + {"matrix": [3, 10], "x": 176, "y": 48, "flags": 4}, + {"matrix": [3, 11], "x": 192, "y": 48, "flags": 4}, + {"matrix": [3, 12], "x": 208, "y": 48, "flags": 4}, + {"matrix": [3, 13], "x": 224, "y": 48, "flags": 1}, + + {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, + {"matrix": [4, 1], "x": 22, "y": 64, "flags": 1}, + {"matrix": [4, 2], "x": 42, "y": 64, "flags": 1}, + {"matrix": [4, 5], "x": 102, "y": 64, "flags": 4}, + {"matrix": [4, 9], "x": 160, "y": 64, "flags": 1}, + {"matrix": [4, 10], "x": 176, "y": 64, "flags": 1}, + {"matrix": [4, 11], "x": 192, "y": 64, "flags": 4}, + {"matrix": [4, 12], "x": 208, "y": 64, "flags": 4}, + {"matrix": [4, 13], "x": 224, "y": 64, "flags": 4} + ], "led_flush_limit": 26, "led_process_limit": 20, "max_brightness": 160 diff --git a/keyboards/mt/mt64rgb/keymaps/default/keymap.c b/keyboards/mt/mt64rgb/keymaps/default/keymap.c index 7cff3be34c8..6c0d1a83fd7 100644 --- a/keyboards/mt/mt64rgb/keymaps/default/keymap.c +++ b/keyboards/mt/mt64rgb/keymaps/default/keymap.c @@ -37,9 +37,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; bool rgb_matrix_indicators_user(void) { - if (layer_state_is(1)) { - rgb_matrix_set_color(77,0xFF, 0x80, 0x00); - } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(28, 0xFF, 0xFF, 0xFF); } diff --git a/keyboards/mt/mt64rgb/keymaps/via/keymap.c b/keyboards/mt/mt64rgb/keymaps/via/keymap.c index df4884a3a35..7340b89ebbb 100644 --- a/keyboards/mt/mt64rgb/keymaps/via/keymap.c +++ b/keyboards/mt/mt64rgb/keymaps/via/keymap.c @@ -34,9 +34,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; bool rgb_matrix_indicators_user(void) { - if (layer_state_is(1)) { - rgb_matrix_set_color(77,0xFF, 0x80, 0x00); - } if (host_keyboard_led_state().caps_lock) { rgb_matrix_set_color(28, 0xFF, 0xFF, 0xFF); } diff --git a/keyboards/mt/mt64rgb/mt64rgb.c b/keyboards/mt/mt64rgb/mt64rgb.c index bcf26de2313..d08d87de46d 100644 --- a/keyboards/mt/mt64rgb/mt64rgb.c +++ b/keyboards/mt/mt64rgb/mt64rgb.c @@ -93,24 +93,4 @@ const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = { {0, SW10_CS10, SW11_CS10, SW12_CS10}, {0, SW10_CS15, SW11_CS15, SW12_CS15} }; - -led_config_t g_led_config = {{ - { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 }, - { 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27 }, - { 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40}, - { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54 }, - { 55, 56, 57, 58, 59, 60, 61, 62, 63} -}, { - { 0, 0 }, { 16, 0 }, { 32, 0 }, { 48, 0 }, { 64, 0 }, { 80, 0 }, { 96, 0 }, { 112, 0 }, { 128, 0 }, { 144, 0 }, { 160, 0 }, { 176, 0 }, { 192, 0 }, { 216, 0 }, - { 4, 16 }, { 18, 16 }, { 34, 16 }, { 50, 16 }, { 66, 16 }, { 82, 16 }, { 98, 16 }, { 114, 16 }, { 130, 16 }, { 146, 16 }, { 162, 16 }, { 178, 16 }, { 194, 16 }, { 220, 16 }, - { 6, 32 }, { 20, 32 }, { 36, 32 }, { 52, 32 }, { 68, 32 }, { 84, 32 }, { 100, 32 }, { 116, 32 }, { 132, 32 }, { 148, 32 }, { 164, 32 }, { 180, 32 }, { 212, 32 }, - { 9, 48 }, { 27, 48 }, { 43, 48 }, { 59, 48 }, { 75, 48 }, { 91, 48 }, { 107, 48 }, { 123, 48 }, { 139, 48 }, { 155, 48 }, { 171, 48 }, { 187, 48 }, { 203, 48 }, { 219, 48 }, - { 2, 64 }, { 16, 64 }, { 32, 64 }, { 64, 64 }, { 114, 64 }, { 130, 64 }, { 146, 64 }, { 204, 64 }, { 224, 64 } -}, { - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, - 1, 1, 1, 4, 1, 1, 4, 4, 4, -}}; #endif From 0c4fd514f1146224c8407591a5e42a0db456b536 Mon Sep 17 00:00:00 2001 From: 4pplet Date: Thu, 11 Jul 2024 14:51:43 +0200 Subject: [PATCH 44/54] Adding support for IBE60 (#24075) --- keyboards/4pplet/ibe60/keyboard.json | 94 +++++++++++++++++++ .../4pplet/ibe60/keymaps/default/keymap.c | 34 +++++++ keyboards/4pplet/ibe60/keymaps/via/keymap.c | 35 +++++++ keyboards/4pplet/ibe60/keymaps/via/rules.mk | 1 + keyboards/4pplet/ibe60/readme.md | 24 +++++ keyboards/4pplet/ibe60/rules.mk | 2 + 6 files changed, 190 insertions(+) create mode 100644 keyboards/4pplet/ibe60/keyboard.json create mode 100644 keyboards/4pplet/ibe60/keymaps/default/keymap.c create mode 100644 keyboards/4pplet/ibe60/keymaps/via/keymap.c create mode 100644 keyboards/4pplet/ibe60/keymaps/via/rules.mk create mode 100644 keyboards/4pplet/ibe60/readme.md create mode 100644 keyboards/4pplet/ibe60/rules.mk diff --git a/keyboards/4pplet/ibe60/keyboard.json b/keyboards/4pplet/ibe60/keyboard.json new file mode 100644 index 00000000000..dd674c6ab98 --- /dev/null +++ b/keyboards/4pplet/ibe60/keyboard.json @@ -0,0 +1,94 @@ +{ + "manufacturer": "4pplet", + "keyboard_name": "IBE60 Rev A", + "maintainer": "4pplet", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "key_lock": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["B2", "A5", "A4", "A3", "F1", "F0", "C15", "C14", "C13", "B9", "B8", "B7", "A15", "B3"], + "rows": ["B14", "A9", "B6", "B5", "B4"] + }, + "processor": "STM32F072", + "usb": { + "device_version": "0.0.1", + "pid": "0x0001", + "vid": "0x4448" + }, + "indicators": { + "caps_lock": "A8" + }, + "community_layouts": ["60_hhkb"], + "layouts": { + "LAYOUT_60_hhkb": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "|", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "~", "matrix": [2, 13], "x": 14, "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}, + {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 3}, + {"label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [4, 9], "x": 11, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [4, 10], "x": 12.5, "y": 4} + ] + } + } +} diff --git a/keyboards/4pplet/ibe60/keymaps/default/keymap.c b/keyboards/4pplet/ibe60/keymaps/default/keymap.c new file mode 100644 index 00000000000..9ec56d48099 --- /dev/null +++ b/keyboards/4pplet/ibe60/keymaps/default/keymap.c @@ -0,0 +1,34 @@ +/* +Copyright 2020 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +// main layer +[0] = LAYOUT_60_hhkb( + KC_ESC, 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_BSLS, KC_GRV, + 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_BSPC, + 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_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI), +// basic function layer +[1] = LAYOUT_60_hhkb( + QK_BOOT, 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_TRNS, + KC_TRNS, KC_TRNS, KC_UP, 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_LEFT, KC_DOWN, KC_RIGHT, 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_TRNS, KC_TRNS) +}; \ No newline at end of file diff --git a/keyboards/4pplet/ibe60/keymaps/via/keymap.c b/keyboards/4pplet/ibe60/keymaps/via/keymap.c new file mode 100644 index 00000000000..710b5ce8497 --- /dev/null +++ b/keyboards/4pplet/ibe60/keymaps/via/keymap.c @@ -0,0 +1,35 @@ +/* +Copyright 2020 Stefan Sundin "4pplet" <4pplet@protonmail.com> + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +// main layer +[0] = LAYOUT_60_hhkb( + KC_ESC, 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_BSLS, KC_GRV, + 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_BSPC, + 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_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI), +// basic function layer +[1] = LAYOUT_60_hhkb( + QK_BOOT, 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_TRNS, + KC_TRNS, KC_TRNS, KC_UP, 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_LEFT, KC_DOWN, KC_RIGHT, 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_TRNS, KC_TRNS) +}; + diff --git a/keyboards/4pplet/ibe60/keymaps/via/rules.mk b/keyboards/4pplet/ibe60/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/4pplet/ibe60/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/4pplet/ibe60/readme.md b/keyboards/4pplet/ibe60/readme.md new file mode 100644 index 00000000000..24ed159952d --- /dev/null +++ b/keyboards/4pplet/ibe60/readme.md @@ -0,0 +1,24 @@ +# IBE60 + +PCB mounted 60% PCB for the IBE60 in fixed true HHKB layout + +* Keyboard Maintainer: [Stefan Sundin](https://github.com/4pplet) +* Hardware Supported: IBE60 Solder PCB + +Make example for this keyboard (after setting up your build environment): + + make 4pplet/ibe60:default + +Flashing example for this keyboard: + + make 4pplet/ibe60:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the Escape key and plug in the keyboard +* **Physical reset button**: Short the reset-header (labled BL/RESET) on the back of the PCB for about 2 seconds for the keyboard to enter bootloader +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/4pplet/ibe60/rules.mk b/keyboards/4pplet/ibe60/rules.mk new file mode 100644 index 00000000000..04fe1eba2ac --- /dev/null +++ b/keyboards/4pplet/ibe60/rules.mk @@ -0,0 +1,2 @@ +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -p FFFF -v FFFF From cc62eb503d8e0b1cb1be869597a5a972ebbca5f6 Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 11 Jul 2024 07:39:45 -0600 Subject: [PATCH 45/54] [Keyboard] Add boardsource/sessenta (#23823) --- keyboards/boardsource/sessanta/keyboard.json | 255 ++++++++++++++++++ .../sessanta/keymaps/default/keymap.json | 21 ++ .../sessanta/keymaps/via/keymap.json | 26 ++ keyboards/boardsource/sessanta/readme.md | 27 ++ 4 files changed, 329 insertions(+) create mode 100644 keyboards/boardsource/sessanta/keyboard.json create mode 100644 keyboards/boardsource/sessanta/keymaps/default/keymap.json create mode 100644 keyboards/boardsource/sessanta/keymaps/via/keymap.json create mode 100644 keyboards/boardsource/sessanta/readme.md diff --git a/keyboards/boardsource/sessanta/keyboard.json b/keyboards/boardsource/sessanta/keyboard.json new file mode 100644 index 00000000000..c129e3acf59 --- /dev/null +++ b/keyboards/boardsource/sessanta/keyboard.json @@ -0,0 +1,255 @@ +{ + "manufacturer": "Boardsource", + "keyboard_name": "Sessanta", + "maintainer": "waffle87", + "development_board": "promicro", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2", "B6", "D3"], + "rows": ["D1", "D0", "D4", "C6", "D7", "E6", "B4", "B5"] + }, + "rgb_matrix": { + "animations": { + "alphas_mods": true, + "band_sat": true, + "band_val": true, + "breathing": true, + "gradient_left_right": true + }, + "driver": "ws2812", + "layout": [ + {"x": 224, "y": 4, "flags": 2}, + {"x": 156, "y": 0, "flags": 2}, + {"x": 82, "y": 0, "flags": 2}, + {"x": 13, "y": 4, "flags": 2}, + {"x": 24, "y": 50, "flags": 2}, + {"x": 68, "y": 52, "flags": 2}, + {"x": 121, "y": 52, "flags": 2}, + {"x": 220, "y": 52, "flags": 2}, + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, + {"matrix": [0, 1], "x": 15, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 30, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 45, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 60, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 75, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 90, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 105, "y": 0, "flags": 4}, + {"matrix": [0, 8], "x": 119, "y": 0, "flags": 4}, + {"matrix": [1, 0], "x": 134, "y": 0, "flags": 4}, + {"matrix": [1, 1], "x": 149, "y": 0, "flags": 4}, + {"matrix": [1, 2], "x": 164, "y": 0, "flags": 4}, + {"matrix": [1, 3], "x": 179, "y": 0, "flags": 4}, + {"matrix": [1, 4], "x": 202, "y": 0, "flags": 1}, + {"matrix": [1, 5], "x": 4, "y": 16, "flags": 1}, + {"matrix": [1, 6], "x": 22, "y": 16, "flags": 4}, + {"matrix": [1, 7], "x": 37, "y": 16, "flags": 4}, + {"matrix": [1, 8], "x": 52, "y": 16, "flags": 4}, + {"matrix": [2, 0], "x": 67, "y": 16, "flags": 4}, + {"matrix": [2, 1], "x": 82, "y": 16, "flags": 4}, + {"matrix": [2, 2], "x": 97, "y": 16, "flags": 4}, + {"matrix": [2, 3], "x": 112, "y": 16, "flags": 4}, + {"matrix": [2, 4], "x": 127, "y": 16, "flags": 4}, + {"matrix": [2, 5], "x": 142, "y": 16, "flags": 4}, + {"matrix": [2, 6], "x": 157, "y": 16, "flags": 4}, + {"matrix": [2, 7], "x": 172, "y": 16, "flags": 4}, + {"matrix": [2, 8], "x": 187, "y": 16, "flags": 4}, + {"matrix": [3, 0], "x": 205, "y": 16, "flags": 1}, + {"matrix": [3, 1], "x": 6, "y": 32, "flags": 1}, + {"matrix": [3, 2], "x": 26, "y": 32, "flags": 4}, + {"matrix": [3, 3], "x": 41, "y": 32, "flags": 4}, + {"matrix": [3, 4], "x": 56, "y": 32, "flags": 4}, + {"matrix": [3, 5], "x": 71, "y": 32, "flags": 4}, + {"matrix": [3, 6], "x": 86, "y": 32, "flags": 4}, + {"matrix": [3, 7], "x": 101, "y": 32, "flags": 4}, + {"matrix": [3, 8], "x": 116, "y": 32, "flags": 4}, + {"matrix": [4, 0], "x": 131, "y": 32, "flags": 4}, + {"matrix": [4, 1], "x": 146, "y": 32, "flags": 4}, + {"matrix": [4, 2], "x": 161, "y": 32, "flags": 4}, + {"matrix": [4, 3], "x": 175, "y": 32, "flags": 4}, + {"matrix": [4, 4], "x": 200, "y": 32, "flags": 1}, + {"matrix": [4, 5], "x": 224, "y": 32, "flags": 1}, + {"matrix": [4, 6], "x": 9, "y": 48, "flags": 1}, + {"matrix": [4, 7], "x": 34, "y": 48, "flags": 4}, + {"matrix": [4, 8], "x": 49, "y": 48, "flags": 4}, + {"matrix": [5, 0], "x": 63, "y": 48, "flags": 4}, + {"matrix": [5, 1], "x": 78, "y": 48, "flags": 4}, + {"matrix": [5, 2], "x": 93, "y": 48, "flags": 4}, + {"matrix": [5, 3], "x": 108, "y": 48, "flags": 4}, + {"matrix": [5, 4], "x": 123, "y": 48, "flags": 4}, + {"matrix": [5, 5], "x": 138, "y": 48, "flags": 4}, + {"matrix": [5, 6], "x": 153, "y": 48, "flags": 4}, + {"matrix": [5, 7], "x": 168, "y": 48, "flags": 4}, + {"matrix": [5, 8], "x": 196, "y": 48, "flags": 1}, + {"matrix": [6, 0], "x": 224, "y": 48, "flags": 1}, + {"matrix": [6, 1], "x": 2, "y": 64, "flags": 1}, + {"matrix": [6, 2], "x": 21, "y": 64, "flags": 1}, + {"matrix": [6, 3], "x": 39, "y": 64, "flags": 1}, + {"matrix": [6, 4], "x": 95, "y": 64, "flags": 4}, + {"matrix": [6, 5], "x": 151, "y": 64, "flags": 1}, + {"matrix": [6, 6], "x": 170, "y": 64, "flags": 1}, + {"matrix": [6, 7], "x": 189, "y": 64, "flags": 1}, + {"matrix": [6, 8], "x": 207, "y": 64, "flags": 1}, + {"matrix": [7, 0], "x": 224, "y": 64, "flags": 1} + ], + "max_brightness": 150, + "sleep": true + }, + "url": "https://boardsource.xyz", + "usb": { + "device_version": "1.0.0", + "pid": "0x17AC", + "vid": "0x4273" + }, + "ws2812": { + "pin": "D2" + }, + "layouts": { + "LAYOUT_625_bar": { + "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": [1, 0], "x": 9, "y": 0}, + {"matrix": [1, 1], "x": 10, "y": 0}, + {"matrix": [1, 2], "x": 11, "y": 0}, + {"matrix": [1, 3], "x": 12, "y": 0}, + {"matrix": [1, 4], "x": 13, "y": 0, "w": 2}, + {"matrix": [1, 5], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 6], "x": 1.5, "y": 1}, + {"matrix": [1, 7], "x": 2.5, "y": 1}, + {"matrix": [1, 8], "x": 3.5, "y": 1}, + {"matrix": [2, 0], "x": 4.5, "y": 1}, + {"matrix": [2, 1], "x": 5.5, "y": 1}, + {"matrix": [2, 2], "x": 6.5, "y": 1}, + {"matrix": [2, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [2, 5], "x": 9.5, "y": 1}, + {"matrix": [2, 6], "x": 10.5, "y": 1}, + {"matrix": [2, 7], "x": 11.5, "y": 1}, + {"matrix": [2, 8], "x": 12.5, "y": 1}, + {"matrix": [3, 0], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [3, 1], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [3, 2], "x": 1.75, "y": 2}, + {"matrix": [3, 3], "x": 2.75, "y": 2}, + {"matrix": [3, 4], "x": 3.75, "y": 2}, + {"matrix": [3, 5], "x": 4.75, "y": 2}, + {"matrix": [3, 6], "x": 5.75, "y": 2}, + {"matrix": [3, 7], "x": 6.75, "y": 2}, + {"matrix": [3, 8], "x": 7.75, "y": 2}, + {"matrix": [4, 0], "x": 8.75, "y": 2}, + {"matrix": [4, 1], "x": 9.75, "y": 2}, + {"matrix": [4, 2], "x": 10.75, "y": 2}, + {"matrix": [4, 3], "x": 11.75, "y": 2}, + {"matrix": [4, 4], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [4, 5], "x": 15, "y": 2}, + {"matrix": [4, 6], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [4, 7], "x": 2.25, "y": 3}, + {"matrix": [4, 8], "x": 3.25, "y": 3}, + {"matrix": [5, 0], "x": 4.25, "y": 3}, + {"matrix": [5, 1], "x": 5.25, "y": 3}, + {"matrix": [5, 2], "x": 6.25, "y": 3}, + {"matrix": [5, 3], "x": 7.25, "y": 3}, + {"matrix": [5, 4], "x": 8.25, "y": 3}, + {"matrix": [5, 5], "x": 9.25, "y": 3}, + {"matrix": [5, 6], "x": 10.25, "y": 3}, + {"matrix": [5, 7], "x": 11.25, "y": 3}, + {"matrix": [5, 8], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [6, 0], "x": 15, "y": 3}, + {"matrix": [6, 1], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [6, 2], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [6, 3], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [6, 4], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [6, 5], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [6, 6], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [6, 7], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [6, 8], "x": 13.75, "y": 4, "w": 1.25}, + {"matrix": [7, 0], "x": 15, "y": 4} + ] + }, + "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": [1, 0], "x": 9, "y": 0}, + {"matrix": [1, 1], "x": 10, "y": 0}, + {"matrix": [1, 2], "x": 11, "y": 0}, + {"matrix": [1, 3], "x": 12, "y": 0}, + {"matrix": [1, 4], "x": 13, "y": 0, "w": 2}, + {"matrix": [1, 5], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 6], "x": 1.5, "y": 1}, + {"matrix": [1, 7], "x": 2.5, "y": 1}, + {"matrix": [1, 8], "x": 3.5, "y": 1}, + {"matrix": [2, 0], "x": 4.5, "y": 1}, + {"matrix": [2, 1], "x": 5.5, "y": 1}, + {"matrix": [2, 2], "x": 6.5, "y": 1}, + {"matrix": [2, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [2, 5], "x": 9.5, "y": 1}, + {"matrix": [2, 6], "x": 10.5, "y": 1}, + {"matrix": [2, 7], "x": 11.5, "y": 1}, + {"matrix": [2, 8], "x": 12.5, "y": 1}, + {"matrix": [3, 0], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [3, 1], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [3, 2], "x": 1.75, "y": 2}, + {"matrix": [3, 3], "x": 2.75, "y": 2}, + {"matrix": [3, 4], "x": 3.75, "y": 2}, + {"matrix": [3, 5], "x": 4.75, "y": 2}, + {"matrix": [3, 6], "x": 5.75, "y": 2}, + {"matrix": [3, 7], "x": 6.75, "y": 2}, + {"matrix": [3, 8], "x": 7.75, "y": 2}, + {"matrix": [4, 0], "x": 8.75, "y": 2}, + {"matrix": [4, 1], "x": 9.75, "y": 2}, + {"matrix": [4, 2], "x": 10.75, "y": 2}, + {"matrix": [4, 3], "x": 11.75, "y": 2}, + {"matrix": [4, 4], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [4, 5], "x": 15, "y": 2}, + {"matrix": [4, 6], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [4, 7], "x": 2.25, "y": 3}, + {"matrix": [4, 8], "x": 3.25, "y": 3}, + {"matrix": [5, 0], "x": 4.25, "y": 3}, + {"matrix": [5, 1], "x": 5.25, "y": 3}, + {"matrix": [5, 2], "x": 6.25, "y": 3}, + {"matrix": [5, 3], "x": 7.25, "y": 3}, + {"matrix": [5, 4], "x": 8.25, "y": 3}, + {"matrix": [5, 5], "x": 9.25, "y": 3}, + {"matrix": [5, 6], "x": 10.25, "y": 3}, + {"matrix": [5, 7], "x": 11.25, "y": 3}, + {"matrix": [5, 8], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [6, 0], "x": 15, "y": 3}, + {"matrix": [6, 1], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [6, 2], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [6, 3], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [7, 1], "x": 3.75, "y": 4, "w": 1.5}, + {"matrix": [7, 2], "x": 5.25, "y": 4}, + {"matrix": [6, 4], "x": 6.25, "y": 4, "w": 1.25}, + {"matrix": [7, 3], "x": 7.5, "y": 4}, + {"matrix": [7, 4], "x": 8.5, "y": 4, "w": 1.5}, + {"matrix": [6, 5], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [6, 6], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [6, 7], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [6, 8], "x": 13.75, "y": 4, "w": 1.25}, + {"matrix": [7, 0], "x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/boardsource/sessanta/keymaps/default/keymap.json b/keyboards/boardsource/sessanta/keymaps/default/keymap.json new file mode 100644 index 00000000000..b99333c46d7 --- /dev/null +++ b/keyboards/boardsource/sessanta/keymaps/default/keymap.json @@ -0,0 +1,21 @@ +{ + "keyboard": "boardsource/sessanta", + "keymap": "default", + "layout": "LAYOUT_625_bar", + "layers": [ + [ + "KC_GRV", "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_BSPC", + "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_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT", "KC_VOLU", + "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_MPLY", + "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "MO(1)", "KC_RALT", "KC_RGUI", "KC_RCTL", "KC_VOLD" + ], + [ + "QK_BOOT", "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_F13", + "QK_RBT", "RGB_MOD", "RGB_VAI", "RGB_HUI", "RGB_SAI", "RGB_TOG", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "EE_CLR", "RGB_RMOD", "RGB_VAD", "RGB_HUD", "RGB_SAD", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______" + ] + ] +} diff --git a/keyboards/boardsource/sessanta/keymaps/via/keymap.json b/keyboards/boardsource/sessanta/keymaps/via/keymap.json new file mode 100644 index 00000000000..68e8e5fb208 --- /dev/null +++ b/keyboards/boardsource/sessanta/keymaps/via/keymap.json @@ -0,0 +1,26 @@ +{ + "keyboard": "boardsource/sessanta", + "keymap": "via", + "layout": "LAYOUT_all", + "config": { + "features": { + "via": true + } + }, + "layers": [ + [ + "KC_GRV", "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_BSPC", + "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_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT", "KC_VOLU", + "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_MPLY", + "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_SPC", "KC_SPC", "KC_SPC", "KC_SPC", "MO(1)", "KC_RALT", "KC_RGUI", "KC_RCTL", "KC_VOLD" + ], + [ + "QK_BOOT", "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_F13", + "QK_RBT", "RGB_MOD", "RGB_VAI", "RGB_HUI", "RGB_SAI", "RGB_TOG", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "EE_CLR", "RGB_RMOD", "RGB_VAD", "RGB_HUD", "RGB_SAD", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______" + ] + ] +} diff --git a/keyboards/boardsource/sessanta/readme.md b/keyboards/boardsource/sessanta/readme.md new file mode 100644 index 00000000000..35c841271c3 --- /dev/null +++ b/keyboards/boardsource/sessanta/readme.md @@ -0,0 +1,27 @@ +# Sessanta + +![image](https://i.imgur.com/ALvvC53.jpeg) + +A 60% keyboard offered in an MX or Choc PCB with per-key RGB + +* Keyboard Maintainer: [waffle87](https://github.com/waffle87) +* Hardware Supported: Sessanta PCB w/ Pro Micro compatible microcontroller +* Hardware Availability: [boardsource.xyz](https://boardsource.xyz) + +Make example for this keyboard (after setting up your build environment): + + make boardsource/sessanta:default + +Flashing example for this keyboard: + + make boardsource/sessanta:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB near microcontroller +* **Keycode in layout**: Press the key mapped to `QK_BOOT` From 1b8b6801d4f896409a765d302e7e0d50ff089692 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Thu, 11 Jul 2024 23:43:26 +1000 Subject: [PATCH 46/54] [CI] Add index page generator. (#23737) --- .github/workflows/ci_build_major_branch.yml | 24 +++- .gitignore | 1 + util/ci/index_generator.py | 109 +++++++++++++++ util/ci/requirements.txt | 2 + util/ci/templates/index.html.j2 | 139 ++++++++++++++++++++ 5 files changed, 269 insertions(+), 6 deletions(-) create mode 100755 util/ci/index_generator.py create mode 100644 util/ci/templates/index.html.j2 diff --git a/.github/workflows/ci_build_major_branch.yml b/.github/workflows/ci_build_major_branch.yml index 77755ba71f4..0e772c7d536 100644 --- a/.github/workflows/ci_build_major_branch.yml +++ b/.github/workflows/ci_build_major_branch.yml @@ -77,44 +77,56 @@ jobs: runs-on: ubuntu-latest steps: + - name: Disable safe.directory check + run: | + git config --global --add safe.directory '*' + + - name: Checkout QMK Firmware + uses: actions/checkout@v4 + - name: Download firmwares uses: actions/download-artifact@v4 with: pattern: firmware-* - path: firmwares + path: . merge-multiple: true + - name: Generate index page + run: | + python3 -m pip install -r ./util/ci/requirements.txt + ./util/ci/index_generator.py > index.html + - name: Upload to https://ci.qmk.fm/${{ inputs.branch || github.ref_name }}/${{ github.sha }} uses: jakejarvis/s3-sync-action@master with: - args: --acl public-read --follow-symlinks --delete + args: --acl public-read --follow-symlinks --delete --exclude '*' --include 'index.html' --include '*.hex' --include '*.bin' --include '*.uf2' env: AWS_S3_BUCKET: ${{ vars.CI_QMK_FM_SPACES_BUCKET }} AWS_ACCESS_KEY_ID: ${{ secrets.CI_QMK_FM_SPACES_KEY }} AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_QMK_FM_SPACES_SECRET }} AWS_REGION: ${{ vars.CI_QMK_FM_SPACES_REGION }} AWS_S3_ENDPOINT: ${{ vars.CI_QMK_FM_SPACES_ENDPOINT }} - SOURCE_DIR: firmwares + SOURCE_DIR: . DEST_DIR: ${{ inputs.branch || github.ref_name }}/${{ github.sha }} - name: Upload to https://ci.qmk.fm/${{ inputs.branch || github.ref_name }}/latest uses: jakejarvis/s3-sync-action@master with: - args: --acl public-read --follow-symlinks --delete + args: --acl public-read --follow-symlinks --delete --exclude '*' --include 'index.html' --include '*.hex' --include '*.bin' --include '*.uf2' env: AWS_S3_BUCKET: ${{ vars.CI_QMK_FM_SPACES_BUCKET }} AWS_ACCESS_KEY_ID: ${{ secrets.CI_QMK_FM_SPACES_KEY }} AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_QMK_FM_SPACES_SECRET }} AWS_REGION: ${{ vars.CI_QMK_FM_SPACES_REGION }} AWS_S3_ENDPOINT: ${{ vars.CI_QMK_FM_SPACES_ENDPOINT }} - SOURCE_DIR: firmwares + SOURCE_DIR: . DEST_DIR: ${{ inputs.branch || github.ref_name }}/latest - name: Check if failure marker file exists id: check_failure_marker uses: andstor/file-existence-action@v3 with: - files: firmwares/.failed + files: ./.failed - name: Fail build if needed if: steps.check_failure_marker.outputs.files_exists == 'true' diff --git a/.gitignore b/.gitignore index 35b128606d7..5de38c161cd 100644 --- a/.gitignore +++ b/.gitignore @@ -25,6 +25,7 @@ *.la *.stackdump *.sym +index.html # QMK-specific api_data/v1 diff --git a/util/ci/index_generator.py b/util/ci/index_generator.py new file mode 100755 index 00000000000..b6440bbffb7 --- /dev/null +++ b/util/ci/index_generator.py @@ -0,0 +1,109 @@ +#!/usr/bin/env python3 + +import os +import re +import shlex +import subprocess +from pathlib import Path + +from ansi2html import Ansi2HTMLConverter +from jinja2 import Environment, FileSystemLoader, select_autoescape + +orig_cwd = os.getcwd() +qmk_firmware_dir = Path(os.path.realpath(__file__)).parents[2] +build_dir = qmk_firmware_dir / ".build" + +KEYBOARD_PATTERN = re.compile("CI Metadata: KEYBOARD=(?P.*)\r?\n") +KEYMAP_PATTERN = re.compile("CI Metadata: KEYMAP=(?P.*)\r?\n") + +env = Environment( + loader=FileSystemLoader(Path(os.path.realpath(__file__)).parent / "templates"), + autoescape=select_autoescape(), +) + + +def _run(command, capture_output=True, combined_output=False, text=True, **kwargs): + if isinstance(command, str): + command = shlex.split(command) + if capture_output: + kwargs["stdout"] = subprocess.PIPE + kwargs["stderr"] = subprocess.PIPE + if combined_output: + kwargs["stderr"] = subprocess.STDOUT + if "stdin" in kwargs and kwargs["stdin"] is None: + del kwargs["stdin"] + if text: + kwargs["universal_newlines"] = True + return subprocess.run(command, **kwargs) + + +def _ansi2html(value): + return Ansi2HTMLConverter().convert(value, full=False) + + +def _ansi2html_styles(): + from ansi2html.style import get_styles + + styles = get_styles(scheme="dracula") + return "\n".join([str(s) for s in styles]) + + +def _git_log(count = 4): + os.chdir(qmk_firmware_dir) + ret = _run(f"git log -n {count} --color=always --no-merges --topo-order --stat").stdout.strip() + os.chdir(orig_cwd) + return ret + +def _git_describe(): + os.chdir(qmk_firmware_dir) + ret = _run("git describe --tags --always --dirty").stdout.strip() + os.chdir(orig_cwd) + return ret + +def _git_revision(): + os.chdir(qmk_firmware_dir) + ret = _run("git rev-parse HEAD").stdout.strip() + os.chdir(orig_cwd) + return ret + + +env.filters["ansi2html"] = _ansi2html + +binaries = [] +binaries.extend(qmk_firmware_dir.glob("*.bin")) +binaries.extend(qmk_firmware_dir.glob("*.hex")) +binaries.extend(qmk_firmware_dir.glob("*.uf2")) +binaries = list(sorted(binaries)) + +failures = [] +for mdfile in list(sorted(build_dir.glob("failed.log.*"))): + txt = Path(mdfile).read_text() + + m_kb = KEYBOARD_PATTERN.search(txt) + if not m_kb: + raise Exception("Couldn't determine the keyboard from the failure output") + m_km = KEYMAP_PATTERN.search(txt) + if not m_km: + raise Exception("Couldn't determine the keymap from the failure output") + + txt = KEYBOARD_PATTERN.sub("", KEYMAP_PATTERN.sub("", txt)).strip() + + failures.append( + { + "stdout": txt, + "keyboard": m_kb.group("keyboard"), + "keymap": m_km.group("keymap"), + } + ) + +template = env.get_template("index.html.j2") +print( + template.render( + ansi2html_styles=_ansi2html_styles(), + git_log=_git_log(), + git_describe=_git_describe(), + git_revision=_git_revision(), + binaries=binaries, + failures=failures, + ) +) diff --git a/util/ci/requirements.txt b/util/ci/requirements.txt index 3196568e1a7..47acf85644f 100644 --- a/util/ci/requirements.txt +++ b/util/ci/requirements.txt @@ -1 +1,3 @@ discord-webhook +Jinja2 +ansi2html diff --git a/util/ci/templates/index.html.j2 b/util/ci/templates/index.html.j2 new file mode 100644 index 00000000000..18086987db0 --- /dev/null +++ b/util/ci/templates/index.html.j2 @@ -0,0 +1,139 @@ + + + + + + + + + +
+
+
+ +
+
+
+ CI Build {% if failures | length > 0 %}❌{% else %}✅{% endif %} +
+
+ {{ git_describe }} +
+
+ {{ git_revision }} +
+
+ {{ failures | length }} failure{% if failures | length != 1 %}s{% endif %} +
+
+ + {% if binaries | length > 0 %}Firmwares | {% endif %} + Commit info + {% if failures | length > 0 %} | Failure Logs{% endif %} + +
+
+
+ +
+

Git commit

+
+
{{ git_log | ansi2html }}
+
+
+ {% if failures | length > 0 %} + +
+

Build failure logs

+ +
+ {% for failure in failures %} + +
+

Build failure — {{ failure.keyboard }}:{{ failure.keymap }}

+
+
{{ failure.stdout | ansi2html }}
+
+
+ {% endfor %} + {% endif %} +
+ {% if binaries | length > 0 %} +
+ +
+

Firmware downloads

+
+ {% for binary in binaries %} + + {%- endfor %} +
+
+
+ {% endif %} + + + From 2e671cfd8be1a867cb6717732f1045fc026aeba0 Mon Sep 17 00:00:00 2001 From: QMK Bot Date: Thu, 11 Jul 2024 23:50:39 +1000 Subject: [PATCH 47/54] [CI] Format code according to conventions (#24095) Format code according to conventions --- util/ci/index_generator.py | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/util/ci/index_generator.py b/util/ci/index_generator.py index b6440bbffb7..f2f7f4d4167 100755 --- a/util/ci/index_generator.py +++ b/util/ci/index_generator.py @@ -48,18 +48,20 @@ def _ansi2html_styles(): return "\n".join([str(s) for s in styles]) -def _git_log(count = 4): +def _git_log(count=4): os.chdir(qmk_firmware_dir) ret = _run(f"git log -n {count} --color=always --no-merges --topo-order --stat").stdout.strip() os.chdir(orig_cwd) return ret + def _git_describe(): os.chdir(qmk_firmware_dir) ret = _run("git describe --tags --always --dirty").stdout.strip() os.chdir(orig_cwd) return ret + def _git_revision(): os.chdir(qmk_firmware_dir) ret = _run("git rev-parse HEAD").stdout.strip() @@ -88,22 +90,18 @@ for mdfile in list(sorted(build_dir.glob("failed.log.*"))): txt = KEYBOARD_PATTERN.sub("", KEYMAP_PATTERN.sub("", txt)).strip() - failures.append( - { - "stdout": txt, - "keyboard": m_kb.group("keyboard"), - "keymap": m_km.group("keymap"), - } - ) + failures.append({ + "stdout": txt, + "keyboard": m_kb.group("keyboard"), + "keymap": m_km.group("keymap"), + }) template = env.get_template("index.html.j2") -print( - template.render( - ansi2html_styles=_ansi2html_styles(), - git_log=_git_log(), - git_describe=_git_describe(), - git_revision=_git_revision(), - binaries=binaries, - failures=failures, - ) -) +print(template.render( + ansi2html_styles=_ansi2html_styles(), + git_log=_git_log(), + git_describe=_git_describe(), + git_revision=_git_revision(), + binaries=binaries, + failures=failures, +)) From 063f1444c68a64a02fe2f5c3de2f8fa765f53533 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Thu, 11 Jul 2024 23:48:43 +0100 Subject: [PATCH 48/54] Add json index of files to CI uploads (#24097) --- .github/workflows/ci_build_major_branch.yml | 5 ++-- .gitignore | 1 + util/ci/firmware_list_generator.py | 26 +++++++++++++++++++++ util/ci/templates/index.html.j2 | 3 ++- 4 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 util/ci/firmware_list_generator.py diff --git a/.github/workflows/ci_build_major_branch.yml b/.github/workflows/ci_build_major_branch.yml index 0e772c7d536..ba5d1c246fe 100644 --- a/.github/workflows/ci_build_major_branch.yml +++ b/.github/workflows/ci_build_major_branch.yml @@ -95,11 +95,12 @@ jobs: run: | python3 -m pip install -r ./util/ci/requirements.txt ./util/ci/index_generator.py > index.html + ./util/ci/firmware_list_generator.py > firmware_list.json - name: Upload to https://ci.qmk.fm/${{ inputs.branch || github.ref_name }}/${{ github.sha }} uses: jakejarvis/s3-sync-action@master with: - args: --acl public-read --follow-symlinks --delete --exclude '*' --include 'index.html' --include '*.hex' --include '*.bin' --include '*.uf2' + args: --acl public-read --follow-symlinks --delete --exclude '*' --include 'index.html' --include 'firmware_list.json' --include '*.hex' --include '*.bin' --include '*.uf2' env: AWS_S3_BUCKET: ${{ vars.CI_QMK_FM_SPACES_BUCKET }} AWS_ACCESS_KEY_ID: ${{ secrets.CI_QMK_FM_SPACES_KEY }} @@ -112,7 +113,7 @@ jobs: - name: Upload to https://ci.qmk.fm/${{ inputs.branch || github.ref_name }}/latest uses: jakejarvis/s3-sync-action@master with: - args: --acl public-read --follow-symlinks --delete --exclude '*' --include 'index.html' --include '*.hex' --include '*.bin' --include '*.uf2' + args: --acl public-read --follow-symlinks --delete --exclude '*' --include 'index.html' --include 'firmware_list.json' --include '*.hex' --include '*.bin' --include '*.uf2' env: AWS_S3_BUCKET: ${{ vars.CI_QMK_FM_SPACES_BUCKET }} AWS_ACCESS_KEY_ID: ${{ secrets.CI_QMK_FM_SPACES_KEY }} diff --git a/.gitignore b/.gitignore index 5de38c161cd..c3f2f063cd1 100644 --- a/.gitignore +++ b/.gitignore @@ -26,6 +26,7 @@ *.stackdump *.sym index.html +firmware_list.json # QMK-specific api_data/v1 diff --git a/util/ci/firmware_list_generator.py b/util/ci/firmware_list_generator.py new file mode 100644 index 00000000000..926939f4c3e --- /dev/null +++ b/util/ci/firmware_list_generator.py @@ -0,0 +1,26 @@ +import os +import json +from pathlib import Path +from time import gmtime, strftime + +DATETIME_FORMAT = '%Y-%m-%d %H:%M:%S %Z' + +def current_datetime(): + return strftime(DATETIME_FORMAT, gmtime()) + + +qmk_firmware_dir = Path(os.path.realpath(__file__)).parents[2] + +binaries = [] +binaries.extend(qmk_firmware_dir.glob("*.bin")) +binaries.extend(qmk_firmware_dir.glob("*.hex")) +binaries.extend(qmk_firmware_dir.glob("*.uf2")) +binaries = list(sorted(binaries)) + +data = [] +for binary in binaries: + data.append(binary.name) + +keyboard_all_json = json.dumps({'last_updated': current_datetime(), 'files': data}, separators=(',', ':')) + +print(keyboard_all_json) diff --git a/util/ci/templates/index.html.j2 b/util/ci/templates/index.html.j2 index 18086987db0..1199a0819d3 100644 --- a/util/ci/templates/index.html.j2 +++ b/util/ci/templates/index.html.j2 @@ -3,6 +3,7 @@ +