From 012b101b2eea7e0ca16fe0d324fe0006832160b2 Mon Sep 17 00:00:00 2001 From: Moritz Plattner Date: Fri, 1 Mar 2024 17:18:19 +0100 Subject: [PATCH 01/36] geistmaschine/geist: enable mousekey, fix issues in default/via keymap (#23187) --- keyboards/geistmaschine/geist/info.json | 2 +- keyboards/geistmaschine/geist/keymaps/default/keymap.c | 4 ++-- keyboards/geistmaschine/geist/keymaps/via/keymap.c | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/keyboards/geistmaschine/geist/info.json b/keyboards/geistmaschine/geist/info.json index 571740b7163..079dd8d6d9a 100644 --- a/keyboards/geistmaschine/geist/info.json +++ b/keyboards/geistmaschine/geist/info.json @@ -9,7 +9,7 @@ "command": false, "console": false, "extrakey": true, - "mousekey": false, + "mousekey": true, "nkro": true, "encoder": true }, diff --git a/keyboards/geistmaschine/geist/keymaps/default/keymap.c b/keyboards/geistmaschine/geist/keymaps/default/keymap.c index 6d96c572ba3..19b4ba2210d 100644 --- a/keyboards/geistmaschine/geist/keymaps/default/keymap.c +++ b/keyboards/geistmaschine/geist/keymaps/default/keymap.c @@ -19,14 +19,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( - LT(2, KC_MUTE), 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_TRNS, KC_DEL, + LT(2, KC_MUTE), 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_BSPC, KC_DEL, 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_HOME, 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_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_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, LT(1, KC_RGUI), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - KC_MPLY, 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_TRNS, KC_INS, + KC_MPLY, 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_DEL, KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_ON, NK_OFF, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, diff --git a/keyboards/geistmaschine/geist/keymaps/via/keymap.c b/keyboards/geistmaschine/geist/keymaps/via/keymap.c index 068f500fb01..f4d07036bda 100644 --- a/keyboards/geistmaschine/geist/keymaps/via/keymap.c +++ b/keyboards/geistmaschine/geist/keymaps/via/keymap.c @@ -19,14 +19,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( - LT(2, KC_MUTE), 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_TRNS, KC_DEL, + LT(2, KC_MUTE), 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_BSPC, KC_DEL, 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_HOME, 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_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_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, LT(1, KC_RGUI), KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_all( - KC_MPLY, 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_TRNS, KC_INS, + KC_MPLY, 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_DEL, KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_ON, NK_OFF, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, From 3b76a3a3238723e3dcdaa14c8838df97d63d0980 Mon Sep 17 00:00:00 2001 From: blindassassin111 <38090555+blindassassin111@users.noreply.github.com> Date: Fri, 1 Mar 2024 12:03:56 -0600 Subject: [PATCH 02/36] Fixing typos for OSAv2 and OSAv2_Topre (#23161) Correcting tilde to grave, fixing a typo in ec.c, and removing some comments that were accidentally left in. --- .../viktus/osav2/keymaps/default/keymap.c | 2 +- keyboards/viktus/osav2/keymaps/via/keymap.c | 2 +- keyboards/viktus/osav2_topre/ec.c | 20 +++++++++---------- .../osav2_topre/keymaps/default/keymap.c | 2 +- .../viktus/osav2_topre/keymaps/via/keymap.c | 2 +- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/keyboards/viktus/osav2/keymaps/default/keymap.c b/keyboards/viktus/osav2/keymaps/default/keymap.c index 41533f136ca..9efc093864a 100644 --- a/keyboards/viktus/osav2/keymaps/default/keymap.c +++ b/keyboards/viktus/osav2/keymaps/default/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_split_normal_split( - KC_DEL, 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_TILD, + KC_DEL, 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_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_BSPC, KC_PGDN, 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_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/viktus/osav2/keymaps/via/keymap.c b/keyboards/viktus/osav2/keymaps/via/keymap.c index 41533f136ca..9efc093864a 100644 --- a/keyboards/viktus/osav2/keymaps/via/keymap.c +++ b/keyboards/viktus/osav2/keymaps/via/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_split_normal_split( - KC_DEL, 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_TILD, + KC_DEL, 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_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_BSPC, KC_PGDN, 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_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/viktus/osav2_topre/ec.c b/keyboards/viktus/osav2_topre/ec.c index fd2e8fa0ec5..076ffc0ba86 100644 --- a/keyboards/viktus/osav2_topre/ec.c +++ b/keyboards/viktus/osav2_topre/ec.c @@ -151,16 +151,16 @@ bool ec_matrix_scan(matrix_row_t current_matrix[]) { switch(row) { case 0: switch(col) { - case 14: // lower threshold for split backspace: left 1U( rest, btm) - case 15: // lower threshold for 2U backspace: 2U(38 rest, 60 btm) - reset_pt = 44; - actuation_pt = 48; + case 14: // lower threshold for split backspace: left 1U + case 15: // lower threshold for 2U backspace: 2U + reset_pt = 48; + actuation_pt = 53; break; } break; case 3: switch(col) { - case 14: // Lower threshold for right shift: 1.75U(40 rest, 70 btm) + case 14: // Lower threshold for right shift: 1.75U reset_pt = 48; actuation_pt = 53; break; @@ -168,17 +168,17 @@ bool ec_matrix_scan(matrix_row_t current_matrix[]) { break; case 4: switch(col) { - case 3: // Lower threshold for left space: col3( rest, btm) - case 4: // Lower threshold for left space: col4(38 rest, 88 btm) + case 3: // Lower threshold for left space: col3 + case 4: // Lower threshold for left space: col4 reset_pt = 50; actuation_pt = 60; break; - case 5: // Lower threshold for left space: col5( rest, btm) - case 6: // Lower threshold for left space: col6(40 rest, 80 btm) + case 5: // Lower threshold for left space: col5 + case 6: // Lower threshold for left space: col6 reset_pt = 48; actuation_pt = 58; break; - case 14: // Lower threshold for right shift: 2.75U( rest, btm) + case 14: // Lower threshold for right shift: 2.75U reset_pt = 48; actuation_pt = 53; break; diff --git a/keyboards/viktus/osav2_topre/keymaps/default/keymap.c b/keyboards/viktus/osav2_topre/keymaps/default/keymap.c index b9561c9b325..bb7bc014744 100644 --- a/keyboards/viktus/osav2_topre/keymaps/default/keymap.c +++ b/keyboards/viktus/osav2_topre/keymaps/default/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_split_back_175u_shift( - KC_DEL, 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_TILDE, + KC_DEL, 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_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_BSPC, 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/viktus/osav2_topre/keymaps/via/keymap.c b/keyboards/viktus/osav2_topre/keymaps/via/keymap.c index b9561c9b325..bb7bc014744 100644 --- a/keyboards/viktus/osav2_topre/keymaps/via/keymap.c +++ b/keyboards/viktus/osav2_topre/keymaps/via/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_split_back_175u_shift( - KC_DEL, 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_TILDE, + KC_DEL, 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_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_BSPC, 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 8b8f73098b325ea60e2affea6dcd36fc86716dab Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Sat, 2 Mar 2024 08:44:51 +1100 Subject: [PATCH 03/36] Fix up AVR production build target. (#23190) --- platforms/avr/platform.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/platforms/avr/platform.mk b/platforms/avr/platform.mk index aef449cadf7..a625f2e5d01 100644 --- a/platforms/avr/platform.mk +++ b/platforms/avr/platform.mk @@ -201,17 +201,17 @@ else ifeq ($(strip $(BOOTLOADER)), qmk-hid) QMK_BOOTLOADER_TYPE = HID endif -bootloader: +bootloader: cpfirmware ifeq ($(strip $(QMK_BOOTLOADER_TYPE)),) $(call CATASTROPHIC_ERROR,Invalid BOOTLOADER,Please set BOOTLOADER to "qmk-dfu" or "qmk-hid" first!) else - make -C lib/lufa/Bootloaders/$(QMK_BOOTLOADER_TYPE)/ clean + make -C lib/lufa/Bootloaders/$(QMK_BOOTLOADER_TYPE)/ clean TARGET=Bootloader$(QMK_BOOTLOADER_TYPE) $(QMK_BIN) generate-dfu-header --quiet --keyboard $(KEYBOARD) --output lib/lufa/Bootloaders/$(QMK_BOOTLOADER_TYPE)/Keyboard.h $(eval MAX_SIZE=$(shell n=`$(CC) -E -mmcu=$(MCU) -D__ASSEMBLER__ $(CFLAGS) $(OPT_DEFS) platforms/avr/bootloader_size.c 2> /dev/null | sed -ne 's/\r//;/^#/n;/^AVR_SIZE:/,$${s/^AVR_SIZE: //;p;}'` && echo $$(($$n)) || echo 0)) $(eval PROGRAM_SIZE_KB=$(shell n=`expr $(MAX_SIZE) / 1024` && echo $$(($$n)) || echo 0)) $(eval BOOT_SECTION_SIZE_KB=$(shell n=`expr $(BOOTLOADER_SIZE) / 1024` && echo $$(($$n)) || echo 0)) $(eval FLASH_SIZE_KB=$(shell n=`expr $(PROGRAM_SIZE_KB) + $(BOOT_SECTION_SIZE_KB)` && echo $$(($$n)) || echo 0)) - make -C lib/lufa/Bootloaders/$(QMK_BOOTLOADER_TYPE)/ MCU=$(MCU) ARCH=$(ARCH) F_CPU=$(F_CPU) FLASH_SIZE_KB=$(FLASH_SIZE_KB) BOOT_SECTION_SIZE_KB=$(BOOT_SECTION_SIZE_KB) + make -C lib/lufa/Bootloaders/$(QMK_BOOTLOADER_TYPE)/ MCU=$(MCU) ARCH=$(ARCH) F_CPU=$(F_CPU) FLASH_SIZE_KB=$(FLASH_SIZE_KB) BOOT_SECTION_SIZE_KB=$(BOOT_SECTION_SIZE_KB) TARGET=Bootloader$(QMK_BOOTLOADER_TYPE) printf "Bootloader$(QMK_BOOTLOADER_TYPE).hex copied to $(TARGET)_bootloader.hex\n" cp lib/lufa/Bootloaders/$(QMK_BOOTLOADER_TYPE)/Bootloader$(QMK_BOOTLOADER_TYPE).hex $(TARGET)_bootloader.hex endif From 1875659df025ec83201bb8e1e4515100e5152a87 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Sat, 2 Mar 2024 08:45:01 +1100 Subject: [PATCH 04/36] CLI Speed improvements. (#23189) --- lib/python/qmk/json_schema.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/python/qmk/json_schema.py b/lib/python/qmk/json_schema.py index b00df749ccf..1d5f863807f 100644 --- a/lib/python/qmk/json_schema.py +++ b/lib/python/qmk/json_schema.py @@ -7,6 +7,7 @@ from collections.abc import Mapping from functools import lru_cache from typing import OrderedDict from pathlib import Path +from copy import deepcopy from milc import cli @@ -22,7 +23,8 @@ def _dict_raise_on_duplicates(ordered_pairs): return d -def json_load(json_file, strict=True): +@lru_cache(maxsize=20) +def _json_load_impl(json_file, strict=True): """Load a json file from disk. Note: file must be a Path object. @@ -42,7 +44,11 @@ def json_load(json_file, strict=True): exit(1) -@lru_cache(maxsize=0) +def json_load(json_file, strict=True): + return deepcopy(_json_load_impl(json_file=json_file, strict=strict)) + + +@lru_cache(maxsize=20) def load_jsonschema(schema_name): """Read a jsonschema file from disk. """ @@ -57,7 +63,7 @@ def load_jsonschema(schema_name): return json_load(schema_path) -@lru_cache(maxsize=0) +@lru_cache(maxsize=1) def compile_schema_store(): """Compile all our schemas into a schema store. """ @@ -73,7 +79,7 @@ def compile_schema_store(): return schema_store -@lru_cache(maxsize=0) +@lru_cache(maxsize=20) def create_validator(schema): """Creates a validator for the given schema id. """ From c06087669290fe72d5fb85c7b37d20cf5ebe149d Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sat, 2 Mar 2024 12:23:25 +0000 Subject: [PATCH 05/36] Remove cd suggestion from new-keyboard (#23194) --- lib/python/qmk/cli/new/keyboard.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/python/qmk/cli/new/keyboard.py b/lib/python/qmk/cli/new/keyboard.py index ce956d0ce14..cb50acf8bb9 100644 --- a/lib/python/qmk/cli/new/keyboard.py +++ b/lib/python/qmk/cli/new/keyboard.py @@ -15,7 +15,7 @@ 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.constants import MCU2BOOTLOADER +from qmk.constants import MCU2BOOTLOADER, QMK_FIRMWARE COMMUNITY = Path('layouts/default/') TEMPLATE = Path('data/templates/keyboard/') @@ -254,6 +254,6 @@ def new_keyboard(cli): augment_community_info(community_info, keyboard(kb_name) / community_info.name) cli.log.info(f'{{fg_green}}Created a new keyboard called {{fg_cyan}}{kb_name}{{fg_green}}.{{fg_reset}}') - cli.log.info(f'To start working on things, `cd` into {{fg_cyan}}keyboards/{kb_name}{{fg_reset}},') - cli.log.info('or open the directory in your preferred text editor.') - cli.log.info(f"And build with {{fg_yellow}}qmk compile -kb {kb_name} -km default{{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}}") From 21276de7d5331a0e8ff9b27a732264a70bdf8007 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Sat, 2 Mar 2024 23:23:34 +1100 Subject: [PATCH 06/36] Normalise .editorconfig. (#23186) --- .editorconfig | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/.editorconfig b/.editorconfig index 60827f04baf..3a537d01b28 100644 --- a/.editorconfig +++ b/.editorconfig @@ -4,39 +4,39 @@ root = true [*] +end_of_line = lf indent_style = space indent_size = 4 - -# We recommend you to keep these unchanged charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true +[{*.yaml,*.yml}] # To match GitHub Actions formatting +indent_size = 2 + [*.md] trim_trailing_whitespace = false -indent_size = 4 - -[{qmk,*.py}] -charset = utf-8 -max_line_length = 200 - -# Make these match what we have in .gitattributes -[*.mk] -end_of_line = lf -indent_style = tab -[Makefile] -end_of_line = lf +[{Makefile,*.mk}] indent_style = tab -[*.sh] -end_of_line = lf - -# The gitattributes file will handle the line endings conversion properly according to the operating system settings for other files - - -# We don't have gitattributes properly for these -# So if the user have for example core.autocrlf set to true -# the line endings would be wrong. +# Don't override anything in `lib/`... [lib/**] +indent_style = unset +indent_size = unset +tab_width = unset end_of_line = unset +charset = unset +spelling_language = unset +trim_trailing_whitespace = unset +insert_final_newline = unset + +# ...except QMK's `lib/python`. +[{*.py,lib/python/**.py}] +end_of_line = lf +indent_style = space +indent_size = 4 +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true +max_line_length = 200 From 092ef661af1f970122993ad175bcc420898788ca Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sat, 2 Mar 2024 18:20:18 +0000 Subject: [PATCH 07/36] Workaround for uart makefile issues (#23192) --- platforms/chibios/chibios_config.h | 5 +++++ platforms/chibios/drivers/uart_sio.c | 2 +- platforms/chibios/platform.mk | 11 ----------- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/platforms/chibios/chibios_config.h b/platforms/chibios/chibios_config.h index 759ac6943ba..8f46fe07360 100644 --- a/platforms/chibios/chibios_config.h +++ b/platforms/chibios/chibios_config.h @@ -108,6 +108,11 @@ # if defined(STM32F1XX) || defined(STM32F2XX) || defined(STM32F4XX) || defined(STM32L1XX) # define USE_I2CV1 # endif + +# if defined(STM32G0XX) || defined(STM32G4XX) || defined(STM32L5XX) || defined(STM32H7XX) +# define USE_USARTV3 +# endif + #endif // GD32 compatibility diff --git a/platforms/chibios/drivers/uart_sio.c b/platforms/chibios/drivers/uart_sio.c index ebf51ae5a81..442df1c54d8 100644 --- a/platforms/chibios/drivers/uart_sio.c +++ b/platforms/chibios/drivers/uart_sio.c @@ -16,7 +16,7 @@ static SIOConfig sioConfig = { #else static SIOConfig sioConfig = { .baud = SIO_DEFAULT_BITRATE, -# if defined(MCU_STM32) && defined(CHIBIOS_HAL_USARTv3) +# if defined(MCU_STM32) && defined(USE_USARTV3) .presc = USART_PRESC1, # endif .cr1 = UART_CR1, diff --git a/platforms/chibios/platform.mk b/platforms/chibios/platform.mk index a2178412f3f..f38a888012e 100644 --- a/platforms/chibios/platform.mk +++ b/platforms/chibios/platform.mk @@ -329,17 +329,6 @@ ifeq ($(strip $(USE_CHIBIOS_CONTRIB)),yes) EXTRAINCDIRS += $(PLATFORMINC_CONTRIB) $(HALINC_CONTRIB) $(CHIBIOS_CONTRIB)/os/various endif -# -# Extract supported HAL drivers -############################################################################## - -define add_lld_driver_define - $(eval driver := $(word 2,$(subst /LLD/, ,$(1)))) - $(eval OPT_DEFS += -DCHIBIOS_HAL_$(driver)) -endef - -$(foreach dir,$(EXTRAINCDIRS),$(if $(findstring /LLD/,$(dir)),$(call add_lld_driver_define,$(dir)))) - # # Project, sources and paths ############################################################################## From 1919644934478939af3977b546da217c02617566 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon, 4 Mar 2024 11:40:16 -0800 Subject: [PATCH 08/36] Iron180 V2 S: correct ANSI Enter key sizes (#23215) --- keyboards/smithrune/iron180v2/v2s/info.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/keyboards/smithrune/iron180v2/v2s/info.json b/keyboards/smithrune/iron180v2/v2s/info.json index aae84fd9566..82744159912 100644 --- a/keyboards/smithrune/iron180v2/v2s/info.json +++ b/keyboards/smithrune/iron180v2/v2s/info.json @@ -229,7 +229,7 @@ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25}, + {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, @@ -336,7 +336,7 @@ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25}, + {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, @@ -443,7 +443,7 @@ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25}, + {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, @@ -549,7 +549,7 @@ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25}, + {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, @@ -655,7 +655,7 @@ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25}, + {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, @@ -759,7 +759,7 @@ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25}, + {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, From 73bddf0ea6fc867b8401c7b09d7f3d07099b1944 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon, 4 Mar 2024 11:41:55 -0800 Subject: [PATCH 09/36] `mntre_v3`: correct layout data (#23216) --- keyboards/mntre_v3/info.json | 70 ++++++++++++++++++------------------ 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/keyboards/mntre_v3/info.json b/keyboards/mntre_v3/info.json index eeef7575ff1..d9cee6aede8 100644 --- a/keyboards/mntre_v3/info.json +++ b/keyboards/mntre_v3/info.json @@ -75,45 +75,45 @@ {"matrix": [2, 13], "x": 13.5, "y": 2}, {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, - {"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, 7], "x": 7, "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, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3}, + {"matrix": [3, 2], "x": 2.75, "y": 3}, + {"matrix": [3, 3], "x": 3.75, "y": 3}, + {"matrix": [3, 4], "x": 4.75, "y": 3}, + {"matrix": [3, 5], "x": 5.75, "y": 3}, + {"matrix": [3, 6], "x": 6.75, "y": 3}, + {"matrix": [3, 7], "x": 7.75, "y": 3}, + {"matrix": [3, 8], "x": 8.75, "y": 3}, + {"matrix": [3, 9], "x": 9.75, "y": 3}, + {"matrix": [3, 10], "x": 10.75, "y": 3}, + {"matrix": [3, 11], "x": 11.75, "y": 3}, + {"matrix": [3, 12], "x": 12.75, "y": 3, "w": 1.75}, {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.5, "y": 4}, - {"matrix": [4, 2], "x": 2.5, "y": 4}, - {"matrix": [4, 3], "x": 3.5, "y": 4}, - {"matrix": [4, 4], "x": 4.5, "y": 4}, - {"matrix": [4, 5], "x": 5.5, "y": 4}, - {"matrix": [4, 6], "x": 6.5, "y": 4}, - {"matrix": [4, 7], "x": 7.5, "y": 4}, - {"matrix": [4, 8], "x": 8.5, "y": 4}, - {"matrix": [4, 9], "x": 9.5, "y": 4}, - {"matrix": [4, 10], "x": 10.5, "y": 4}, - {"matrix": [4, 11], "x": 11.5, "y": 4}, - {"matrix": [4, 12], "x": 12.5, "y": 4}, - {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4}, + {"matrix": [4, 2], "x": 2.25, "y": 4}, + {"matrix": [4, 3], "x": 3.25, "y": 4}, + {"matrix": [4, 4], "x": 4.25, "y": 4}, + {"matrix": [4, 5], "x": 5.25, "y": 4}, + {"matrix": [4, 6], "x": 6.25, "y": 4}, + {"matrix": [4, 7], "x": 7.25, "y": 4}, + {"matrix": [4, 8], "x": 8.25, "y": 4}, + {"matrix": [4, 9], "x": 9.25, "y": 4}, + {"matrix": [4, 10], "x": 10.25, "y": 4}, + {"matrix": [4, 11], "x": 11.25, "y": 4}, + {"matrix": [4, 12], "x": 12.25, "y": 4}, + {"matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.25}, {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25}, - {"matrix": [5, 1], "x": 1.5, "y": 5, "w": 1.5}, - {"matrix": [5, 2], "x": 3, "y": 5, "w": 1.5}, - {"matrix": [5, 3], "x": 4.5, "y": 5, "w": 1.5}, - {"matrix": [5, 4], "x": 6, "y": 5,"w": 2}, - {"matrix": [5, 5], "x": 7, "y": 5,"w": 1.5}, - {"matrix": [5, 6], "x": 8, "y": 5}, - {"matrix": [5, 7], "x": 9.5, "y": 5}, - {"matrix": [5, 8], "x": 10.5, "y": 5}, - {"matrix": [5, 9], "x": 11.5, "y": 5}, - {"matrix": [5, 10], "x": 12.5, "y": 5,"w": 1.25} + {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.5}, + {"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} ] } } From 9ae4d01e33eb00fa509da23ce1e1f2e9de50cf41 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon, 4 Mar 2024 11:42:37 -0800 Subject: [PATCH 10/36] Iron180 V2 H: correct key sizes (#23214) --- keyboards/smithrune/iron180v2/v2h/info.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/keyboards/smithrune/iron180v2/v2h/info.json b/keyboards/smithrune/iron180v2/v2h/info.json index 67eaf0501b0..a41c9d7e952 100644 --- a/keyboards/smithrune/iron180v2/v2h/info.json +++ b/keyboards/smithrune/iron180v2/v2h/info.json @@ -111,7 +111,7 @@ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25}, + {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, @@ -218,7 +218,7 @@ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25}, + {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, @@ -325,7 +325,7 @@ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25}, + {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, @@ -431,7 +431,7 @@ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25}, + {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, @@ -537,7 +537,7 @@ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25}, + {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, @@ -641,7 +641,7 @@ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25}, {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25}, - {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25}, + {"label": "Enter", "matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, From 7836906f3ea7e8f25b4eacbd11f67b8d38745089 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 Mar 2024 22:48:25 +1100 Subject: [PATCH 11/36] Bump peter-evans/create-pull-request from 5 to 6 (#22995) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/format_push.yml | 2 +- .github/workflows/regen_push.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/format_push.yml b/.github/workflows/format_push.yml index 61b4caf422d..ea60fc95b45 100644 --- a/.github/workflows/format_push.yml +++ b/.github/workflows/format_push.yml @@ -47,7 +47,7 @@ jobs: git config user.email 'hello@qmk.fm' - name: Create Pull Request - uses: peter-evans/create-pull-request@v5 + uses: peter-evans/create-pull-request@v6 if: ${{ github.repository == 'qmk/qmk_firmware'}} with: token: ${{ secrets.QMK_BOT_TOKEN }} diff --git a/.github/workflows/regen_push.yml b/.github/workflows/regen_push.yml index f1b78129376..0f014111413 100644 --- a/.github/workflows/regen_push.yml +++ b/.github/workflows/regen_push.yml @@ -34,7 +34,7 @@ jobs: git config user.email 'hello@qmk.fm' - name: Create Pull Request - uses: peter-evans/create-pull-request@v5 + uses: peter-evans/create-pull-request@v6 if: ${{ github.repository == 'qmk/qmk_firmware'}} with: token: ${{ secrets.QMK_BOT_TOKEN }} From 4443fa8a328c8b6fcef9b00017fe673567222168 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 5 Mar 2024 16:59:09 +0000 Subject: [PATCH 12/36] Attempt to fix changed files on CI workflow (#23205) --- .github/workflows/format.yml | 2 ++ .github/workflows/lint.yml | 12 ++++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml index 81da72046c8..df080cfe8ce 100644 --- a/.github/workflows/format.yml +++ b/.github/workflows/format.yml @@ -36,6 +36,8 @@ jobs: - name: Get changed files id: file_changes uses: tj-actions/changed-files@v42 + with: + use_rest_api: true - name: Run qmk formatters shell: 'bash {0}' diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 67823103f1b..a008ebb829f 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -28,6 +28,8 @@ jobs: - name: Get changed files id: file_changes uses: tj-actions/changed-files@v42 + with: + use_rest_api: true - name: Print info run: | @@ -62,10 +64,12 @@ jobs: qmk format-text ${{ steps.file_changes.outputs.all_changed_files}} || true for file in ${{ steps.file_changes.outputs.all_changed_files}}; do - if ! git diff --quiet $file; then - echo "File '${file}' Requires Formatting" - echo "::error file=${file}::Requires Formatting" - exit_code=$(($exit_code + 1)) + if [[ -f $file ]]; then + if ! git diff --quiet $file; then + echo "File '${file}' Requires Formatting" + echo "::error file=${file}::Requires Formatting" + exit_code=$(($exit_code + 1)) + fi fi done From 30b0600ea2f8e0f0d1768fb417f723b8d8b46dcb Mon Sep 17 00:00:00 2001 From: Cipulot <40441626+Cipulot@users.noreply.github.com> Date: Fri, 8 Mar 2024 11:51:00 +0100 Subject: [PATCH 13/36] [Keyboard] Add 60XT (#23210) Co-authored-by: jack <0x6a73@protonmail.com> --- keyboards/cipulot/60xt/info.json | 118 ++++++++++++++++++ .../cipulot/60xt/keymaps/default/keymap.c | 43 +++++++ keyboards/cipulot/60xt/keymaps/via/keymap.c | 43 +++++++ keyboards/cipulot/60xt/keymaps/via/rules.mk | 1 + keyboards/cipulot/60xt/readme.md | 27 ++++ keyboards/cipulot/60xt/rules.mk | 0 6 files changed, 232 insertions(+) create mode 100644 keyboards/cipulot/60xt/info.json create mode 100644 keyboards/cipulot/60xt/keymaps/default/keymap.c create mode 100644 keyboards/cipulot/60xt/keymaps/via/keymap.c create mode 100644 keyboards/cipulot/60xt/keymaps/via/rules.mk create mode 100644 keyboards/cipulot/60xt/readme.md create mode 100644 keyboards/cipulot/60xt/rules.mk diff --git a/keyboards/cipulot/60xt/info.json b/keyboards/cipulot/60xt/info.json new file mode 100644 index 00000000000..606e6b33633 --- /dev/null +++ b/keyboards/cipulot/60xt/info.json @@ -0,0 +1,118 @@ +{ + "manufacturer": "Cipulot", + "keyboard_name": "60XT", + "maintainer": "Cipulot", + "bootloader": "stm32-dfu", + "build": { + "lto": true + }, + "qmk": { + "locking": { + "enabled": true, + "resync": true + } + }, + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "indicators": { + "caps_lock": "A1" + }, + "matrix_pins": { + "cols": ["A5", "A2", "A0", "F1", "F0", "C15", "C14", "C13", "B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15"], + "rows": ["B1", "B2", "A6", "A7", "B0"] + }, + "processor": "STM32F072", + "usb": { + "device_version": "0.0.1", + "pid": "0x6BC2", + "shared_endpoint": { + "keyboard": true + }, + "vid": "0x6369" + }, + "layouts": { + "LAYOUT": { + "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": [0, 4], "x": 4.25, "y": 0}, + {"matrix": [0, 5], "x": 5.25, "y": 0}, + {"matrix": [0, 6], "x": 6.25, "y": 0}, + {"matrix": [0, 7], "x": 7.25, "y": 0}, + {"matrix": [0, 8], "x": 8.25, "y": 0}, + {"matrix": [0, 9], "x": 9.25, "y": 0}, + {"matrix": [0, 10], "x": 10.25, "y": 0}, + {"matrix": [0, 11], "x": 11.25, "y": 0}, + {"matrix": [0, 12], "x": 12.25, "y": 0}, + {"matrix": [0, 13], "x": 13.25, "y": 0}, + {"matrix": [0, 14], "x": 14.25, "y": 0}, + {"matrix": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [1, 15], "x": 16.5, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.5}, + {"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, 12], "x": 12.75, "y": 1}, + {"matrix": [1, 13], "x": 13.75, "y": 1}, + {"matrix": [1, 14], "x": 14.75, "y": 1, "w": 1.5}, + {"matrix": [2, 15], "x": 16.5, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.25, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 3, "y": 2}, + {"matrix": [2, 3], "x": 4, "y": 2}, + {"matrix": [2, 4], "x": 5, "y": 2}, + {"matrix": [2, 5], "x": 6, "y": 2}, + {"matrix": [2, 6], "x": 7, "y": 2}, + {"matrix": [2, 7], "x": 8, "y": 2}, + {"matrix": [2, 8], "x": 9, "y": 2}, + {"matrix": [2, 9], "x": 10, "y": 2}, + {"matrix": [2, 10], "x": 11, "y": 2}, + {"matrix": [2, 11], "x": 12, "y": 2}, + {"matrix": [2, 12], "x": 13, "y": 2}, + {"matrix": [2, 13], "x": 14, "y": 2}, + {"matrix": [2, 14], "x": 15, "y": 2, "w": 1.25}, + {"matrix": [3, 15], "x": 16.5, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1.25, "y": 3, "w": 1.25}, + {"matrix": [3, 2], "x": 2.5, "y": 3}, + {"matrix": [3, 3], "x": 3.5, "y": 3}, + {"matrix": [3, 4], "x": 4.5, "y": 3}, + {"matrix": [3, 5], "x": 5.5, "y": 3}, + {"matrix": [3, 6], "x": 6.5, "y": 3}, + {"matrix": [3, 7], "x": 7.5, "y": 3}, + {"matrix": [3, 8], "x": 8.5, "y": 3}, + {"matrix": [3, 9], "x": 9.5, "y": 3}, + {"matrix": [3, 10], "x": 10.5, "y": 3}, + {"matrix": [3, 11], "x": 11.5, "y": 3}, + {"matrix": [3, 12], "x": 12.5, "y": 3}, + {"matrix": [3, 13], "x": 13.5, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 15.25, "y": 3}, + {"matrix": [4, 14], "x": 16.5, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 2.75, "y": 4}, + {"matrix": [4, 3], "x": 3.75, "y": 4, "w": 1.5}, + {"matrix": [4, 8], "x": 5.25, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 12.25, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 13.75, "y": 4}, + {"matrix": [4, 13], "x": 14.75, "y": 4, "w": 1.5}, + {"matrix": [4, 15], "x": 16.5, "y": 4} + ] + } + } +} diff --git a/keyboards/cipulot/60xt/keymaps/default/keymap.c b/keyboards/cipulot/60xt/keymaps/default/keymap.c new file mode 100644 index 00000000000..41008ef92ad --- /dev/null +++ b/keyboards/cipulot/60xt/keymaps/default/keymap.c @@ -0,0 +1,43 @@ +/* Copyright 2023 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( + KC_F1, 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_F6, + KC_F2, 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_F7, + KC_F3, 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_F8, + KC_F4, 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_F9, + KC_F5, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_F10 + ), + [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_DEL, _______, + _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, _______, _______, _______, _______, + _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, MO(2), _______ + ), + [2] = LAYOUT( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) + // clang-format on +}; diff --git a/keyboards/cipulot/60xt/keymaps/via/keymap.c b/keyboards/cipulot/60xt/keymaps/via/keymap.c new file mode 100644 index 00000000000..41008ef92ad --- /dev/null +++ b/keyboards/cipulot/60xt/keymaps/via/keymap.c @@ -0,0 +1,43 @@ +/* Copyright 2023 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( + KC_F1, 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_F6, + KC_F2, 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_F7, + KC_F3, 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_F8, + KC_F4, 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_F9, + KC_F5, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_F10 + ), + [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_DEL, _______, + _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, _______, _______, _______, _______, + _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, MO(2), _______ + ), + [2] = LAYOUT( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) + // clang-format on +}; diff --git a/keyboards/cipulot/60xt/keymaps/via/rules.mk b/keyboards/cipulot/60xt/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/cipulot/60xt/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/cipulot/60xt/readme.md b/keyboards/cipulot/60xt/readme.md new file mode 100644 index 00000000000..19abf2340cc --- /dev/null +++ b/keyboards/cipulot/60xt/readme.md @@ -0,0 +1,27 @@ +# 60XT + +![60XT](https://i.imgur.com/7lAvjpmh.png) + +A 60% XT solder and hot swap PCB. + +* Keyboard Maintainer: [cipulot](https://github.com/cipulot) +* Hardware Supported: 60XT +* Hardware Availability: [Eloquent Clicks](https://eloquentclicks.com/) + +Make example for this keyboard (after setting up your build environment): + + make cipulot/60xt:default + +Flashing example for this keyboard: + + make cipulot/60xt: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: + +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is configured. +* **Physical reset button**: Long press the reset button soldered on the PCB. +* **Bootmagic reset**: Hold down the top left key and plug in the controller. diff --git a/keyboards/cipulot/60xt/rules.mk b/keyboards/cipulot/60xt/rules.mk new file mode 100644 index 00000000000..e69de29bb2d From 0a03fc512c471d3836d071686afafda0f62be62f Mon Sep 17 00:00:00 2001 From: takashicompany Date: Fri, 8 Mar 2024 19:51:37 +0900 Subject: [PATCH 14/36] [Keyboard] Add Ejectix (#23204) Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Duncan Sutherland Co-authored-by: Drashna Jaelre --- keyboards/takashicompany/ejectix/info.json | 90 +++++++++++++++++++ .../ejectix/keymaps/default/keymap.c | 69 ++++++++++++++ .../ejectix/keymaps/via/keymap.c | 69 ++++++++++++++ .../ejectix/keymaps/via/rules.mk | 1 + keyboards/takashicompany/ejectix/readme.md | 33 +++++++ keyboards/takashicompany/ejectix/rules.mk | 1 + 6 files changed, 263 insertions(+) create mode 100644 keyboards/takashicompany/ejectix/info.json create mode 100644 keyboards/takashicompany/ejectix/keymaps/default/keymap.c create mode 100644 keyboards/takashicompany/ejectix/keymaps/via/keymap.c create mode 100644 keyboards/takashicompany/ejectix/keymaps/via/rules.mk create mode 100644 keyboards/takashicompany/ejectix/readme.md create mode 100644 keyboards/takashicompany/ejectix/rules.mk diff --git a/keyboards/takashicompany/ejectix/info.json b/keyboards/takashicompany/ejectix/info.json new file mode 100644 index 00000000000..560c2533263 --- /dev/null +++ b/keyboards/takashicompany/ejectix/info.json @@ -0,0 +1,90 @@ +{ + "manufacturer": "takashicompany", + "keyboard_name": "Ejectix", + "maintainer": "takashicompany", + "development_board": "promicro", + "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 11 + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "matrix_pins": { + "cols": ["D4", "C6", "D7", "E6", "B4", "B5"], + "rows": ["F4", "F5", "F6", "F7", "B1", "B3"] + }, + "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": 11, + "sleep": true + }, + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0049", + "vid": "0x7463" + }, + "ws2812": { + "pin": "D3" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 3], "x": 1, "y": 0}, + {"matrix": [1, 0], "x": 2, "y": 0}, + {"matrix": [1, 3], "x": 3, "y": 0}, + {"matrix": [2, 0], "x": 4, "y": 0}, + {"matrix": [2, 3], "x": 5, "y": 0}, + {"matrix": [3, 0], "x": 6, "y": 0}, + {"matrix": [3, 3], "x": 7, "y": 0}, + {"matrix": [4, 0], "x": 8, "y": 0}, + {"matrix": [4, 3], "x": 9, "y": 0}, + {"matrix": [4, 5], "x": 10, "y": 0}, + {"matrix": [0, 1], "x": 0.5, "y": 1}, + {"matrix": [0, 4], "x": 1.5, "y": 1}, + {"matrix": [1, 1], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [2, 1], "x": 4.5, "y": 1}, + {"matrix": [2, 4], "x": 5.5, "y": 1}, + {"matrix": [3, 1], "x": 6.5, "y": 1}, + {"matrix": [3, 4], "x": 7.5, "y": 1}, + {"matrix": [4, 1], "x": 8.5, "y": 1}, + {"matrix": [4, 4], "x": 9.5, "y": 1}, + {"matrix": [0, 2], "x": 1, "y": 2}, + {"matrix": [0, 5], "x": 2, "y": 2}, + {"matrix": [1, 2], "x": 3, "y": 2}, + {"matrix": [1, 5], "x": 4, "y": 2}, + {"matrix": [2, 2], "x": 5, "y": 2}, + {"matrix": [2, 5], "x": 6, "y": 2}, + {"matrix": [3, 2], "x": 7, "y": 2}, + {"matrix": [3, 5], "x": 8, "y": 2}, + {"matrix": [4, 2], "x": 9, "y": 2}, + {"matrix": [5, 0], "x": 1.75, "y": 3}, + {"matrix": [5, 1], "x": 3, "y": 3}, + {"matrix": [5, 2], "x": 4.25, "y": 3}, + {"matrix": [5, 3], "x": 5.5, "y": 3}, + {"matrix": [5, 4], "x": 6.75, "y": 3}, + {"matrix": [5, 5], "x": 8, "y": 3} + ] + } + } +} diff --git a/keyboards/takashicompany/ejectix/keymaps/default/keymap.c b/keyboards/takashicompany/ejectix/keymaps/default/keymap.c new file mode 100644 index 00000000000..b2c94317642 --- /dev/null +++ b/keyboards/takashicompany/ejectix/keymaps/default/keymap.c @@ -0,0 +1,69 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, + LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), + KC_LGUI, LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(2, KC_SPC), LT(1, KC_LNG1), KC_BSPC + ), + + [1] = LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, + LCTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_INT1, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_INT3, + LSFT_T(KC_PLUS), KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, LGUI(KC_INT3), KC_TRNS, + KC_PLUS, KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3), + KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT( + LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_TRNS, + KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, + LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), + KC_LGUI, LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(4, KC_SPC), LT(4, KC_LNG1), KC_BSPC + ), + + [4] = LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, + KC_CIRC, KC_AT, KC_SLSH, KC_MINS, KC_UNDS, KC_SCLN, KC_COLN, KC_LBRC, KC_RBRC, KC_INT3, + LT(5, KC_TILD), KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [5] = LAYOUT( + KC_EXLM, KC_DQUO, KC_HASH, KC_DLR, KC_PERC, KC_AMPR, KC_QUOT, KC_LPRN, KC_RPRN, KC_BSLS, KC_TRNS, + KC_TILD, KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE, + KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [6] = LAYOUT( + KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_TRNS, + KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, + KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_TRNS, KC_NO, KC_LNG1, KC_NO, KC_NO, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [7] = LAYOUT( + KC_NO, KC_TAB, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TRNS, + KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_LSFT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, MO(8), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [8] = LAYOUT( + RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, DF(0), DF(3), KC_TRNS, + RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/takashicompany/ejectix/keymaps/via/keymap.c b/keyboards/takashicompany/ejectix/keymaps/via/keymap.c new file mode 100644 index 00000000000..b2c94317642 --- /dev/null +++ b/keyboards/takashicompany/ejectix/keymaps/via/keymap.c @@ -0,0 +1,69 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, + LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), + KC_LGUI, LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(2, KC_SPC), LT(1, KC_LNG1), KC_BSPC + ), + + [1] = LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, + LCTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_INT1, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_INT3, + LSFT_T(KC_PLUS), KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, LGUI(KC_INT3), KC_TRNS, + KC_PLUS, KC_LCBR, KC_QUES, KC_UNDS, LSFT(KC_INT1), KC_COLN, KC_DQUO, KC_RCBR, LSFT(KC_NUHS), LSFT(KC_INT3), + KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT( + LT(7, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_TRNS, + KC_A, KC_S, LT(6, KC_D), KC_F, KC_G, KC_H, KC_J, LT(6, KC_K), KC_L, KC_ENT, + LSFT_T(KC_Z), LGUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, LCTL_T(KC_DOT), + KC_LGUI, LALT_T(KC_LNG2), LSFT_T(KC_TAB), LT(4, KC_SPC), LT(4, KC_LNG1), KC_BSPC + ), + + [4] = LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, + KC_CIRC, KC_AT, KC_SLSH, KC_MINS, KC_UNDS, KC_SCLN, KC_COLN, KC_LBRC, KC_RBRC, KC_INT3, + LT(5, KC_TILD), KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [5] = LAYOUT( + KC_EXLM, KC_DQUO, KC_HASH, KC_DLR, KC_PERC, KC_AMPR, KC_QUOT, KC_LPRN, KC_RPRN, KC_BSLS, KC_TRNS, + KC_TILD, KC_GRV, KC_QUES, KC_EQL, KC_UNDS, KC_PLUS, KC_ASTR, KC_LCBR, KC_RCBR, KC_PIPE, + KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_LSFT, KC_SPC, KC_LNG1, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [6] = LAYOUT( + KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_TRNS, + KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, + KC_LSFT, KC_LGUI, KC_LALT, KC_LNG2, KC_TRNS, KC_NO, KC_LNG1, KC_NO, KC_NO, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [7] = LAYOUT( + KC_NO, KC_TAB, KC_NO, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TRNS, + KC_NO, KC_NO, KC_NO, KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_LSFT, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, MO(8), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [8] = LAYOUT( + RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_NO, KC_NO, DF(0), DF(3), KC_TRNS, + RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/takashicompany/ejectix/keymaps/via/rules.mk b/keyboards/takashicompany/ejectix/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/takashicompany/ejectix/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/takashicompany/ejectix/readme.md b/keyboards/takashicompany/ejectix/readme.md new file mode 100644 index 00000000000..3a731808d60 --- /dev/null +++ b/keyboards/takashicompany/ejectix/readme.md @@ -0,0 +1,33 @@ +# Ejectix + +![takashicompany/ejectix](https://i.imgur.com/gGk5UVdh.jpg) + +Ejectix is a 36-key, low-staggered keyboard. +Its layout is similar to that of a conventional keyboard, making it suitable for an introductory keyboard of 30% size. +Its relatively simple structure makes it easy to assemble, and it is recommended for those who are just starting to build their own keyboards. +Since the firmware is VIA-compatible, it is possible to write the firmware and change the keymap from a web browser by using Remap. +The MX socket is also supported, making it easy to replace the keyswitch for long-lasting use. +Underglow LEDs can also be used to decorate your desk. + +* Keyboard Maintainer: [takashicompany](https://github.com/takashicompany) +* Hardware Supported: Ejectix PCB, Pro Micro +* Hardware Availability: https://github.com/takashicompany/ejectix + +Make example for this keyboard (after setting up your build environment): + + make takashicompany/ejectix:default + + +Flashing example for this keyboard: + + make takashicompany/ejectix: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**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/takashicompany/ejectix/rules.mk b/keyboards/takashicompany/ejectix/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/takashicompany/ejectix/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From 8946aace5bb3c5397b79b0e5999cc9547e0ade65 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Fri, 8 Mar 2024 22:24:11 +1100 Subject: [PATCH 15/36] Add instructions for debugging ARM with VSCode+BMP. (#11217) --- docs/other_vscode.md | 74 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/docs/other_vscode.md b/docs/other_vscode.md index 49d5035b08e..4c71a0eb1c6 100644 --- a/docs/other_vscode.md +++ b/docs/other_vscode.md @@ -117,3 +117,77 @@ Using the [standard `compile_commands.json` database](https://clang.llvm.org/doc 1. Start typing `clangd: Restart Language Server` and select it when it appears. Now you're ready to code QMK Firmware in VS Code! + +# Debugging ARM MCUs with Visual Studio Code + +**...and a Black Magic Probe.** + +Visual Studio Code has the ability to debug applications, but requires some configuration in order to get it to be able to do so for ARM targets. + +This documentation describes a known-working configuration for setting up the use of a Black Magic Probe to debug using VS Code. + +It is assumed that you've correctly set up the electrical connectivity of the Black Magic Probe with your MCU. Wiring up `NRST`, `SWDIO`, `SWCLK`, and `GND` should be enough. + +Install the following plugin into VS Code: + +* [Cortex-Debug](https://marketplace.visualstudio.com/items?itemName=marus25.cortex-debug) - + This adds debugger support for ARM Cortex targets to VS Code. + +A debugging target for the MCU for your board needs to be defined, and can be done so by adding the following to a `.vscode/launch.json` file: + +```json +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Black Magic Probe (OneKey Proton-C)", + "type": "cortex-debug", + "request": "launch", + "cwd": "${workspaceRoot}", + "executable": "${workspaceRoot}/.build/handwired_onekey_proton_c_default.elf", + "servertype": "bmp", + "BMPGDBSerialPort": "COM4", + "svdFile": "Q:\\svd\\STM32F303.svd", + "device": "STM32F303", + "v1": false, + "windows": { + "armToolchainPath": "C:\\QMK_MSYS\\mingw64\\bin" + } + } + ] +} +``` + +You'll need to perform some modifications to the file above in order to target your specific device: + +* `"name"`: Can be anything, but if you're debugging multiple targets you'll want something descriptive here. +* `"cwd"`: The path to the QMK Firmware repository root directory -- _if using the `.vscode` directory existing in the `qmk_firmware` git repository, the default above should be correct_ +* `"executable"`: The path to the `elf` file generated as part of the build for your keyboard -- _exists in `/.build`_ +* `"BMPGDBSerialPort"`: The `COM` port under Windows, or the `/dev/...` path for Linux/macOS. Two serial port devices will be created -- the Black Magic Probe debug port is *usually* the first. If it doesn't work, try the second. +* `"svdFile"`: _[Optional]_ The path to the SVD file that defines the register layout for the MCU -- the appropriate file can be downloaded from the [cmsis-svd repository](https://github.com/posborne/cmsis-svd/tree/master/data/STMicro) +* `"device"`: The name of the MCU, which matches the `` tag at the top of the downloaded `svd` file. +* `"armToolchainPath"`: _[Optional]_ The path to the ARM toolchain installation location on Windows -- under normal circumstances Linux/macOS will auto-detect this correctly and will not need to be specified. + +!> Windows builds of QMK Firmware are generally compiled using QMK MSYS, and the path to gdb's location (`C:\\QMK_MSYS\\mingw64\\bin`) needs to be specified under `armToolchainPath` for it to be detected. You may also need to change the GDB path to point at `C:\\QMK_MSYS\\mingw64\\bin\\gdb-multiarch.exe` in the VSCode Cortex-Debug user settings: ![VSCode Settings](https://i.imgur.com/EGrPM1L.png) + +Optionally, the following modifications should also be made to the keyboard's `rules.mk` file to disable optimisations -- not strictly required but will ensure breakpoints and variable viewing works correctly: +```makefile +# Disable optimisations for debugging purposes +LTO_ENABLE = no +OPT = g +DEBUG = 3 +``` + +At this point, you should build and flash your firmware through normal methods (`qmk compile ...` and `qmk flash ...`). + +Once completed, you can: +* Switch to the debug view in VS Code (in the sidebar, the Play button with a bug next to it) +* Select the newly-created debug target in the dropdown at the top of the sidebar +* Click the green play button next to the dropdown + +VS Code's debugger will then start executing the compiled firmware on the MCU. + +At this stage, you should have full debugging set up, with breakpoints and variable listings working! From 113d3d60016a1158d1eca8a12a55a2c330a7f498 Mon Sep 17 00:00:00 2001 From: David Hoelscher Date: Fri, 8 Mar 2024 09:40:32 -0600 Subject: [PATCH 16/36] [Keyboard] Add CMK11 (#23239) * adding cmk11 * correcting default keymap * removing rules.mk * removing unnecessary comment --- keyboards/custommk/cmk11/config.h | 29 +++++ keyboards/custommk/cmk11/halconf.h | 30 +++++ keyboards/custommk/cmk11/info.json | 121 ++++++++++++++++++ .../custommk/cmk11/keymaps/default/keymap.c | 11 ++ keyboards/custommk/cmk11/keymaps/via/config.h | 6 + keyboards/custommk/cmk11/keymaps/via/keymap.c | 11 ++ keyboards/custommk/cmk11/keymaps/via/rules.mk | 1 + keyboards/custommk/cmk11/mcuconf.h | 31 +++++ keyboards/custommk/cmk11/readme.md | 27 ++++ keyboards/custommk/cmk11/rules.mk | 1 + 10 files changed, 268 insertions(+) create mode 100644 keyboards/custommk/cmk11/config.h create mode 100644 keyboards/custommk/cmk11/halconf.h create mode 100644 keyboards/custommk/cmk11/info.json create mode 100644 keyboards/custommk/cmk11/keymaps/default/keymap.c create mode 100644 keyboards/custommk/cmk11/keymaps/via/config.h create mode 100644 keyboards/custommk/cmk11/keymaps/via/keymap.c create mode 100644 keyboards/custommk/cmk11/keymaps/via/rules.mk create mode 100644 keyboards/custommk/cmk11/mcuconf.h create mode 100644 keyboards/custommk/cmk11/readme.md create mode 100644 keyboards/custommk/cmk11/rules.mk diff --git a/keyboards/custommk/cmk11/config.h b/keyboards/custommk/cmk11/config.h new file mode 100644 index 00000000000..122d32c5da5 --- /dev/null +++ b/keyboards/custommk/cmk11/config.h @@ -0,0 +1,29 @@ +// Copyright 2024 customMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +// FRAM configuration +#define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN B7 +#define EXTERNAL_EEPROM_SPI_CLOCK_DIVISOR 4 // 48MHz / 4 = 12MHz; max supported by MB85R64 is 20MHz + +// SPI configuration +#define SPI_DRIVER SPID1 +#define SPI_SCK_PIN B3 +#define SPI_MOSI_PIN B5 +#define SPI_MISO_PIN B4 + +// Audio configuration +#define AUDIO_PIN B8 +#define AUDIO_PWM_DRIVER PWMD4 +#define AUDIO_PWM_CHANNEL 3 +#define AUDIO_PWM_PAL_MODE 2 +#define AUDIO_STATE_TIMER GPTD5 +#define AUDIO_INIT_DELAY + +// WS2812 configuration +#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 diff --git a/keyboards/custommk/cmk11/halconf.h b/keyboards/custommk/cmk11/halconf.h new file mode 100644 index 00000000000..6791d829f9b --- /dev/null +++ b/keyboards/custommk/cmk11/halconf.h @@ -0,0 +1,30 @@ +/* Copyright 2024 customMK + * + * 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 HAL_USE_PWM TRUE + +#define HAL_USE_SPI TRUE + +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + +#define SERIAL_BUFFERS_SIZE 256 + +// This enables interrupt-driven mode +#define SPI_USE_WAIT TRUE + +#include_next diff --git a/keyboards/custommk/cmk11/info.json b/keyboards/custommk/cmk11/info.json new file mode 100644 index 00000000000..d831351aa78 --- /dev/null +++ b/keyboards/custommk/cmk11/info.json @@ -0,0 +1,121 @@ +{ + "manufacturer": "customMK", + "keyboard_name": "CMK11", + "maintainer": "customMK", + "bootloader": "stm32-dfu", + "diode_direction": "ROW2COL", + "dynamic_keymap": { + "layer_count": 32 + }, + "eeprom": { + "driver": "spi" + }, + "features": { + "audio": true, + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["B0", "A1", "A2", "A3", "A6", "B10"], + "rows": ["A5", "A4"] + }, + "processor": "STM32F411", + "qmk": { + "tap_keycode_delay": 10 + }, + "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, + "digital_rain": true, + "dual_beacon": 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, + "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, + "typing_heatmap": true + }, + "driver": "ws2812", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 45, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 90, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 134, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 179, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 224, "y": 0, "flags": 4}, + {"matrix": [1, 0], "x": 23, "y": 64, "flags": 4}, + {"matrix": [1, 1], "x": 68, "y": 64, "flags": 4}, + {"matrix": [1, 2], "x": 112, "y": 64, "flags": 4}, + {"matrix": [1, 3], "x": 157, "y": 64, "flags": 4}, + {"matrix": [1, 4], "x": 202, "y": 64, "flags": 4} + ], + "max_brightness": 120, + "sat_steps": 8, + "speed_steps": 10, + "val_steps": 8 + }, + "url": "https://shop.custommk.com/collections/cmk11/products/ckm11", + "usb": { + "device_version": "1.0.0", + "pid": "0xFABA", + "vid": "0xF35B" + }, + "ws2812": { + "driver": "pwm", + "pin": "A10" + }, + "layouts": { + "LAYOUT": { + "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": [1, 0], "x": 0.5, "y": 1}, + {"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} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/custommk/cmk11/keymaps/default/keymap.c b/keyboards/custommk/cmk11/keymaps/default/keymap.c new file mode 100644 index 00000000000..a6d6db48c94 --- /dev/null +++ b/keyboards/custommk/cmk11/keymaps/default/keymap.c @@ -0,0 +1,11 @@ +// Copyright 2024 customMK +// 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_C, KC_V, KC_VOLU, KC_VOLD, KC_DEL, + KC_LCTL, KC_PGUP, KC_SPC, KC_PGDN, KC_ENT + ) +}; diff --git a/keyboards/custommk/cmk11/keymaps/via/config.h b/keyboards/custommk/cmk11/keymaps/via/config.h new file mode 100644 index 00000000000..c2dca382777 --- /dev/null +++ b/keyboards/custommk/cmk11/keymaps/via/config.h @@ -0,0 +1,6 @@ +// Copyright 2024 customMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define DYNAMIC_KEYMAP_MACRO_COUNT 128 diff --git a/keyboards/custommk/cmk11/keymaps/via/keymap.c b/keyboards/custommk/cmk11/keymaps/via/keymap.c new file mode 100644 index 00000000000..a4ee324f3fb --- /dev/null +++ b/keyboards/custommk/cmk11/keymaps/via/keymap.c @@ -0,0 +1,11 @@ +// Copyright 2024 customMK +// 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_C, KC_V, KC_VOLU, KC_VOLD, KC_DEL, + KC_LCTL, KC_PGUP, KC_SPC, KC_PGDN, MO(1) + ) +}; diff --git a/keyboards/custommk/cmk11/keymaps/via/rules.mk b/keyboards/custommk/cmk11/keymaps/via/rules.mk new file mode 100644 index 00000000000..036bd6d1c3e --- /dev/null +++ b/keyboards/custommk/cmk11/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/custommk/cmk11/mcuconf.h b/keyboards/custommk/cmk11/mcuconf.h new file mode 100644 index 00000000000..8151abdcba3 --- /dev/null +++ b/keyboards/custommk/cmk11/mcuconf.h @@ -0,0 +1,31 @@ +/* Copyright 2024 customMK + * + * 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 + +#include_next + +// Used for audio +#undef STM32_PWM_USE_TIM4 +#define STM32_PWM_USE_TIM4 TRUE + +// Used for FRAM +#undef STM32_SPI_USE_SPI1 +#define STM32_SPI_USE_SPI1 TRUE + +// Used for RGB matrix +#undef STM32_PWM_USE_TIM1 +#define STM32_PWM_USE_TIM1 TRUE \ No newline at end of file diff --git a/keyboards/custommk/cmk11/readme.md b/keyboards/custommk/cmk11/readme.md new file mode 100644 index 00000000000..961261ac664 --- /dev/null +++ b/keyboards/custommk/cmk11/readme.md @@ -0,0 +1,27 @@ +# CMK11 + +![cmk11](https://i.imgur.com/y8MEwXYh.jpeg) + +CMK11 supports eleven 1u keys (or eight 1u keys and one 3u key). The PCB is fully compatible with the Cary Works C11 macropad. + +* Keyboard Maintainer: [customMK](https://github.com/customMK) +* Hardware Supported: CMK11 +* Hardware Availability: [customMK](https://shop.custommk.com/products/cmk11) + +Make example for this keyboard (after setting up your build environment): + + make custommk/cmk11:default + +Flashing example for this keyboard: + + make custommk/cmk11: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 (the key in the top left corner) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/custommk/cmk11/rules.mk b/keyboards/custommk/cmk11/rules.mk new file mode 100644 index 00000000000..72f75f4367e --- /dev/null +++ b/keyboards/custommk/cmk11/rules.mk @@ -0,0 +1 @@ +AUDIO_DRIVER = pwm_hardware From 62e2cb92861820cf64440e754cd0fed155e431fd Mon Sep 17 00:00:00 2001 From: strayfade <64668046+strayfade@users.noreply.github.com> Date: Fri, 8 Mar 2024 14:44:32 -0500 Subject: [PATCH 17/36] [Keyboard] Add sf2040 (#23211) Co-authored-by: jack <0x6a73@protonmail.com> --- keyboards/sf2040/info.json | 105 ++++++++++++++++++++++ keyboards/sf2040/keymaps/default/keymap.c | 25 ++++++ keyboards/sf2040/keymaps/via/keymap.c | 25 ++++++ keyboards/sf2040/keymaps/via/rules.mk | 1 + keyboards/sf2040/readme.md | 22 +++++ keyboards/sf2040/rules.mk | 1 + 6 files changed, 179 insertions(+) create mode 100644 keyboards/sf2040/info.json create mode 100644 keyboards/sf2040/keymaps/default/keymap.c create mode 100644 keyboards/sf2040/keymaps/via/keymap.c create mode 100644 keyboards/sf2040/keymaps/via/rules.mk create mode 100644 keyboards/sf2040/readme.md create mode 100644 keyboards/sf2040/rules.mk diff --git a/keyboards/sf2040/info.json b/keyboards/sf2040/info.json new file mode 100644 index 00000000000..21acb322af4 --- /dev/null +++ b/keyboards/sf2040/info.json @@ -0,0 +1,105 @@ +{ + "manufacturer": "Strayfade", + "keyboard_name": "sf2040", + "maintainer": "Strayfade", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + }, + "matrix_pins": { + "cols": ["GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP16", "GP17", "GP18", "GP19", "GP20"], + "rows": ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5"] + }, + "processor": "RP2040", + "url": "https://strayfade.com/sf2040", + "usb": { + "device_version": "1.0.1", + "pid": "0x0001", + "vid": "0x5346" + }, + "layouts": { + "LAYOUT": { + "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}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [1, 6], "x": 6, "y": 1}, + {"matrix": [1, 7], "x": 7, "y": 1}, + {"matrix": [1, 8], "x": 8, "y": 1}, + {"matrix": [1, 9], "x": 9, "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, "w": 2}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2}, + {"matrix": [2, 2], "x": 2.5, "y": 2}, + {"matrix": [2, 3], "x": 3.5, "y": 2}, + {"matrix": [2, 4], "x": 4.5, "y": 2}, + {"matrix": [2, 5], "x": 5.5, "y": 2}, + {"matrix": [2, 6], "x": 6.5, "y": 2}, + {"matrix": [2, 7], "x": 7.5, "y": 2}, + {"matrix": [2, 8], "x": 8.5, "y": 2}, + {"matrix": [2, 9], "x": 9.5, "y": 2}, + {"matrix": [2, 10], "x": 10.5, "y": 2}, + {"matrix": [2, 11], "x": 11.5, "y": 2}, + {"matrix": [2, 12], "x": 12.5, "y": 2}, + {"matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3}, + {"matrix": [3, 2], "x": 2.75, "y": 3}, + {"matrix": [3, 3], "x": 3.75, "y": 3}, + {"matrix": [3, 4], "x": 4.75, "y": 3}, + {"matrix": [3, 5], "x": 5.75, "y": 3}, + {"matrix": [3, 6], "x": 6.75, "y": 3}, + {"matrix": [3, 7], "x": 7.75, "y": 3}, + {"matrix": [3, 8], "x": 8.75, "y": 3}, + {"matrix": [3, 9], "x": 9.75, "y": 3}, + {"matrix": [3, 10], "x": 10.75, "y": 3}, + {"matrix": [3, 11], "x": 11.75, "y": 3}, + {"matrix": [3, 12], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25}, + {"matrix": [4, 1], "x": 2.25, "y": 4}, + {"matrix": [4, 2], "x": 3.25, "y": 4}, + {"matrix": [4, 3], "x": 4.25, "y": 4}, + {"matrix": [4, 4], "x": 5.25, "y": 4}, + {"matrix": [4, 5], "x": 6.25, "y": 4}, + {"matrix": [4, 6], "x": 7.25, "y": 4}, + {"matrix": [4, 7], "x": 8.25, "y": 4}, + {"matrix": [4, 8], "x": 9.25, "y": 4}, + {"matrix": [4, 9], "x": 10.25, "y": 4}, + {"matrix": [4, 10], "x": 11.25, "y": 4}, + {"matrix": [4, 11], "x": 12.25, "y": 4, "w": 2.75}, + {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.75, "y": 5, "w": 1.25}, + {"matrix": [5, 3], "x": 4, "y": 5, "w": 6.25}, + {"matrix": [5, 4], "x": 10.25, "y": 5, "w": 1.25}, + {"matrix": [5, 5], "x": 11.5, "y": 5}, + {"matrix": [5, 6], "x": 12.5, "y": 5}, + {"matrix": [5, 7], "x": 13.5, "y": 5, "w": 1.5} + ] + } + } +} diff --git a/keyboards/sf2040/keymaps/default/keymap.c b/keyboards/sf2040/keymaps/default/keymap.c new file mode 100644 index 00000000000..ca5bcce3585 --- /dev/null +++ b/keyboards/sf2040/keymaps/default/keymap.c @@ -0,0 +1,25 @@ +// Copyright 2024 Strayfade +// SPDX-License-Identifier: GPL-3.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + KC_ESCAPE, 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_AUDIO_VOL_UP, KC_AUDIO_VOL_DOWN, + KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_BACKSPACE, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LEFT_BRACKET, KC_RIGHT_BRACKET, KC_BACKSLASH, + KC_CAPS_LOCK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SEMICOLON, KC_QUOTE, KC_ENTER, + KC_LEFT_SHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, KC_RIGHT_SHIFT, + KC_LEFT_CTRL, KC_LEFT_GUI, KC_LEFT_ALT, KC_SPACE, MO(1), KC_HOME, KC_END, KC_RIGHT_CTRL + ), + [1] = LAYOUT( + KC_TILDE, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DELETE, + _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, KC_ENTER, + KC_LEFT_SHIFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RIGHT_SHIFT, + KC_LEFT_CTRL, KC_LEFT_GUI, KC_LEFT_ALT, KC_SPACE, _______, KC_HOME, KC_END, KC_RIGHT_CTRL + ) + +}; \ No newline at end of file diff --git a/keyboards/sf2040/keymaps/via/keymap.c b/keyboards/sf2040/keymaps/via/keymap.c new file mode 100644 index 00000000000..ca5bcce3585 --- /dev/null +++ b/keyboards/sf2040/keymaps/via/keymap.c @@ -0,0 +1,25 @@ +// Copyright 2024 Strayfade +// SPDX-License-Identifier: GPL-3.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + KC_ESCAPE, 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_AUDIO_VOL_UP, KC_AUDIO_VOL_DOWN, + KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_BACKSPACE, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LEFT_BRACKET, KC_RIGHT_BRACKET, KC_BACKSLASH, + KC_CAPS_LOCK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SEMICOLON, KC_QUOTE, KC_ENTER, + KC_LEFT_SHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, KC_RIGHT_SHIFT, + KC_LEFT_CTRL, KC_LEFT_GUI, KC_LEFT_ALT, KC_SPACE, MO(1), KC_HOME, KC_END, KC_RIGHT_CTRL + ), + [1] = LAYOUT( + KC_TILDE, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DELETE, + _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, KC_ENTER, + KC_LEFT_SHIFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RIGHT_SHIFT, + KC_LEFT_CTRL, KC_LEFT_GUI, KC_LEFT_ALT, KC_SPACE, _______, KC_HOME, KC_END, KC_RIGHT_CTRL + ) + +}; \ No newline at end of file diff --git a/keyboards/sf2040/keymaps/via/rules.mk b/keyboards/sf2040/keymaps/via/rules.mk new file mode 100644 index 00000000000..036bd6d1c3e --- /dev/null +++ b/keyboards/sf2040/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/sf2040/readme.md b/keyboards/sf2040/readme.md new file mode 100644 index 00000000000..fb9ef2efe6e --- /dev/null +++ b/keyboards/sf2040/readme.md @@ -0,0 +1,22 @@ +# sf2040 + +![sf2040 Image](https://i.imgur.com/DZ9N17ph.png) + +The sf2040 is a mechanical 76-key keyboard based on the [RP2040](https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf) microcontroller from Raspberry Pi. + +* Keyboard Maintainer: [strayfade](https://github.com/strayfade) +* Hardware Availability: https://github.com/strayfade/sf2040 + +Make example for this keyboard (after setting up your build environment): + + make sf2040:default + +Flashing example for this keyboard: + + make sf2040: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**: To enter the bootloader, hold down the key at (0,0) in the matrix (the top left key or Escape) and plug in the keyboard. diff --git a/keyboards/sf2040/rules.mk b/keyboards/sf2040/rules.mk new file mode 100644 index 00000000000..7ff128fa692 --- /dev/null +++ b/keyboards/sf2040/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file From a8991722bca6f8785495f60d7a2e910f9a5987c9 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri, 8 Mar 2024 17:24:31 -0800 Subject: [PATCH 18/36] Xiudi XD96 Layout Bugfixes and Touch-Up (#23242) * Correct AliExpress Hardware Availability link in readme Previous URL linked to a Cospad listing. [chore] [docs] * Convert `info.json` to four-space indent [style] * Correct `LAYOUT_all` matrix data The right half of split Backspace is actually located at [5, 9], not [5, 3]. [bugfix] * Correct `LAYOUT_96_iso` matrix data Corrects the matrix positions of the ISO Hash/Tilde and ISO Enter keys to [3, 12] and [3, 13], respectively. [bugfix] * Add layout/matrix diagram [docs] * Refactor keymaps - remove "inline block" comments - grid-align keycodes - use four-space indent [style] --- keyboards/xiudi/xd96/info.json | 710 +++++++++--------- keyboards/xiudi/xd96/keymaps/default/keymap.c | 47 +- .../xiudi/xd96/keymaps/default_iso/keymap.c | 47 +- keyboards/xiudi/xd96/keymaps/via/keymap.c | 93 +-- keyboards/xiudi/xd96/matrix_diagram.md | 42 ++ keyboards/xiudi/xd96/readme.md | 2 +- 6 files changed, 465 insertions(+), 476 deletions(-) create mode 100644 keyboards/xiudi/xd96/matrix_diagram.md diff --git a/keyboards/xiudi/xd96/info.json b/keyboards/xiudi/xd96/info.json index 98ebfcb4831..2b4ee4aad0a 100644 --- a/keyboards/xiudi/xd96/info.json +++ b/keyboards/xiudi/xd96/info.json @@ -1,373 +1,373 @@ { - "keyboard_name": "XD96", - "manufacturer": "KPrepublic", - "url": "", - "maintainer": "qmk", - "usb": { - "vid": "0x7844", - "pid": "0x9696", - "device_version": "0.0.1" - }, - "backlight": { - "pin": "B5", - "levels": 10 - }, - "rgblight": { - "led_count": 16, - "max_brightness": 50, - "animations": { - "breathing": true, - "rainbow_mood": true, - "rainbow_swirl": true, - "snake": true, - "knight": true, - "christmas": true, - "static_gradient": true, - "rgb_test": true, - "alternating": true, - "twinkle": true - } - }, - "indicators": { - "caps_lock": "B6", - "num_lock": "C6", - "on_state": 0 - }, - "ws2812": { - "pin": "C7" - }, - "processor": "atmega32u4", - "bootloader": "atmel-dfu", - "layouts": { - "LAYOUT_96_ansi": { - "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": [5, 6], "x": 14, "y": 0}, - {"matrix": [0, 14], "x": 15, "y": 0}, - {"matrix": [0, 15], "x": 16, "y": 0}, - {"matrix": [0, 16], "x": 17, "y": 0}, - {"matrix": [0, 17], "x": 18, "y": 0}, + "keyboard_name": "XD96", + "manufacturer": "KPrepublic", + "url": "", + "maintainer": "qmk", + "usb": { + "vid": "0x7844", + "pid": "0x9696", + "device_version": "0.0.1" + }, + "backlight": { + "pin": "B5", + "levels": 10 + }, + "rgblight": { + "led_count": 16, + "max_brightness": 50, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "knight": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, + "indicators": { + "caps_lock": "B6", + "num_lock": "C6", + "on_state": 0 + }, + "ws2812": { + "pin": "C7" + }, + "processor": "atmega32u4", + "bootloader": "atmel-dfu", + "layouts": { + "LAYOUT_96_ansi": { + "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": [5, 6], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15, "y": 0}, + {"matrix": [0, 15], "x": 16, "y": 0}, + {"matrix": [0, 16], "x": 17, "y": 0}, + {"matrix": [0, 17], "x": 18, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, - {"matrix": [1, 6], "x": 6, "y": 1}, - {"matrix": [1, 7], "x": 7, "y": 1}, - {"matrix": [1, 8], "x": 8, "y": 1}, - {"matrix": [1, 9], "x": 9, "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, "w": 2}, - {"matrix": [1, 14], "x": 15, "y": 1}, - {"matrix": [1, 15], "x": 16, "y": 1}, - {"matrix": [1, 16], "x": 17, "y": 1}, - {"matrix": [1, 17], "x": 18, "y": 1}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [1, 6], "x": 6, "y": 1}, + {"matrix": [1, 7], "x": 7, "y": 1}, + {"matrix": [1, 8], "x": 8, "y": 1}, + {"matrix": [1, 9], "x": 9, "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, "w": 2}, + {"matrix": [1, 14], "x": 15, "y": 1}, + {"matrix": [1, 15], "x": 16, "y": 1}, + {"matrix": [1, 16], "x": 17, "y": 1}, + {"matrix": [1, 17], "x": 18, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, - {"matrix": [2, 1], "x": 1.5, "y": 2}, - {"matrix": [2, 2], "x": 2.5, "y": 2}, - {"matrix": [2, 3], "x": 3.5, "y": 2}, - {"matrix": [2, 4], "x": 4.5, "y": 2}, - {"matrix": [2, 5], "x": 5.5, "y": 2}, - {"matrix": [2, 6], "x": 6.5, "y": 2}, - {"matrix": [2, 7], "x": 7.5, "y": 2}, - {"matrix": [2, 8], "x": 8.5, "y": 2}, - {"matrix": [2, 9], "x": 9.5, "y": 2}, - {"matrix": [2, 10], "x": 10.5, "y": 2}, - {"matrix": [2, 11], "x": 11.5, "y": 2}, - {"matrix": [2, 12], "x": 12.5, "y": 2}, - {"matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5}, - {"matrix": [2, 14], "x": 15, "y": 2}, - {"matrix": [2, 15], "x": 16, "y": 2}, - {"matrix": [2, 16], "x": 17, "y": 2}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2}, + {"matrix": [2, 2], "x": 2.5, "y": 2}, + {"matrix": [2, 3], "x": 3.5, "y": 2}, + {"matrix": [2, 4], "x": 4.5, "y": 2}, + {"matrix": [2, 5], "x": 5.5, "y": 2}, + {"matrix": [2, 6], "x": 6.5, "y": 2}, + {"matrix": [2, 7], "x": 7.5, "y": 2}, + {"matrix": [2, 8], "x": 8.5, "y": 2}, + {"matrix": [2, 9], "x": 9.5, "y": 2}, + {"matrix": [2, 10], "x": 10.5, "y": 2}, + {"matrix": [2, 11], "x": 11.5, "y": 2}, + {"matrix": [2, 12], "x": 12.5, "y": 2}, + {"matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [2, 14], "x": 15, "y": 2}, + {"matrix": [2, 15], "x": 16, "y": 2}, + {"matrix": [2, 16], "x": 17, "y": 2}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, - {"matrix": [3, 1], "x": 1.75, "y": 3}, - {"matrix": [3, 2], "x": 2.75, "y": 3}, - {"matrix": [3, 3], "x": 3.75, "y": 3}, - {"matrix": [3, 4], "x": 4.75, "y": 3}, - {"matrix": [3, 5], "x": 5.75, "y": 3}, - {"matrix": [3, 6], "x": 6.75, "y": 3}, - {"matrix": [3, 7], "x": 7.75, "y": 3}, - {"matrix": [3, 8], "x": 8.75, "y": 3}, - {"matrix": [3, 9], "x": 9.75, "y": 3}, - {"matrix": [3, 10], "x": 10.75, "y": 3}, - {"matrix": [3, 11], "x": 11.75, "y": 3}, - {"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25}, - {"matrix": [3, 14], "x": 15, "y": 3}, - {"matrix": [3, 15], "x": 16, "y": 3}, - {"matrix": [3, 16], "x": 17, "y": 3}, - {"matrix": [2, 17], "x": 18, "y": 2, "h": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3}, + {"matrix": [3, 2], "x": 2.75, "y": 3}, + {"matrix": [3, 3], "x": 3.75, "y": 3}, + {"matrix": [3, 4], "x": 4.75, "y": 3}, + {"matrix": [3, 5], "x": 5.75, "y": 3}, + {"matrix": [3, 6], "x": 6.75, "y": 3}, + {"matrix": [3, 7], "x": 7.75, "y": 3}, + {"matrix": [3, 8], "x": 8.75, "y": 3}, + {"matrix": [3, 9], "x": 9.75, "y": 3}, + {"matrix": [3, 10], "x": 10.75, "y": 3}, + {"matrix": [3, 11], "x": 11.75, "y": 3}, + {"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [3, 14], "x": 15, "y": 3}, + {"matrix": [3, 15], "x": 16, "y": 3}, + {"matrix": [3, 16], "x": 17, "y": 3}, + {"matrix": [2, 17], "x": 18, "y": 2, "h": 2}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25}, - {"matrix": [4, 2], "x": 2.25, "y": 4}, - {"matrix": [4, 3], "x": 3.25, "y": 4}, - {"matrix": [4, 4], "x": 4.25, "y": 4}, - {"matrix": [4, 5], "x": 5.25, "y": 4}, - {"matrix": [4, 6], "x": 6.25, "y": 4}, - {"matrix": [4, 7], "x": 7.25, "y": 4}, - {"matrix": [4, 8], "x": 8.25, "y": 4}, - {"matrix": [4, 9], "x": 9.25, "y": 4}, - {"matrix": [4, 10], "x": 10.25, "y": 4}, - {"matrix": [4, 11], "x": 11.25, "y": 4}, - {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75}, - {"matrix": [4, 13], "x": 14, "y": 4}, - {"matrix": [4, 14], "x": 15, "y": 4}, - {"matrix": [4, 15], "x": 16, "y": 4}, - {"matrix": [4, 16], "x": 17, "y": 4}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4}, + {"matrix": [4, 3], "x": 3.25, "y": 4}, + {"matrix": [4, 4], "x": 4.25, "y": 4}, + {"matrix": [4, 5], "x": 5.25, "y": 4}, + {"matrix": [4, 6], "x": 6.25, "y": 4}, + {"matrix": [4, 7], "x": 7.25, "y": 4}, + {"matrix": [4, 8], "x": 8.25, "y": 4}, + {"matrix": [4, 9], "x": 9.25, "y": 4}, + {"matrix": [4, 10], "x": 10.25, "y": 4}, + {"matrix": [4, 11], "x": 11.25, "y": 4}, + {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4}, + {"matrix": [4, 15], "x": 16, "y": 4}, + {"matrix": [4, 16], "x": 17, "y": 4}, - {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25}, - {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, - {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25}, - {"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25}, - {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5}, - {"matrix": [5, 8], "x": 11.5, "y": 5, "w": 1.5}, - {"matrix": [5, 12], "x": 13, "y": 5}, - {"matrix": [5, 13], "x": 14, "y": 5}, - {"matrix": [5, 14], "x": 15, "y": 5}, - {"matrix": [5, 15], "x": 16, "y": 5}, - {"matrix": [5, 16], "x": 17, "y": 5}, - {"matrix": [4, 17], "x": 18, "y": 4, "h": 2} - ] - }, - "LAYOUT_96_iso": { - "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": [5, 6], "x": 14, "y": 0}, - {"matrix": [0, 14], "x": 15, "y": 0}, - {"matrix": [0, 15], "x": 16, "y": 0}, - {"matrix": [0, 16], "x": 17, "y": 0}, - {"matrix": [0, 17], "x": 18, "y": 0}, + {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5}, + {"matrix": [5, 8], "x": 11.5, "y": 5, "w": 1.5}, + {"matrix": [5, 12], "x": 13, "y": 5}, + {"matrix": [5, 13], "x": 14, "y": 5}, + {"matrix": [5, 14], "x": 15, "y": 5}, + {"matrix": [5, 15], "x": 16, "y": 5}, + {"matrix": [5, 16], "x": 17, "y": 5}, + {"matrix": [4, 17], "x": 18, "y": 4, "h": 2} + ] + }, + "LAYOUT_96_iso": { + "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": [5, 6], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15, "y": 0}, + {"matrix": [0, 15], "x": 16, "y": 0}, + {"matrix": [0, 16], "x": 17, "y": 0}, + {"matrix": [0, 17], "x": 18, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, - {"matrix": [1, 6], "x": 6, "y": 1}, - {"matrix": [1, 7], "x": 7, "y": 1}, - {"matrix": [1, 8], "x": 8, "y": 1}, - {"matrix": [1, 9], "x": 9, "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, "w": 2}, - {"matrix": [1, 14], "x": 15, "y": 1}, - {"matrix": [1, 15], "x": 16, "y": 1}, - {"matrix": [1, 16], "x": 17, "y": 1}, - {"matrix": [1, 17], "x": 18, "y": 1}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [1, 6], "x": 6, "y": 1}, + {"matrix": [1, 7], "x": 7, "y": 1}, + {"matrix": [1, 8], "x": 8, "y": 1}, + {"matrix": [1, 9], "x": 9, "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, "w": 2}, + {"matrix": [1, 14], "x": 15, "y": 1}, + {"matrix": [1, 15], "x": 16, "y": 1}, + {"matrix": [1, 16], "x": 17, "y": 1}, + {"matrix": [1, 17], "x": 18, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, - {"matrix": [2, 1], "x": 1.5, "y": 2}, - {"matrix": [2, 2], "x": 2.5, "y": 2}, - {"matrix": [2, 3], "x": 3.5, "y": 2}, - {"matrix": [2, 4], "x": 4.5, "y": 2}, - {"matrix": [2, 5], "x": 5.5, "y": 2}, - {"matrix": [2, 6], "x": 6.5, "y": 2}, - {"matrix": [2, 7], "x": 7.5, "y": 2}, - {"matrix": [2, 8], "x": 8.5, "y": 2}, - {"matrix": [2, 9], "x": 9.5, "y": 2}, - {"matrix": [2, 10], "x": 10.5, "y": 2}, - {"matrix": [2, 11], "x": 11.5, "y": 2}, - {"matrix": [2, 12], "x": 12.5, "y": 2}, - {"matrix": [2, 14], "x": 15, "y": 2}, - {"matrix": [2, 15], "x": 16, "y": 2}, - {"matrix": [2, 16], "x": 17, "y": 2}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2}, + {"matrix": [2, 2], "x": 2.5, "y": 2}, + {"matrix": [2, 3], "x": 3.5, "y": 2}, + {"matrix": [2, 4], "x": 4.5, "y": 2}, + {"matrix": [2, 5], "x": 5.5, "y": 2}, + {"matrix": [2, 6], "x": 6.5, "y": 2}, + {"matrix": [2, 7], "x": 7.5, "y": 2}, + {"matrix": [2, 8], "x": 8.5, "y": 2}, + {"matrix": [2, 9], "x": 9.5, "y": 2}, + {"matrix": [2, 10], "x": 10.5, "y": 2}, + {"matrix": [2, 11], "x": 11.5, "y": 2}, + {"matrix": [2, 12], "x": 12.5, "y": 2}, + {"matrix": [2, 14], "x": 15, "y": 2}, + {"matrix": [2, 15], "x": 16, "y": 2}, + {"matrix": [2, 16], "x": 17, "y": 2}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, - {"matrix": [3, 1], "x": 1.75, "y": 3}, - {"matrix": [3, 2], "x": 2.75, "y": 3}, - {"matrix": [3, 3], "x": 3.75, "y": 3}, - {"matrix": [3, 4], "x": 4.75, "y": 3}, - {"matrix": [3, 5], "x": 5.75, "y": 3}, - {"matrix": [3, 6], "x": 6.75, "y": 3}, - {"matrix": [3, 7], "x": 7.75, "y": 3}, - {"matrix": [3, 8], "x": 8.75, "y": 3}, - {"matrix": [3, 9], "x": 9.75, "y": 3}, - {"matrix": [3, 10], "x": 10.75, "y": 3}, - {"matrix": [3, 11], "x": 11.75, "y": 3}, - {"matrix": [3, 13], "x": 12.75, "y": 3}, - {"matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, - {"matrix": [3, 14], "x": 15, "y": 3}, - {"matrix": [3, 15], "x": 16, "y": 3}, - {"matrix": [3, 16], "x": 17, "y": 3}, - {"matrix": [2, 17], "x": 18, "y": 2, "h": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3}, + {"matrix": [3, 2], "x": 2.75, "y": 3}, + {"matrix": [3, 3], "x": 3.75, "y": 3}, + {"matrix": [3, 4], "x": 4.75, "y": 3}, + {"matrix": [3, 5], "x": 5.75, "y": 3}, + {"matrix": [3, 6], "x": 6.75, "y": 3}, + {"matrix": [3, 7], "x": 7.75, "y": 3}, + {"matrix": [3, 8], "x": 8.75, "y": 3}, + {"matrix": [3, 9], "x": 9.75, "y": 3}, + {"matrix": [3, 10], "x": 10.75, "y": 3}, + {"matrix": [3, 11], "x": 11.75, "y": 3}, + {"matrix": [3, 12], "x": 12.75, "y": 3}, + {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, + {"matrix": [3, 14], "x": 15, "y": 3}, + {"matrix": [3, 15], "x": 16, "y": 3}, + {"matrix": [3, 16], "x": 17, "y": 3}, + {"matrix": [2, 17], "x": 18, "y": 2, "h": 2}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4}, - {"matrix": [4, 2], "x": 2.25, "y": 4}, - {"matrix": [4, 3], "x": 3.25, "y": 4}, - {"matrix": [4, 4], "x": 4.25, "y": 4}, - {"matrix": [4, 5], "x": 5.25, "y": 4}, - {"matrix": [4, 6], "x": 6.25, "y": 4}, - {"matrix": [4, 7], "x": 7.25, "y": 4}, - {"matrix": [4, 8], "x": 8.25, "y": 4}, - {"matrix": [4, 9], "x": 9.25, "y": 4}, - {"matrix": [4, 10], "x": 10.25, "y": 4}, - {"matrix": [4, 11], "x": 11.25, "y": 4}, - {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75}, - {"matrix": [4, 13], "x": 14, "y": 4}, - {"matrix": [4, 14], "x": 15, "y": 4}, - {"matrix": [4, 15], "x": 16, "y": 4}, - {"matrix": [4, 16], "x": 17, "y": 4}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4}, + {"matrix": [4, 2], "x": 2.25, "y": 4}, + {"matrix": [4, 3], "x": 3.25, "y": 4}, + {"matrix": [4, 4], "x": 4.25, "y": 4}, + {"matrix": [4, 5], "x": 5.25, "y": 4}, + {"matrix": [4, 6], "x": 6.25, "y": 4}, + {"matrix": [4, 7], "x": 7.25, "y": 4}, + {"matrix": [4, 8], "x": 8.25, "y": 4}, + {"matrix": [4, 9], "x": 9.25, "y": 4}, + {"matrix": [4, 10], "x": 10.25, "y": 4}, + {"matrix": [4, 11], "x": 11.25, "y": 4}, + {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4}, + {"matrix": [4, 15], "x": 16, "y": 4}, + {"matrix": [4, 16], "x": 17, "y": 4}, - {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25}, - {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, - {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25}, - {"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25}, - {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5}, - {"matrix": [5, 8], "x": 11.5, "y": 5, "w": 1.5}, - {"matrix": [5, 12], "x": 13, "y": 5}, - {"matrix": [5, 13], "x": 14, "y": 5}, - {"matrix": [5, 14], "x": 15, "y": 5}, - {"matrix": [5, 15], "x": 16, "y": 5}, - {"matrix": [5, 16], "x": 17, "y": 5}, - {"matrix": [4, 17], "x": 18, "y": 4, "h": 2} - ] - }, - "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": [5, 6], "x": 14, "y": 0}, - {"matrix": [0, 14], "x": 15, "y": 0}, - {"matrix": [0, 15], "x": 16, "y": 0}, - {"matrix": [0, 16], "x": 17, "y": 0}, - {"matrix": [0, 17], "x": 18, "y": 0}, + {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5}, + {"matrix": [5, 8], "x": 11.5, "y": 5, "w": 1.5}, + {"matrix": [5, 12], "x": 13, "y": 5}, + {"matrix": [5, 13], "x": 14, "y": 5}, + {"matrix": [5, 14], "x": 15, "y": 5}, + {"matrix": [5, 15], "x": 16, "y": 5}, + {"matrix": [5, 16], "x": 17, "y": 5}, + {"matrix": [4, 17], "x": 18, "y": 4, "h": 2} + ] + }, + "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": [5, 6], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15, "y": 0}, + {"matrix": [0, 15], "x": 16, "y": 0}, + {"matrix": [0, 16], "x": 17, "y": 0}, + {"matrix": [0, 17], "x": 18, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2, "y": 1}, - {"matrix": [1, 3], "x": 3, "y": 1}, - {"matrix": [1, 4], "x": 4, "y": 1}, - {"matrix": [1, 5], "x": 5, "y": 1}, - {"matrix": [1, 6], "x": 6, "y": 1}, - {"matrix": [1, 7], "x": 7, "y": 1}, - {"matrix": [1, 8], "x": 8, "y": 1}, - {"matrix": [1, 9], "x": 9, "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": [5, 3], "x": 14, "y": 1}, - {"matrix": [1, 14], "x": 15, "y": 1}, - {"matrix": [1, 15], "x": 16, "y": 1}, - {"matrix": [1, 16], "x": 17, "y": 1}, - {"matrix": [1, 17], "x": 18, "y": 1}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [1, 6], "x": 6, "y": 1}, + {"matrix": [1, 7], "x": 7, "y": 1}, + {"matrix": [1, 8], "x": 8, "y": 1}, + {"matrix": [1, 9], "x": 9, "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": [5, 9], "x": 14, "y": 1}, + {"matrix": [1, 14], "x": 15, "y": 1}, + {"matrix": [1, 15], "x": 16, "y": 1}, + {"matrix": [1, 16], "x": 17, "y": 1}, + {"matrix": [1, 17], "x": 18, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, - {"matrix": [2, 1], "x": 1.5, "y": 2}, - {"matrix": [2, 2], "x": 2.5, "y": 2}, - {"matrix": [2, 3], "x": 3.5, "y": 2}, - {"matrix": [2, 4], "x": 4.5, "y": 2}, - {"matrix": [2, 5], "x": 5.5, "y": 2}, - {"matrix": [2, 6], "x": 6.5, "y": 2}, - {"matrix": [2, 7], "x": 7.5, "y": 2}, - {"matrix": [2, 8], "x": 8.5, "y": 2}, - {"matrix": [2, 9], "x": 9.5, "y": 2}, - {"matrix": [2, 10], "x": 10.5, "y": 2}, - {"matrix": [2, 11], "x": 11.5, "y": 2}, - {"matrix": [2, 12], "x": 12.5, "y": 2}, - {"matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5}, - {"matrix": [2, 14], "x": 15, "y": 2}, - {"matrix": [2, 15], "x": 16, "y": 2}, - {"matrix": [2, 16], "x": 17, "y": 2}, - {"matrix": [2, 17], "x": 18, "y": 2}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2}, + {"matrix": [2, 2], "x": 2.5, "y": 2}, + {"matrix": [2, 3], "x": 3.5, "y": 2}, + {"matrix": [2, 4], "x": 4.5, "y": 2}, + {"matrix": [2, 5], "x": 5.5, "y": 2}, + {"matrix": [2, 6], "x": 6.5, "y": 2}, + {"matrix": [2, 7], "x": 7.5, "y": 2}, + {"matrix": [2, 8], "x": 8.5, "y": 2}, + {"matrix": [2, 9], "x": 9.5, "y": 2}, + {"matrix": [2, 10], "x": 10.5, "y": 2}, + {"matrix": [2, 11], "x": 11.5, "y": 2}, + {"matrix": [2, 12], "x": 12.5, "y": 2}, + {"matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [2, 14], "x": 15, "y": 2}, + {"matrix": [2, 15], "x": 16, "y": 2}, + {"matrix": [2, 16], "x": 17, "y": 2}, + {"matrix": [2, 17], "x": 18, "y": 2}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, - {"matrix": [3, 1], "x": 1.75, "y": 3}, - {"matrix": [3, 2], "x": 2.75, "y": 3}, - {"matrix": [3, 3], "x": 3.75, "y": 3}, - {"matrix": [3, 4], "x": 4.75, "y": 3}, - {"matrix": [3, 5], "x": 5.75, "y": 3}, - {"matrix": [3, 6], "x": 6.75, "y": 3}, - {"matrix": [3, 7], "x": 7.75, "y": 3}, - {"matrix": [3, 8], "x": 8.75, "y": 3}, - {"matrix": [3, 9], "x": 9.75, "y": 3}, - {"matrix": [3, 10], "x": 10.75, "y": 3}, - {"matrix": [3, 11], "x": 11.75, "y": 3}, - {"matrix": [3, 12], "x": 12.75, "y": 3}, - {"matrix": [3, 13], "x": 13.75, "y": 3, "w": 1.25}, - {"matrix": [3, 14], "x": 15, "y": 3}, - {"matrix": [3, 15], "x": 16, "y": 3}, - {"matrix": [3, 16], "x": 17, "y": 3}, - {"matrix": [3, 17], "x": 18, "y": 3}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3}, + {"matrix": [3, 2], "x": 2.75, "y": 3}, + {"matrix": [3, 3], "x": 3.75, "y": 3}, + {"matrix": [3, 4], "x": 4.75, "y": 3}, + {"matrix": [3, 5], "x": 5.75, "y": 3}, + {"matrix": [3, 6], "x": 6.75, "y": 3}, + {"matrix": [3, 7], "x": 7.75, "y": 3}, + {"matrix": [3, 8], "x": 8.75, "y": 3}, + {"matrix": [3, 9], "x": 9.75, "y": 3}, + {"matrix": [3, 10], "x": 10.75, "y": 3}, + {"matrix": [3, 11], "x": 11.75, "y": 3}, + {"matrix": [3, 12], "x": 12.75, "y": 3}, + {"matrix": [3, 13], "x": 13.75, "y": 3, "w": 1.25}, + {"matrix": [3, 14], "x": 15, "y": 3}, + {"matrix": [3, 15], "x": 16, "y": 3}, + {"matrix": [3, 16], "x": 17, "y": 3}, + {"matrix": [3, 17], "x": 18, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4}, - {"matrix": [4, 2], "x": 2.25, "y": 4}, - {"matrix": [4, 3], "x": 3.25, "y": 4}, - {"matrix": [4, 4], "x": 4.25, "y": 4}, - {"matrix": [4, 5], "x": 5.25, "y": 4}, - {"matrix": [4, 6], "x": 6.25, "y": 4}, - {"matrix": [4, 7], "x": 7.25, "y": 4}, - {"matrix": [4, 8], "x": 8.25, "y": 4}, - {"matrix": [4, 9], "x": 9.25, "y": 4}, - {"matrix": [4, 10], "x": 10.25, "y": 4}, - {"matrix": [4, 11], "x": 11.25, "y": 4}, - {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75}, - {"matrix": [4, 13], "x": 14, "y": 4}, - {"matrix": [4, 14], "x": 15, "y": 4}, - {"matrix": [4, 15], "x": 16, "y": 4}, - {"matrix": [4, 16], "x": 17, "y": 4}, - {"matrix": [4, 17], "x": 18, "y": 4}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4}, + {"matrix": [4, 2], "x": 2.25, "y": 4}, + {"matrix": [4, 3], "x": 3.25, "y": 4}, + {"matrix": [4, 4], "x": 4.25, "y": 4}, + {"matrix": [4, 5], "x": 5.25, "y": 4}, + {"matrix": [4, 6], "x": 6.25, "y": 4}, + {"matrix": [4, 7], "x": 7.25, "y": 4}, + {"matrix": [4, 8], "x": 8.25, "y": 4}, + {"matrix": [4, 9], "x": 9.25, "y": 4}, + {"matrix": [4, 10], "x": 10.25, "y": 4}, + {"matrix": [4, 11], "x": 11.25, "y": 4}, + {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4}, + {"matrix": [4, 15], "x": 16, "y": 4}, + {"matrix": [4, 16], "x": 17, "y": 4}, + {"matrix": [4, 17], "x": 18, "y": 4}, - {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25}, - {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, - {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25}, - {"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25}, - {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5}, - {"matrix": [5, 8], "x": 11.5, "y": 5, "w": 1.5}, - {"matrix": [5, 12], "x": 13, "y": 5}, - {"matrix": [5, 13], "x": 14, "y": 5}, - {"matrix": [5, 14], "x": 15, "y": 5}, - {"matrix": [5, 15], "x": 16, "y": 5}, - {"matrix": [5, 16], "x": 17, "y": 5}, - {"matrix": [5, 17], "x": 18, "y": 5} - ] + {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5}, + {"matrix": [5, 8], "x": 11.5, "y": 5, "w": 1.5}, + {"matrix": [5, 12], "x": 13, "y": 5}, + {"matrix": [5, 13], "x": 14, "y": 5}, + {"matrix": [5, 14], "x": 15, "y": 5}, + {"matrix": [5, 15], "x": 16, "y": 5}, + {"matrix": [5, 16], "x": 17, "y": 5}, + {"matrix": [5, 17], "x": 18, "y": 5} + ] + } } - } } diff --git a/keyboards/xiudi/xd96/keymaps/default/keymap.c b/keyboards/xiudi/xd96/keymaps/default/keymap.c index 3d904759caa..d0cfbe23b16 100644 --- a/keyboards/xiudi/xd96/keymaps/default/keymap.c +++ b/keyboards/xiudi/xd96/keymaps/default/keymap.c @@ -4,35 +4,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_96_ansi( -/* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */ - 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_INS, KC_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN, -/* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┼─────────┼─────────┼─────────┼─────────┤ */ - 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_PMNS, -/* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┼─────────┼─────────┼─────────┼─────────┤ */ - 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_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_P4, KC_P5, KC_P6, KC_PPLS, -/* ├─────────────────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───────────┬─────────┼─────────┼─────────┼─────────┼─────────┤ */ - 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_P1, KC_P2, KC_P3, -/* ├───────────┬─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴─────────┴──┬──────┴───────┬─────────┼─────────┼─────────┼─────────┼─────────┼ ┤ */ - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, L1_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT -/* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴──────────────┴──────────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */ - ), + [0] = LAYOUT_96_ansi( + 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_INS, KC_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN, + 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_PMNS, + 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_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_P4, KC_P5, KC_P6, KC_PPLS, + 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_P1, KC_P2, KC_P3, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, L1_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT + ), + + [1] = LAYOUT_96_ansi( + _______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) - [1] = LAYOUT_96_ansi( -/* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */ - _______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -/* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┼─────────┼─────────┼─────────┼─────────┤ */ - _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -/* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┼─────────┼─────────┼─────────┼─────────┤ */ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -/* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──────────────├─────────├─────────├─────────┼ ┤ */ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -/* ├─────────────────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───────────┬─────────┼─────────┼─────────┼─────────┼─────────┤ */ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -/* ├───────────┬─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴─────────┴──┬──────┴───────┬─────────┼─────────┼─────────┼─────────┼─────────┼ ┤ */ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -/* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴──────────────┴──────────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */ - ) }; diff --git a/keyboards/xiudi/xd96/keymaps/default_iso/keymap.c b/keyboards/xiudi/xd96/keymaps/default_iso/keymap.c index 7c26664b0ec..a485d2f9ef4 100644 --- a/keyboards/xiudi/xd96/keymaps/default_iso/keymap.c +++ b/keyboards/xiudi/xd96/keymaps/default_iso/keymap.c @@ -4,35 +4,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_96_iso( -/* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */ - 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_INS, KC_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN, -/* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┼─────────┼─────────┼─────────┼─────────┤ */ - 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_PMNS, -/* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┼─────────┼─────────┼─────────┼─────────┤ */ - 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_P7, KC_P8, KC_P9, -/* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬ ├─────────├─────────├─────────├ ┤ */ - 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_P4, KC_P5, KC_P6, KC_PPLS, -/* ├───────────┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴─────────┴─┬─────────┼─────────┼─────────┼─────────┼─────────┤ */ - 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_P1, KC_P2, KC_P3, -/* ├───────────┼─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴─────────┴──┬──────┴───────┬─────────┼─────────┼─────────┼─────────┼─────────┼ ┤ */ - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, L1_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT -/* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴──────────────┴──────────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */ - ), + [0] = LAYOUT_96_iso( + 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_INS, KC_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN, + 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_PMNS, + 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_P7, KC_P8, KC_P9, + 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_P4, KC_P5, KC_P6, KC_PPLS, + 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_P1, KC_P2, KC_P3, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, L1_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT + ), + + [1] = LAYOUT_96_iso( + _______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) - [1] = LAYOUT_96_iso( -/* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */ - _______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -/* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┼─────────┼─────────┼─────────┼─────────┤ */ - _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -/* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┼─────────┼─────────┼─────────┼─────────┤ */ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -/* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬ ├─────────├─────────├─────────┼ ┤ */ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -/* ├───────────┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴─────────┴─┬─────────┼─────────┼─────────┼─────────┼─────────┤ */ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -/* ├───────────┼─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴─────────┴──┬──────┴───────┬─────────┼─────────┼─────────┼─────────┼─────────┼ ┤ */ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -/* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴──────────────┴──────────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */ - ) }; diff --git a/keyboards/xiudi/xd96/keymaps/via/keymap.c b/keyboards/xiudi/xd96/keymaps/via/keymap.c index 8fdb8efe210..2d6524958dc 100644 --- a/keyboards/xiudi/xd96/keymaps/via/keymap.c +++ b/keyboards/xiudi/xd96/keymaps/via/keymap.c @@ -2,67 +2,40 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_96_ansi( -/* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */ - 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_INS, KC_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN, -/* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┼─────────┼─────────┼─────────┼─────────┤ */ - 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_PMNS, -/* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┼─────────┼─────────┼─────────┼─────────┤ */ - 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_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_P4, KC_P5, KC_P6, KC_PPLS, -/* ├─────────────────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───────────┬─────────┼─────────┼─────────┼─────────┼─────────┤ */ - 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_P1, KC_P2, KC_P3, -/* ├───────────┬─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴─────────┴──┬──────┴───────┬─────────┼─────────┼─────────┼─────────┼─────────┼ ┤ */ - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT -/* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴──────────────┴──────────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */ - ), + [0] = LAYOUT_96_ansi( + 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_INS, KC_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN, + 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_PMNS, + 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_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_P4, KC_P5, KC_P6, KC_PPLS, + 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_P1, KC_P2, KC_P3, + 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_96_ansi( -/* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */ - _______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -/* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┼─────────┼─────────┼─────────┼─────────┤ */ - _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -/* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┼─────────┼─────────┼─────────┼─────────┤ */ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -/* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──────────────├─────────├─────────├─────────┼ ┤ */ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -/* ├─────────────────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───────────┬─────────┼─────────┼─────────┼─────────┼─────────┤ */ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -/* ├───────────┬─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴─────────┴──┬──────┴───────┬─────────┼─────────┼─────────┼─────────┼─────────┼ ┤ */ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -/* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴──────────────┴──────────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */ - ), + [1] = LAYOUT_96_ansi( + _______, BL_TOGG, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), - [2] = LAYOUT_96_ansi( -/* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -/* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┼─────────┼─────────┼─────────┼─────────┤ */ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -/* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┼─────────┼─────────┼─────────┼─────────┤ */ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -/* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──────────────├─────────├─────────├─────────┼ ┤ */ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -/* ├─────────────────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───────────┬─────────┼─────────┼─────────┼─────────┼─────────┤ */ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -/* ├───────────┬─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴─────────┴──┬──────┴───────┬─────────┼─────────┼─────────┼─────────┼─────────┼ ┤ */ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -/* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴──────────────┴──────────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */ - ), + [2] = LAYOUT_96_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + [3] = LAYOUT_96_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), - [3] = LAYOUT_96_ansi( -/* ┌─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┐ */ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -/* ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┴─────────┼─────────┼─────────┼─────────┼─────────┤ */ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -/* ├─────────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬────┴────┬──────────────┼─────────┼─────────┼─────────┼─────────┤ */ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -/* ├──────────────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──┬──────┴──────────────├─────────├─────────├─────────┼ ┤ */ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -/* ├─────────────────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───────────┬─────────┼─────────┼─────────┼─────────┼─────────┤ */ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -/* ├───────────┬─────────┴─┬───────┴───┬─────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────┬─┴─────────┴──┬──────┴───────┬─────────┼─────────┼─────────┼─────────┼─────────┼ ┤ */ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -/* └───────────┴───────────┴───────────┴───────────────────────────────────────────────────────────────┴──────────────┴──────────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┘ */ - ), }; diff --git a/keyboards/xiudi/xd96/matrix_diagram.md b/keyboards/xiudi/xd96/matrix_diagram.md new file mode 100644 index 00000000000..ba4181b0c78 --- /dev/null +++ b/keyboards/xiudi/xd96/matrix_diagram.md @@ -0,0 +1,42 @@ +# Matrix Diagram for KPrepublic XD96 + +``` +Spaced Function Row ────────────────────────────────────────┐ +┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ +│00 │ │01 │02 │03 │04 │ │06 │07 │08 │09 │ │0A │0B │0C │0D │ +└───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ + ┌───────┐ ┌───────┐ + 2u Function Row Backspace │0D │ │0G │ + └───────┘ └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │56 │0E │0F │0G │0H │ +├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ ┌───────┐ ┌───┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │59 │1E │1F │1G │1H │ │1D │ 2u Backspace │ │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┼───┼───┼───┤ └─┬─────┤ ┌─────┐ │1H │ ┌───┐ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │2E │2F │2G │2H │ │2D │ │ │ │ │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┼───┼───┼───┼───┤ ┌──┴─────┤ ┌──┴┐3D │ ├───┤ │2H │ 2u Numpad Plus +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │3F │3G │3H │ │3D │ │3C │ │ │ │ │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┼───┼───┼───┤ └────────┘ └───┴────┘ ┌───────┐ │3H │ ├───┤ +│40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │4E │4F │4G │4H │ ANSI ISO │4E │ │ │ │ │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┼───┼───┼───┤ Enter Enter └───────┘ └───┘ │4H │ 2u Numpad Enter +│50 │51 │52 │55 │5A │58 │5C │5D │5E │5F │5G │5H │ 2u Zero │ │ +└────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┴───┴───┴───┴───┘ on Shift Row └───┘ +┌────────┐ ┌───┬──────────┬───────┐ +│40 │ 2.25u LShift 1u/2.75u RShift │4B │4D │5E │ 2u Numpad Zero +└────────┘ └───┴──────────┴───────┘ + ┌────┬────┬────┐ + 3x 1.25u RShift │4B │4C │4D │ + └────┴────┴────┘ +┌────┬────┬────┬────────────────────────┬────┬────┬────┬────┐ +│50 │51 │52 │55 │5A │58 │5C │5D │ ANSI +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ +┌─────┬───┬─────┬───────────────────────┬─────┬─────┬───┬───┐ +│50 │51 │52 │55 │5A │58 │5C │5D │ Tsangan +└─────┴───┴─────┴───────────────────────┴─────┴─────┴───┴───┘ +┌─────┬─────┬───────────────────────────┬─────┬─────┬───┬───┐ +│50 │51 │55 │5A │58 │5C │5D │ WKL +└─────┴─────┴───────────────────────────┴─────┴─────┴───┴───┘ + ┌───┬─────┬───────────────────────────┬─────┬───┐ + │51 │52 │55 │58 │5C │ HHKB + └───┴─────┴───────────────────────────┴─────┴───┘ +``` diff --git a/keyboards/xiudi/xd96/readme.md b/keyboards/xiudi/xd96/readme.md index 5f4038ef3fd..47a91c834d1 100644 --- a/keyboards/xiudi/xd96/readme.md +++ b/keyboards/xiudi/xd96/readme.md @@ -9,7 +9,7 @@ Keyboard with 96 Keys & RGB LED Underglow * Keyboard Maintainer: QMK Community * Hardware Supported: XD96 -* Hardware Availability: [KPrepublic](https://kprepublic.com/products/xd96-pcb-90-custom-mechanical-keyboard-supports-tkg-tools-underglow-rgb-programmed); [AliExpress](https://aliexpress.com/item/cospad-Custom-Mechanical-Keyboard-Kit-up-tp-24-keys-Supports-TKG-TOOLS-Underglow-RGB-PCB-20/32818383873.html) +* Hardware Availability: [KPrepublic](https://kprepublic.com/products/xd96-pcb-90-custom-mechanical-keyboard-supports-tkg-tools-underglow-rgb-programmed); [AliExpress](https://www.aliexpress.com/i/2251832661406145.html) Make example for this keyboard (after setting up your build environment): From fec2323089ab38262195eda4e68db7d0d6c9e7c7 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri, 8 Mar 2024 17:26:33 -0800 Subject: [PATCH 19/36] Orthograph: correct layout data (#23213) * correct layout data Correct the key sizes and positions in the layout data. [chore] * remove layout offset Remove the dead space from the layout data. [chore] --- keyboards/orthograph/info.json | 176 +++++++++++++++++---------------- 1 file changed, 93 insertions(+), 83 deletions(-) diff --git a/keyboards/orthograph/info.json b/keyboards/orthograph/info.json index 19d3f6b2fbb..ad37b0c723c 100644 --- a/keyboards/orthograph/info.json +++ b/keyboards/orthograph/info.json @@ -140,90 +140,100 @@ "layouts": { "LAYOUT": { "layout": [ - {"matrix": [0, 0], "label":"Esc", "x":0.75, "y":0, "w":1.5}, - {"matrix": [0, 1], "label":"F1", "x":2.25, "y":0}, - {"matrix": [0, 2], "label":"F2", "x":3.25, "y":0}, - {"matrix": [0, 3], "label":"F3", "x":4.25, "y":0}, - {"matrix": [0, 4], "label":"F4", "x":5.25, "y":0}, - {"matrix": [0, 5], "label":"F5", "x":6.25, "y":0}, - {"matrix": [6, 0], "label":"F6", "x":12.5, "y":0}, - {"matrix": [6, 1], "label":"F7", "x":13.5, "y":0}, - {"matrix": [6, 2], "label":"F8", "x":14.5, "y":0}, - {"matrix": [6, 3], "label":"F9", "x":15.5, "y":0}, - {"matrix": [6, 4], "label":"F10", "x":16.5, "y":0}, - {"matrix": [6, 5], "label":"F11", "x":17.5, "y":0}, - {"matrix": [6, 6], "label":"F12", "x":18.5, "y":0}, - {"matrix": [1, 0], "label":"~", "x":0.75, "y":1, "w":1.5}, - {"matrix": [1, 1], "label":"1", "x":2.25, "y":1}, - {"matrix": [1, 2], "label":"2", "x":3.25, "y":1}, - {"matrix": [1, 3], "label":"3", "x":4.25, "y":1}, - {"matrix": [1, 4], "label":"4", "x":5.25, "y":1}, - {"matrix": [1, 5], "label":"5", "x":6.25, "y":1}, - {"matrix": [7, 0], "label":"^", "x":12.5, "y":1}, - {"matrix": [7, 1], "label":"&", "x":13.5, "y":1}, - {"matrix": [7, 2], "label":"*", "x":14.5, "y":1}, - {"matrix": [7, 3], "label":"(", "x":15.5, "y":1}, - {"matrix": [7, 4], "label":")", "x":16.5, "y":1}, - {"matrix": [7, 5], "label":"_", "x":17.5, "y":1}, - {"matrix": [7, 6], "label":"+", "x":18.5, "y":1}, - {"matrix": [7, 7], "label":"Backspace", "x":19.5, "y":1, "w":1.5}, - {"matrix": [2, 0], "label":"Tab", "x":0.75, "y":2, "w":1.5}, - {"matrix": [2, 1], "label":"Q", "x":2.25, "y":2}, - {"matrix": [2, 2], "label":"W", "x":3.25, "y":2}, - {"matrix": [2, 3], "label":"E", "x":4.25, "y":2}, - {"matrix": [2, 4], "label":"R", "x":5.25, "y":2}, - {"matrix": [2, 5], "label":"T", "x":6.25, "y":2}, - {"matrix": [8, 0], "label":"Y", "x":12.5, "y":2}, - {"matrix": [8, 1], "label":"U", "x":13.5, "y":2}, - {"matrix": [8, 2], "label":"I", "x":14.5, "y":2}, - {"matrix": [8, 3], "label":"O", "x":15.5, "y":2}, - {"matrix": [8, 4], "label":"P", "x":16.5, "y":2}, - {"matrix": [8, 5], "label":"{", "x":17.5, "y":2}, - {"matrix": [8, 6], "label":"}", "x":18.5, "y":2}, - {"matrix": [8, 7], "label":"|", "x":19.5, "y":2, "w":1.5}, - {"matrix": [3, 0], "label":"Caps", "x":0.75, "y":3, "w":1.5}, - {"matrix": [3, 1], "label":"A", "x":2.25, "y":3}, - {"matrix": [3, 2], "label":"S", "x":3.25, "y":3}, - {"matrix": [3, 3], "label":"D", "x":4.25, "y":3}, - {"matrix": [3, 4], "label":"F", "x":5.25, "y":3}, - {"matrix": [3, 5], "label":"G", "x":6.25, "y":3}, - {"matrix": [9, 0], "label":"H", "x":12.5, "y":3}, - {"matrix": [9, 1], "label":"J", "x":13.5, "y":3}, - {"matrix": [9, 2], "label":"K", "x":14.5, "y":3}, - {"matrix": [9, 3], "label":"L", "x":15.5, "y":3}, - {"matrix": [9, 4], "label":":", "x":16.5, "y":3}, - {"matrix": [9, 5], "label":"\"", "x":17.5, "y":3}, - {"matrix": [9, 6], "label":"Enter", "x":18.5, "y":3, "w":2.25}, - {"matrix": [4, 0], "label":"Shift", "x":0.75, "y":4, "w":1.5}, - {"matrix": [4, 1], "label":"Z", "x":2.25, "y":4}, - {"matrix": [4, 2], "label":"X", "x":3.25, "y":4}, - {"matrix": [4, 3], "label":"C", "x":4.25, "y":4}, - {"matrix": [4, 4], "label":"V", "x":5.25, "y":4}, - {"matrix": [4, 5], "label":"B", "x":6.25, "y":4}, - {"matrix": [10, 0], "label":"N", "x":12.5, "y":4}, - {"matrix": [10, 1], "label":"M", "x":13.5, "y":4}, - {"matrix": [10, 2], "label":"<", "x":14.5, "y":4}, - {"matrix": [10, 3], "label":">", "x":15.5, "y":4}, - {"matrix": [10, 4], "label":"?", "x":16.5, "y":4}, - {"matrix": [10, 5], "label":"Shift", "x":17.5, "y":4, "w":1.5}, - {"matrix": [10, 6], "label":"\u2191", "x":19, "y":4}, - {"matrix": [10, 7], "label":"mx", "x":20, "y":4}, - {"matrix": [5, 0], "label":"Ctrl", "x":1, "y":5, "w":1.25}, - {"matrix": [5, 1], "label":"Win", "x":2.25, "y":5, "w":1.25}, - {"matrix": [5, 2], "label":"Alt", "x":3.5, "y":5, "w":1.25}, - {"matrix": [5, 3], "label":"Menu", "x":4.75, "y":5, "w":1.25}, - {"matrix": [5, 4], "label":"space", "x":0, "y":4.75, "h":2}, - {"matrix": [5, 5], "label":"fn", "x":1, "y":4.75, "h":2}, - {"matrix": [11, 0], "label":"space2", "x":-2, "y":4.5, "h":2}, - {"matrix": [11, 1], "label":"fn", "x":-1.0, "y":4.5, "h":2}, - {"matrix": [11, 2], "label":"Alt", "x":14.25, "y":5, "w":1.25}, - {"matrix": [11, 3], "label":"Win", "x":15.5, "y":5, "w":1.25}, - {"matrix": [11, 4], "label":"Ctrl", "x":16.75, "y":5, "w":1.25}, - {"matrix": [11, 5], "label":"\u2190", "x":18, "y":5}, - {"matrix": [11, 6], "label":"\u2193", "x":19, "y":5}, - {"matrix": [11, 7], "label":"\u2192", "x":20, "y":5} + {"matrix": [0, 0], "label": "Esc", "x": 0, "y": 0, "w": 1.5}, + {"matrix": [0, 1], "label": "F1", "x": 1.5, "y": 0}, + {"matrix": [0, 2], "label": "F2", "x": 2.5, "y": 0}, + {"matrix": [0, 3], "label": "F3", "x": 3.5, "y": 0}, + {"matrix": [0, 4], "label": "F4", "x": 4.5, "y": 0}, + {"matrix": [0, 5], "label": "F5", "x": 5.5, "y": 0}, + {"matrix": [6, 0], "label": "F6", "x": 11.75, "y": 0}, + {"matrix": [6, 1], "label": "F7", "x": 12.75, "y": 0}, + {"matrix": [6, 2], "label": "F8", "x": 13.75, "y": 0}, + {"matrix": [6, 3], "label": "F9", "x": 14.75, "y": 0}, + {"matrix": [6, 4], "label": "F10", "x": 15.75, "y": 0}, + {"matrix": [6, 5], "label": "F11", "x": 16.75, "y": 0}, + {"matrix": [6, 6], "label": "F12", "x": 17.75, "y": 0}, + + {"matrix": [1, 0], "label": "~", "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "label": "1", "x": 1.5, "y": 1}, + {"matrix": [1, 2], "label": "2", "x": 2.5, "y": 1}, + {"matrix": [1, 3], "label": "3", "x": 3.5, "y": 1}, + {"matrix": [1, 4], "label": "4", "x": 4.5, "y": 1}, + {"matrix": [1, 5], "label": "5", "x": 5.5, "y": 1}, + + {"matrix": [7, 0], "label": "^", "x": 11.75, "y": 1}, + {"matrix": [7, 1], "label": "&", "x": 12.75, "y": 1}, + {"matrix": [7, 2], "label": "*", "x": 13.75, "y": 1}, + {"matrix": [7, 3], "label": "(", "x": 14.75, "y": 1}, + {"matrix": [7, 4], "label": ")", "x": 15.75, "y": 1}, + {"matrix": [7, 5], "label": "_", "x": 16.75, "y": 1}, + {"matrix": [7, 6], "label": "+", "x": 17.75, "y": 1}, + {"matrix": [7, 7], "label": "Backspace", "x": 18.75, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "label": "Tab", "x": 0, "y": 2, "w": 1.5}, + {"matrix": [2, 1], "label": "Q", "x": 1.5, "y": 2}, + {"matrix": [2, 2], "label": "W", "x": 2.5, "y": 2}, + {"matrix": [2, 3], "label": "E", "x": 3.5, "y": 2}, + {"matrix": [2, 4], "label": "R", "x": 4.5, "y": 2}, + {"matrix": [2, 5], "label": "T", "x": 5.5, "y": 2}, + + {"matrix": [8, 0], "label": "Y", "x": 11.75, "y": 2}, + {"matrix": [8, 1], "label": "U", "x": 12.75, "y": 2}, + {"matrix": [8, 2], "label": "I", "x": 13.75, "y": 2}, + {"matrix": [8, 3], "label": "O", "x": 14.75, "y": 2}, + {"matrix": [8, 4], "label": "P", "x": 15.75, "y": 2}, + {"matrix": [8, 5], "label": "{", "x": 16.75, "y": 2}, + {"matrix": [8, 6], "label": "}", "x": 17.75, "y": 2}, + {"matrix": [8, 7], "label": "|", "x": 18.75, "y": 2, "w": 1.5}, + + {"matrix": [3, 0], "label": "Caps", "x": 0, "y": 3, "w": 1.5}, + {"matrix": [3, 1], "label": "A", "x": 1.5, "y": 3}, + {"matrix": [3, 2], "label": "S", "x": 2.5, "y": 3}, + {"matrix": [3, 3], "label": "D", "x": 3.5, "y": 3}, + {"matrix": [3, 4], "label": "F", "x": 4.5, "y": 3}, + {"matrix": [3, 5], "label": "G", "x": 5.5, "y": 3}, + + {"matrix": [9, 0], "label": "H", "x": 11.75, "y": 3}, + {"matrix": [9, 1], "label": "J", "x": 12.75, "y": 3}, + {"matrix": [9, 2], "label": "K", "x": 13.75, "y": 3}, + {"matrix": [9, 3], "label": "L", "x": 14.75, "y": 3}, + {"matrix": [9, 4], "label": ":", "x": 15.75, "y": 3}, + {"matrix": [9, 5], "label": "\"", "x": 16.75, "y": 3}, + {"matrix": [9, 6], "label": "Enter", "x": 17.75, "y": 3, "w": 2.25}, + + {"matrix": [4, 0], "label": "Shift", "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "label": "Z", "x": 1.5, "y": 4}, + {"matrix": [4, 2], "label": "X", "x": 2.5, "y": 4}, + {"matrix": [4, 3], "label": "C", "x": 3.5, "y": 4}, + {"matrix": [4, 4], "label": "V", "x": 4.5, "y": 4}, + {"matrix": [4, 5], "label": "B", "x": 5.5, "y": 4}, + + {"matrix": [10, 0], "label": "N", "x": 11.75, "y": 4}, + {"matrix": [10, 1], "label": "M", "x": 12.75, "y": 4}, + {"matrix": [10, 2], "label": "<", "x": 13.75, "y": 4}, + {"matrix": [10, 3], "label": ">", "x": 14.75, "y": 4}, + {"matrix": [10, 4], "label": "?", "x": 15.75, "y": 4}, + {"matrix": [10, 5], "label": "Shift", "x": 16.75, "y": 4, "w": 1.5}, + {"matrix": [10, 6], "label": "\u2191", "x": 18.25, "y": 4}, + {"matrix": [10, 7], "label": "mx", "x": 19.25, "y": 4}, + + {"matrix": [5, 0], "label": "Ctrl", "x": 0.25, "y": 5, "w": 1.25}, + {"matrix": [5, 1], "label": "Win", "x": 1.5, "y": 5, "w": 1.25}, + {"matrix": [5, 2], "label": "Alt", "x": 2.75, "y": 5, "w": 1.25}, + {"matrix": [5, 3], "label": "Menu", "x": 4, "y": 5, "w": 1.25}, + {"matrix": [5, 4], "label": "space", "x": 5.5, "y": 5.25, "h": 2}, + {"matrix": [5, 5], "label": "fn", "x": 6.5, "y": 5.25, "h": 2}, + + {"matrix": [11, 0], "label": "space2", "x": 11.25, "y": 5.25, "h": 2}, + {"matrix": [11, 1], "label": "fn", "x": 12.25, "y": 5.25, "h": 2}, + {"matrix": [11, 2], "label": "Alt", "x": 13.5, "y": 5, "w": 1.25}, + {"matrix": [11, 3], "label": "Win", "x": 14.75, "y": 5, "w": 1.25}, + {"matrix": [11, 4], "label": "Ctrl", "x": 16, "y": 5, "w": 1.25}, + {"matrix": [11, 5], "label": "\u2190", "x": 17.25, "y": 5}, + {"matrix": [11, 6], "label": "\u2193", "x": 18.25, "y": 5}, + {"matrix": [11, 7], "label": "\u2192", "x": 19.25, "y": 5} ] } } -} \ No newline at end of file +} From 900e79febebaa6e8c682755442a385dc6f2ed703 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Sat, 9 Mar 2024 21:40:19 +1100 Subject: [PATCH 20/36] Attempt to deal with GCC 13+ and rv32 arch extensions. (#23086) --- platforms/chibios/platform.mk | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/platforms/chibios/platform.mk b/platforms/chibios/platform.mk index f38a888012e..b13eed39be8 100644 --- a/platforms/chibios/platform.mk +++ b/platforms/chibios/platform.mk @@ -402,6 +402,17 @@ ifeq ($(strip $(MCU)), risc-v) -mabi=$(MCU_ABI) \ -mcmodel=$(MCU_CMODEL) \ -mstrict-align + + # Deal with different arch revisions and gcc renaming them + ifneq ($(shell echo 'int main() { asm("csrc 0x300,8"); return 0; }' | $(TOOLCHAIN)gcc $(MCUFLAGS) $(TOOLCHAIN_CFLAGS) -x c -o /dev/null - 2>/dev/null >/dev/null; echo $$?),0) + MCUFLAGS = -march=$(MCU_ARCH)_zicsr \ + -mabi=$(MCU_ABI) \ + -mcmodel=$(MCU_CMODEL) \ + -mstrict-align + ifneq ($(shell echo 'int main() { asm("csrc 0x300,8"); return 0; }' | $(TOOLCHAIN)gcc $(MCUFLAGS) $(TOOLCHAIN_CFLAGS) -x c -o /dev/null - 2>/dev/null >/dev/null; echo $$?),0) + $(call CATASTROPHIC_ERROR,Incompatible toolchain,No compatible RISC-V toolchain found. Can't work out correct architecture.) + endif + endif else # ARM toolchain specific configuration TOOLCHAIN ?= arm-none-eabi- From be42ea306b36bf7fac8b790452536156de8efcf6 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat, 9 Mar 2024 23:04:00 -0800 Subject: [PATCH 21/36] KBDfans KBD19x Layout Additions (#23230) * Add layout/matrix diagram [docs] * Re-sort JSON `layouts` object Moves the `LAYOUT_all` object to be first in sequence. [refactor] * Add `LAYOUT_ansi_split_bs` [enhancement] * Add `LAYOUT_iso_split_bs` [enhancement] * Add `LAYOUT_ansi_wkl_split_bs` [enhancement] * Add `LAYOUT_ansi_wkl` [enhancement] * Add `LAYOUT_iso_wkl_split_bs` [enhancement] * Add `LAYOUT_iso_wkl` [enhancement] --- keyboards/kbdfans/kbd19x/info.json | 750 ++++++++++++++++++++- keyboards/kbdfans/kbd19x/matrix_diagram.md | 28 + 2 files changed, 761 insertions(+), 17 deletions(-) create mode 100644 keyboards/kbdfans/kbd19x/matrix_diagram.md diff --git a/keyboards/kbdfans/kbd19x/info.json b/keyboards/kbdfans/kbd19x/info.json index c37e3587e25..f2b28e4a086 100644 --- a/keyboards/kbdfans/kbd19x/info.json +++ b/keyboards/kbdfans/kbd19x/info.json @@ -46,6 +46,130 @@ "processor": "atmega32u4", "bootloader": "atmel-dfu", "layouts": { + "LAYOUT_all": { + "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": [0, 4], "x": 4.25, "y": 0}, + + {"matrix": [6, 0], "x": 5.5, "y": 0}, + {"matrix": [6, 1], "x": 6.5, "y": 0}, + {"matrix": [6, 2], "x": 7.5, "y": 0}, + {"matrix": [6, 3], "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": [7, 2], "x": 14, "y": 0}, + + {"matrix": [0, 9], "x": 15.5, "y": 0}, + {"matrix": [0, 10], "x": 16.5, "y": 0}, + {"matrix": [0, 11], "x": 17.5, "y": 0}, + {"matrix": [0, 12], "x": 18.5, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [6, 4], "x": 5, "y": 1.5}, + {"matrix": [6, 5], "x": 6, "y": 1.5}, + {"matrix": [6, 6], "x": 7, "y": 1.5}, + {"matrix": [6, 7], "x": 8, "y": 1.5}, + {"matrix": [1, 5], "x": 9, "y": 1.5}, + {"matrix": [1, 6], "x": 10, "y": 1.5}, + {"matrix": [1, 7], "x": 11, "y": 1.5}, + {"matrix": [1, 8], "x": 12, "y": 1.5}, + {"matrix": [7, 0], "x": 13, "y": 1.5}, + {"matrix": [7, 1], "x": 14, "y": 1.5}, + + {"matrix": [1, 9], "x": 15.5, "y": 1.5}, + {"matrix": [1, 10], "x": 16.5, "y": 1.5}, + {"matrix": [1, 11], "x": 17.5, "y": 1.5}, + {"matrix": [1, 12], "x": 18.5, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [6, 8], "x": 5.5, "y": 2.5}, + {"matrix": [6, 9], "x": 6.5, "y": 2.5}, + {"matrix": [6, 10], "x": 7.5, "y": 2.5}, + {"matrix": [6, 11], "x": 8.5, "y": 2.5}, + {"matrix": [2, 5], "x": 9.5, "y": 2.5}, + {"matrix": [2, 6], "x": 10.5, "y": 2.5}, + {"matrix": [2, 7], "x": 11.5, "y": 2.5}, + {"matrix": [2, 8], "x": 12.5, "y": 2.5}, + {"matrix": [7, 3], "x": 13.5, "y": 2.5, "w": 1.5}, + + {"matrix": [2, 9], "x": 15.5, "y": 2.5}, + {"matrix": [2, 10], "x": 16.5, "y": 2.5}, + {"matrix": [2, 11], "x": 17.5, "y": 2.5}, + {"matrix": [2, 12], "x": 18.5, "y": 2.5}, + + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [6, 12], "x": 5.75, "y": 3.5}, + {"matrix": [7, 5], "x": 6.75, "y": 3.5}, + {"matrix": [7, 6], "x": 7.75, "y": 3.5}, + {"matrix": [7, 7], "x": 8.75, "y": 3.5}, + {"matrix": [3, 5], "x": 9.75, "y": 3.5}, + {"matrix": [3, 6], "x": 10.75, "y": 3.5}, + {"matrix": [3, 7], "x": 11.75, "y": 3.5}, + {"matrix": [3, 8], "x": 12.75, "y": 3.5, "w": 2.25}, + + {"matrix": [3, 9], "x": 15.5, "y": 3.5}, + {"matrix": [3, 10], "x": 16.5, "y": 3.5}, + {"matrix": [3, 11], "x": 17.5, "y": 3.5}, + {"matrix": [3, 12], "x": 18.5, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.5}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [7, 8], "x": 5.25, "y": 4.5}, + {"matrix": [7, 9], "x": 6.25, "y": 4.5}, + {"matrix": [7, 10], "x": 7.25, "y": 4.5}, + {"matrix": [7, 11], "x": 8.25, "y": 4.5}, + {"matrix": [4, 5], "x": 9.25, "y": 4.5}, + {"matrix": [4, 6], "x": 10.25, "y": 4.5}, + {"matrix": [4, 7], "x": 11.25, "y": 4.5}, + {"matrix": [4, 8], "x": 12.25, "y": 4.5, "w": 1.75}, + + {"matrix": [7, 4], "x": 14.25, "y": 4.75}, + + {"matrix": [4, 9], "x": 15.5, "y": 4.5}, + {"matrix": [4, 10], "x": 16.5, "y": 4.5}, + {"matrix": [4, 11], "x": 17.5, "y": 4.5}, + {"matrix": [4, 12], "x": 18.5, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.5}, + {"matrix": [5, 2], "x": 2.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 9], "x": 3.5, "y": 5.5, "w": 6.25}, + {"matrix": [5, 5], "x": 9.75, "y": 5.5}, + {"matrix": [5, 6], "x": 10.75, "y": 5.5}, + {"matrix": [5, 7], "x": 11.75, "y": 5.5, "w": 1.25}, + + {"matrix": [5, 8], "x": 13.25, "y": 5.75}, + {"matrix": [5, 3], "x": 14.25, "y": 5.75}, + {"matrix": [5, 4], "x": 15.25, "y": 5.75}, + + {"matrix": [5, 10], "x": 16.5, "y": 5.5}, + {"matrix": [5, 11], "x": 17.5, "y": 5.5}, + {"matrix": [5, 12], "x": 18.5, "y": 5.5} + ] + }, "LAYOUT_ansi": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, @@ -85,7 +209,367 @@ {"matrix": [1, 6], "x": 10, "y": 1.5}, {"matrix": [1, 7], "x": 11, "y": 1.5}, {"matrix": [1, 8], "x": 12, "y": 1.5}, - {"matrix": [7, 1], "x": 13, "y": 1.5, "w": 2}, + {"matrix": [7, 1], "x": 13, "y": 1.5, "w": 2}, + + {"matrix": [1, 9], "x": 15.5, "y": 1.5}, + {"matrix": [1, 10], "x": 16.5, "y": 1.5}, + {"matrix": [1, 11], "x": 17.5, "y": 1.5}, + {"matrix": [1, 12], "x": 18.5, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [6, 8], "x": 5.5, "y": 2.5}, + {"matrix": [6, 9], "x": 6.5, "y": 2.5}, + {"matrix": [6, 10], "x": 7.5, "y": 2.5}, + {"matrix": [6, 11], "x": 8.5, "y": 2.5}, + {"matrix": [2, 5], "x": 9.5, "y": 2.5}, + {"matrix": [2, 6], "x": 10.5, "y": 2.5}, + {"matrix": [2, 7], "x": 11.5, "y": 2.5}, + {"matrix": [2, 8], "x": 12.5, "y": 2.5}, + {"matrix": [7, 3], "x": 13.5, "y": 2.5, "w": 1.5}, + + {"matrix": [2, 9], "x": 15.5, "y": 2.5}, + {"matrix": [2, 10], "x": 16.5, "y": 2.5}, + {"matrix": [2, 11], "x": 17.5, "y": 2.5}, + {"matrix": [2, 12], "x": 18.5, "y": 2.5, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [6, 12], "x": 5.75, "y": 3.5}, + {"matrix": [7, 5], "x": 6.75, "y": 3.5}, + {"matrix": [7, 6], "x": 7.75, "y": 3.5}, + {"matrix": [7, 7], "x": 8.75, "y": 3.5}, + {"matrix": [3, 5], "x": 9.75, "y": 3.5}, + {"matrix": [3, 6], "x": 10.75, "y": 3.5}, + {"matrix": [3, 7], "x": 11.75, "y": 3.5}, + {"matrix": [3, 8], "x": 12.75, "y": 3.5, "w": 2.25}, + + {"matrix": [3, 9], "x": 15.5, "y": 3.5}, + {"matrix": [3, 10], "x": 16.5, "y": 3.5}, + {"matrix": [3, 11], "x": 17.5, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [7, 8], "x": 5.25, "y": 4.5}, + {"matrix": [7, 9], "x": 6.25, "y": 4.5}, + {"matrix": [7, 10], "x": 7.25, "y": 4.5}, + {"matrix": [7, 11], "x": 8.25, "y": 4.5}, + {"matrix": [4, 5], "x": 9.25, "y": 4.5}, + {"matrix": [4, 6], "x": 10.25, "y": 4.5}, + {"matrix": [4, 7], "x": 11.25, "y": 4.5}, + {"matrix": [4, 8], "x": 12.25, "y": 4.5, "w": 1.75}, + + {"matrix": [7, 4], "x": 14.25, "y": 4.75}, + + {"matrix": [4, 9], "x": 15.5, "y": 4.5}, + {"matrix": [4, 10], "x": 16.5, "y": 4.5}, + {"matrix": [4, 11], "x": 17.5, "y": 4.5}, + {"matrix": [4, 12], "x": 18.5, "y": 4.5, "h": 2}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.5}, + {"matrix": [5, 2], "x": 2.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 9], "x": 3.5, "y": 5.5, "w": 6.25}, + {"matrix": [5, 5], "x": 9.75, "y": 5.5}, + {"matrix": [5, 6], "x": 10.75, "y": 5.5}, + {"matrix": [5, 7], "x": 11.75, "y": 5.5, "w": 1.25}, + + {"matrix": [5, 8], "x": 13.25, "y": 5.75}, + {"matrix": [5, 3], "x": 14.25, "y": 5.75}, + {"matrix": [5, 4], "x": 15.25, "y": 5.75}, + + {"matrix": [5, 10], "x": 16.5, "y": 5.5}, + {"matrix": [5, 11], "x": 17.5, "y": 5.5} + ] + }, + "LAYOUT_ansi_split_bs": { + "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": [0, 4], "x": 4.25, "y": 0}, + + {"matrix": [6, 0], "x": 5.5, "y": 0}, + {"matrix": [6, 1], "x": 6.5, "y": 0}, + {"matrix": [6, 2], "x": 7.5, "y": 0}, + {"matrix": [6, 3], "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": [7, 2], "x": 14, "y": 0}, + + {"matrix": [0, 9], "x": 15.5, "y": 0}, + {"matrix": [0, 10], "x": 16.5, "y": 0}, + {"matrix": [0, 11], "x": 17.5, "y": 0}, + {"matrix": [0, 12], "x": 18.5, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [6, 4], "x": 5, "y": 1.5}, + {"matrix": [6, 5], "x": 6, "y": 1.5}, + {"matrix": [6, 6], "x": 7, "y": 1.5}, + {"matrix": [6, 7], "x": 8, "y": 1.5}, + {"matrix": [1, 5], "x": 9, "y": 1.5}, + {"matrix": [1, 6], "x": 10, "y": 1.5}, + {"matrix": [1, 7], "x": 11, "y": 1.5}, + {"matrix": [1, 8], "x": 12, "y": 1.5}, + {"matrix": [7, 0], "x": 13, "y": 1.5}, + {"matrix": [7, 1], "x": 14, "y": 1.5}, + + {"matrix": [1, 9], "x": 15.5, "y": 1.5}, + {"matrix": [1, 10], "x": 16.5, "y": 1.5}, + {"matrix": [1, 11], "x": 17.5, "y": 1.5}, + {"matrix": [1, 12], "x": 18.5, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [6, 8], "x": 5.5, "y": 2.5}, + {"matrix": [6, 9], "x": 6.5, "y": 2.5}, + {"matrix": [6, 10], "x": 7.5, "y": 2.5}, + {"matrix": [6, 11], "x": 8.5, "y": 2.5}, + {"matrix": [2, 5], "x": 9.5, "y": 2.5}, + {"matrix": [2, 6], "x": 10.5, "y": 2.5}, + {"matrix": [2, 7], "x": 11.5, "y": 2.5}, + {"matrix": [2, 8], "x": 12.5, "y": 2.5}, + {"matrix": [7, 3], "x": 13.5, "y": 2.5, "w": 1.5}, + + {"matrix": [2, 9], "x": 15.5, "y": 2.5}, + {"matrix": [2, 10], "x": 16.5, "y": 2.5}, + {"matrix": [2, 11], "x": 17.5, "y": 2.5}, + {"matrix": [2, 12], "x": 18.5, "y": 2.5, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [6, 12], "x": 5.75, "y": 3.5}, + {"matrix": [7, 5], "x": 6.75, "y": 3.5}, + {"matrix": [7, 6], "x": 7.75, "y": 3.5}, + {"matrix": [7, 7], "x": 8.75, "y": 3.5}, + {"matrix": [3, 5], "x": 9.75, "y": 3.5}, + {"matrix": [3, 6], "x": 10.75, "y": 3.5}, + {"matrix": [3, 7], "x": 11.75, "y": 3.5}, + {"matrix": [3, 8], "x": 12.75, "y": 3.5, "w": 2.25}, + + {"matrix": [3, 9], "x": 15.5, "y": 3.5}, + {"matrix": [3, 10], "x": 16.5, "y": 3.5}, + {"matrix": [3, 11], "x": 17.5, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [7, 8], "x": 5.25, "y": 4.5}, + {"matrix": [7, 9], "x": 6.25, "y": 4.5}, + {"matrix": [7, 10], "x": 7.25, "y": 4.5}, + {"matrix": [7, 11], "x": 8.25, "y": 4.5}, + {"matrix": [4, 5], "x": 9.25, "y": 4.5}, + {"matrix": [4, 6], "x": 10.25, "y": 4.5}, + {"matrix": [4, 7], "x": 11.25, "y": 4.5}, + {"matrix": [4, 8], "x": 12.25, "y": 4.5, "w": 1.75}, + + {"matrix": [7, 4], "x": 14.25, "y": 4.75}, + + {"matrix": [4, 9], "x": 15.5, "y": 4.5}, + {"matrix": [4, 10], "x": 16.5, "y": 4.5}, + {"matrix": [4, 11], "x": 17.5, "y": 4.5}, + {"matrix": [4, 12], "x": 18.5, "y": 4.5, "h": 2}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.5}, + {"matrix": [5, 2], "x": 2.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 9], "x": 3.5, "y": 5.5, "w": 6.25}, + {"matrix": [5, 5], "x": 9.75, "y": 5.5}, + {"matrix": [5, 6], "x": 10.75, "y": 5.5}, + {"matrix": [5, 7], "x": 11.75, "y": 5.5, "w": 1.25}, + + {"matrix": [5, 8], "x": 13.25, "y": 5.75}, + {"matrix": [5, 3], "x": 14.25, "y": 5.75}, + {"matrix": [5, 4], "x": 15.25, "y": 5.75}, + + {"matrix": [5, 10], "x": 16.5, "y": 5.5}, + {"matrix": [5, 11], "x": 17.5, "y": 5.5} + ] + }, + "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": [0, 4], "x": 4.25, "y": 0}, + + {"matrix": [6, 0], "x": 5.5, "y": 0}, + {"matrix": [6, 1], "x": 6.5, "y": 0}, + {"matrix": [6, 2], "x": 7.5, "y": 0}, + {"matrix": [6, 3], "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": [7, 2], "x": 14, "y": 0}, + + {"matrix": [0, 9], "x": 15.5, "y": 0}, + {"matrix": [0, 10], "x": 16.5, "y": 0}, + {"matrix": [0, 11], "x": 17.5, "y": 0}, + {"matrix": [0, 12], "x": 18.5, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [6, 4], "x": 5, "y": 1.5}, + {"matrix": [6, 5], "x": 6, "y": 1.5}, + {"matrix": [6, 6], "x": 7, "y": 1.5}, + {"matrix": [6, 7], "x": 8, "y": 1.5}, + {"matrix": [1, 5], "x": 9, "y": 1.5}, + {"matrix": [1, 6], "x": 10, "y": 1.5}, + {"matrix": [1, 7], "x": 11, "y": 1.5}, + {"matrix": [1, 8], "x": 12, "y": 1.5}, + {"matrix": [7, 1], "x": 13, "y": 1.5, "w": 2}, + + {"matrix": [1, 9], "x": 15.5, "y": 1.5}, + {"matrix": [1, 10], "x": 16.5, "y": 1.5}, + {"matrix": [1, 11], "x": 17.5, "y": 1.5}, + {"matrix": [1, 12], "x": 18.5, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [6, 8], "x": 5.5, "y": 2.5}, + {"matrix": [6, 9], "x": 6.5, "y": 2.5}, + {"matrix": [6, 10], "x": 7.5, "y": 2.5}, + {"matrix": [6, 11], "x": 8.5, "y": 2.5}, + {"matrix": [2, 5], "x": 9.5, "y": 2.5}, + {"matrix": [2, 6], "x": 10.5, "y": 2.5}, + {"matrix": [2, 7], "x": 11.5, "y": 2.5}, + {"matrix": [2, 8], "x": 12.5, "y": 2.5}, + {"matrix": [7, 3], "x": 13.5, "y": 2.5, "w": 1.5}, + + {"matrix": [2, 9], "x": 15.5, "y": 2.5}, + {"matrix": [2, 10], "x": 16.5, "y": 2.5}, + {"matrix": [2, 11], "x": 17.5, "y": 2.5}, + {"matrix": [2, 12], "x": 18.5, "y": 2.5, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [6, 12], "x": 5.75, "y": 3.5}, + {"matrix": [7, 5], "x": 6.75, "y": 3.5}, + {"matrix": [7, 6], "x": 7.75, "y": 3.5}, + {"matrix": [7, 7], "x": 8.75, "y": 3.5}, + {"matrix": [3, 5], "x": 9.75, "y": 3.5}, + {"matrix": [3, 6], "x": 10.75, "y": 3.5}, + {"matrix": [3, 7], "x": 11.75, "y": 3.5}, + {"matrix": [3, 8], "x": 12.75, "y": 3.5, "w": 2.25}, + + {"matrix": [3, 9], "x": 15.5, "y": 3.5}, + {"matrix": [3, 10], "x": 16.5, "y": 3.5}, + {"matrix": [3, 11], "x": 17.5, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [7, 8], "x": 5.25, "y": 4.5}, + {"matrix": [7, 9], "x": 6.25, "y": 4.5}, + {"matrix": [7, 10], "x": 7.25, "y": 4.5}, + {"matrix": [7, 11], "x": 8.25, "y": 4.5}, + {"matrix": [4, 5], "x": 9.25, "y": 4.5}, + {"matrix": [4, 6], "x": 10.25, "y": 4.5}, + {"matrix": [4, 7], "x": 11.25, "y": 4.5}, + {"matrix": [4, 8], "x": 12.25, "y": 4.5, "w": 1.75}, + + {"matrix": [7, 4], "x": 14.25, "y": 4.75}, + + {"matrix": [4, 9], "x": 15.5, "y": 4.5}, + {"matrix": [4, 10], "x": 16.5, "y": 4.5}, + {"matrix": [4, 11], "x": 17.5, "y": 4.5}, + {"matrix": [4, 12], "x": 18.5, "y": 4.5, "h": 2}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, + {"matrix": [5, 2], "x": 1.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 9], "x": 3, "y": 5.5, "w": 7}, + {"matrix": [5, 5], "x": 10, "y": 5.5, "w": 1.5}, + {"matrix": [5, 7], "x": 11.5, "y": 5.5, "w": 1.5}, + + {"matrix": [5, 8], "x": 13.25, "y": 5.75}, + {"matrix": [5, 3], "x": 14.25, "y": 5.75}, + {"matrix": [5, 4], "x": 15.25, "y": 5.75}, + + {"matrix": [5, 10], "x": 16.5, "y": 5.5}, + {"matrix": [5, 11], "x": 17.5, "y": 5.5} + ] + }, + "LAYOUT_ansi_wkl_split_bs": { + "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": [0, 4], "x": 4.25, "y": 0}, + + {"matrix": [6, 0], "x": 5.5, "y": 0}, + {"matrix": [6, 1], "x": 6.5, "y": 0}, + {"matrix": [6, 2], "x": 7.5, "y": 0}, + {"matrix": [6, 3], "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": [7, 2], "x": 14, "y": 0}, + + {"matrix": [0, 9], "x": 15.5, "y": 0}, + {"matrix": [0, 10], "x": 16.5, "y": 0}, + {"matrix": [0, 11], "x": 17.5, "y": 0}, + {"matrix": [0, 12], "x": 18.5, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [6, 4], "x": 5, "y": 1.5}, + {"matrix": [6, 5], "x": 6, "y": 1.5}, + {"matrix": [6, 6], "x": 7, "y": 1.5}, + {"matrix": [6, 7], "x": 8, "y": 1.5}, + {"matrix": [1, 5], "x": 9, "y": 1.5}, + {"matrix": [1, 6], "x": 10, "y": 1.5}, + {"matrix": [1, 7], "x": 11, "y": 1.5}, + {"matrix": [1, 8], "x": 12, "y": 1.5}, + {"matrix": [7, 0], "x": 13, "y": 1.5}, + {"matrix": [7, 1], "x": 14, "y": 1.5}, {"matrix": [1, 9], "x": 15.5, "y": 1.5}, {"matrix": [1, 10], "x": 16.5, "y": 1.5}, @@ -150,13 +634,11 @@ {"matrix": [4, 11], "x": 17.5, "y": 4.5}, {"matrix": [4, 12], "x": 18.5, "y": 4.5, "h": 2}, - {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, - {"matrix": [5, 1], "x": 1.25, "y": 5.5}, - {"matrix": [5, 2], "x": 2.25, "y": 5.5, "w": 1.25}, - {"matrix": [5, 9], "x": 3.5, "y": 5.5, "w": 6.25}, - {"matrix": [5, 5], "x": 9.75, "y": 5.5}, - {"matrix": [5, 6], "x": 10.75, "y": 5.5}, - {"matrix": [5, 7], "x": 11.75, "y": 5.5, "w": 1.25}, + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, + {"matrix": [5, 2], "x": 1.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 9], "x": 3, "y": 5.5, "w": 7}, + {"matrix": [5, 5], "x": 10, "y": 5.5, "w": 1.5}, + {"matrix": [5, 7], "x": 11.5, "y": 5.5, "w": 1.5}, {"matrix": [5, 8], "x": 13.25, "y": 5.75}, {"matrix": [5, 3], "x": 14.25, "y": 5.75}, @@ -286,7 +768,7 @@ {"matrix": [5, 11], "x": 17.5, "y": 5.5} ] }, - "LAYOUT_all": { + "LAYOUT_iso_split_bs": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, @@ -346,12 +828,10 @@ {"matrix": [2, 6], "x": 10.5, "y": 2.5}, {"matrix": [2, 7], "x": 11.5, "y": 2.5}, {"matrix": [2, 8], "x": 12.5, "y": 2.5}, - {"matrix": [7, 3], "x": 13.5, "y": 2.5, "w": 1.5}, - {"matrix": [2, 9], "x": 15.5, "y": 2.5}, {"matrix": [2, 10], "x": 16.5, "y": 2.5}, {"matrix": [2, 11], "x": 17.5, "y": 2.5}, - {"matrix": [2, 12], "x": 18.5, "y": 2.5}, + {"matrix": [2, 12], "x": 18.5, "y": 2.5, "h": 2}, {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, {"matrix": [3, 1], "x": 1.75, "y": 3.5}, @@ -365,12 +845,12 @@ {"matrix": [3, 5], "x": 9.75, "y": 3.5}, {"matrix": [3, 6], "x": 10.75, "y": 3.5}, {"matrix": [3, 7], "x": 11.75, "y": 3.5}, - {"matrix": [3, 8], "x": 12.75, "y": 3.5, "w": 2.25}, + {"matrix": [7, 3], "x": 12.75, "y": 3.5}, + {"matrix": [3, 8], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, {"matrix": [3, 9], "x": 15.5, "y": 3.5}, {"matrix": [3, 10], "x": 16.5, "y": 3.5}, {"matrix": [3, 11], "x": 17.5, "y": 3.5}, - {"matrix": [3, 12], "x": 18.5, "y": 3.5}, {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, {"matrix": [4, 1], "x": 1.25, "y": 4.5}, @@ -391,7 +871,7 @@ {"matrix": [4, 9], "x": 15.5, "y": 4.5}, {"matrix": [4, 10], "x": 16.5, "y": 4.5}, {"matrix": [4, 11], "x": 17.5, "y": 4.5}, - {"matrix": [4, 12], "x": 18.5, "y": 4.5}, + {"matrix": [4, 12], "x": 18.5, "y": 4.5, "h": 2}, {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, {"matrix": [5, 1], "x": 1.25, "y": 5.5}, @@ -406,8 +886,244 @@ {"matrix": [5, 4], "x": 15.25, "y": 5.75}, {"matrix": [5, 10], "x": 16.5, "y": 5.5}, - {"matrix": [5, 11], "x": 17.5, "y": 5.5}, - {"matrix": [5, 12], "x": 18.5, "y": 5.5} + {"matrix": [5, 11], "x": 17.5, "y": 5.5} + ] + }, + "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": [0, 4], "x": 4.25, "y": 0}, + + {"matrix": [6, 0], "x": 5.5, "y": 0}, + {"matrix": [6, 1], "x": 6.5, "y": 0}, + {"matrix": [6, 2], "x": 7.5, "y": 0}, + {"matrix": [6, 3], "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": [7, 2], "x": 14, "y": 0}, + + {"matrix": [0, 9], "x": 15.5, "y": 0}, + {"matrix": [0, 10], "x": 16.5, "y": 0}, + {"matrix": [0, 11], "x": 17.5, "y": 0}, + {"matrix": [0, 12], "x": 18.5, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [6, 4], "x": 5, "y": 1.5}, + {"matrix": [6, 5], "x": 6, "y": 1.5}, + {"matrix": [6, 6], "x": 7, "y": 1.5}, + {"matrix": [6, 7], "x": 8, "y": 1.5}, + {"matrix": [1, 5], "x": 9, "y": 1.5}, + {"matrix": [1, 6], "x": 10, "y": 1.5}, + {"matrix": [1, 7], "x": 11, "y": 1.5}, + {"matrix": [1, 8], "x": 12, "y": 1.5}, + {"matrix": [7, 1], "x": 13, "y": 1.5, "w": 2}, + + {"matrix": [1, 9], "x": 15.5, "y": 1.5}, + {"matrix": [1, 10], "x": 16.5, "y": 1.5}, + {"matrix": [1, 11], "x": 17.5, "y": 1.5}, + {"matrix": [1, 12], "x": 18.5, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [6, 8], "x": 5.5, "y": 2.5}, + {"matrix": [6, 9], "x": 6.5, "y": 2.5}, + {"matrix": [6, 10], "x": 7.5, "y": 2.5}, + {"matrix": [6, 11], "x": 8.5, "y": 2.5}, + {"matrix": [2, 5], "x": 9.5, "y": 2.5}, + {"matrix": [2, 6], "x": 10.5, "y": 2.5}, + {"matrix": [2, 7], "x": 11.5, "y": 2.5}, + {"matrix": [2, 8], "x": 12.5, "y": 2.5}, + {"matrix": [2, 9], "x": 15.5, "y": 2.5}, + {"matrix": [2, 10], "x": 16.5, "y": 2.5}, + {"matrix": [2, 11], "x": 17.5, "y": 2.5}, + {"matrix": [2, 12], "x": 18.5, "y": 2.5, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [6, 12], "x": 5.75, "y": 3.5}, + {"matrix": [7, 5], "x": 6.75, "y": 3.5}, + {"matrix": [7, 6], "x": 7.75, "y": 3.5}, + {"matrix": [7, 7], "x": 8.75, "y": 3.5}, + {"matrix": [3, 5], "x": 9.75, "y": 3.5}, + {"matrix": [3, 6], "x": 10.75, "y": 3.5}, + {"matrix": [3, 7], "x": 11.75, "y": 3.5}, + {"matrix": [7, 3], "x": 12.75, "y": 3.5}, + {"matrix": [3, 8], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, + + {"matrix": [3, 9], "x": 15.5, "y": 3.5}, + {"matrix": [3, 10], "x": 16.5, "y": 3.5}, + {"matrix": [3, 11], "x": 17.5, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.5}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [7, 8], "x": 5.25, "y": 4.5}, + {"matrix": [7, 9], "x": 6.25, "y": 4.5}, + {"matrix": [7, 10], "x": 7.25, "y": 4.5}, + {"matrix": [7, 11], "x": 8.25, "y": 4.5}, + {"matrix": [4, 5], "x": 9.25, "y": 4.5}, + {"matrix": [4, 6], "x": 10.25, "y": 4.5}, + {"matrix": [4, 7], "x": 11.25, "y": 4.5}, + {"matrix": [4, 8], "x": 12.25, "y": 4.5, "w": 1.75}, + + {"matrix": [7, 4], "x": 14.25, "y": 4.75}, + + {"matrix": [4, 9], "x": 15.5, "y": 4.5}, + {"matrix": [4, 10], "x": 16.5, "y": 4.5}, + {"matrix": [4, 11], "x": 17.5, "y": 4.5}, + {"matrix": [4, 12], "x": 18.5, "y": 4.5, "h": 2}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, + {"matrix": [5, 2], "x": 1.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 9], "x": 3, "y": 5.5, "w": 7}, + {"matrix": [5, 5], "x": 10, "y": 5.5, "w": 1.5}, + {"matrix": [5, 7], "x": 11.5, "y": 5.5, "w": 1.5}, + + {"matrix": [5, 8], "x": 13.25, "y": 5.75}, + {"matrix": [5, 3], "x": 14.25, "y": 5.75}, + {"matrix": [5, 4], "x": 15.25, "y": 5.75}, + + {"matrix": [5, 10], "x": 16.5, "y": 5.5}, + {"matrix": [5, 11], "x": 17.5, "y": 5.5} + ] + }, + "LAYOUT_iso_wkl_split_bs": { + "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": [0, 4], "x": 4.25, "y": 0}, + + {"matrix": [6, 0], "x": 5.5, "y": 0}, + {"matrix": [6, 1], "x": 6.5, "y": 0}, + {"matrix": [6, 2], "x": 7.5, "y": 0}, + {"matrix": [6, 3], "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": [7, 2], "x": 14, "y": 0}, + + {"matrix": [0, 9], "x": 15.5, "y": 0}, + {"matrix": [0, 10], "x": 16.5, "y": 0}, + {"matrix": [0, 11], "x": 17.5, "y": 0}, + {"matrix": [0, 12], "x": 18.5, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.5}, + {"matrix": [1, 2], "x": 2, "y": 1.5}, + {"matrix": [1, 3], "x": 3, "y": 1.5}, + {"matrix": [1, 4], "x": 4, "y": 1.5}, + {"matrix": [6, 4], "x": 5, "y": 1.5}, + {"matrix": [6, 5], "x": 6, "y": 1.5}, + {"matrix": [6, 6], "x": 7, "y": 1.5}, + {"matrix": [6, 7], "x": 8, "y": 1.5}, + {"matrix": [1, 5], "x": 9, "y": 1.5}, + {"matrix": [1, 6], "x": 10, "y": 1.5}, + {"matrix": [1, 7], "x": 11, "y": 1.5}, + {"matrix": [1, 8], "x": 12, "y": 1.5}, + {"matrix": [7, 0], "x": 13, "y": 1.5}, + {"matrix": [7, 1], "x": 14, "y": 1.5}, + + {"matrix": [1, 9], "x": 15.5, "y": 1.5}, + {"matrix": [1, 10], "x": 16.5, "y": 1.5}, + {"matrix": [1, 11], "x": 17.5, "y": 1.5}, + {"matrix": [1, 12], "x": 18.5, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.5}, + {"matrix": [2, 2], "x": 2.5, "y": 2.5}, + {"matrix": [2, 3], "x": 3.5, "y": 2.5}, + {"matrix": [2, 4], "x": 4.5, "y": 2.5}, + {"matrix": [6, 8], "x": 5.5, "y": 2.5}, + {"matrix": [6, 9], "x": 6.5, "y": 2.5}, + {"matrix": [6, 10], "x": 7.5, "y": 2.5}, + {"matrix": [6, 11], "x": 8.5, "y": 2.5}, + {"matrix": [2, 5], "x": 9.5, "y": 2.5}, + {"matrix": [2, 6], "x": 10.5, "y": 2.5}, + {"matrix": [2, 7], "x": 11.5, "y": 2.5}, + {"matrix": [2, 8], "x": 12.5, "y": 2.5}, + {"matrix": [2, 9], "x": 15.5, "y": 2.5}, + {"matrix": [2, 10], "x": 16.5, "y": 2.5}, + {"matrix": [2, 11], "x": 17.5, "y": 2.5}, + {"matrix": [2, 12], "x": 18.5, "y": 2.5, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.5}, + {"matrix": [3, 2], "x": 2.75, "y": 3.5}, + {"matrix": [3, 3], "x": 3.75, "y": 3.5}, + {"matrix": [3, 4], "x": 4.75, "y": 3.5}, + {"matrix": [6, 12], "x": 5.75, "y": 3.5}, + {"matrix": [7, 5], "x": 6.75, "y": 3.5}, + {"matrix": [7, 6], "x": 7.75, "y": 3.5}, + {"matrix": [7, 7], "x": 8.75, "y": 3.5}, + {"matrix": [3, 5], "x": 9.75, "y": 3.5}, + {"matrix": [3, 6], "x": 10.75, "y": 3.5}, + {"matrix": [3, 7], "x": 11.75, "y": 3.5}, + {"matrix": [7, 3], "x": 12.75, "y": 3.5}, + {"matrix": [3, 8], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, + + {"matrix": [3, 9], "x": 15.5, "y": 3.5}, + {"matrix": [3, 10], "x": 16.5, "y": 3.5}, + {"matrix": [3, 11], "x": 17.5, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.5}, + {"matrix": [4, 2], "x": 2.25, "y": 4.5}, + {"matrix": [4, 3], "x": 3.25, "y": 4.5}, + {"matrix": [4, 4], "x": 4.25, "y": 4.5}, + {"matrix": [7, 8], "x": 5.25, "y": 4.5}, + {"matrix": [7, 9], "x": 6.25, "y": 4.5}, + {"matrix": [7, 10], "x": 7.25, "y": 4.5}, + {"matrix": [7, 11], "x": 8.25, "y": 4.5}, + {"matrix": [4, 5], "x": 9.25, "y": 4.5}, + {"matrix": [4, 6], "x": 10.25, "y": 4.5}, + {"matrix": [4, 7], "x": 11.25, "y": 4.5}, + {"matrix": [4, 8], "x": 12.25, "y": 4.5, "w": 1.75}, + + {"matrix": [7, 4], "x": 14.25, "y": 4.75}, + + {"matrix": [4, 9], "x": 15.5, "y": 4.5}, + {"matrix": [4, 10], "x": 16.5, "y": 4.5}, + {"matrix": [4, 11], "x": 17.5, "y": 4.5}, + {"matrix": [4, 12], "x": 18.5, "y": 4.5, "h": 2}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, + {"matrix": [5, 2], "x": 1.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 9], "x": 3, "y": 5.5, "w": 7}, + {"matrix": [5, 5], "x": 10, "y": 5.5, "w": 1.5}, + {"matrix": [5, 7], "x": 11.5, "y": 5.5, "w": 1.5}, + + {"matrix": [5, 8], "x": 13.25, "y": 5.75}, + {"matrix": [5, 3], "x": 14.25, "y": 5.75}, + {"matrix": [5, 4], "x": 15.25, "y": 5.75}, + + {"matrix": [5, 10], "x": 16.5, "y": 5.5}, + {"matrix": [5, 11], "x": 17.5, "y": 5.5} ] } } diff --git a/keyboards/kbdfans/kbd19x/matrix_diagram.md b/keyboards/kbdfans/kbd19x/matrix_diagram.md new file mode 100644 index 00000000000..5c7aa98557b --- /dev/null +++ b/keyboards/kbdfans/kbd19x/matrix_diagram.md @@ -0,0 +1,28 @@ +# Matrix Diagram for KBDfans KBD19x + +``` +┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐ ┌───┬───┬───┬───┐ +│00 ││01 │02 │03 │04 ││60 │61 │62 │63 ││05 │06 │07 │08 ││72 │ │09 │0A │0B │0C │ +└───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┴───┴───┴───┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───────┐ +│10 │11 │12 │13 │14 │64 │65 │66 │67 │15 │16 │17 │18 │70 │71 │ │19 │1A │1B │1C │ │71 │ 2u Backspace +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┼───┤ └─┬─────┤ ┌───┐ +│20 │21 │22 │23 │24 │68 │69 │6A │6B │25 │26 │27 │28 │73 │ │29 │2A │2B │2C │ │ │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┼───┼───┼───┤ ┌──┴┐38 │ ISO Enter │2C │ 2u Numpad Plus +│30 │31 │32 │33 │34 │6C │75 │76 │77 │35 │36 │37 │38 │ │39 │3A │3B │3C │ │73 │ │ │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┼───┼───┼───┤ └───┴────┘ ├───┤ +│40 │41 │42 │43 │44 │78 │79 │7A │7B │45 │46 │47 │48 │┌───┐│49 │4A │4B │4C │ │ │ +├────┼───┼───┴┬──┴───┴───┴───┴───┴───┴─┬─┴─┬─┴─┬─┴──┬───┘│74 │└───┼───┼───┼───┤ │4C │ 2u Numpad Enter +│50 │51 │52 │59 │55 │56 │57 │┌───┼───┼───┐│5A │5B │5C │ │ │ +└────┴───┴────┴────────────────────────┴───┴───┴────┘│58 │53 │54 │└───┴───┴───┘ └───┘ + └───┴───┴───┘ +┌────────┐ +│40 │ 2.25u LShift +└────────┘ +┌────┬───┬────┬───────────────────────┬────┬───┬────┐ +│50 │51 │52 │59 │55 │56 │57 │ 6u Space +└────┴───┴────┴───────────────────────┴────┴───┴────┘ +┌─────┬─────┬───────────────────────────┬─────┬─────┐ +│50 │52 │59 │55 │57 │ WKL (7u Space) +└─────┴─────┴───────────────────────────┴─────┴─────┘ +``` From 3e1ac7a38fa4e6885053a762bc75f7c4e068eccb Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Sun, 10 Mar 2024 22:24:17 +1100 Subject: [PATCH 22/36] Fixes for encoder abstraction. (#23195) --- quantum/encoder.c | 92 ++++++++++++++------ quantum/encoder.h | 13 ++- quantum/split_common/transaction_id_define.h | 2 +- quantum/split_common/transactions.c | 32 +++++-- 4 files changed, 101 insertions(+), 38 deletions(-) diff --git a/quantum/encoder.c b/quantum/encoder.c index 735eb1cd71f..0a48ac9a07b 100644 --- a/quantum/encoder.c +++ b/quantum/encoder.c @@ -15,34 +15,39 @@ __attribute__((weak)) bool should_process_encoder(void) { } static encoder_events_t encoder_events; +static bool signal_queue_drain = false; void encoder_init(void) { memset(&encoder_events, 0, sizeof(encoder_events)); encoder_driver_init(); } -static bool encoder_handle_queue(void) { - bool changed = false; - while (encoder_events.tail != encoder_events.head) { - encoder_event_t event = encoder_events.queue[encoder_events.tail]; - encoder_events.tail = (encoder_events.tail + 1) % MAX_QUEUED_ENCODER_EVENTS; +static void encoder_queue_drain(void) { + encoder_events.tail = encoder_events.head; + encoder_events.dequeued = encoder_events.enqueued; +} +static bool encoder_handle_queue(void) { + bool changed = false; + uint8_t index; + bool clockwise; + while (encoder_dequeue_event(&index, &clockwise)) { #ifdef ENCODER_MAP_ENABLE // The delays below cater for Windows and its wonderful requirements. - action_exec(event.clockwise ? MAKE_ENCODER_CW_EVENT(event.index, true) : MAKE_ENCODER_CCW_EVENT(event.index, true)); + action_exec(clockwise ? MAKE_ENCODER_CW_EVENT(index, true) : MAKE_ENCODER_CCW_EVENT(index, true)); # if ENCODER_MAP_KEY_DELAY > 0 wait_ms(ENCODER_MAP_KEY_DELAY); # endif // ENCODER_MAP_KEY_DELAY > 0 - action_exec(event.clockwise ? MAKE_ENCODER_CW_EVENT(event.index, false) : MAKE_ENCODER_CCW_EVENT(event.index, false)); + action_exec(clockwise ? MAKE_ENCODER_CW_EVENT(index, false) : MAKE_ENCODER_CCW_EVENT(index, false)); # if ENCODER_MAP_KEY_DELAY > 0 wait_ms(ENCODER_MAP_KEY_DELAY); # endif // ENCODER_MAP_KEY_DELAY > 0 #else // ENCODER_MAP_ENABLE - encoder_update_kb(event.index, event.clockwise ? true : false); + encoder_update_kb(index, clockwise); #endif // ENCODER_MAP_ENABLE @@ -61,6 +66,11 @@ bool encoder_task(void) { } #endif // SPLIT_KEYBOARD + if (signal_queue_drain) { + signal_queue_drain = false; + encoder_queue_drain(); + } + // Let the encoder driver produce events encoder_driver_task(); @@ -72,39 +82,71 @@ bool encoder_task(void) { return changed; } -bool encoder_queue_event(uint8_t index, bool clockwise) { +bool encoder_queue_full_advanced(encoder_events_t *events) { + return events->head == (events->tail - 1) % MAX_QUEUED_ENCODER_EVENTS; +} + +bool encoder_queue_full(void) { + return encoder_queue_full_advanced(&encoder_events); +} + +bool encoder_queue_empty_advanced(encoder_events_t *events) { + return events->head == events->tail; +} + +bool encoder_queue_empty(void) { + return encoder_queue_empty_advanced(&encoder_events); +} + +bool encoder_queue_event_advanced(encoder_events_t *events, uint8_t index, bool clockwise) { // Drop out if we're full - if ((encoder_events.head + 1) % MAX_QUEUED_ENCODER_EVENTS == encoder_events.tail) { + if (encoder_queue_full_advanced(events)) { return false; } // Append the event - encoder_event_t new_event = {.index = index, .clockwise = clockwise ? 1 : 0}; - encoder_events.queue[encoder_events.head] = new_event; + encoder_event_t new_event = {.index = index, .clockwise = clockwise ? 1 : 0}; + events->queue[events->head] = new_event; // Increment the head index - encoder_events.head = (encoder_events.head + 1) % MAX_QUEUED_ENCODER_EVENTS; + events->head = (events->head + 1) % MAX_QUEUED_ENCODER_EVENTS; + events->enqueued++; return true; } -void encoder_retrieve_events(encoder_events_t *events) { - memcpy(events, &encoder_events, sizeof(encoder_events)); +bool encoder_dequeue_event_advanced(encoder_events_t *events, uint8_t *index, bool *clockwise) { + if (encoder_queue_empty_advanced(events)) { + return false; + } + + // Retrieve the event + encoder_event_t event = events->queue[events->tail]; + *index = event.index; + *clockwise = event.clockwise; + + // Increment the tail index + events->tail = (events->tail + 1) % MAX_QUEUED_ENCODER_EVENTS; + events->dequeued++; + + return true; } -#ifdef SPLIT_KEYBOARD -void encoder_set_tail_index(uint8_t tail_index) { - encoder_events.tail = tail_index; +bool encoder_queue_event(uint8_t index, bool clockwise) { + return encoder_queue_event_advanced(&encoder_events, index, clockwise); } -void encoder_handle_slave_events(encoder_events_t *events) { - while (events->tail != events->head) { - encoder_event_t event = events->queue[events->tail]; - events->tail = (events->tail + 1) % MAX_QUEUED_ENCODER_EVENTS; - encoder_queue_event(event.index, event.clockwise ? true : false); - } +bool encoder_dequeue_event(uint8_t *index, bool *clockwise) { + return encoder_dequeue_event_advanced(&encoder_events, index, clockwise); +} + +void encoder_retrieve_events(encoder_events_t *events) { + memcpy(events, &encoder_events, sizeof(encoder_events)); +} + +void encoder_signal_queue_drain(void) { + signal_queue_drain = true; } -#endif // SPLIT_KEYBOARD __attribute__((weak)) bool encoder_update_user(uint8_t index, bool clockwise) { return true; diff --git a/quantum/encoder.h b/quantum/encoder.h index 90414a43a06..317a91f1da5 100644 --- a/quantum/encoder.h +++ b/quantum/encoder.h @@ -29,6 +29,7 @@ __attribute__((weak)) bool should_process_encoder(void); void encoder_init(void); bool encoder_task(void); bool encoder_queue_event(uint8_t index, bool clockwise); +bool encoder_dequeue_event(uint8_t *index, bool *clockwise); bool encoder_update_kb(uint8_t index, bool clockwise); bool encoder_update_user(uint8_t index, bool clockwise); @@ -82,6 +83,8 @@ typedef struct encoder_event_t { } encoder_event_t; typedef struct encoder_events_t { + uint8_t enqueued; + uint8_t dequeued; uint8_t head; uint8_t tail; encoder_event_t queue[MAX_QUEUED_ENCODER_EVENTS]; @@ -90,10 +93,12 @@ typedef struct encoder_events_t { // Get the current queued events void encoder_retrieve_events(encoder_events_t *events); -# ifdef SPLIT_KEYBOARD -void encoder_set_tail_index(uint8_t tail_index); -void encoder_handle_slave_events(encoder_events_t *events); -# endif // SPLIT_KEYBOARD +// Encoder event queue management +bool encoder_queue_event_advanced(encoder_events_t *events, uint8_t index, bool clockwise); +bool encoder_dequeue_event_advanced(encoder_events_t *events, uint8_t *index, bool *clockwise); + +// Reset the queue to be empty +void encoder_signal_queue_drain(void); # ifdef ENCODER_MAP_ENABLE # define NUM_DIRECTIONS 2 diff --git a/quantum/split_common/transaction_id_define.h b/quantum/split_common/transaction_id_define.h index 05b3bf7b625..5bfbe2aec79 100644 --- a/quantum/split_common/transaction_id_define.h +++ b/quantum/split_common/transaction_id_define.h @@ -31,7 +31,7 @@ enum serial_transaction_id { #ifdef ENCODER_ENABLE GET_ENCODERS_CHECKSUM, GET_ENCODERS_DATA, - PUT_ENCODER_TAIL, + CMD_ENCODER_DRAIN, #endif // ENCODER_ENABLE #ifndef DISABLE_SYNC_TIMER diff --git a/quantum/split_common/transactions.c b/quantum/split_common/transactions.c index 2cfa83e7a3f..33bc9e9f575 100644 --- a/quantum/split_common/transactions.c +++ b/quantum/split_common/transactions.c @@ -14,6 +14,7 @@ * along with this program. If not, see . */ +#include #include #include @@ -80,8 +81,12 @@ { 0, 0, sizeof_member(split_shared_memory_t, member), offsetof(split_shared_memory_t, member), cb } #define trans_target2initiator_initializer(member) trans_target2initiator_initializer_cb(member, NULL) +#define trans_initiator2target_cb(cb) \ + { 0, 0, 0, 0, cb } + #define transport_write(id, data, length) transport_execute_transaction(id, data, length, NULL, 0) #define transport_read(id, data, length) transport_execute_transaction(id, NULL, 0, data, length) +#define transport_exec(id) transport_execute_transaction(id, NULL, 0, NULL, 0) #if defined(SPLIT_TRANSACTION_IDS_KB) || defined(SPLIT_TRANSACTION_IDS_USER) // Forward-declare the RPC callback handlers @@ -234,14 +239,26 @@ static void master_matrix_handlers_slave(matrix_row_t master_matrix[], matrix_ro #ifdef ENCODER_ENABLE static bool encoder_handlers_master(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) { - static uint32_t last_update = 0; + static uint32_t last_update = 0; + static uint8_t last_checksum = 0; encoder_events_t temp_events; bool okay = read_if_checksum_mismatch(GET_ENCODERS_CHECKSUM, GET_ENCODERS_DATA, &last_update, &temp_events, &split_shmem->encoders.events, sizeof(temp_events)); if (okay) { - encoder_handle_slave_events(&split_shmem->encoders.events); - transport_write(PUT_ENCODER_TAIL, &split_shmem->encoders.events.tail, sizeof(split_shmem->encoders.events.tail)); - split_shmem->encoders.checksum = crc8(&split_shmem->encoders.events, sizeof(split_shmem->encoders.events)); + if (last_checksum != split_shmem->encoders.checksum) { + bool actioned = false; + uint8_t index; + bool clockwise; + while (okay && encoder_dequeue_event_advanced(&split_shmem->encoders.events, &index, &clockwise)) { + okay &= encoder_queue_event(index, clockwise); + actioned = true; + } + + if (actioned) { + okay &= transport_exec(CMD_ENCODER_DRAIN); + } + last_checksum = split_shmem->encoders.checksum; + } } return okay; } @@ -253,9 +270,8 @@ static void encoder_handlers_slave(matrix_row_t master_matrix[], matrix_row_t sl split_shmem->encoders.checksum = crc8(&split_shmem->encoders.events, sizeof(split_shmem->encoders.events)); } -static void encoder_handlers_slave_reset(uint8_t initiator2target_buffer_size, const void *initiator2target_buffer, uint8_t target2initiator_buffer_size, void *target2initiator_buffer) { - uint8_t tail_index = *(uint8_t *)initiator2target_buffer; - encoder_set_tail_index(tail_index); +static void encoder_handlers_slave_drain(uint8_t initiator2target_buffer_size, const void *initiator2target_buffer, uint8_t target2initiator_buffer_size, void *target2initiator_buffer) { + encoder_signal_queue_drain(); } // clang-format off @@ -264,7 +280,7 @@ static void encoder_handlers_slave_reset(uint8_t initiator2target_buffer_size, c # define TRANSACTIONS_ENCODERS_REGISTRATIONS \ [GET_ENCODERS_CHECKSUM] = trans_target2initiator_initializer(encoders.checksum), \ [GET_ENCODERS_DATA] = trans_target2initiator_initializer(encoders.events), \ - [PUT_ENCODER_TAIL] = trans_initiator2target_initializer_cb(encoders.events.tail, encoder_handlers_slave_reset), + [CMD_ENCODER_DRAIN] = trans_initiator2target_cb(encoder_handlers_slave_drain), // clang-format on #else // ENCODER_ENABLE From abf65049035976687dd677cb743c833fe2457c39 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun, 10 Mar 2024 10:40:11 -0700 Subject: [PATCH 23/36] kb-elmo AEK II USB: correct Configurator data (#23252) Correct the QMK Configurator / `qmk info -m` data. [chore] --- keyboards/kb_elmo/aek2_usb/info.json | 32 ++++++++++++++-------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/keyboards/kb_elmo/aek2_usb/info.json b/keyboards/kb_elmo/aek2_usb/info.json index 8a091a494c1..884390278d1 100644 --- a/keyboards/kb_elmo/aek2_usb/info.json +++ b/keyboards/kb_elmo/aek2_usb/info.json @@ -134,22 +134,22 @@ {"matrix": [7, 11], "x": 19, "y": 5}, {"matrix": [6, 10], "x": 20, "y": 5}, {"matrix": [6, 9], "x": 21, "y": 5}, - {"matrix": [5, 0], "x": 22, "y": 5, "h": 2}, - - {"matrix": [5, 1], "x": 0, "y": 6, "w": 1.5}, - {"matrix": [5, 2], "x": 1.5, "y": 6, "w": 1.25}, - {"matrix": [5, 5], "x": 2.75, "y": 6, "w": 1.5}, - {"matrix": [5, 10], "x": 4.25, "y": 6, "w": 6.5}, - {"matrix": [5, 11], "x": 10.75, "y": 6, "w": 1.5}, - {"matrix": [5, 13], "x": 12.25, "y": 6, "w": 1.25}, - {"matrix": [5, 7], "x": 13.5, "y": 6, "w": 1.5}, - - {"matrix": [5, 9], "x": 15.5, "y": 6}, - {"matrix": [5, 6], "x": 16.5, "y": 6}, - {"matrix": [7, 10], "x": 17.5, "y": 6}, - - {"matrix": [7, 9], "x": 19, "y": 6, "w": 2}, - {"matrix": [7, 8], "x": 21, "y": 6} + + {"matrix": [5, 0], "x": 0, "y": 6, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 6, "w": 1.25}, + {"matrix": [5, 2], "x": 2.75, "y": 6, "w": 1.5}, + {"matrix": [5, 5], "x": 4.25, "y": 6, "w": 6.5}, + {"matrix": [5, 10], "x": 10.75, "y": 6, "w": 1.5}, + {"matrix": [5, 11], "x": 12.25, "y": 6, "w": 1.25}, + {"matrix": [5, 13], "x": 13.5, "y": 6, "w": 1.5}, + + {"matrix": [5, 7], "x": 15.5, "y": 6}, + {"matrix": [5, 9], "x": 16.5, "y": 6}, + {"matrix": [5, 6], "x": 17.5, "y": 6}, + + {"matrix": [7, 10], "x": 19, "y": 6, "w": 2}, + {"matrix": [7, 9], "x": 21, "y": 6}, + {"matrix": [7, 8], "x": 22, "y": 5, "h": 2} ] } } From ae38bdd5dc720e307266ba4cedd92933069024d8 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 12 Mar 2024 04:28:02 +0000 Subject: [PATCH 24/36] Flag LAYOUT macros still defined in .h files (#23260) --- lib/python/qmk/info.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/python/qmk/info.py b/lib/python/qmk/info.py index 13588abdb85..815b8514742 100644 --- a/lib/python/qmk/info.py +++ b/lib/python/qmk/info.py @@ -78,7 +78,7 @@ def _find_invalid_encoder_index(info_data): return ret -def _validate_layouts(keyboard, info_data): +def _validate_layouts(keyboard, info_data): # noqa C901 """Non schema checks """ col_num = info_data.get('matrix_size', {}).get('cols', 0) @@ -92,6 +92,11 @@ def _validate_layouts(keyboard, info_data): if len(layouts) == 0 or all(not layout.get('json_layout', False) for layout in layouts.values()): _log_error(info_data, 'No LAYOUTs defined! Need at least one layout defined in info.json.') + # Make sure all layouts are DD + for layout_name, layout_data in layouts.items(): + if layout_data.get('c_macro', False): + _log_error(info_data, f'{layout_name}: Layout macro should not be defined within ".h" files.') + # Make sure all matrix values are in bounds for layout_name, layout_data in layouts.items(): for index, key_data in enumerate(layout_data['layout']): From 654dc267db5c34d5b9beb49c21966f08ebe358c2 Mon Sep 17 00:00:00 2001 From: Allie <25503691+GalaxyAllie@users.noreply.github.com> Date: Tue, 12 Mar 2024 17:28:20 +0000 Subject: [PATCH 25/36] Fix Magicforce MF17 RGB matrix (#23263) --- keyboards/magic_force/mf17/info.json | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/keyboards/magic_force/mf17/info.json b/keyboards/magic_force/mf17/info.json index 2619c5f8b41..705318e71e0 100644 --- a/keyboards/magic_force/mf17/info.json +++ b/keyboards/magic_force/mf17/info.json @@ -74,23 +74,23 @@ }, "driver": "ws2812", "layout": [ - {"flags": 1, "matrix": [0, 0], "x": 0, "y": 0}, - {"flags": 1, "matrix": [0, 1], "x": 75, "y": 0}, - {"flags": 1, "matrix": [0, 2], "x": 150, "y": 0}, - {"flags": 1, "matrix": [0, 3], "x": 224, "y": 0}, - {"flags": 1, "matrix": [1, 0], "x": 0, "y": 16}, - {"flags": 1, "matrix": [1, 1], "x": 75, "y": 16}, - {"flags": 1, "matrix": [1, 2], "x": 150, "y": 16}, + {"flags": 1, "matrix": [4, 1], "x": 37, "y": 64}, + {"flags": 1, "matrix": [4, 2], "x": 150, "y": 64}, + {"flags": 1, "matrix": [4, 3], "x": 224, "y": 56}, + {"flags": 1, "matrix": [3, 0], "x": 0, "y": 48}, + {"flags": 1, "matrix": [3, 1], "x": 75, "y": 48}, + {"flags": 1, "matrix": [3, 2], "x": 150, "y": 48}, {"flags": 1, "matrix": [2, 0], "x": 0, "y": 32}, {"flags": 1, "matrix": [2, 1], "x": 75, "y": 32}, {"flags": 1, "matrix": [2, 2], "x": 150, "y": 32}, {"flags": 1, "matrix": [2, 3], "x": 224, "y": 24}, - {"flags": 1, "matrix": [3, 0], "x": 0, "y": 48}, - {"flags": 1, "matrix": [3, 1], "x": 75, "y": 48}, - {"flags": 1, "matrix": [3, 2], "x": 150, "y": 48}, - {"flags": 1, "matrix": [4, 0], "x": 32, "y": 64}, - {"flags": 1, "matrix": [4, 1], "x": 150, "y": 64}, - {"flags": 1, "matrix": [4, 2], "x": 224, "y": 64} + {"flags": 1, "matrix": [1, 0], "x": 0, "y": 16}, + {"flags": 1, "matrix": [1, 1], "x": 75, "y": 16}, + {"flags": 1, "matrix": [1, 2], "x": 150, "y": 16}, + {"flags": 1, "matrix": [0, 0], "x": 0, "y": 0}, + {"flags": 1, "matrix": [0, 1], "x": 75, "y": 0}, + {"flags": 1, "matrix": [0, 2], "x": 150, "y": 0}, + {"flags": 1, "matrix": [0, 3], "x": 224, "y": 0} ], "max_brightness": 180, "sleep": true From 7cbbcdc5d41ca0bf00dff330131c3f68f8817af3 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue, 12 Mar 2024 15:13:37 -0700 Subject: [PATCH 26/36] KBDfans KBD75 Layout Additions (#23234) --- keyboards/kbdfans/kbd75/readme.md | 10 +- keyboards/kbdfans/kbd75/rev1/info.json | 603 +++++++++++++++++- .../kbdfans/kbd75/rev1/matrix_diagram.md | 32 + keyboards/kbdfans/kbd75/rev2/info.json | 603 +++++++++++++++++- .../kbdfans/kbd75/rev2/matrix_diagram.md | 35 + 5 files changed, 1235 insertions(+), 48 deletions(-) create mode 100644 keyboards/kbdfans/kbd75/rev1/matrix_diagram.md create mode 100644 keyboards/kbdfans/kbd75/rev2/matrix_diagram.md diff --git a/keyboards/kbdfans/kbd75/readme.md b/keyboards/kbdfans/kbd75/readme.md index 60e71fdc943..834a70ce813 100644 --- a/keyboards/kbdfans/kbd75/readme.md +++ b/keyboards/kbdfans/kbd75/readme.md @@ -1,20 +1,18 @@ # KBD75 -The KBD75 was sold through various rounds, with various PCB changes between them. +The KBD75 was sold through various rounds, with various PCB changes between them. * **Round 1 (2017)**: Black PCB - Bootmapper Client, atmega32a MCU (Use [Winkeyless.kr B.mini](../../winkeyless/bmini/) firmware) * **Round 2 (2018)**: White PCB - Bootmapper Client, atmega32a MCU (Use [ymdk/ymd75/rev1](../../ymdk/ymd75/rev1/) firmware) -* **Round 3-5 (2018)**: White PCB - QMK Firmware, atmega32u4 MCU (Use KBD75 rev1 or rev2(without numpad support)) +* **Round 3-5 (2018)**: White PCB - QMK Firmware, atmega32u4 MCU (Use KBD75 rev1 or rev2(without numpad support)) * **Round 6 (2019)**: White PCB with USB C - QMK Firmware, atmega32u4 MCU (Use KBD75 rev1 or rev2(with numpad support)) * **V2 (2019-)**: Same as **Round 6** (above). -**Firmware files are SPECIFIC to each board. Firmware files from one, will not work on the other.** +**Firmware files are SPECIFIC to each board. Firmware files from one, will not work on the others.** * Keyboard Maintainer: [The QMK Community](https://github.com/qmk) * Hardware Supported: KBD75 PCB [rev1](./rev1) and [rev2](./rev2) -* Hardware Availability: - * [KBD75 rev2 Kit – KBDfans.com](https://kbdfans.com/collections/75-diy-kit/products/kbd75v2-custom-keyboard-diy-kit) - * [KBD75 rev2 PCB – KBDfans.com](https://kbdfans.com/collections/pcb/products/kbdfans-75-pcb-75) +* Hardware Availability: no longer available Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/kbdfans/kbd75/rev1/info.json b/keyboards/kbdfans/kbd75/rev1/info.json index d9d149f1e1a..efbfbe60ddc 100644 --- a/keyboards/kbdfans/kbd75/rev1/info.json +++ b/keyboards/kbdfans/kbd75/rev1/info.json @@ -239,7 +239,7 @@ {"matrix": [5, 15], "x": 15, "y": 5} ] }, - "LAYOUT_75_iso": { + "LAYOUT_75_ansi_split_bs": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -271,7 +271,8 @@ {"matrix": [1, 10], "x": 10, "y": 1}, {"matrix": [1, 11], "x": 11, "y": 1}, {"matrix": [1, 12], "x": 12, "y": 1}, - {"matrix": [1, 14], "x": 13, "y": 1, "w": 2}, + {"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, "w": 1.5}, @@ -287,6 +288,7 @@ {"matrix": [2, 11], "x": 10.5, "y": 2}, {"matrix": [2, 12], "x": 11.5, "y": 2}, {"matrix": [2, 13], "x": 12.5, "y": 2}, + {"matrix": [2, 14], "x": 13.5, "y": 2, "w": 1.5}, {"matrix": [2, 15], "x": 15, "y": 2}, {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, @@ -301,12 +303,10 @@ {"matrix": [3, 10], "x": 9.75, "y": 3}, {"matrix": [3, 11], "x": 10.75, "y": 3}, {"matrix": [3, 12], "x": 11.75, "y": 3}, - {"matrix": [2, 14], "x": 12.75, "y": 3}, - {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, + {"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25}, {"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}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25}, {"matrix": [4, 2], "x": 2.25, "y": 4}, {"matrix": [4, 3], "x": 3.25, "y": 4}, {"matrix": [4, 4], "x": 4.25, "y": 4}, @@ -333,6 +333,191 @@ {"matrix": [5, 15], "x": 15, "y": 5} ] }, + "LAYOUT_75_ansi_rwkl": { + "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}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [1, 6], "x": 6, "y": 1}, + {"matrix": [1, 7], "x": 7, "y": 1}, + {"matrix": [1, 8], "x": 8, "y": 1}, + {"matrix": [1, 9], "x": 9, "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, 14], "x": 13, "y": 1, "w": 2}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [2, 2], "x": 1.5, "y": 2}, + {"matrix": [2, 3], "x": 2.5, "y": 2}, + {"matrix": [2, 4], "x": 3.5, "y": 2}, + {"matrix": [2, 5], "x": 4.5, "y": 2}, + {"matrix": [2, 6], "x": 5.5, "y": 2}, + {"matrix": [2, 7], "x": 6.5, "y": 2}, + {"matrix": [2, 8], "x": 7.5, "y": 2}, + {"matrix": [2, 9], "x": 8.5, "y": 2}, + {"matrix": [2, 10], "x": 9.5, "y": 2}, + {"matrix": [2, 11], "x": 10.5, "y": 2}, + {"matrix": [2, 12], "x": 11.5, "y": 2}, + {"matrix": [2, 13], "x": 12.5, "y": 2}, + {"matrix": [2, 14], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [3, 2], "x": 1.75, "y": 3}, + {"matrix": [3, 3], "x": 2.75, "y": 3}, + {"matrix": [3, 4], "x": 3.75, "y": 3}, + {"matrix": [3, 5], "x": 4.75, "y": 3}, + {"matrix": [3, 6], "x": 5.75, "y": 3}, + {"matrix": [3, 7], "x": 6.75, "y": 3}, + {"matrix": [3, 8], "x": 7.75, "y": 3}, + {"matrix": [3, 9], "x": 8.75, "y": 3}, + {"matrix": [3, 10], "x": 9.75, "y": 3}, + {"matrix": [3, 11], "x": 10.75, "y": 3}, + {"matrix": [3, 12], "x": 11.75, "y": 3}, + {"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4}, + {"matrix": [4, 3], "x": 3.25, "y": 4}, + {"matrix": [4, 4], "x": 4.25, "y": 4}, + {"matrix": [4, 5], "x": 5.25, "y": 4}, + {"matrix": [4, 6], "x": 6.25, "y": 4}, + {"matrix": [4, 7], "x": 7.25, "y": 4}, + {"matrix": [4, 8], "x": 8.25, "y": 4}, + {"matrix": [4, 9], "x": 9.25, "y": 4}, + {"matrix": [4, 10], "x": 10.25, "y": 4}, + {"matrix": [4, 11], "x": 11.25, "y": 4}, + {"matrix": [4, 13], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4}, + + {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [5, 3], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5}, + {"matrix": [5, 12], "x": 11.5, "y": 5, "w": 1.5}, + {"matrix": [5, 13], "x": 13, "y": 5}, + {"matrix": [5, 14], "x": 14, "y": 5}, + {"matrix": [5, 15], "x": 15, "y": 5} + ] + }, + "LAYOUT_75_ansi_rwkl_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}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [1, 6], "x": 6, "y": 1}, + {"matrix": [1, 7], "x": 7, "y": 1}, + {"matrix": [1, 8], "x": 8, "y": 1}, + {"matrix": [1, 9], "x": 9, "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, "w": 1.5}, + {"matrix": [2, 2], "x": 1.5, "y": 2}, + {"matrix": [2, 3], "x": 2.5, "y": 2}, + {"matrix": [2, 4], "x": 3.5, "y": 2}, + {"matrix": [2, 5], "x": 4.5, "y": 2}, + {"matrix": [2, 6], "x": 5.5, "y": 2}, + {"matrix": [2, 7], "x": 6.5, "y": 2}, + {"matrix": [2, 8], "x": 7.5, "y": 2}, + {"matrix": [2, 9], "x": 8.5, "y": 2}, + {"matrix": [2, 10], "x": 9.5, "y": 2}, + {"matrix": [2, 11], "x": 10.5, "y": 2}, + {"matrix": [2, 12], "x": 11.5, "y": 2}, + {"matrix": [2, 13], "x": 12.5, "y": 2}, + {"matrix": [2, 14], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [3, 2], "x": 1.75, "y": 3}, + {"matrix": [3, 3], "x": 2.75, "y": 3}, + {"matrix": [3, 4], "x": 3.75, "y": 3}, + {"matrix": [3, 5], "x": 4.75, "y": 3}, + {"matrix": [3, 6], "x": 5.75, "y": 3}, + {"matrix": [3, 7], "x": 6.75, "y": 3}, + {"matrix": [3, 8], "x": 7.75, "y": 3}, + {"matrix": [3, 9], "x": 8.75, "y": 3}, + {"matrix": [3, 10], "x": 9.75, "y": 3}, + {"matrix": [3, 11], "x": 10.75, "y": 3}, + {"matrix": [3, 12], "x": 11.75, "y": 3}, + {"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4}, + {"matrix": [4, 3], "x": 3.25, "y": 4}, + {"matrix": [4, 4], "x": 4.25, "y": 4}, + {"matrix": [4, 5], "x": 5.25, "y": 4}, + {"matrix": [4, 6], "x": 6.25, "y": 4}, + {"matrix": [4, 7], "x": 7.25, "y": 4}, + {"matrix": [4, 8], "x": 8.25, "y": 4}, + {"matrix": [4, 9], "x": 9.25, "y": 4}, + {"matrix": [4, 10], "x": 10.25, "y": 4}, + {"matrix": [4, 11], "x": 11.25, "y": 4}, + {"matrix": [4, 13], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4}, + + {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [5, 3], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5}, + {"matrix": [5, 12], "x": 11.5, "y": 5, "w": 1.5}, + {"matrix": [5, 13], "x": 13, "y": 5}, + {"matrix": [5, 14], "x": 14, "y": 5}, + {"matrix": [5, 15], "x": 15, "y": 5} + ] + }, "LAYOUT_75_ansi_wkl": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, @@ -424,7 +609,7 @@ {"matrix": [5, 15], "x": 15, "y": 5} ] }, - "LAYOUT_75_iso_wkl": { + "LAYOUT_75_ansi_wkl_split_bs": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -456,7 +641,8 @@ {"matrix": [1, 10], "x": 10, "y": 1}, {"matrix": [1, 11], "x": 11, "y": 1}, {"matrix": [1, 12], "x": 12, "y": 1}, - {"matrix": [1, 14], "x": 13, "y": 1, "w": 2}, + {"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, "w": 1.5}, @@ -472,7 +658,7 @@ {"matrix": [2, 11], "x": 10.5, "y": 2}, {"matrix": [2, 12], "x": 11.5, "y": 2}, {"matrix": [2, 13], "x": 12.5, "y": 2}, - {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, + {"matrix": [2, 14], "x": 13.5, "y": 2, "w": 1.5}, {"matrix": [2, 15], "x": 15, "y": 2}, {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, @@ -487,11 +673,10 @@ {"matrix": [3, 10], "x": 9.75, "y": 3}, {"matrix": [3, 11], "x": 10.75, "y": 3}, {"matrix": [3, 12], "x": 11.75, "y": 3}, - {"matrix": [2, 14], "x": 12.75, "y": 3}, + {"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25}, {"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}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25}, {"matrix": [4, 2], "x": 2.25, "y": 4}, {"matrix": [4, 3], "x": 3.25, "y": 4}, {"matrix": [4, 4], "x": 4.25, "y": 4}, @@ -516,7 +701,7 @@ {"matrix": [5, 15], "x": 15, "y": 5} ] }, - "LAYOUT_75_ansi_rwkl": { + "LAYOUT_75_iso": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -564,7 +749,6 @@ {"matrix": [2, 11], "x": 10.5, "y": 2}, {"matrix": [2, 12], "x": 11.5, "y": 2}, {"matrix": [2, 13], "x": 12.5, "y": 2}, - {"matrix": [2, 14], "x": 13.5, "y": 2, "w": 1.5}, {"matrix": [2, 15], "x": 15, "y": 2}, {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, @@ -579,10 +763,12 @@ {"matrix": [3, 10], "x": 9.75, "y": 3}, {"matrix": [3, 11], "x": 10.75, "y": 3}, {"matrix": [3, 12], "x": 11.75, "y": 3}, - {"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [2, 14], "x": 12.75, "y": 3}, + {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, {"matrix": [3, 15], "x": 15, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4}, {"matrix": [4, 2], "x": 2.25, "y": 4}, {"matrix": [4, 3], "x": 3.25, "y": 4}, {"matrix": [4, 4], "x": 4.25, "y": 4}, @@ -601,14 +787,15 @@ {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, {"matrix": [5, 3], "x": 2.5, "y": 5, "w": 1.25}, {"matrix": [5, 6], "x": 3.75, "y": 5, "w": 6.25}, - {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5}, - {"matrix": [5, 12], "x": 11.5, "y": 5, "w": 1.5}, + {"matrix": [5, 10], "x": 10, "y": 5}, + {"matrix": [5, 11], "x": 11, "y": 5}, + {"matrix": [5, 12], "x": 12, "y": 5}, {"matrix": [5, 13], "x": 13, "y": 5}, {"matrix": [5, 14], "x": 14, "y": 5}, {"matrix": [5, 15], "x": 15, "y": 5} ] }, - "LAYOUT_75_iso_rwkl": { + "LAYOUT_75_iso_split_bs": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -640,7 +827,8 @@ {"matrix": [1, 10], "x": 10, "y": 1}, {"matrix": [1, 11], "x": 11, "y": 1}, {"matrix": [1, 12], "x": 12, "y": 1}, - {"matrix": [1, 14], "x": 13, "y": 1, "w": 2}, + {"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, "w": 1.5}, @@ -656,7 +844,6 @@ {"matrix": [2, 11], "x": 10.5, "y": 2}, {"matrix": [2, 12], "x": 11.5, "y": 2}, {"matrix": [2, 13], "x": 12.5, "y": 2}, - {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, {"matrix": [2, 15], "x": 15, "y": 2}, {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, @@ -672,6 +859,7 @@ {"matrix": [3, 11], "x": 10.75, "y": 3}, {"matrix": [3, 12], "x": 11.75, "y": 3}, {"matrix": [2, 14], "x": 12.75, "y": 3}, + {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, {"matrix": [3, 15], "x": 15, "y": 3}, {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, @@ -694,6 +882,379 @@ {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, {"matrix": [5, 3], "x": 2.5, "y": 5, "w": 1.25}, {"matrix": [5, 6], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5}, + {"matrix": [5, 11], "x": 11, "y": 5}, + {"matrix": [5, 12], "x": 12, "y": 5}, + {"matrix": [5, 13], "x": 13, "y": 5}, + {"matrix": [5, 14], "x": 14, "y": 5}, + {"matrix": [5, 15], "x": 15, "y": 5} + ] + }, + "LAYOUT_75_iso_rwkl": { + "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}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [1, 6], "x": 6, "y": 1}, + {"matrix": [1, 7], "x": 7, "y": 1}, + {"matrix": [1, 8], "x": 8, "y": 1}, + {"matrix": [1, 9], "x": 9, "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, 14], "x": 13, "y": 1, "w": 2}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [2, 2], "x": 1.5, "y": 2}, + {"matrix": [2, 3], "x": 2.5, "y": 2}, + {"matrix": [2, 4], "x": 3.5, "y": 2}, + {"matrix": [2, 5], "x": 4.5, "y": 2}, + {"matrix": [2, 6], "x": 5.5, "y": 2}, + {"matrix": [2, 7], "x": 6.5, "y": 2}, + {"matrix": [2, 8], "x": 7.5, "y": 2}, + {"matrix": [2, 9], "x": 8.5, "y": 2}, + {"matrix": [2, 10], "x": 9.5, "y": 2}, + {"matrix": [2, 11], "x": 10.5, "y": 2}, + {"matrix": [2, 12], "x": 11.5, "y": 2}, + {"matrix": [2, 13], "x": 12.5, "y": 2}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [3, 2], "x": 1.75, "y": 3}, + {"matrix": [3, 3], "x": 2.75, "y": 3}, + {"matrix": [3, 4], "x": 3.75, "y": 3}, + {"matrix": [3, 5], "x": 4.75, "y": 3}, + {"matrix": [3, 6], "x": 5.75, "y": 3}, + {"matrix": [3, 7], "x": 6.75, "y": 3}, + {"matrix": [3, 8], "x": 7.75, "y": 3}, + {"matrix": [3, 9], "x": 8.75, "y": 3}, + {"matrix": [3, 10], "x": 9.75, "y": 3}, + {"matrix": [3, 11], "x": 10.75, "y": 3}, + {"matrix": [3, 12], "x": 11.75, "y": 3}, + {"matrix": [2, 14], "x": 12.75, "y": 3}, + {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, + {"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}, + {"matrix": [4, 2], "x": 2.25, "y": 4}, + {"matrix": [4, 3], "x": 3.25, "y": 4}, + {"matrix": [4, 4], "x": 4.25, "y": 4}, + {"matrix": [4, 5], "x": 5.25, "y": 4}, + {"matrix": [4, 6], "x": 6.25, "y": 4}, + {"matrix": [4, 7], "x": 7.25, "y": 4}, + {"matrix": [4, 8], "x": 8.25, "y": 4}, + {"matrix": [4, 9], "x": 9.25, "y": 4}, + {"matrix": [4, 10], "x": 10.25, "y": 4}, + {"matrix": [4, 11], "x": 11.25, "y": 4}, + {"matrix": [4, 13], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4}, + + {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [5, 3], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5}, + {"matrix": [5, 12], "x": 11.5, "y": 5, "w": 1.5}, + {"matrix": [5, 13], "x": 13, "y": 5}, + {"matrix": [5, 14], "x": 14, "y": 5}, + {"matrix": [5, 15], "x": 15, "y": 5} + ] + }, + "LAYOUT_75_iso_rwkl_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}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [1, 6], "x": 6, "y": 1}, + {"matrix": [1, 7], "x": 7, "y": 1}, + {"matrix": [1, 8], "x": 8, "y": 1}, + {"matrix": [1, 9], "x": 9, "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, "w": 1.5}, + {"matrix": [2, 2], "x": 1.5, "y": 2}, + {"matrix": [2, 3], "x": 2.5, "y": 2}, + {"matrix": [2, 4], "x": 3.5, "y": 2}, + {"matrix": [2, 5], "x": 4.5, "y": 2}, + {"matrix": [2, 6], "x": 5.5, "y": 2}, + {"matrix": [2, 7], "x": 6.5, "y": 2}, + {"matrix": [2, 8], "x": 7.5, "y": 2}, + {"matrix": [2, 9], "x": 8.5, "y": 2}, + {"matrix": [2, 10], "x": 9.5, "y": 2}, + {"matrix": [2, 11], "x": 10.5, "y": 2}, + {"matrix": [2, 12], "x": 11.5, "y": 2}, + {"matrix": [2, 13], "x": 12.5, "y": 2}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [3, 2], "x": 1.75, "y": 3}, + {"matrix": [3, 3], "x": 2.75, "y": 3}, + {"matrix": [3, 4], "x": 3.75, "y": 3}, + {"matrix": [3, 5], "x": 4.75, "y": 3}, + {"matrix": [3, 6], "x": 5.75, "y": 3}, + {"matrix": [3, 7], "x": 6.75, "y": 3}, + {"matrix": [3, 8], "x": 7.75, "y": 3}, + {"matrix": [3, 9], "x": 8.75, "y": 3}, + {"matrix": [3, 10], "x": 9.75, "y": 3}, + {"matrix": [3, 11], "x": 10.75, "y": 3}, + {"matrix": [3, 12], "x": 11.75, "y": 3}, + {"matrix": [2, 14], "x": 12.75, "y": 3}, + {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, + {"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}, + {"matrix": [4, 2], "x": 2.25, "y": 4}, + {"matrix": [4, 3], "x": 3.25, "y": 4}, + {"matrix": [4, 4], "x": 4.25, "y": 4}, + {"matrix": [4, 5], "x": 5.25, "y": 4}, + {"matrix": [4, 6], "x": 6.25, "y": 4}, + {"matrix": [4, 7], "x": 7.25, "y": 4}, + {"matrix": [4, 8], "x": 8.25, "y": 4}, + {"matrix": [4, 9], "x": 9.25, "y": 4}, + {"matrix": [4, 10], "x": 10.25, "y": 4}, + {"matrix": [4, 11], "x": 11.25, "y": 4}, + {"matrix": [4, 13], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4}, + + {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [5, 3], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5}, + {"matrix": [5, 12], "x": 11.5, "y": 5, "w": 1.5}, + {"matrix": [5, 13], "x": 13, "y": 5}, + {"matrix": [5, 14], "x": 14, "y": 5}, + {"matrix": [5, 15], "x": 15, "y": 5} + ] + }, + "LAYOUT_75_iso_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, 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, 6], "x": 6, "y": 1}, + {"matrix": [1, 7], "x": 7, "y": 1}, + {"matrix": [1, 8], "x": 8, "y": 1}, + {"matrix": [1, 9], "x": 9, "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, 14], "x": 13, "y": 1, "w": 2}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [2, 2], "x": 1.5, "y": 2}, + {"matrix": [2, 3], "x": 2.5, "y": 2}, + {"matrix": [2, 4], "x": 3.5, "y": 2}, + {"matrix": [2, 5], "x": 4.5, "y": 2}, + {"matrix": [2, 6], "x": 5.5, "y": 2}, + {"matrix": [2, 7], "x": 6.5, "y": 2}, + {"matrix": [2, 8], "x": 7.5, "y": 2}, + {"matrix": [2, 9], "x": 8.5, "y": 2}, + {"matrix": [2, 10], "x": 9.5, "y": 2}, + {"matrix": [2, 11], "x": 10.5, "y": 2}, + {"matrix": [2, 12], "x": 11.5, "y": 2}, + {"matrix": [2, 13], "x": 12.5, "y": 2}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [3, 2], "x": 1.75, "y": 3}, + {"matrix": [3, 3], "x": 2.75, "y": 3}, + {"matrix": [3, 4], "x": 3.75, "y": 3}, + {"matrix": [3, 5], "x": 4.75, "y": 3}, + {"matrix": [3, 6], "x": 5.75, "y": 3}, + {"matrix": [3, 7], "x": 6.75, "y": 3}, + {"matrix": [3, 8], "x": 7.75, "y": 3}, + {"matrix": [3, 9], "x": 8.75, "y": 3}, + {"matrix": [3, 10], "x": 9.75, "y": 3}, + {"matrix": [3, 11], "x": 10.75, "y": 3}, + {"matrix": [3, 12], "x": 11.75, "y": 3}, + {"matrix": [2, 14], "x": 12.75, "y": 3}, + {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, + {"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}, + {"matrix": [4, 2], "x": 2.25, "y": 4}, + {"matrix": [4, 3], "x": 3.25, "y": 4}, + {"matrix": [4, 4], "x": 4.25, "y": 4}, + {"matrix": [4, 5], "x": 5.25, "y": 4}, + {"matrix": [4, 6], "x": 6.25, "y": 4}, + {"matrix": [4, 7], "x": 7.25, "y": 4}, + {"matrix": [4, 8], "x": 8.25, "y": 4}, + {"matrix": [4, 9], "x": 9.25, "y": 4}, + {"matrix": [4, 10], "x": 10.25, "y": 4}, + {"matrix": [4, 11], "x": 11.25, "y": 4}, + {"matrix": [4, 13], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4}, + + {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5, "w": 1.5}, + {"matrix": [5, 6], "x": 3, "y": 5, "w": 7}, + {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5}, + {"matrix": [5, 12], "x": 11.5, "y": 5, "w": 1.5}, + {"matrix": [5, 13], "x": 13, "y": 5}, + {"matrix": [5, 14], "x": 14, "y": 5}, + {"matrix": [5, 15], "x": 15, "y": 5} + ] + }, + "LAYOUT_75_iso_wkl_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}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [1, 6], "x": 6, "y": 1}, + {"matrix": [1, 7], "x": 7, "y": 1}, + {"matrix": [1, 8], "x": 8, "y": 1}, + {"matrix": [1, 9], "x": 9, "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, "w": 1.5}, + {"matrix": [2, 2], "x": 1.5, "y": 2}, + {"matrix": [2, 3], "x": 2.5, "y": 2}, + {"matrix": [2, 4], "x": 3.5, "y": 2}, + {"matrix": [2, 5], "x": 4.5, "y": 2}, + {"matrix": [2, 6], "x": 5.5, "y": 2}, + {"matrix": [2, 7], "x": 6.5, "y": 2}, + {"matrix": [2, 8], "x": 7.5, "y": 2}, + {"matrix": [2, 9], "x": 8.5, "y": 2}, + {"matrix": [2, 10], "x": 9.5, "y": 2}, + {"matrix": [2, 11], "x": 10.5, "y": 2}, + {"matrix": [2, 12], "x": 11.5, "y": 2}, + {"matrix": [2, 13], "x": 12.5, "y": 2}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [3, 2], "x": 1.75, "y": 3}, + {"matrix": [3, 3], "x": 2.75, "y": 3}, + {"matrix": [3, 4], "x": 3.75, "y": 3}, + {"matrix": [3, 5], "x": 4.75, "y": 3}, + {"matrix": [3, 6], "x": 5.75, "y": 3}, + {"matrix": [3, 7], "x": 6.75, "y": 3}, + {"matrix": [3, 8], "x": 7.75, "y": 3}, + {"matrix": [3, 9], "x": 8.75, "y": 3}, + {"matrix": [3, 10], "x": 9.75, "y": 3}, + {"matrix": [3, 11], "x": 10.75, "y": 3}, + {"matrix": [3, 12], "x": 11.75, "y": 3}, + {"matrix": [2, 14], "x": 12.75, "y": 3}, + {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, + {"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}, + {"matrix": [4, 2], "x": 2.25, "y": 4}, + {"matrix": [4, 3], "x": 3.25, "y": 4}, + {"matrix": [4, 4], "x": 4.25, "y": 4}, + {"matrix": [4, 5], "x": 5.25, "y": 4}, + {"matrix": [4, 6], "x": 6.25, "y": 4}, + {"matrix": [4, 7], "x": 7.25, "y": 4}, + {"matrix": [4, 8], "x": 8.25, "y": 4}, + {"matrix": [4, 9], "x": 9.25, "y": 4}, + {"matrix": [4, 10], "x": 10.25, "y": 4}, + {"matrix": [4, 11], "x": 11.25, "y": 4}, + {"matrix": [4, 13], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4}, + + {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5, "w": 1.5}, + {"matrix": [5, 6], "x": 3, "y": 5, "w": 7}, {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5}, {"matrix": [5, 12], "x": 11.5, "y": 5, "w": 1.5}, {"matrix": [5, 13], "x": 13, "y": 5}, diff --git a/keyboards/kbdfans/kbd75/rev1/matrix_diagram.md b/keyboards/kbdfans/kbd75/rev1/matrix_diagram.md new file mode 100644 index 00000000000..82bc199b538 --- /dev/null +++ b/keyboards/kbdfans/kbd75/rev1/matrix_diagram.md @@ -0,0 +1,32 @@ +# Matrix Diagram for KBDfans KBD75 rev1 + +``` +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │ +├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ ┌───────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │1F │ │1E │ 2u Backspace +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ └─┬─────┤ +│20 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │2E │2F │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐3D │ ISO Enter +│30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3F │ │2E │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘ +│40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4D │4E │4F │ +├────┼───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤ +│50 │51 │53 │54 │56 │58 │5A │5B │5C │5D │5E │5F │ +└────┴────┴────┴────────┴────┴──────────┴───┴───┴───┴───┴───┴───┘ +┌────────┐ +│40 │ 2.25u LShift +└────────┘ +┌────┬────┬────┬────────────────────────┬───┬───┬───┐ +│50 │51 │53 │56 │5A │5B │5C │ Standard +└────┴────┴────┴────────────────────────┴───┴───┴───┘ +┌────┬────┬────┬────────────────────────┬─────┬─────┐ +│50 │51 │53 │56 │5A │5C │ RWKL +└────┴────┴────┴────────────────────────┴─────┴─────┘ +┌─────┬─────┬───────────────────────────┬───┬───┬───┐ +│50 │51 │56 │5A │5B │5C │ LWKL +└─────┴─────┴───────────────────────────┴───┴───┴───┘ +┌─────┬─────┬───────────────────────────┬─────┬─────┐ +│50 │51 │56 │5A │5C │ WKL +└─────┴─────┴───────────────────────────┴─────┴─────┘ +``` diff --git a/keyboards/kbdfans/kbd75/rev2/info.json b/keyboards/kbdfans/kbd75/rev2/info.json index 7cf43b93a76..12a1737eadd 100644 --- a/keyboards/kbdfans/kbd75/rev2/info.json +++ b/keyboards/kbdfans/kbd75/rev2/info.json @@ -239,7 +239,7 @@ {"matrix": [5, 15], "x": 15, "y": 5} ] }, - "LAYOUT_75_iso": { + "LAYOUT_75_ansi_split_bs": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -271,7 +271,8 @@ {"matrix": [1, 10], "x": 10, "y": 1}, {"matrix": [1, 11], "x": 11, "y": 1}, {"matrix": [1, 12], "x": 12, "y": 1}, - {"matrix": [1, 14], "x": 13, "y": 1, "w": 2}, + {"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, "w": 1.5}, @@ -287,6 +288,7 @@ {"matrix": [2, 11], "x": 10.5, "y": 2}, {"matrix": [2, 12], "x": 11.5, "y": 2}, {"matrix": [2, 13], "x": 12.5, "y": 2}, + {"matrix": [2, 14], "x": 13.5, "y": 2, "w": 1.5}, {"matrix": [2, 15], "x": 15, "y": 2}, {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, @@ -301,12 +303,10 @@ {"matrix": [3, 10], "x": 9.75, "y": 3}, {"matrix": [3, 11], "x": 10.75, "y": 3}, {"matrix": [3, 12], "x": 11.75, "y": 3}, - {"matrix": [2, 14], "x": 12.75, "y": 3}, - {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, + {"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25}, {"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}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25}, {"matrix": [4, 2], "x": 2.25, "y": 4}, {"matrix": [4, 3], "x": 3.25, "y": 4}, {"matrix": [4, 4], "x": 4.25, "y": 4}, @@ -333,6 +333,191 @@ {"matrix": [5, 15], "x": 15, "y": 5} ] }, + "LAYOUT_75_ansi_rwkl": { + "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}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [1, 6], "x": 6, "y": 1}, + {"matrix": [1, 7], "x": 7, "y": 1}, + {"matrix": [1, 8], "x": 8, "y": 1}, + {"matrix": [1, 9], "x": 9, "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, 14], "x": 13, "y": 1, "w": 2}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [2, 2], "x": 1.5, "y": 2}, + {"matrix": [2, 3], "x": 2.5, "y": 2}, + {"matrix": [2, 4], "x": 3.5, "y": 2}, + {"matrix": [2, 5], "x": 4.5, "y": 2}, + {"matrix": [2, 6], "x": 5.5, "y": 2}, + {"matrix": [2, 7], "x": 6.5, "y": 2}, + {"matrix": [2, 8], "x": 7.5, "y": 2}, + {"matrix": [2, 9], "x": 8.5, "y": 2}, + {"matrix": [2, 10], "x": 9.5, "y": 2}, + {"matrix": [2, 11], "x": 10.5, "y": 2}, + {"matrix": [2, 12], "x": 11.5, "y": 2}, + {"matrix": [2, 13], "x": 12.5, "y": 2}, + {"matrix": [2, 14], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [3, 2], "x": 1.75, "y": 3}, + {"matrix": [3, 3], "x": 2.75, "y": 3}, + {"matrix": [3, 4], "x": 3.75, "y": 3}, + {"matrix": [3, 5], "x": 4.75, "y": 3}, + {"matrix": [3, 6], "x": 5.75, "y": 3}, + {"matrix": [3, 7], "x": 6.75, "y": 3}, + {"matrix": [3, 8], "x": 7.75, "y": 3}, + {"matrix": [3, 9], "x": 8.75, "y": 3}, + {"matrix": [3, 10], "x": 9.75, "y": 3}, + {"matrix": [3, 11], "x": 10.75, "y": 3}, + {"matrix": [3, 12], "x": 11.75, "y": 3}, + {"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4}, + {"matrix": [4, 3], "x": 3.25, "y": 4}, + {"matrix": [4, 4], "x": 4.25, "y": 4}, + {"matrix": [4, 5], "x": 5.25, "y": 4}, + {"matrix": [4, 6], "x": 6.25, "y": 4}, + {"matrix": [4, 7], "x": 7.25, "y": 4}, + {"matrix": [4, 8], "x": 8.25, "y": 4}, + {"matrix": [4, 9], "x": 9.25, "y": 4}, + {"matrix": [4, 10], "x": 10.25, "y": 4}, + {"matrix": [4, 11], "x": 11.25, "y": 4}, + {"matrix": [4, 13], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4}, + + {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [5, 3], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5}, + {"matrix": [5, 12], "x": 11.5, "y": 5, "w": 1.5}, + {"matrix": [5, 13], "x": 13, "y": 5}, + {"matrix": [5, 14], "x": 14, "y": 5}, + {"matrix": [5, 15], "x": 15, "y": 5} + ] + }, + "LAYOUT_75_ansi_rwkl_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}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [1, 6], "x": 6, "y": 1}, + {"matrix": [1, 7], "x": 7, "y": 1}, + {"matrix": [1, 8], "x": 8, "y": 1}, + {"matrix": [1, 9], "x": 9, "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, "w": 1.5}, + {"matrix": [2, 2], "x": 1.5, "y": 2}, + {"matrix": [2, 3], "x": 2.5, "y": 2}, + {"matrix": [2, 4], "x": 3.5, "y": 2}, + {"matrix": [2, 5], "x": 4.5, "y": 2}, + {"matrix": [2, 6], "x": 5.5, "y": 2}, + {"matrix": [2, 7], "x": 6.5, "y": 2}, + {"matrix": [2, 8], "x": 7.5, "y": 2}, + {"matrix": [2, 9], "x": 8.5, "y": 2}, + {"matrix": [2, 10], "x": 9.5, "y": 2}, + {"matrix": [2, 11], "x": 10.5, "y": 2}, + {"matrix": [2, 12], "x": 11.5, "y": 2}, + {"matrix": [2, 13], "x": 12.5, "y": 2}, + {"matrix": [2, 14], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [3, 2], "x": 1.75, "y": 3}, + {"matrix": [3, 3], "x": 2.75, "y": 3}, + {"matrix": [3, 4], "x": 3.75, "y": 3}, + {"matrix": [3, 5], "x": 4.75, "y": 3}, + {"matrix": [3, 6], "x": 5.75, "y": 3}, + {"matrix": [3, 7], "x": 6.75, "y": 3}, + {"matrix": [3, 8], "x": 7.75, "y": 3}, + {"matrix": [3, 9], "x": 8.75, "y": 3}, + {"matrix": [3, 10], "x": 9.75, "y": 3}, + {"matrix": [3, 11], "x": 10.75, "y": 3}, + {"matrix": [3, 12], "x": 11.75, "y": 3}, + {"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4}, + {"matrix": [4, 3], "x": 3.25, "y": 4}, + {"matrix": [4, 4], "x": 4.25, "y": 4}, + {"matrix": [4, 5], "x": 5.25, "y": 4}, + {"matrix": [4, 6], "x": 6.25, "y": 4}, + {"matrix": [4, 7], "x": 7.25, "y": 4}, + {"matrix": [4, 8], "x": 8.25, "y": 4}, + {"matrix": [4, 9], "x": 9.25, "y": 4}, + {"matrix": [4, 10], "x": 10.25, "y": 4}, + {"matrix": [4, 11], "x": 11.25, "y": 4}, + {"matrix": [4, 13], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4}, + + {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [5, 3], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5}, + {"matrix": [5, 12], "x": 11.5, "y": 5, "w": 1.5}, + {"matrix": [5, 13], "x": 13, "y": 5}, + {"matrix": [5, 14], "x": 14, "y": 5}, + {"matrix": [5, 15], "x": 15, "y": 5} + ] + }, "LAYOUT_75_ansi_wkl": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, @@ -424,7 +609,7 @@ {"matrix": [5, 15], "x": 15, "y": 5} ] }, - "LAYOUT_75_iso_wkl": { + "LAYOUT_75_ansi_wkl_split_bs": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -456,7 +641,8 @@ {"matrix": [1, 10], "x": 10, "y": 1}, {"matrix": [1, 11], "x": 11, "y": 1}, {"matrix": [1, 12], "x": 12, "y": 1}, - {"matrix": [1, 14], "x": 13, "y": 1, "w": 2}, + {"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, "w": 1.5}, @@ -472,7 +658,7 @@ {"matrix": [2, 11], "x": 10.5, "y": 2}, {"matrix": [2, 12], "x": 11.5, "y": 2}, {"matrix": [2, 13], "x": 12.5, "y": 2}, - {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, + {"matrix": [2, 14], "x": 13.5, "y": 2, "w": 1.5}, {"matrix": [2, 15], "x": 15, "y": 2}, {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, @@ -487,11 +673,10 @@ {"matrix": [3, 10], "x": 9.75, "y": 3}, {"matrix": [3, 11], "x": 10.75, "y": 3}, {"matrix": [3, 12], "x": 11.75, "y": 3}, - {"matrix": [2, 14], "x": 12.75, "y": 3}, + {"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25}, {"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}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25}, {"matrix": [4, 2], "x": 2.25, "y": 4}, {"matrix": [4, 3], "x": 3.25, "y": 4}, {"matrix": [4, 4], "x": 4.25, "y": 4}, @@ -516,7 +701,7 @@ {"matrix": [5, 15], "x": 15, "y": 5} ] }, - "LAYOUT_75_ansi_rwkl": { + "LAYOUT_75_iso": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -564,7 +749,6 @@ {"matrix": [2, 11], "x": 10.5, "y": 2}, {"matrix": [2, 12], "x": 11.5, "y": 2}, {"matrix": [2, 13], "x": 12.5, "y": 2}, - {"matrix": [2, 14], "x": 13.5, "y": 2, "w": 1.5}, {"matrix": [2, 15], "x": 15, "y": 2}, {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, @@ -579,10 +763,12 @@ {"matrix": [3, 10], "x": 9.75, "y": 3}, {"matrix": [3, 11], "x": 10.75, "y": 3}, {"matrix": [3, 12], "x": 11.75, "y": 3}, - {"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [2, 14], "x": 12.75, "y": 3}, + {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, {"matrix": [3, 15], "x": 15, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4}, {"matrix": [4, 2], "x": 2.25, "y": 4}, {"matrix": [4, 3], "x": 3.25, "y": 4}, {"matrix": [4, 4], "x": 4.25, "y": 4}, @@ -601,14 +787,15 @@ {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, {"matrix": [5, 3], "x": 2.5, "y": 5, "w": 1.25}, {"matrix": [5, 6], "x": 3.75, "y": 5, "w": 6.25}, - {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5}, - {"matrix": [5, 12], "x": 11.5, "y": 5, "w": 1.5}, + {"matrix": [5, 10], "x": 10, "y": 5}, + {"matrix": [5, 11], "x": 11, "y": 5}, + {"matrix": [5, 12], "x": 12, "y": 5}, {"matrix": [5, 13], "x": 13, "y": 5}, {"matrix": [5, 14], "x": 14, "y": 5}, {"matrix": [5, 15], "x": 15, "y": 5} ] }, - "LAYOUT_75_iso_rwkl": { + "LAYOUT_75_iso_split_bs": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -640,7 +827,8 @@ {"matrix": [1, 10], "x": 10, "y": 1}, {"matrix": [1, 11], "x": 11, "y": 1}, {"matrix": [1, 12], "x": 12, "y": 1}, - {"matrix": [1, 14], "x": 13, "y": 1, "w": 2}, + {"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, "w": 1.5}, @@ -656,7 +844,6 @@ {"matrix": [2, 11], "x": 10.5, "y": 2}, {"matrix": [2, 12], "x": 11.5, "y": 2}, {"matrix": [2, 13], "x": 12.5, "y": 2}, - {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, {"matrix": [2, 15], "x": 15, "y": 2}, {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, @@ -672,6 +859,7 @@ {"matrix": [3, 11], "x": 10.75, "y": 3}, {"matrix": [3, 12], "x": 11.75, "y": 3}, {"matrix": [2, 14], "x": 12.75, "y": 3}, + {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, {"matrix": [3, 15], "x": 15, "y": 3}, {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, @@ -694,6 +882,379 @@ {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, {"matrix": [5, 3], "x": 2.5, "y": 5, "w": 1.25}, {"matrix": [5, 6], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5}, + {"matrix": [5, 11], "x": 11, "y": 5}, + {"matrix": [5, 12], "x": 12, "y": 5}, + {"matrix": [5, 13], "x": 13, "y": 5}, + {"matrix": [5, 14], "x": 14, "y": 5}, + {"matrix": [5, 15], "x": 15, "y": 5} + ] + }, + "LAYOUT_75_iso_rwkl": { + "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}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [1, 6], "x": 6, "y": 1}, + {"matrix": [1, 7], "x": 7, "y": 1}, + {"matrix": [1, 8], "x": 8, "y": 1}, + {"matrix": [1, 9], "x": 9, "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, 14], "x": 13, "y": 1, "w": 2}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [2, 2], "x": 1.5, "y": 2}, + {"matrix": [2, 3], "x": 2.5, "y": 2}, + {"matrix": [2, 4], "x": 3.5, "y": 2}, + {"matrix": [2, 5], "x": 4.5, "y": 2}, + {"matrix": [2, 6], "x": 5.5, "y": 2}, + {"matrix": [2, 7], "x": 6.5, "y": 2}, + {"matrix": [2, 8], "x": 7.5, "y": 2}, + {"matrix": [2, 9], "x": 8.5, "y": 2}, + {"matrix": [2, 10], "x": 9.5, "y": 2}, + {"matrix": [2, 11], "x": 10.5, "y": 2}, + {"matrix": [2, 12], "x": 11.5, "y": 2}, + {"matrix": [2, 13], "x": 12.5, "y": 2}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [3, 2], "x": 1.75, "y": 3}, + {"matrix": [3, 3], "x": 2.75, "y": 3}, + {"matrix": [3, 4], "x": 3.75, "y": 3}, + {"matrix": [3, 5], "x": 4.75, "y": 3}, + {"matrix": [3, 6], "x": 5.75, "y": 3}, + {"matrix": [3, 7], "x": 6.75, "y": 3}, + {"matrix": [3, 8], "x": 7.75, "y": 3}, + {"matrix": [3, 9], "x": 8.75, "y": 3}, + {"matrix": [3, 10], "x": 9.75, "y": 3}, + {"matrix": [3, 11], "x": 10.75, "y": 3}, + {"matrix": [3, 12], "x": 11.75, "y": 3}, + {"matrix": [2, 14], "x": 12.75, "y": 3}, + {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, + {"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}, + {"matrix": [4, 2], "x": 2.25, "y": 4}, + {"matrix": [4, 3], "x": 3.25, "y": 4}, + {"matrix": [4, 4], "x": 4.25, "y": 4}, + {"matrix": [4, 5], "x": 5.25, "y": 4}, + {"matrix": [4, 6], "x": 6.25, "y": 4}, + {"matrix": [4, 7], "x": 7.25, "y": 4}, + {"matrix": [4, 8], "x": 8.25, "y": 4}, + {"matrix": [4, 9], "x": 9.25, "y": 4}, + {"matrix": [4, 10], "x": 10.25, "y": 4}, + {"matrix": [4, 11], "x": 11.25, "y": 4}, + {"matrix": [4, 13], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4}, + + {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [5, 3], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5}, + {"matrix": [5, 12], "x": 11.5, "y": 5, "w": 1.5}, + {"matrix": [5, 13], "x": 13, "y": 5}, + {"matrix": [5, 14], "x": 14, "y": 5}, + {"matrix": [5, 15], "x": 15, "y": 5} + ] + }, + "LAYOUT_75_iso_rwkl_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}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [1, 6], "x": 6, "y": 1}, + {"matrix": [1, 7], "x": 7, "y": 1}, + {"matrix": [1, 8], "x": 8, "y": 1}, + {"matrix": [1, 9], "x": 9, "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, "w": 1.5}, + {"matrix": [2, 2], "x": 1.5, "y": 2}, + {"matrix": [2, 3], "x": 2.5, "y": 2}, + {"matrix": [2, 4], "x": 3.5, "y": 2}, + {"matrix": [2, 5], "x": 4.5, "y": 2}, + {"matrix": [2, 6], "x": 5.5, "y": 2}, + {"matrix": [2, 7], "x": 6.5, "y": 2}, + {"matrix": [2, 8], "x": 7.5, "y": 2}, + {"matrix": [2, 9], "x": 8.5, "y": 2}, + {"matrix": [2, 10], "x": 9.5, "y": 2}, + {"matrix": [2, 11], "x": 10.5, "y": 2}, + {"matrix": [2, 12], "x": 11.5, "y": 2}, + {"matrix": [2, 13], "x": 12.5, "y": 2}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [3, 2], "x": 1.75, "y": 3}, + {"matrix": [3, 3], "x": 2.75, "y": 3}, + {"matrix": [3, 4], "x": 3.75, "y": 3}, + {"matrix": [3, 5], "x": 4.75, "y": 3}, + {"matrix": [3, 6], "x": 5.75, "y": 3}, + {"matrix": [3, 7], "x": 6.75, "y": 3}, + {"matrix": [3, 8], "x": 7.75, "y": 3}, + {"matrix": [3, 9], "x": 8.75, "y": 3}, + {"matrix": [3, 10], "x": 9.75, "y": 3}, + {"matrix": [3, 11], "x": 10.75, "y": 3}, + {"matrix": [3, 12], "x": 11.75, "y": 3}, + {"matrix": [2, 14], "x": 12.75, "y": 3}, + {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, + {"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}, + {"matrix": [4, 2], "x": 2.25, "y": 4}, + {"matrix": [4, 3], "x": 3.25, "y": 4}, + {"matrix": [4, 4], "x": 4.25, "y": 4}, + {"matrix": [4, 5], "x": 5.25, "y": 4}, + {"matrix": [4, 6], "x": 6.25, "y": 4}, + {"matrix": [4, 7], "x": 7.25, "y": 4}, + {"matrix": [4, 8], "x": 8.25, "y": 4}, + {"matrix": [4, 9], "x": 9.25, "y": 4}, + {"matrix": [4, 10], "x": 10.25, "y": 4}, + {"matrix": [4, 11], "x": 11.25, "y": 4}, + {"matrix": [4, 13], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4}, + + {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [5, 3], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5}, + {"matrix": [5, 12], "x": 11.5, "y": 5, "w": 1.5}, + {"matrix": [5, 13], "x": 13, "y": 5}, + {"matrix": [5, 14], "x": 14, "y": 5}, + {"matrix": [5, 15], "x": 15, "y": 5} + ] + }, + "LAYOUT_75_iso_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, 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, 6], "x": 6, "y": 1}, + {"matrix": [1, 7], "x": 7, "y": 1}, + {"matrix": [1, 8], "x": 8, "y": 1}, + {"matrix": [1, 9], "x": 9, "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, 14], "x": 13, "y": 1, "w": 2}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [2, 2], "x": 1.5, "y": 2}, + {"matrix": [2, 3], "x": 2.5, "y": 2}, + {"matrix": [2, 4], "x": 3.5, "y": 2}, + {"matrix": [2, 5], "x": 4.5, "y": 2}, + {"matrix": [2, 6], "x": 5.5, "y": 2}, + {"matrix": [2, 7], "x": 6.5, "y": 2}, + {"matrix": [2, 8], "x": 7.5, "y": 2}, + {"matrix": [2, 9], "x": 8.5, "y": 2}, + {"matrix": [2, 10], "x": 9.5, "y": 2}, + {"matrix": [2, 11], "x": 10.5, "y": 2}, + {"matrix": [2, 12], "x": 11.5, "y": 2}, + {"matrix": [2, 13], "x": 12.5, "y": 2}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [3, 2], "x": 1.75, "y": 3}, + {"matrix": [3, 3], "x": 2.75, "y": 3}, + {"matrix": [3, 4], "x": 3.75, "y": 3}, + {"matrix": [3, 5], "x": 4.75, "y": 3}, + {"matrix": [3, 6], "x": 5.75, "y": 3}, + {"matrix": [3, 7], "x": 6.75, "y": 3}, + {"matrix": [3, 8], "x": 7.75, "y": 3}, + {"matrix": [3, 9], "x": 8.75, "y": 3}, + {"matrix": [3, 10], "x": 9.75, "y": 3}, + {"matrix": [3, 11], "x": 10.75, "y": 3}, + {"matrix": [3, 12], "x": 11.75, "y": 3}, + {"matrix": [2, 14], "x": 12.75, "y": 3}, + {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, + {"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}, + {"matrix": [4, 2], "x": 2.25, "y": 4}, + {"matrix": [4, 3], "x": 3.25, "y": 4}, + {"matrix": [4, 4], "x": 4.25, "y": 4}, + {"matrix": [4, 5], "x": 5.25, "y": 4}, + {"matrix": [4, 6], "x": 6.25, "y": 4}, + {"matrix": [4, 7], "x": 7.25, "y": 4}, + {"matrix": [4, 8], "x": 8.25, "y": 4}, + {"matrix": [4, 9], "x": 9.25, "y": 4}, + {"matrix": [4, 10], "x": 10.25, "y": 4}, + {"matrix": [4, 11], "x": 11.25, "y": 4}, + {"matrix": [4, 13], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4}, + + {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5, "w": 1.5}, + {"matrix": [5, 6], "x": 3, "y": 5, "w": 7}, + {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5}, + {"matrix": [5, 12], "x": 11.5, "y": 5, "w": 1.5}, + {"matrix": [5, 13], "x": 13, "y": 5}, + {"matrix": [5, 14], "x": 14, "y": 5}, + {"matrix": [5, 15], "x": 15, "y": 5} + ] + }, + "LAYOUT_75_iso_wkl_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}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [1, 6], "x": 6, "y": 1}, + {"matrix": [1, 7], "x": 7, "y": 1}, + {"matrix": [1, 8], "x": 8, "y": 1}, + {"matrix": [1, 9], "x": 9, "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, "w": 1.5}, + {"matrix": [2, 2], "x": 1.5, "y": 2}, + {"matrix": [2, 3], "x": 2.5, "y": 2}, + {"matrix": [2, 4], "x": 3.5, "y": 2}, + {"matrix": [2, 5], "x": 4.5, "y": 2}, + {"matrix": [2, 6], "x": 5.5, "y": 2}, + {"matrix": [2, 7], "x": 6.5, "y": 2}, + {"matrix": [2, 8], "x": 7.5, "y": 2}, + {"matrix": [2, 9], "x": 8.5, "y": 2}, + {"matrix": [2, 10], "x": 9.5, "y": 2}, + {"matrix": [2, 11], "x": 10.5, "y": 2}, + {"matrix": [2, 12], "x": 11.5, "y": 2}, + {"matrix": [2, 13], "x": 12.5, "y": 2}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [3, 2], "x": 1.75, "y": 3}, + {"matrix": [3, 3], "x": 2.75, "y": 3}, + {"matrix": [3, 4], "x": 3.75, "y": 3}, + {"matrix": [3, 5], "x": 4.75, "y": 3}, + {"matrix": [3, 6], "x": 5.75, "y": 3}, + {"matrix": [3, 7], "x": 6.75, "y": 3}, + {"matrix": [3, 8], "x": 7.75, "y": 3}, + {"matrix": [3, 9], "x": 8.75, "y": 3}, + {"matrix": [3, 10], "x": 9.75, "y": 3}, + {"matrix": [3, 11], "x": 10.75, "y": 3}, + {"matrix": [3, 12], "x": 11.75, "y": 3}, + {"matrix": [2, 14], "x": 12.75, "y": 3}, + {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, + {"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}, + {"matrix": [4, 2], "x": 2.25, "y": 4}, + {"matrix": [4, 3], "x": 3.25, "y": 4}, + {"matrix": [4, 4], "x": 4.25, "y": 4}, + {"matrix": [4, 5], "x": 5.25, "y": 4}, + {"matrix": [4, 6], "x": 6.25, "y": 4}, + {"matrix": [4, 7], "x": 7.25, "y": 4}, + {"matrix": [4, 8], "x": 8.25, "y": 4}, + {"matrix": [4, 9], "x": 9.25, "y": 4}, + {"matrix": [4, 10], "x": 10.25, "y": 4}, + {"matrix": [4, 11], "x": 11.25, "y": 4}, + {"matrix": [4, 13], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4}, + + {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5, "w": 1.5}, + {"matrix": [5, 6], "x": 3, "y": 5, "w": 7}, {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5}, {"matrix": [5, 12], "x": 11.5, "y": 5, "w": 1.5}, {"matrix": [5, 13], "x": 13, "y": 5}, diff --git a/keyboards/kbdfans/kbd75/rev2/matrix_diagram.md b/keyboards/kbdfans/kbd75/rev2/matrix_diagram.md new file mode 100644 index 00000000000..0de62fbefde --- /dev/null +++ b/keyboards/kbdfans/kbd75/rev2/matrix_diagram.md @@ -0,0 +1,35 @@ +# Matrix Diagram for KBDfans KBD75 rev2 + +``` + ┌───────┬───────┐ + Numpad 2u Backspace │1C │1E │ 2u Backspace + └───────┴───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │ +├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │1F │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ ┌───┬───┬─────┐ ┌─────┬───┬───┐ ┌─────┬───┬───┐ +│20 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │2E │2F │ │2C │2D │ │ │2C │2D │2E │ │ │2D │2E │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┬──┴┬──┴┐3D │ ┌──┴─────┼───┼───┤ ┌──┴┐3B ├───┼───┤ +│30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3F │ │3B │3C │2E │ │ │3B │3C │3D │ │2C │ │3C │3D │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴───┴───┴────┘ └────────┴───┴───┘ └───┴────┴───┴───┘ +│40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4D │4E │4F │ ISO Enter Numpad ANSI Enter Numpad ISO Enter +├────┼───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤ +│50 │51 │53 │54 │56 │58 │5A │5B │5C │5D │5E │5F │ +└────┴────┴────┴────────┴────┴──────────┴───┴───┴───┴───┴───┴───┘ +┌────────┐ ┌──────┬───┬───┐ +│40 │ 2.25u LShift │4A │4B │4D │ Numpad RShift (1/1/1.75u) +└────────┘ └──────┴───┴───┘ +┌────┬────┬────┬────────────────────────┬───┬───┬───┐ +│50 │51 │53 │56 │5A │5B │5C │ Standard +└────┴────┴────┴────────────────────────┴───┴───┴───┘ +┌────┬────┬────┬────────────────────────┬─────┬─────┐ +│50 │51 │53 │56 │5A │5C │ RWKL +└────┴────┴────┴────────────────────────┴─────┴─────┘ +┌─────┬─────┬───────────────────────────┬───┬───┬───┐ +│50 │51 │56 │5A │5B │5C │ LWKL +└─────┴─────┴───────────────────────────┴───┴───┴───┘ +┌─────┬─────┬───────────────────────────┬─────┬─────┐ +│50 │51 │56 │5A │5C │ WKL +└─────┴─────┴───────────────────────────┴─────┴─────┘ +``` From 2121931e34b54e5d648dbba2b41db4b70daaba17 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue, 12 Mar 2024 15:16:22 -0700 Subject: [PATCH 27/36] Aero 75 Hotswap: correct layout data (#23253) --- keyboards/gray_studio/aero75/info.json | 16 ++++++++-------- keyboards/gray_studio/aero75/matrix_diagram.md | 6 +++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/keyboards/gray_studio/aero75/info.json b/keyboards/gray_studio/aero75/info.json index 06d11e8467b..f6de1b9f966 100644 --- a/keyboards/gray_studio/aero75/info.json +++ b/keyboards/gray_studio/aero75/info.json @@ -57,15 +57,15 @@ {"label": "F3", "matrix": [0, 3], "x": 3.5, "y": 0}, {"label": "F4", "matrix": [0, 4], "x": 4.5, "y": 0}, - {"label": "F5", "matrix": [0, 5], "x": 6, "y": 0}, - {"label": "F6", "matrix": [0, 6], "x": 7, "y": 0}, - {"label": "F7", "matrix": [0, 7], "x": 8, "y": 0}, - {"label": "F8", "matrix": [0, 8], "x": 9, "y": 0}, + {"label": "F5", "matrix": [0, 5], "x": 5.75, "y": 0}, + {"label": "F6", "matrix": [0, 6], "x": 6.75, "y": 0}, + {"label": "F7", "matrix": [0, 7], "x": 7.75, "y": 0}, + {"label": "F8", "matrix": [0, 8], "x": 8.75, "y": 0}, - {"label": "F9", "matrix": [0, 9], "x": 10.5, "y": 0}, - {"label": "F10", "matrix": [0, 10], "x": 11.5, "y": 0}, - {"label": "F11", "matrix": [0, 11], "x": 12.5, "y": 0}, - {"label": "F12", "matrix": [0, 13], "x": 13.5, "y": 0}, + {"label": "F9", "matrix": [0, 9], "x": 10, "y": 0}, + {"label": "F10", "matrix": [0, 10], "x": 11, "y": 0}, + {"label": "F11", "matrix": [0, 11], "x": 12, "y": 0}, + {"label": "F12", "matrix": [0, 13], "x": 13, "y": 0}, {"label": "PrtSc", "matrix": [0, 15], "x": 15, "y": 0}, diff --git a/keyboards/gray_studio/aero75/matrix_diagram.md b/keyboards/gray_studio/aero75/matrix_diagram.md index 64bb3af675c..d777c6cd447 100644 --- a/keyboards/gray_studio/aero75/matrix_diagram.md +++ b/keyboards/gray_studio/aero75/matrix_diagram.md @@ -1,9 +1,9 @@ # Matrix Diagram for GrayStudio Aero 75 Hotswap ``` -┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┐ -│00 │ │01 │02 │03 │04 │ │05 │06 │07 │08 │ │09 │0A │0B │0D │ │0F │ -└───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┘ +┌───┐ ┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐ ┌───┐ +│00 │ │01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0A │0B │0D │ │0F │ +└───┘ └───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘ └───┘ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1F │ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ From 3a3b4d155eb3b84eb101c85b559f1cc0a5d9a934 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue, 12 Mar 2024 15:18:19 -0700 Subject: [PATCH 28/36] Ares Layout Additions (#23254) --- keyboards/ares/info.json | 765 ++++++++++++++++++++++++++++++- keyboards/ares/matrix_diagram.md | 27 ++ 2 files changed, 789 insertions(+), 3 deletions(-) create mode 100644 keyboards/ares/matrix_diagram.md diff --git a/keyboards/ares/info.json b/keyboards/ares/info.json index dceb80da043..125db97ed28 100644 --- a/keyboards/ares/info.json +++ b/keyboards/ares/info.json @@ -45,7 +45,7 @@ "layout_aliases": { "LAYOUT": "LAYOUT_all" }, - "community_layouts": ["60_ansi_split_bs_rshift", "60_hhkb"], + "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_all": { "layout": [ @@ -120,6 +120,75 @@ {"matrix": [0, 13], "x": 13.75, "y": 4, "w": 1.25} ] }, + "LAYOUT_60_ansi": { + "layout": [ + {"matrix": [4, 0], "x": 0, "y": 0}, + {"matrix": [4, 1], "x": 1, "y": 0}, + {"matrix": [4, 2], "x": 2, "y": 0}, + {"matrix": [4, 3], "x": 3, "y": 0}, + {"matrix": [4, 4], "x": 4, "y": 0}, + {"matrix": [4, 5], "x": 5, "y": 0}, + {"matrix": [4, 6], "x": 6, "y": 0}, + {"matrix": [4, 7], "x": 7, "y": 0}, + {"matrix": [4, 8], "x": 8, "y": 0}, + {"matrix": [4, 9], "x": 9, "y": 0}, + {"matrix": [4, 10], "x": 10, "y": 0}, + {"matrix": [4, 11], "x": 11, "y": 0}, + {"matrix": [4, 12], "x": 12, "y": 0}, + {"matrix": [4, 14], "x": 13, "y": 0, "w": 2}, + + {"matrix": [3, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 1}, + {"matrix": [3, 2], "x": 2.5, "y": 1}, + {"matrix": [3, 3], "x": 3.5, "y": 1}, + {"matrix": [3, 4], "x": 4.5, "y": 1}, + {"matrix": [3, 5], "x": 5.5, "y": 1}, + {"matrix": [3, 6], "x": 6.5, "y": 1}, + {"matrix": [3, 7], "x": 7.5, "y": 1}, + {"matrix": [3, 8], "x": 8.5, "y": 1}, + {"matrix": [3, 9], "x": 9.5, "y": 1}, + {"matrix": [3, 10], "x": 10.5, "y": 1}, + {"matrix": [3, 11], "x": 11.5, "y": 1}, + {"matrix": [3, 12], "x": 12.5, "y": 1}, + {"matrix": [3, 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": [1, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [1, 2], "x": 2.25, "y": 3}, + {"matrix": [1, 3], "x": 3.25, "y": 3}, + {"matrix": [1, 4], "x": 4.25, "y": 3}, + {"matrix": [1, 5], "x": 5.25, "y": 3}, + {"matrix": [1, 6], "x": 6.25, "y": 3}, + {"matrix": [1, 7], "x": 7.25, "y": 3}, + {"matrix": [1, 8], "x": 8.25, "y": 3}, + {"matrix": [1, 9], "x": 9.25, "y": 3}, + {"matrix": [1, 10], "x": 10.25, "y": 3}, + {"matrix": [1, 11], "x": 11.25, "y": 3}, + {"matrix": [1, 12], "x": 12.25, "y": 3, "w": 2.75}, + + {"matrix": [0, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [0, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [0, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [0, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [0, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [0, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [0, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [0, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, "LAYOUT_60_ansi_split_bs_rshift": { "layout": [ {"matrix": [4, 0], "x": 0, "y": 0}, @@ -191,7 +260,75 @@ {"matrix": [0, 13], "x": 13.75, "y": 4, "w": 1.25} ] }, - "LAYOUT_60_hhkb": { + "LAYOUT_60_ansi_tsangan": { + "layout": [ + {"matrix": [4, 0], "x": 0, "y": 0}, + {"matrix": [4, 1], "x": 1, "y": 0}, + {"matrix": [4, 2], "x": 2, "y": 0}, + {"matrix": [4, 3], "x": 3, "y": 0}, + {"matrix": [4, 4], "x": 4, "y": 0}, + {"matrix": [4, 5], "x": 5, "y": 0}, + {"matrix": [4, 6], "x": 6, "y": 0}, + {"matrix": [4, 7], "x": 7, "y": 0}, + {"matrix": [4, 8], "x": 8, "y": 0}, + {"matrix": [4, 9], "x": 9, "y": 0}, + {"matrix": [4, 10], "x": 10, "y": 0}, + {"matrix": [4, 11], "x": 11, "y": 0}, + {"matrix": [4, 12], "x": 12, "y": 0}, + {"matrix": [4, 13], "x": 13, "y": 0, "w": 2}, + + {"matrix": [3, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 1}, + {"matrix": [3, 2], "x": 2.5, "y": 1}, + {"matrix": [3, 3], "x": 3.5, "y": 1}, + {"matrix": [3, 4], "x": 4.5, "y": 1}, + {"matrix": [3, 5], "x": 5.5, "y": 1}, + {"matrix": [3, 6], "x": 6.5, "y": 1}, + {"matrix": [3, 7], "x": 7.5, "y": 1}, + {"matrix": [3, 8], "x": 8.5, "y": 1}, + {"matrix": [3, 9], "x": 9.5, "y": 1}, + {"matrix": [3, 10], "x": 10.5, "y": 1}, + {"matrix": [3, 11], "x": 11.5, "y": 1}, + {"matrix": [3, 12], "x": 12.5, "y": 1}, + {"matrix": [3, 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": [1, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [1, 2], "x": 2.25, "y": 3}, + {"matrix": [1, 3], "x": 3.25, "y": 3}, + {"matrix": [1, 4], "x": 4.25, "y": 3}, + {"matrix": [1, 5], "x": 5.25, "y": 3}, + {"matrix": [1, 6], "x": 6.25, "y": 3}, + {"matrix": [1, 7], "x": 7.25, "y": 3}, + {"matrix": [1, 8], "x": 8.25, "y": 3}, + {"matrix": [1, 9], "x": 9.25, "y": 3}, + {"matrix": [1, 10], "x": 10.25, "y": 3}, + {"matrix": [1, 11], "x": 11.25, "y": 3}, + {"matrix": [1, 12], "x": 12.25, "y": 3, "w": 2.75}, + + {"matrix": [0, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [0, 1], "x": 1.5, "y": 4}, + {"matrix": [0, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [0, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [0, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [0, 12], "x": 12.5, "y": 4}, + {"matrix": [0, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_tsangan_hhkb": { "layout": [ {"matrix": [4, 0], "x": 0, "y": 0}, {"matrix": [4, 1], "x": 1, "y": 0}, @@ -252,11 +389,633 @@ {"matrix": [1, 12], "x": 12.25, "y": 3, "w": 1.75}, {"matrix": [1, 13], "x": 14, "y": 3}, + {"matrix": [0, 0], "x": 0, "y": 4, "w": 1.5}, {"matrix": [0, 1], "x": 1.5, "y": 4}, {"matrix": [0, 2], "x": 2.5, "y": 4, "w": 1.5}, {"matrix": [0, 6], "x": 4, "y": 4, "w": 7}, {"matrix": [0, 11], "x": 11, "y": 4, "w": 1.5}, - {"matrix": [0, 12], "x": 12.5, "y": 4} + {"matrix": [0, 12], "x": 12.5, "y": 4}, + {"matrix": [0, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_ansi_wkl": { + "layout": [ + {"matrix": [4, 0], "x": 0, "y": 0}, + {"matrix": [4, 1], "x": 1, "y": 0}, + {"matrix": [4, 2], "x": 2, "y": 0}, + {"matrix": [4, 3], "x": 3, "y": 0}, + {"matrix": [4, 4], "x": 4, "y": 0}, + {"matrix": [4, 5], "x": 5, "y": 0}, + {"matrix": [4, 6], "x": 6, "y": 0}, + {"matrix": [4, 7], "x": 7, "y": 0}, + {"matrix": [4, 8], "x": 8, "y": 0}, + {"matrix": [4, 9], "x": 9, "y": 0}, + {"matrix": [4, 10], "x": 10, "y": 0}, + {"matrix": [4, 11], "x": 11, "y": 0}, + {"matrix": [4, 12], "x": 12, "y": 0}, + {"matrix": [4, 13], "x": 13, "y": 0, "w": 2}, + + {"matrix": [3, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 1}, + {"matrix": [3, 2], "x": 2.5, "y": 1}, + {"matrix": [3, 3], "x": 3.5, "y": 1}, + {"matrix": [3, 4], "x": 4.5, "y": 1}, + {"matrix": [3, 5], "x": 5.5, "y": 1}, + {"matrix": [3, 6], "x": 6.5, "y": 1}, + {"matrix": [3, 7], "x": 7.5, "y": 1}, + {"matrix": [3, 8], "x": 8.5, "y": 1}, + {"matrix": [3, 9], "x": 9.5, "y": 1}, + {"matrix": [3, 10], "x": 10.5, "y": 1}, + {"matrix": [3, 11], "x": 11.5, "y": 1}, + {"matrix": [3, 12], "x": 12.5, "y": 1}, + {"matrix": [3, 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": [1, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [1, 2], "x": 2.25, "y": 3}, + {"matrix": [1, 3], "x": 3.25, "y": 3}, + {"matrix": [1, 4], "x": 4.25, "y": 3}, + {"matrix": [1, 5], "x": 5.25, "y": 3}, + {"matrix": [1, 6], "x": 6.25, "y": 3}, + {"matrix": [1, 7], "x": 7.25, "y": 3}, + {"matrix": [1, 8], "x": 8.25, "y": 3}, + {"matrix": [1, 9], "x": 9.25, "y": 3}, + {"matrix": [1, 10], "x": 10.25, "y": 3}, + {"matrix": [1, 11], "x": 11.25, "y": 3}, + {"matrix": [1, 12], "x": 12.25, "y": 3, "w": 2.75}, + + {"matrix": [0, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [0, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [0, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [0, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [0, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_ansi_wkl_split_bs_rshift": { + "layout": [ + {"matrix": [4, 0], "x": 0, "y": 0}, + {"matrix": [4, 1], "x": 1, "y": 0}, + {"matrix": [4, 2], "x": 2, "y": 0}, + {"matrix": [4, 3], "x": 3, "y": 0}, + {"matrix": [4, 4], "x": 4, "y": 0}, + {"matrix": [4, 5], "x": 5, "y": 0}, + {"matrix": [4, 6], "x": 6, "y": 0}, + {"matrix": [4, 7], "x": 7, "y": 0}, + {"matrix": [4, 8], "x": 8, "y": 0}, + {"matrix": [4, 9], "x": 9, "y": 0}, + {"matrix": [4, 10], "x": 10, "y": 0}, + {"matrix": [4, 11], "x": 11, "y": 0}, + {"matrix": [4, 12], "x": 12, "y": 0}, + {"matrix": [4, 13], "x": 13, "y": 0}, + {"matrix": [4, 14], "x": 14, "y": 0}, + + {"matrix": [3, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 1}, + {"matrix": [3, 2], "x": 2.5, "y": 1}, + {"matrix": [3, 3], "x": 3.5, "y": 1}, + {"matrix": [3, 4], "x": 4.5, "y": 1}, + {"matrix": [3, 5], "x": 5.5, "y": 1}, + {"matrix": [3, 6], "x": 6.5, "y": 1}, + {"matrix": [3, 7], "x": 7.5, "y": 1}, + {"matrix": [3, 8], "x": 8.5, "y": 1}, + {"matrix": [3, 9], "x": 9.5, "y": 1}, + {"matrix": [3, 10], "x": 10.5, "y": 1}, + {"matrix": [3, 11], "x": 11.5, "y": 1}, + {"matrix": [3, 12], "x": 12.5, "y": 1}, + {"matrix": [3, 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": [1, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [1, 2], "x": 2.25, "y": 3}, + {"matrix": [1, 3], "x": 3.25, "y": 3}, + {"matrix": [1, 4], "x": 4.25, "y": 3}, + {"matrix": [1, 5], "x": 5.25, "y": 3}, + {"matrix": [1, 6], "x": 6.25, "y": 3}, + {"matrix": [1, 7], "x": 7.25, "y": 3}, + {"matrix": [1, 8], "x": 8.25, "y": 3}, + {"matrix": [1, 9], "x": 9.25, "y": 3}, + {"matrix": [1, 10], "x": 10.25, "y": 3}, + {"matrix": [1, 11], "x": 11.25, "y": 3}, + {"matrix": [1, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [1, 13], "x": 14, "y": 3}, + + {"matrix": [0, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [0, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [0, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [0, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [0, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_hhkb": { + "layout": [ + {"matrix": [4, 0], "x": 0, "y": 0}, + {"matrix": [4, 1], "x": 1, "y": 0}, + {"matrix": [4, 2], "x": 2, "y": 0}, + {"matrix": [4, 3], "x": 3, "y": 0}, + {"matrix": [4, 4], "x": 4, "y": 0}, + {"matrix": [4, 5], "x": 5, "y": 0}, + {"matrix": [4, 6], "x": 6, "y": 0}, + {"matrix": [4, 7], "x": 7, "y": 0}, + {"matrix": [4, 8], "x": 8, "y": 0}, + {"matrix": [4, 9], "x": 9, "y": 0}, + {"matrix": [4, 10], "x": 10, "y": 0}, + {"matrix": [4, 11], "x": 11, "y": 0}, + {"matrix": [4, 12], "x": 12, "y": 0}, + {"matrix": [4, 13], "x": 13, "y": 0}, + {"matrix": [4, 14], "x": 14, "y": 0}, + + {"matrix": [3, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 1}, + {"matrix": [3, 2], "x": 2.5, "y": 1}, + {"matrix": [3, 3], "x": 3.5, "y": 1}, + {"matrix": [3, 4], "x": 4.5, "y": 1}, + {"matrix": [3, 5], "x": 5.5, "y": 1}, + {"matrix": [3, 6], "x": 6.5, "y": 1}, + {"matrix": [3, 7], "x": 7.5, "y": 1}, + {"matrix": [3, 8], "x": 8.5, "y": 1}, + {"matrix": [3, 9], "x": 9.5, "y": 1}, + {"matrix": [3, 10], "x": 10.5, "y": 1}, + {"matrix": [3, 11], "x": 11.5, "y": 1}, + {"matrix": [3, 12], "x": 12.5, "y": 1}, + {"matrix": [3, 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": [1, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [1, 2], "x": 2.25, "y": 3}, + {"matrix": [1, 3], "x": 3.25, "y": 3}, + {"matrix": [1, 4], "x": 4.25, "y": 3}, + {"matrix": [1, 5], "x": 5.25, "y": 3}, + {"matrix": [1, 6], "x": 6.25, "y": 3}, + {"matrix": [1, 7], "x": 7.25, "y": 3}, + {"matrix": [1, 8], "x": 8.25, "y": 3}, + {"matrix": [1, 9], "x": 9.25, "y": 3}, + {"matrix": [1, 10], "x": 10.25, "y": 3}, + {"matrix": [1, 11], "x": 11.25, "y": 3}, + {"matrix": [1, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [1, 13], "x": 14, "y": 3}, + + {"matrix": [0, 1], "x": 1.5, "y": 4}, + {"matrix": [0, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [0, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [0, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [0, 12], "x": 12.5, "y": 4} + ] + }, + "LAYOUT_60_iso": { + "layout": [ + {"matrix": [4, 0], "x": 0, "y": 0}, + {"matrix": [4, 1], "x": 1, "y": 0}, + {"matrix": [4, 2], "x": 2, "y": 0}, + {"matrix": [4, 3], "x": 3, "y": 0}, + {"matrix": [4, 4], "x": 4, "y": 0}, + {"matrix": [4, 5], "x": 5, "y": 0}, + {"matrix": [4, 6], "x": 6, "y": 0}, + {"matrix": [4, 7], "x": 7, "y": 0}, + {"matrix": [4, 8], "x": 8, "y": 0}, + {"matrix": [4, 9], "x": 9, "y": 0}, + {"matrix": [4, 10], "x": 10, "y": 0}, + {"matrix": [4, 11], "x": 11, "y": 0}, + {"matrix": [4, 12], "x": 12, "y": 0}, + {"matrix": [4, 13], "x": 13, "y": 0, "w": 2}, + + {"matrix": [3, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 1}, + {"matrix": [3, 2], "x": 2.5, "y": 1}, + {"matrix": [3, 3], "x": 3.5, "y": 1}, + {"matrix": [3, 4], "x": 4.5, "y": 1}, + {"matrix": [3, 5], "x": 5.5, "y": 1}, + {"matrix": [3, 6], "x": 6.5, "y": 1}, + {"matrix": [3, 7], "x": 7.5, "y": 1}, + {"matrix": [3, 8], "x": 8.5, "y": 1}, + {"matrix": [3, 9], "x": 9.5, "y": 1}, + {"matrix": [3, 10], "x": 10.5, "y": 1}, + {"matrix": [3, 11], "x": 11.5, "y": 1}, + {"matrix": [3, 12], "x": 12.5, "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": [1, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [1, 1], "x": 1.25, "y": 3}, + {"matrix": [1, 2], "x": 2.25, "y": 3}, + {"matrix": [1, 3], "x": 3.25, "y": 3}, + {"matrix": [1, 4], "x": 4.25, "y": 3}, + {"matrix": [1, 5], "x": 5.25, "y": 3}, + {"matrix": [1, 6], "x": 6.25, "y": 3}, + {"matrix": [1, 7], "x": 7.25, "y": 3}, + {"matrix": [1, 8], "x": 8.25, "y": 3}, + {"matrix": [1, 9], "x": 9.25, "y": 3}, + {"matrix": [1, 10], "x": 10.25, "y": 3}, + {"matrix": [1, 11], "x": 11.25, "y": 3}, + {"matrix": [1, 12], "x": 12.25, "y": 3, "w": 2.75}, + + {"matrix": [0, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [0, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [0, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [0, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [0, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [0, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [0, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [0, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_split_bs_rshift": { + "layout": [ + {"matrix": [4, 0], "x": 0, "y": 0}, + {"matrix": [4, 1], "x": 1, "y": 0}, + {"matrix": [4, 2], "x": 2, "y": 0}, + {"matrix": [4, 3], "x": 3, "y": 0}, + {"matrix": [4, 4], "x": 4, "y": 0}, + {"matrix": [4, 5], "x": 5, "y": 0}, + {"matrix": [4, 6], "x": 6, "y": 0}, + {"matrix": [4, 7], "x": 7, "y": 0}, + {"matrix": [4, 8], "x": 8, "y": 0}, + {"matrix": [4, 9], "x": 9, "y": 0}, + {"matrix": [4, 10], "x": 10, "y": 0}, + {"matrix": [4, 11], "x": 11, "y": 0}, + {"matrix": [4, 12], "x": 12, "y": 0}, + {"matrix": [4, 13], "x": 13, "y": 0}, + {"matrix": [4, 14], "x": 14, "y": 0}, + + {"matrix": [3, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 1}, + {"matrix": [3, 2], "x": 2.5, "y": 1}, + {"matrix": [3, 3], "x": 3.5, "y": 1}, + {"matrix": [3, 4], "x": 4.5, "y": 1}, + {"matrix": [3, 5], "x": 5.5, "y": 1}, + {"matrix": [3, 6], "x": 6.5, "y": 1}, + {"matrix": [3, 7], "x": 7.5, "y": 1}, + {"matrix": [3, 8], "x": 8.5, "y": 1}, + {"matrix": [3, 9], "x": 9.5, "y": 1}, + {"matrix": [3, 10], "x": 10.5, "y": 1}, + {"matrix": [3, 11], "x": 11.5, "y": 1}, + {"matrix": [3, 12], "x": 12.5, "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": [1, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [1, 1], "x": 1.25, "y": 3}, + {"matrix": [1, 2], "x": 2.25, "y": 3}, + {"matrix": [1, 3], "x": 3.25, "y": 3}, + {"matrix": [1, 4], "x": 4.25, "y": 3}, + {"matrix": [1, 5], "x": 5.25, "y": 3}, + {"matrix": [1, 6], "x": 6.25, "y": 3}, + {"matrix": [1, 7], "x": 7.25, "y": 3}, + {"matrix": [1, 8], "x": 8.25, "y": 3}, + {"matrix": [1, 9], "x": 9.25, "y": 3}, + {"matrix": [1, 10], "x": 10.25, "y": 3}, + {"matrix": [1, 11], "x": 11.25, "y": 3}, + {"matrix": [1, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [1, 13], "x": 14, "y": 3}, + + {"matrix": [0, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [0, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [0, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [0, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [0, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [0, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [0, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [0, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_tsangan": { + "layout": [ + {"matrix": [4, 0], "x": 0, "y": 0}, + {"matrix": [4, 1], "x": 1, "y": 0}, + {"matrix": [4, 2], "x": 2, "y": 0}, + {"matrix": [4, 3], "x": 3, "y": 0}, + {"matrix": [4, 4], "x": 4, "y": 0}, + {"matrix": [4, 5], "x": 5, "y": 0}, + {"matrix": [4, 6], "x": 6, "y": 0}, + {"matrix": [4, 7], "x": 7, "y": 0}, + {"matrix": [4, 8], "x": 8, "y": 0}, + {"matrix": [4, 9], "x": 9, "y": 0}, + {"matrix": [4, 10], "x": 10, "y": 0}, + {"matrix": [4, 11], "x": 11, "y": 0}, + {"matrix": [4, 12], "x": 12, "y": 0}, + {"matrix": [4, 13], "x": 13, "y": 0, "w": 2}, + + {"matrix": [3, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 1}, + {"matrix": [3, 2], "x": 2.5, "y": 1}, + {"matrix": [3, 3], "x": 3.5, "y": 1}, + {"matrix": [3, 4], "x": 4.5, "y": 1}, + {"matrix": [3, 5], "x": 5.5, "y": 1}, + {"matrix": [3, 6], "x": 6.5, "y": 1}, + {"matrix": [3, 7], "x": 7.5, "y": 1}, + {"matrix": [3, 8], "x": 8.5, "y": 1}, + {"matrix": [3, 9], "x": 9.5, "y": 1}, + {"matrix": [3, 10], "x": 10.5, "y": 1}, + {"matrix": [3, 11], "x": 11.5, "y": 1}, + {"matrix": [3, 12], "x": 12.5, "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": [1, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [1, 1], "x": 1.25, "y": 3}, + {"matrix": [1, 2], "x": 2.25, "y": 3}, + {"matrix": [1, 3], "x": 3.25, "y": 3}, + {"matrix": [1, 4], "x": 4.25, "y": 3}, + {"matrix": [1, 5], "x": 5.25, "y": 3}, + {"matrix": [1, 6], "x": 6.25, "y": 3}, + {"matrix": [1, 7], "x": 7.25, "y": 3}, + {"matrix": [1, 8], "x": 8.25, "y": 3}, + {"matrix": [1, 9], "x": 9.25, "y": 3}, + {"matrix": [1, 10], "x": 10.25, "y": 3}, + {"matrix": [1, 11], "x": 11.25, "y": 3}, + {"matrix": [1, 12], "x": 12.25, "y": 3, "w": 2.75}, + + {"matrix": [0, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [0, 1], "x": 1.5, "y": 4}, + {"matrix": [0, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [0, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [0, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [0, 12], "x": 12.5, "y": 4}, + {"matrix": [0, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_tsangan_split_bs_rshift": { + "layout": [ + {"matrix": [4, 0], "x": 0, "y": 0}, + {"matrix": [4, 1], "x": 1, "y": 0}, + {"matrix": [4, 2], "x": 2, "y": 0}, + {"matrix": [4, 3], "x": 3, "y": 0}, + {"matrix": [4, 4], "x": 4, "y": 0}, + {"matrix": [4, 5], "x": 5, "y": 0}, + {"matrix": [4, 6], "x": 6, "y": 0}, + {"matrix": [4, 7], "x": 7, "y": 0}, + {"matrix": [4, 8], "x": 8, "y": 0}, + {"matrix": [4, 9], "x": 9, "y": 0}, + {"matrix": [4, 10], "x": 10, "y": 0}, + {"matrix": [4, 11], "x": 11, "y": 0}, + {"matrix": [4, 12], "x": 12, "y": 0}, + {"matrix": [4, 13], "x": 13, "y": 0}, + {"matrix": [4, 14], "x": 14, "y": 0}, + + {"matrix": [3, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 1}, + {"matrix": [3, 2], "x": 2.5, "y": 1}, + {"matrix": [3, 3], "x": 3.5, "y": 1}, + {"matrix": [3, 4], "x": 4.5, "y": 1}, + {"matrix": [3, 5], "x": 5.5, "y": 1}, + {"matrix": [3, 6], "x": 6.5, "y": 1}, + {"matrix": [3, 7], "x": 7.5, "y": 1}, + {"matrix": [3, 8], "x": 8.5, "y": 1}, + {"matrix": [3, 9], "x": 9.5, "y": 1}, + {"matrix": [3, 10], "x": 10.5, "y": 1}, + {"matrix": [3, 11], "x": 11.5, "y": 1}, + {"matrix": [3, 12], "x": 12.5, "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": [1, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [1, 1], "x": 1.25, "y": 3}, + {"matrix": [1, 2], "x": 2.25, "y": 3}, + {"matrix": [1, 3], "x": 3.25, "y": 3}, + {"matrix": [1, 4], "x": 4.25, "y": 3}, + {"matrix": [1, 5], "x": 5.25, "y": 3}, + {"matrix": [1, 6], "x": 6.25, "y": 3}, + {"matrix": [1, 7], "x": 7.25, "y": 3}, + {"matrix": [1, 8], "x": 8.25, "y": 3}, + {"matrix": [1, 9], "x": 9.25, "y": 3}, + {"matrix": [1, 10], "x": 10.25, "y": 3}, + {"matrix": [1, 11], "x": 11.25, "y": 3}, + {"matrix": [1, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [1, 13], "x": 14, "y": 3}, + + {"matrix": [0, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [0, 1], "x": 1.5, "y": 4}, + {"matrix": [0, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [0, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [0, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [0, 12], "x": 12.5, "y": 4}, + {"matrix": [0, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_wkl": { + "layout": [ + {"matrix": [4, 0], "x": 0, "y": 0}, + {"matrix": [4, 1], "x": 1, "y": 0}, + {"matrix": [4, 2], "x": 2, "y": 0}, + {"matrix": [4, 3], "x": 3, "y": 0}, + {"matrix": [4, 4], "x": 4, "y": 0}, + {"matrix": [4, 5], "x": 5, "y": 0}, + {"matrix": [4, 6], "x": 6, "y": 0}, + {"matrix": [4, 7], "x": 7, "y": 0}, + {"matrix": [4, 8], "x": 8, "y": 0}, + {"matrix": [4, 9], "x": 9, "y": 0}, + {"matrix": [4, 10], "x": 10, "y": 0}, + {"matrix": [4, 11], "x": 11, "y": 0}, + {"matrix": [4, 12], "x": 12, "y": 0}, + {"matrix": [4, 13], "x": 13, "y": 0, "w": 2}, + + {"matrix": [3, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 1}, + {"matrix": [3, 2], "x": 2.5, "y": 1}, + {"matrix": [3, 3], "x": 3.5, "y": 1}, + {"matrix": [3, 4], "x": 4.5, "y": 1}, + {"matrix": [3, 5], "x": 5.5, "y": 1}, + {"matrix": [3, 6], "x": 6.5, "y": 1}, + {"matrix": [3, 7], "x": 7.5, "y": 1}, + {"matrix": [3, 8], "x": 8.5, "y": 1}, + {"matrix": [3, 9], "x": 9.5, "y": 1}, + {"matrix": [3, 10], "x": 10.5, "y": 1}, + {"matrix": [3, 11], "x": 11.5, "y": 1}, + {"matrix": [3, 12], "x": 12.5, "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": [1, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [1, 1], "x": 1.25, "y": 3}, + {"matrix": [1, 2], "x": 2.25, "y": 3}, + {"matrix": [1, 3], "x": 3.25, "y": 3}, + {"matrix": [1, 4], "x": 4.25, "y": 3}, + {"matrix": [1, 5], "x": 5.25, "y": 3}, + {"matrix": [1, 6], "x": 6.25, "y": 3}, + {"matrix": [1, 7], "x": 7.25, "y": 3}, + {"matrix": [1, 8], "x": 8.25, "y": 3}, + {"matrix": [1, 9], "x": 9.25, "y": 3}, + {"matrix": [1, 10], "x": 10.25, "y": 3}, + {"matrix": [1, 11], "x": 11.25, "y": 3}, + {"matrix": [1, 12], "x": 12.25, "y": 3, "w": 2.75}, + + {"matrix": [0, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [0, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [0, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [0, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [0, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_wkl_split_bs_rshift": { + "layout": [ + {"matrix": [4, 0], "x": 0, "y": 0}, + {"matrix": [4, 1], "x": 1, "y": 0}, + {"matrix": [4, 2], "x": 2, "y": 0}, + {"matrix": [4, 3], "x": 3, "y": 0}, + {"matrix": [4, 4], "x": 4, "y": 0}, + {"matrix": [4, 5], "x": 5, "y": 0}, + {"matrix": [4, 6], "x": 6, "y": 0}, + {"matrix": [4, 7], "x": 7, "y": 0}, + {"matrix": [4, 8], "x": 8, "y": 0}, + {"matrix": [4, 9], "x": 9, "y": 0}, + {"matrix": [4, 10], "x": 10, "y": 0}, + {"matrix": [4, 11], "x": 11, "y": 0}, + {"matrix": [4, 12], "x": 12, "y": 0}, + {"matrix": [4, 13], "x": 13, "y": 0}, + {"matrix": [4, 14], "x": 14, "y": 0}, + + {"matrix": [3, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 1}, + {"matrix": [3, 2], "x": 2.5, "y": 1}, + {"matrix": [3, 3], "x": 3.5, "y": 1}, + {"matrix": [3, 4], "x": 4.5, "y": 1}, + {"matrix": [3, 5], "x": 5.5, "y": 1}, + {"matrix": [3, 6], "x": 6.5, "y": 1}, + {"matrix": [3, 7], "x": 7.5, "y": 1}, + {"matrix": [3, 8], "x": 8.5, "y": 1}, + {"matrix": [3, 9], "x": 9.5, "y": 1}, + {"matrix": [3, 10], "x": 10.5, "y": 1}, + {"matrix": [3, 11], "x": 11.5, "y": 1}, + {"matrix": [3, 12], "x": 12.5, "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": [1, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [1, 1], "x": 1.25, "y": 3}, + {"matrix": [1, 2], "x": 2.25, "y": 3}, + {"matrix": [1, 3], "x": 3.25, "y": 3}, + {"matrix": [1, 4], "x": 4.25, "y": 3}, + {"matrix": [1, 5], "x": 5.25, "y": 3}, + {"matrix": [1, 6], "x": 6.25, "y": 3}, + {"matrix": [1, 7], "x": 7.25, "y": 3}, + {"matrix": [1, 8], "x": 8.25, "y": 3}, + {"matrix": [1, 9], "x": 9.25, "y": 3}, + {"matrix": [1, 10], "x": 10.25, "y": 3}, + {"matrix": [1, 11], "x": 11.25, "y": 3}, + {"matrix": [1, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [1, 13], "x": 14, "y": 3}, + + {"matrix": [0, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [0, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [0, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [0, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [0, 13], "x": 13.5, "y": 4, "w": 1.5} ] } } diff --git a/keyboards/ares/matrix_diagram.md b/keyboards/ares/matrix_diagram.md new file mode 100644 index 00000000000..5be61c98899 --- /dev/null +++ b/keyboards/ares/matrix_diagram.md @@ -0,0 +1,27 @@ +# Matrix Diagram for LSJ Ares + +``` + ┌───────┐ + 2u Backspace │4E │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │4E │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ┌─────┐ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ┌──┴┐2D │ ISO Enter +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │ │2C │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ └───┴────┘ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ +│00 │01 │02 │06 │0A │0B │0C │0D │ +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ +┌────────┐ ┌──────────┐ +│10 │ 2.25u LShift 2.75u RShift │1C │ +└────────┘ └──────────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ +│00 │01 │02 │06 │0B │0C │0D │ Tsangan/WKL/HHKB +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +┌─────┬───┬─────┬───────────────────────┬─────┬───┬───┬─────┐ +│00 │01 │02 │06 │0A │0B │0C │0D │ True HHKB +└─────┴───┴─────┴───────────────────────┴─────┴───┴───┴─────┘ +``` From 6788a5eb27b1db5d25ef6388bb8b698899de2f9e Mon Sep 17 00:00:00 2001 From: LLLKST <160975620+LLLKST@users.noreply.github.com> Date: Tue, 12 Mar 2024 23:51:42 +0100 Subject: [PATCH 29/36] [Keyboard] Add PetruziaMini (#23201) * Uploading the PetruziaMini My first try on uploading somethings on github. Hoping it works, this is my handwired PetruziaMini. I don't know if it will be visible on qmk configurator now * 36 key hhbk inspired kb * Required changes done I compiled it locally and works * Last changes requested Added a imgur image (first time using, hoping i did it right) and summarized the description as requeste * Fixed imegur link * Ops, i've lost this. Here it comes Thanks for helping! I'll take notes for next time :) --- keyboards/handwired/petruziamini/info.json | 66 +++++++++++++++++++ .../petruziamini/keymaps/default/keymap.c | 30 +++++++++ keyboards/handwired/petruziamini/readme.md | 26 ++++++++ keyboards/handwired/petruziamini/rules.mk | 1 + 4 files changed, 123 insertions(+) create mode 100644 keyboards/handwired/petruziamini/info.json create mode 100644 keyboards/handwired/petruziamini/keymaps/default/keymap.c create mode 100644 keyboards/handwired/petruziamini/readme.md create mode 100644 keyboards/handwired/petruziamini/rules.mk diff --git a/keyboards/handwired/petruziamini/info.json b/keyboards/handwired/petruziamini/info.json new file mode 100644 index 00000000000..dcd60f2dc7a --- /dev/null +++ b/keyboards/handwired/petruziamini/info.json @@ -0,0 +1,66 @@ +{ + "manufacturer": "LLLKST", + "keyboard_name": "PetruziaMini", + "maintainer": "LLLKST", + "development_board": "promicro", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["D7", "C6", "D4", "D0", "D1", "F4", "F5", "F6", "F7", "B1"], + "rows": ["B4", "E6", "B3", "B2"] + }, + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT": { + "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": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [1, 6], "x": 6, "y": 1}, + {"matrix": [1, 7], "x": 7, "y": 1}, + {"matrix": [1, 8], "x": 8, "y": 1}, + {"matrix": [1, 9], "x": 9, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2}, + {"matrix": [2, 5], "x": 5, "y": 2}, + {"matrix": [2, 6], "x": 6, "y": 2}, + {"matrix": [2, 7], "x": 7, "y": 2}, + {"matrix": [2, 8], "x": 8, "y": 2}, + {"matrix": [2, 9], "x": 9, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 3], "x": 3, "y": 3}, + {"matrix": [3, 6], "x": 6, "y": 3}, + {"matrix": [3, 8], "x": 8, "y": 3}, + {"matrix": [3, 9], "x": 9, "y": 3} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/handwired/petruziamini/keymaps/default/keymap.c b/keyboards/handwired/petruziamini/keymaps/default/keymap.c new file mode 100644 index 00000000000..c0972785d42 --- /dev/null +++ b/keyboards/handwired/petruziamini/keymaps/default/keymap.c @@ -0,0 +1,30 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │ A │ B │ C │ D │ E │ F │ G │ H │ I │ J │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ + * │ A │ B │ C │ D │ E │ F │ G │ H │ I │ J │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ + * │ A │ B │ C │ D │ E │ F │ G │ H │ I │ J │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ + * │ A │ B │ │ D │ │ │ G │ │ I │ J │ + * └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘ + */ + [0] = LAYOUT( + KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, + KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, + KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, KC_H, KC_I, KC_J, + KC_A, KC_B, KC_C, KC_D, LT(1, KC_E), KC_F + ), + [1] = LAYOUT( + KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO +) +}; diff --git a/keyboards/handwired/petruziamini/readme.md b/keyboards/handwired/petruziamini/readme.md new file mode 100644 index 00000000000..1b303c49c63 --- /dev/null +++ b/keyboards/handwired/petruziamini/readme.md @@ -0,0 +1,26 @@ +# PetruziaMini + +![PetruziaMini](https://i.imgur.com/uk2BSazh.jpeg) + +36 key ortholinear keyboard intended to be mapped as a split keyboard. + +* Keyboard Maintainer: [LLLKST](https://github.com/LLLKST) +* Hardware Supported: *promicro compatible controller* +* Hardware Availability: [Aliexpress Pro Micro](https://www.aliexpress.us/item/3256805781371913.html) + + +Make example for this keyboard (after setting up your build environment): + + make handwired/petruziamini:default + +Flashing example for this keyboard: + + make handwired/petruziamini: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 with: + +* **Keycode in layout**: Press the key mapped to `QK_BOOT` (3,5) + (0,1) in the matrix \ No newline at end of file diff --git a/keyboards/handwired/petruziamini/rules.mk b/keyboards/handwired/petruziamini/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/handwired/petruziamini/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From fb11330eab2b459d5e510c66a9bdf3961c8e639a Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 13 Mar 2024 00:28:08 +0000 Subject: [PATCH 30/36] Absolute paths for -kb argument should error consistently (#23262) --- lib/python/qmk/path.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/python/qmk/path.py b/lib/python/qmk/path.py index 74364ee04b0..bb588d2e1c3 100644 --- a/lib/python/qmk/path.py +++ b/lib/python/qmk/path.py @@ -12,11 +12,19 @@ from qmk.errors import NoSuchKeyboardError def is_keyboard(keyboard_name): """Returns True if `keyboard_name` is a keyboard we can compile. """ - if keyboard_name: - keyboard_path = QMK_FIRMWARE / 'keyboards' / keyboard_name - rules_mk = keyboard_path / 'rules.mk' + if not keyboard_name: + return False + + # keyboard_name values of 'c:/something' or '/something' trigger append issues + # due to "If the argument is an absolute path, the previous path is ignored" + # however it should always be a folder located under qmk_firmware/keyboards + if Path(keyboard_name).is_absolute(): + return False + + keyboard_path = QMK_FIRMWARE / 'keyboards' / keyboard_name + rules_mk = keyboard_path / 'rules.mk' - return rules_mk.exists() + return rules_mk.exists() def under_qmk_firmware(path=Path(os.environ['ORIG_CWD'])): From 49596b0692c557e0278f54d1a03314d42b3031da Mon Sep 17 00:00:00 2001 From: wind <108604699+yelishang@users.noreply.github.com> Date: Wed, 13 Mar 2024 11:20:46 +0800 Subject: [PATCH 31/36] Add KM113 keyboard (#22669) --- keyboards/jidohun/km113/config.h | 15 + keyboards/jidohun/km113/halconf.h | 10 + keyboards/jidohun/km113/info.json | 269 ++++++++++++++++++ .../jidohun/km113/keymaps/default/keymap.c | 43 +++ keyboards/jidohun/km113/keymaps/via/keymap.c | 53 ++++ keyboards/jidohun/km113/keymaps/via/rules.mk | 2 + keyboards/jidohun/km113/mcuconf.h | 9 + keyboards/jidohun/km113/readme.md | 23 ++ keyboards/jidohun/km113/rules.mk | 1 + 9 files changed, 425 insertions(+) create mode 100644 keyboards/jidohun/km113/config.h create mode 100644 keyboards/jidohun/km113/halconf.h create mode 100644 keyboards/jidohun/km113/info.json create mode 100644 keyboards/jidohun/km113/keymaps/default/keymap.c create mode 100644 keyboards/jidohun/km113/keymaps/via/keymap.c create mode 100644 keyboards/jidohun/km113/keymaps/via/rules.mk create mode 100644 keyboards/jidohun/km113/mcuconf.h create mode 100644 keyboards/jidohun/km113/readme.md create mode 100644 keyboards/jidohun/km113/rules.mk diff --git a/keyboards/jidohun/km113/config.h b/keyboards/jidohun/km113/config.h new file mode 100644 index 00000000000..aaf717eca42 --- /dev/null +++ b/keyboards/jidohun/km113/config.h @@ -0,0 +1,15 @@ +// Copyright 2023 wind (@yelishang) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* SPI Config */ +#define SPI_DRIVER SPIDQ +#define SPI_SCK_PIN B3 +#define SPI_MOSI_PIN B5 +#define SPI_MISO_PIN B4 +#define SPI_MOSI_PAL_MODE 5 + +/* SPI Flash Config */ +#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN C12 + diff --git a/keyboards/jidohun/km113/halconf.h b/keyboards/jidohun/km113/halconf.h new file mode 100644 index 00000000000..6ff2f1ec677 --- /dev/null +++ b/keyboards/jidohun/km113/halconf.h @@ -0,0 +1,10 @@ +// Copyright 2023 wind (@yelishang) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + +#include_next diff --git a/keyboards/jidohun/km113/info.json b/keyboards/jidohun/km113/info.json new file mode 100644 index 00000000000..05fb901d4c6 --- /dev/null +++ b/keyboards/jidohun/km113/info.json @@ -0,0 +1,269 @@ +{ + "manufacturer": "JIDOHUN", + "keyboard_name": "KM113", + "maintainer": "wind", + "bootloader": "wb32-dfu", + "diode_direction": "ROW2COL", + "eeprom": { + "wear_leveling": { + "backing_size": 4096, + "driver": "spi_flash" + } + }, + "encoder": { + "rotary": [ + {"pin_a": "A10", "pin_b": "A9"} + ] + }, + "features": { + "bootmagic": true, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["C0", "C1", "C2", "C3", "A5", "B1", "B10", "B11", "B12", "B13", "B14", "B15", "C6", "C7", "C8", "C9"], + "rows": ["A0", "A1", "A2", "A3", "A4", "C13"] + }, + "processor": "WB32FQ95", + "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, + "digital_rain": true, + "dual_beacon": 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, + "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, + "typing_heatmap": true + }, + "driver": "ws2812", + "layout": [ + {"matrix": [5, 8], "x": 119, "y": 64, "flags": 4}, + {"matrix": [5, 9], "x": 134, "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}, + {"matrix": [4, 15], "x": 224, "y": 51, "flags": 4}, + {"matrix": [4, 14], "x": 209, "y": 51, "flags": 4}, + {"matrix": [4, 13], "x": 194, "y": 51, "flags": 4}, + {"matrix": [4, 12], "x": 179, "y": 51, "flags": 4}, + {"matrix": [4, 11], "x": 164, "y": 51, "flags": 4}, + {"matrix": [4, 10], "x": 149, "y": 51, "flags": 4}, + {"matrix": [4, 9], "x": 134, "y": 51, "flags": 4}, + {"matrix": [4, 8], "x": 119, "y": 51, "flags": 4}, + {"matrix": [4, 7], "x": 105, "y": 51, "flags": 4}, + {"matrix": [4, 6], "x": 90, "y": 51, "flags": 4}, + {"matrix": [4, 5], "x": 75, "y": 51, "flags": 4}, + {"matrix": [4, 4], "x": 60, "y": 51, "flags": 4}, + {"matrix": [4, 3], "x": 45, "y": 51, "flags": 4}, + {"matrix": [4, 2], "x": 30, "y": 51, "flags": 4}, + {"matrix": [3, 1], "x": 15, "y": 38, "flags": 4}, + {"matrix": [3, 2], "x": 30, "y": 38, "flags": 4}, + {"matrix": [3, 3], "x": 45, "y": 38, "flags": 4}, + {"matrix": [3, 4], "x": 60, "y": 38, "flags": 4}, + {"matrix": [3, 5], "x": 75, "y": 38, "flags": 4}, + {"matrix": [3, 6], "x": 90, "y": 38, "flags": 4}, + {"matrix": [3, 7], "x": 105, "y": 38, "flags": 4}, + {"matrix": [3, 8], "x": 119, "y": 38, "flags": 4}, + {"matrix": [3, 9], "x": 134, "y": 38, "flags": 4}, + {"matrix": [3, 10], "x": 149, "y": 38, "flags": 4}, + {"matrix": [3, 11], "x": 164, "y": 38, "flags": 4}, + {"matrix": [3, 12], "x": 179, "y": 38, "flags": 4}, + {"matrix": [3, 14], "x": 209, "y": 38, "flags": 4}, + {"matrix": [3, 15], "x": 224, "y": 38, "flags": 4}, + {"matrix": [2, 15], "x": 224, "y": 26, "flags": 4}, + {"matrix": [2, 14], "x": 209, "y": 26, "flags": 4}, + {"matrix": [2, 13], "x": 194, "y": 26, "flags": 4}, + {"matrix": [2, 12], "x": 179, "y": 26, "flags": 4}, + {"matrix": [2, 11], "x": 164, "y": 26, "flags": 4}, + {"matrix": [2, 10], "x": 149, "y": 26, "flags": 4}, + {"matrix": [2, 9], "x": 134, "y": 26, "flags": 4}, + {"matrix": [2, 8], "x": 119, "y": 26, "flags": 4}, + {"matrix": [2, 7], "x": 105, "y": 26, "flags": 4}, + {"matrix": [2, 6], "x": 90, "y": 26, "flags": 4}, + {"matrix": [2, 5], "x": 75, "y": 26, "flags": 4}, + {"matrix": [2, 4], "x": 60, "y": 26, "flags": 4}, + {"matrix": [2, 3], "x": 45, "y": 26, "flags": 4}, + {"matrix": [2, 2], "x": 30, "y": 26, "flags": 4}, + {"matrix": [2, 1], "x": 15, "y": 26, "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": 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": 194, "y": 13, "flags": 4}, + {"matrix": [0, 13], "x": 194, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 179, "y": 0, "flags": 4}, + {"matrix": [0, 11], "x": 164, "y": 0, "flags": 4}, + {"matrix": [0, 10], "x": 149, "y": 0, "flags": 4}, + {"matrix": [0, 9], "x": 134, "y": 0, "flags": 4}, + {"matrix": [0, 8], "x": 119, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 105, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 90, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 75, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 60, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 45, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 30, "y": 0, "flags": 4}, + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 13, "flags": 4}, + {"matrix": [2, 0], "x": 0, "y": 26, "flags": 4}, + {"matrix": [3, 0], "x": 0, "y": 38, "flags": 4}, + {"matrix": [4, 0], "x": 0, "y": 51, "flags": 4}, + {"matrix": [5, 0], "x": 0, "y": 64, "flags": 4}, + {"matrix": [5, 1], "x": 15, "y": 64, "flags": 4}, + {"matrix": [5, 2], "x": 30, "y": 64, "flags": 4}, + {"matrix": [5, 5], "x": 75, "y": 64, "flags": 4} + ], + "max_brightness": 108 + }, + "url": "http://www.frscn.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x3671", + "suspend_wakeup_delay": 1000, + "vid": "0x3555" + }, + "ws2812": { + "pin": "A8" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "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.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": 11, "y": 0}, + {"matrix": [0, 11], "x": 12, "y": 0}, + {"matrix": [0, 12], "x": 13, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [1, 6], "x": 6, "y": 1}, + {"matrix": [1, 7], "x": 7, "y": 1}, + {"matrix": [1, 8], "x": 8, "y": 1}, + {"matrix": [1, 9], "x": 9, "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, "w": 2}, + {"matrix": [1, 14], "x": 17, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2}, + {"matrix": [2, 2], "x": 2.5, "y": 2}, + {"matrix": [2, 3], "x": 3.5, "y": 2}, + {"matrix": [2, 4], "x": 4.5, "y": 2}, + {"matrix": [2, 5], "x": 5.5, "y": 2}, + {"matrix": [2, 6], "x": 6.5, "y": 2}, + {"matrix": [2, 7], "x": 7.5, "y": 2}, + {"matrix": [2, 8], "x": 8.5, "y": 2}, + {"matrix": [2, 9], "x": 9.5, "y": 2}, + {"matrix": [2, 10], "x": 10.5, "y": 2}, + {"matrix": [2, 11], "x": 11.5, "y": 2}, + {"matrix": [2, 12], "x": 12.5, "y": 2}, + {"matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [2, 14], "x": 16.5, "y": 2}, + {"matrix": [2, 15], "x": 17.5, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3}, + {"matrix": [3, 2], "x": 2.75, "y": 3}, + {"matrix": [3, 3], "x": 3.75, "y": 3}, + {"matrix": [3, 4], "x": 4.75, "y": 3}, + {"matrix": [3, 5], "x": 5.75, "y": 3}, + {"matrix": [3, 6], "x": 6.75, "y": 3}, + {"matrix": [3, 7], "x": 7.75, "y": 3}, + {"matrix": [3, 8], "x": 8.75, "y": 3}, + {"matrix": [3, 9], "x": 9.75, "y": 3}, + {"matrix": [3, 10], "x": 10.75, "y": 3}, + {"matrix": [3, 11], "x": 11.75, "y": 3}, + {"matrix": [3, 12], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [3, 14], "x": 16.5, "y": 3}, + {"matrix": [3, 15], "x": 17.5, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4}, + {"matrix": [4, 3], "x": 3.25, "y": 4}, + {"matrix": [4, 4], "x": 4.25, "y": 4}, + {"matrix": [4, 5], "x": 5.25, "y": 4}, + {"matrix": [4, 6], "x": 6.25, "y": 4}, + {"matrix": [4, 7], "x": 7.25, "y": 4}, + {"matrix": [4, 8], "x": 8.25, "y": 4}, + {"matrix": [4, 9], "x": 9.25, "y": 4}, + {"matrix": [4, 10], "x": 10.25, "y": 4}, + {"matrix": [4, 11], "x": 11.25, "y": 4}, + {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [4, 13], "x": 14.25, "y": 4.25}, + {"matrix": [4, 14], "x": 16.5, "y": 4}, + {"matrix": [4, 15], "x": 17.5, "y": 4}, + {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [5, 8], "x": 10, "y": 5}, + {"matrix": [5, 9], "x": 11, "y": 5}, + {"matrix": [5, 10], "x": 12, "y": 5}, + {"matrix": [5, 11], "x": 13.25, "y": 5.25}, + {"matrix": [5, 12], "x": 14.25, "y": 5.25}, + {"matrix": [5, 13], "x": 15.25, "y": 5.25}, + {"matrix": [5, 14], "x": 16.5, "y": 5}, + {"matrix": [5, 15], "x": 17.5, "y": 5} + ] + } + } +} diff --git a/keyboards/jidohun/km113/keymaps/default/keymap.c b/keyboards/jidohun/km113/keymaps/default/keymap.c new file mode 100644 index 00000000000..088adc8742c --- /dev/null +++ b/keyboards/jidohun/km113/keymaps/default/keymap.c @@ -0,0 +1,43 @@ +// Copyright 2023 wind (@yelishang) +// 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + 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_MUTE, + 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, TO(0), KC_HOME, + 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, TO(1), KC_END, + 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, TO(2), KC_PGUP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, TO(3), KC_PGDN + ), + + [1] = LAYOUT( + EE_CLR, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_MYCM, KC_CALC, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_MOD, _______, _______, + _______, _______, _______, _______, RGB_MOD, _______, _______, KC_PSCR, KC_PGUP, KC_DEL, _______, _______, _______, _______, TO(0), _______, + _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_PGDN, KC_END, _______, _______, _______, TO(1), _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, TO(2), _______, + _______, GU_TOGG, _______, RGB_TOG, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI,TO(3), _______ + ), + + [2] = 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_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_MUTE, + 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, TO(0), KC_HOME, + 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, TO(1), KC_END, + 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, TO(2), KC_PGUP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, _______, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, TO(3), KC_PGDN + ), + + [3] = 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_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_MUTE, + 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, TO(0), _______, + 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, TO(1), _______, + 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, TO(2), _______, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, _______, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, TO(3), _______ + ) +}; diff --git a/keyboards/jidohun/km113/keymaps/via/keymap.c b/keyboards/jidohun/km113/keymaps/via/keymap.c new file mode 100644 index 00000000000..b87dc22614d --- /dev/null +++ b/keyboards/jidohun/km113/keymaps/via/keymap.c @@ -0,0 +1,53 @@ +// Copyright 2023 wind (@yelishang) +// 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_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + 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_MUTE, + 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, TO(0), KC_HOME, + 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, TO(1), KC_END, + 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, TO(2), KC_PGUP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, TO(3), KC_PGDN + ), + + [1] = LAYOUT( + EE_CLR, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_MYCM, KC_CALC, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_MOD, _______, _______, + _______, _______, _______, _______, RGB_MOD, _______, _______, KC_PSCR, KC_PGUP, KC_DEL, _______, _______, _______, _______, TO(0), _______, + _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_PGDN, KC_END, _______, _______, _______, TO(1), _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, TO(2), _______, + _______, GU_TOGG, _______, RGB_TOG, _______, _______, _______, RGB_SPD, RGB_VAD, RGB_SPI,TO(3), _______ + ), + + [2] = 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_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_MUTE, + 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, TO(0), KC_HOME, + 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, TO(1), KC_END, + 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, TO(2), KC_PGUP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, _______, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, TO(3), KC_PGDN + ), + + [3] = 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_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_MUTE, + 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, TO(0), _______, + 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, TO(1), _______, + 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, TO(2), _______, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, _______, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, TO(3), _______ + ) +}; + +/* encoder; start */ +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; +#endif diff --git a/keyboards/jidohun/km113/keymaps/via/rules.mk b/keyboards/jidohun/km113/keymaps/via/rules.mk new file mode 100644 index 00000000000..f1adcab005e --- /dev/null +++ b/keyboards/jidohun/km113/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/jidohun/km113/mcuconf.h b/keyboards/jidohun/km113/mcuconf.h new file mode 100644 index 00000000000..bdf256bc1a1 --- /dev/null +++ b/keyboards/jidohun/km113/mcuconf.h @@ -0,0 +1,9 @@ +// Copyright 2023 wind (@yelishang) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +#undef WB32_SPI_USE_QSPI +#define WB32_SPI_USE_QSPI TRUE diff --git a/keyboards/jidohun/km113/readme.md b/keyboards/jidohun/km113/readme.md new file mode 100644 index 00000000000..0951a474c0a --- /dev/null +++ b/keyboards/jidohun/km113/readme.md @@ -0,0 +1,23 @@ + +# KM113 + +* Keyboard Maintainer: [wind](https://github.com/yelishang) +* Hardware Supported: KM113 PCB + +Make example for this keyboard (after setting up your build environment): + + make jidohun/km113:default + +Flashing example for this keyboard: + + make jidohun/km113: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**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/jidohun/km113/rules.mk b/keyboards/jidohun/km113/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/jidohun/km113/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From be9fcbd5036b28afb1b52587c704d0bf523c9e12 Mon Sep 17 00:00:00 2001 From: era <73109780+eerraa@users.noreply.github.com> Date: Wed, 13 Mar 2024 12:21:06 +0900 Subject: [PATCH 32/36] Add SIRIND Brick65 (#23245) --- keyboards/era/sirind/brick65/info.json | 201 ++++++++++++++++++ .../sirind/brick65/keymaps/default/keymap.c | 35 +++ .../era/sirind/brick65/keymaps/via/keymap.c | 21 ++ .../era/sirind/brick65/keymaps/via/rules.mk | 1 + keyboards/era/sirind/brick65/readme.md | 26 +++ keyboards/era/sirind/brick65/rules.mk | 1 + 6 files changed, 285 insertions(+) create mode 100644 keyboards/era/sirind/brick65/info.json create mode 100644 keyboards/era/sirind/brick65/keymaps/default/keymap.c create mode 100644 keyboards/era/sirind/brick65/keymaps/via/keymap.c create mode 100644 keyboards/era/sirind/brick65/keymaps/via/rules.mk create mode 100644 keyboards/era/sirind/brick65/readme.md create mode 100644 keyboards/era/sirind/brick65/rules.mk diff --git a/keyboards/era/sirind/brick65/info.json b/keyboards/era/sirind/brick65/info.json new file mode 100644 index 00000000000..3d35bc0d98f --- /dev/null +++ b/keyboards/era/sirind/brick65/info.json @@ -0,0 +1,201 @@ +{ + "manufacturer": "SR industry", + "keyboard_name": "Brick65", + "maintainer": "Syryan", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "indicators": { + "caps_lock": "C6", + "on_state": 0, + "scroll_lock": "B6" + }, + "matrix_pins": { + "cols": ["B7", "D4", "F1", "D5", "F4", "D3", "F5", "D2", "F6", "D1", "F7", "D0", "C7", "B3", "B1", "B2"], + "rows": ["D6", "D7", "B4", "B5", "F0"] + }, + "processor": "atmega32u4", + "rgb_matrix": { + "animations": { + "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, + "multisplash": true, + "rainbow_beacon": true, + "rainbow_moving_chevron": true, + "raindrops": true, + "solid_reactive": true, + "solid_reactive_cross": true, + "solid_reactive_simple": true, + "typing_heatmap": true + }, + "driver": "ws2812", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, + {"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": 80, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 96, "y": 0, "flags": 4}, + {"matrix": [0, 8], "x": 112, "y": 0, "flags": 4}, + {"matrix": [0, 9], "x": 128, "y": 0, "flags": 4}, + {"matrix": [0, 10], "x": 144, "y": 0, "flags": 4}, + {"matrix": [0, 11], "x": 160, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 176, "y": 0, "flags": 4}, + {"matrix": [0, 13], "x": 192, "y": 0, "flags": 4}, + {"matrix": [0, 14], "x": 208, "y": 0, "flags": 4}, + {"matrix": [0, 15], "x": 224, "y": 0, "flags": 4}, + {"matrix": [1, 15], "x": 224, "y": 16, "flags": 4}, + {"matrix": [1, 14], "x": 210, "y": 16, "flags": 4}, + {"matrix": [1, 12], "x": 197, "y": 16, "flags": 4}, + {"matrix": [1, 11], "x": 181, "y": 16, "flags": 4}, + {"matrix": [1, 10], "x": 165, "y": 16, "flags": 4}, + {"matrix": [1, 9], "x": 149, "y": 16, "flags": 4}, + {"matrix": [1, 8], "x": 133, "y": 16, "flags": 4}, + {"matrix": [1, 7], "x": 117, "y": 16, "flags": 4}, + {"matrix": [1, 6], "x": 101, "y": 16, "flags": 4}, + {"matrix": [1, 5], "x": 85, "y": 16, "flags": 4}, + {"matrix": [1, 4], "x": 69, "y": 16, "flags": 4}, + {"matrix": [1, 3], "x": 53, "y": 16, "flags": 4}, + {"matrix": [1, 2], "x": 37, "y": 16, "flags": 4}, + {"matrix": [1, 1], "x": 21, "y": 16, "flags": 4}, + {"matrix": [1, 0], "x": 4, "y": 16, "flags": 4}, + {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4}, + {"matrix": [2, 1], "x": 30, "y": 32, "flags": 4}, + {"matrix": [2, 2], "x": 46, "y": 32, "flags": 4}, + {"matrix": [2, 3], "x": 62, "y": 32, "flags": 4}, + {"matrix": [2, 4], "x": 78, "y": 32, "flags": 4}, + {"matrix": [2, 5], "x": 94, "y": 32, "flags": 4}, + {"matrix": [2, 6], "x": 110, "y": 32, "flags": 4}, + {"matrix": [2, 7], "x": 126, "y": 32, "flags": 4}, + {"matrix": [2, 8], "x": 142, "y": 32, "flags": 4}, + {"matrix": [2, 9], "x": 158, "y": 32, "flags": 4}, + {"matrix": [2, 10], "x": 174, "y": 32, "flags": 4}, + {"matrix": [2, 11], "x": 190, "y": 32, "flags": 4}, + {"matrix": [2, 13], "x": 206, "y": 32, "flags": 4}, + {"matrix": [3, 14], "x": 208, "y": 48, "flags": 4}, + {"matrix": [3, 12], "x": 197, "y": 48, "flags": 4}, + {"matrix": [3, 11], "x": 176, "y": 48, "flags": 4}, + {"matrix": [3, 10], "x": 160, "y": 48, "flags": 4}, + {"matrix": [3, 9], "x": 144, "y": 48, "flags": 4}, + {"matrix": [3, 8], "x": 128, "y": 48, "flags": 4}, + {"matrix": [3, 7], "x": 112, "y": 48, "flags": 4}, + {"matrix": [3, 6], "x": 96, "y": 48, "flags": 4}, + {"matrix": [3, 5], "x": 80, "y": 48, "flags": 4}, + {"matrix": [3, 4], "x": 64, "y": 48, "flags": 4}, + {"matrix": [3, 3], "x": 48, "y": 48, "flags": 4}, + {"matrix": [3, 2], "x": 32, "y": 48, "flags": 4}, + {"matrix": [3, 0], "x": 8, "y": 48, "flags": 4}, + {"matrix": [4, 0], "x": 0, "y": 64, "flags": 4}, + {"matrix": [4, 1], "x": 19, "y": 64, "flags": 4}, + {"matrix": [4, 2], "x": 38, "y": 64, "flags": 4}, + {"matrix": [4, 5], "x": 78, "y": 64, "flags": 4}, + {"matrix": [4, 7], "x": 104, "y": 64, "flags": 4}, + {"matrix": [4, 9], "x": 136, "y": 64, "flags": 4}, + {"matrix": [4, 10], "x": 160, "y": 64, "flags": 4}, + {"matrix": [4, 11], "x": 176, "y": 64, "flags": 4}, + {"matrix": [4, 13], "x": 192, "y": 64, "flags": 4}, + {"matrix": [4, 14], "x": 208, "y": 64, "flags": 4}, + {"matrix": [4, 15], "x": 224, "y": 64, "flags": 4} + ], + "max_brightness": 200, + "val_steps": 20 + }, + "url": "https://srind.mysoho.com/", + "usb": { + "device_version": "0.0.1", + "pid": "0x0005", + "vid": "0x5943" + }, + "ws2812": { + "pin": "B0" + }, + "layouts": { + "LAYOUT": { + "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.25, "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.25, "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": [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.25, "y": 3.25}, + {"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": 4, "y": 4.25, "w": 2.75}, + {"matrix": [4, 7], "x": 6.75, "y": 4.25, "w": 1.25}, + {"matrix": [4, 9], "x": 8, "y": 4.25, "w": 2.25}, + {"matrix": [4, 10], "x": 10.5, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.75, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.25, "y": 4.25}, + {"matrix": [4, 14], "x": 14.25, "y": 4.25}, + {"matrix": [4, 15], "x": 15.25, "y": 4.25} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/era/sirind/brick65/keymaps/default/keymap.c b/keyboards/era/sirind/brick65/keymaps/default/keymap.c new file mode 100644 index 00000000000..f77a7aabff0 --- /dev/null +++ b/keyboards/era/sirind/brick65/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +/* +Copyright 2024 PyuPyu + +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( + 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_BSPC, KC_DEL, + 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_SCRL, + 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_UP, + KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + KC_TILD, 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, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/era/sirind/brick65/keymaps/via/keymap.c b/keyboards/era/sirind/brick65/keymaps/via/keymap.c new file mode 100644 index 00000000000..0c895c84e41 --- /dev/null +++ b/keyboards/era/sirind/brick65/keymaps/via/keymap.c @@ -0,0 +1,21 @@ +// Copyright 2018-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( + 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_BSPC, KC_DEL, + 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_LSCR, + 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_UP, + KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + KC_TILD, 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, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/era/sirind/brick65/keymaps/via/rules.mk b/keyboards/era/sirind/brick65/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/era/sirind/brick65/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/era/sirind/brick65/readme.md b/keyboards/era/sirind/brick65/readme.md new file mode 100644 index 00000000000..8d8f07d7c52 --- /dev/null +++ b/keyboards/era/sirind/brick65/readme.md @@ -0,0 +1,26 @@ +# Brick65 + +![Brick65](https://i.imgur.com/qyQYWfjh.jpg) + +Brick65 is a 65% ANSI layout Custom Keyboard + +* Keyboard Maintainer: Pyupyu +* Hardware Supported: Brick65 +* Hardware Availability: Syryan + +## How to enter Bootloader Mode + +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 +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead + +Make example for this keyboard (after setting up your build environment): + + make era/sirind/brick65:default + +Flashing example for this keyboard: + + make era/sirind/brick65: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). diff --git a/keyboards/era/sirind/brick65/rules.mk b/keyboards/era/sirind/brick65/rules.mk new file mode 100644 index 00000000000..7ff128fa692 --- /dev/null +++ b/keyboards/era/sirind/brick65/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file From 8c9dea0d0addf7735ceac2eb7bcf9ab3f2d02bff Mon Sep 17 00:00:00 2001 From: elmo Date: Wed, 13 Mar 2024 08:23:30 +0100 Subject: [PATCH 33/36] Add support new kb_elmo PCBs (#23138) Co-authored-by: Ryan --- keyboards/kb_elmo/bm42/info.json | 72 +++++++++++++++ .../kb_elmo/bm42/keymaps/default/keymap.c | 25 +++++ keyboards/kb_elmo/bm42/keymaps/via/keymap.c | 25 +++++ keyboards/kb_elmo/bm42/keymaps/via/rules.mk | 2 + keyboards/kb_elmo/bm42/readme.md | 28 ++++++ keyboards/kb_elmo/bm42/rules.mk | 1 + keyboards/kb_elmo/dizzy40/info.json | 91 +++++++++++++++++++ .../kb_elmo/dizzy40/keymaps/default/keymap.c | 25 +++++ .../kb_elmo/dizzy40/keymaps/via/keymap.c | 25 +++++ .../kb_elmo/dizzy40/keymaps/via/rules.mk | 2 + keyboards/kb_elmo/dizzy40/readme.md | 28 ++++++ keyboards/kb_elmo/dizzy40/rules.mk | 1 + keyboards/kb_elmo/eliza/info.json | 71 +++++++++++++++ .../kb_elmo/eliza/keymaps/default/keymap.c | 25 +++++ keyboards/kb_elmo/eliza/keymaps/via/keymap.c | 25 +++++ keyboards/kb_elmo/eliza/keymaps/via/rules.mk | 2 + keyboards/kb_elmo/eliza/readme.md | 28 ++++++ keyboards/kb_elmo/eliza/rules.mk | 1 + keyboards/kb_elmo/gamehand/info.json | 61 +++++++++++++ .../kb_elmo/gamehand/keymaps/default/keymap.c | 33 +++++++ .../kb_elmo/gamehand/keymaps/via/keymap.c | 33 +++++++ .../kb_elmo/gamehand/keymaps/via/rules.mk | 2 + keyboards/kb_elmo/gamehand/readme.md | 28 ++++++ keyboards/kb_elmo/gamehand/rules.mk | 1 + 24 files changed, 635 insertions(+) create mode 100644 keyboards/kb_elmo/bm42/info.json create mode 100644 keyboards/kb_elmo/bm42/keymaps/default/keymap.c create mode 100644 keyboards/kb_elmo/bm42/keymaps/via/keymap.c create mode 100644 keyboards/kb_elmo/bm42/keymaps/via/rules.mk create mode 100644 keyboards/kb_elmo/bm42/readme.md create mode 100644 keyboards/kb_elmo/bm42/rules.mk create mode 100644 keyboards/kb_elmo/dizzy40/info.json create mode 100644 keyboards/kb_elmo/dizzy40/keymaps/default/keymap.c create mode 100644 keyboards/kb_elmo/dizzy40/keymaps/via/keymap.c create mode 100644 keyboards/kb_elmo/dizzy40/keymaps/via/rules.mk create mode 100644 keyboards/kb_elmo/dizzy40/readme.md create mode 100644 keyboards/kb_elmo/dizzy40/rules.mk create mode 100644 keyboards/kb_elmo/eliza/info.json create mode 100644 keyboards/kb_elmo/eliza/keymaps/default/keymap.c create mode 100644 keyboards/kb_elmo/eliza/keymaps/via/keymap.c create mode 100644 keyboards/kb_elmo/eliza/keymaps/via/rules.mk create mode 100644 keyboards/kb_elmo/eliza/readme.md create mode 100644 keyboards/kb_elmo/eliza/rules.mk create mode 100644 keyboards/kb_elmo/gamehand/info.json create mode 100644 keyboards/kb_elmo/gamehand/keymaps/default/keymap.c create mode 100644 keyboards/kb_elmo/gamehand/keymaps/via/keymap.c create mode 100644 keyboards/kb_elmo/gamehand/keymaps/via/rules.mk create mode 100644 keyboards/kb_elmo/gamehand/readme.md create mode 100644 keyboards/kb_elmo/gamehand/rules.mk diff --git a/keyboards/kb_elmo/bm42/info.json b/keyboards/kb_elmo/bm42/info.json new file mode 100644 index 00000000000..a06019ca0bc --- /dev/null +++ b/keyboards/kb_elmo/bm42/info.json @@ -0,0 +1,72 @@ +{ + "manufacturer": "kb_elmo", + "keyboard_name": "BM42", + "url": "https://github.com/kb-elmo/bm42", + "maintainer": "kb-elmo", + "usb": { + "vid": "0xA68C", + "pid": "0xDC9B", + "device_version": "0.0.1" + }, + "processor": "atmega32u2", + "bootloader": "atmel-dfu", + "matrix_pins": { + "cols": ["C5", "D1", "B5", "B4", "B3", "B2", "B1", "B0", "D6", "D5", "D4"], + "rows": ["D2", "D3", "C7", "C6"] + }, + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": false + }, + "layouts": { + "LAYOUT": { + "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": [3, 10], "x": 11, "y": 0}, + {"matrix": [3, 0], "x": 0, "y": 1, "w": 1.25}, + {"matrix": [1, 1], "x": 1.25, "y": 1}, + {"matrix": [1, 2], "x": 2.25, "y": 1}, + {"matrix": [1, 3], "x": 3.25, "y": 1}, + {"matrix": [1, 4], "x": 4.25, "y": 1}, + {"matrix": [1, 5], "x": 5.25, "y": 1}, + {"matrix": [1, 6], "x": 6.25, "y": 1}, + {"matrix": [1, 7], "x": 7.25, "y": 1}, + {"matrix": [1, 8], "x": 8.25, "y": 1}, + {"matrix": [1, 9], "x": 9.25, "y": 1}, + {"matrix": [1, 10], "x": 10.25, "y": 1, "w": 1.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": [3, 9], "x": 10.75, "y": 2, "w": 1.25}, + {"matrix": [3, 1], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 2], "x": 1.25, "y": 3}, + {"matrix": [3, 3], "x": 2.25, "y": 3, "w": 1.25}, + {"matrix": [3, 4], "x": 3.5, "y": 3, "w": 3}, + {"matrix": [3, 5], "x": 6.5, "y": 3, "w": 2}, + {"matrix": [3, 6], "x": 8.5, "y": 3, "w": 1.25}, + {"matrix": [3, 7], "x": 9.75, "y": 3}, + {"matrix": [3, 8], "x": 10.75, "y": 3, "w": 1.25} + ] + } + } +} diff --git a/keyboards/kb_elmo/bm42/keymaps/default/keymap.c b/keyboards/kb_elmo/bm42/keymaps/default/keymap.c new file mode 100644 index 00000000000..77dac80a1e1 --- /dev/null +++ b/keyboards/kb_elmo/bm42/keymaps/default/keymap.c @@ -0,0 +1,25 @@ +// Copyright 2022 kb-elmo (@kb-elmo) +// 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_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RGUI, MO(2) + ), + [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, + KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_SCLN, KC_QUOT, KC_BSLS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT( + KC_GRV, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_PSCR, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, 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 + ), +}; diff --git a/keyboards/kb_elmo/bm42/keymaps/via/keymap.c b/keyboards/kb_elmo/bm42/keymaps/via/keymap.c new file mode 100644 index 00000000000..77dac80a1e1 --- /dev/null +++ b/keyboards/kb_elmo/bm42/keymaps/via/keymap.c @@ -0,0 +1,25 @@ +// Copyright 2022 kb-elmo (@kb-elmo) +// 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_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RGUI, MO(2) + ), + [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, + KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_SCLN, KC_QUOT, KC_BSLS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT( + KC_GRV, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_PSCR, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, 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 + ), +}; diff --git a/keyboards/kb_elmo/bm42/keymaps/via/rules.mk b/keyboards/kb_elmo/bm42/keymaps/via/rules.mk new file mode 100644 index 00000000000..36b7ba9cbc9 --- /dev/null +++ b/keyboards/kb_elmo/bm42/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/kb_elmo/bm42/readme.md b/keyboards/kb_elmo/bm42/readme.md new file mode 100644 index 00000000000..422d6080c5d --- /dev/null +++ b/keyboards/kb_elmo/bm42/readme.md @@ -0,0 +1,28 @@ +# BM42 + +![BM42](https://i.imgur.com/DljDoaTh.jpeg) + +A simple drop-in replacement PCB for the KPRepublic BM43 keyboard. + +* Keyboard Maintainer: [kb-elmo](https://github.com/kb-elmo) +* Hardware Supported: BM42 rev.1 PCB +* Hardware Availability: [Open source project](https://github.com/kb-elmo/bm42) + +Make example for this keyboard (after setting up your build environment): + + make kb_elmo/bm42:default + +Flashing example for this keyboard: + + make kb_elmo/bm42: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 top left key and plug in the keyboard +* **Physical reset**: Briefly short the two contacts labeled "RESET" on the back of the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/kb_elmo/bm42/rules.mk b/keyboards/kb_elmo/bm42/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/kb_elmo/bm42/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/kb_elmo/dizzy40/info.json b/keyboards/kb_elmo/dizzy40/info.json new file mode 100644 index 00000000000..0bac157c443 --- /dev/null +++ b/keyboards/kb_elmo/dizzy40/info.json @@ -0,0 +1,91 @@ +{ + "manufacturer": "kb_elmo", + "keyboard_name": "Dizzy40", + "url": "https://github.com/kb-elmo/dizzy40", + "maintainer": "kb-elmo", + "usb": { + "vid": "0xA68C", + "pid": "0x7BB2", + "device_version": "0.0.1" + }, + "processor": "atmega32u2", + "bootloader": "atmel-dfu", + "matrix_pins": { + "cols": ["C6", "C7", "B7", "B6", "B5", "D2", "B1", "B0", "D3", "D4", "D5"], + "rows": ["C4", "C5", "C2", "B2"] + }, + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "rgblight": true, + "nkro": false + }, + "rgblight": { + "led_count": 8, + "sleep": true, + "animations": { + "breathing": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "christmas": true, + "static_gradient": true, + "rgb_test": true, + "alternating": true, + "twinkle": true + } + }, + "ws2812": { + "pin": "B4" + }, + "layouts": { + "LAYOUT": { + "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": [3, 10], "x": 11, "y": 0}, + {"matrix": [3, 0], "x": 0, "y": 1, "w": 1.25}, + {"matrix": [1, 1], "x": 1.25, "y": 1}, + {"matrix": [1, 2], "x": 2.25, "y": 1}, + {"matrix": [1, 3], "x": 3.25, "y": 1}, + {"matrix": [1, 4], "x": 4.25, "y": 1}, + {"matrix": [1, 5], "x": 5.25, "y": 1}, + {"matrix": [1, 6], "x": 6.25, "y": 1}, + {"matrix": [1, 7], "x": 7.25, "y": 1}, + {"matrix": [1, 8], "x": 8.25, "y": 1}, + {"matrix": [1, 9], "x": 9.25, "y": 1}, + {"matrix": [1, 10], "x": 10.25, "y": 1, "w": 1.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": [3, 9], "x": 10.75, "y": 2, "w": 1.25}, + {"matrix": [3, 1], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 2], "x": 1.25, "y": 3}, + {"matrix": [3, 3], "x": 2.25, "y": 3, "w": 1.25}, + {"matrix": [3, 4], "x": 3.5, "y": 3, "w": 3}, + {"matrix": [3, 5], "x": 6.5, "y": 3, "w": 2}, + {"matrix": [3, 6], "x": 8.5, "y": 3, "w": 1.25}, + {"matrix": [3, 7], "x": 9.75, "y": 3}, + {"matrix": [3, 8], "x": 10.75, "y": 3, "w": 1.25} + ] + } + } +} diff --git a/keyboards/kb_elmo/dizzy40/keymaps/default/keymap.c b/keyboards/kb_elmo/dizzy40/keymaps/default/keymap.c new file mode 100644 index 00000000000..77dac80a1e1 --- /dev/null +++ b/keyboards/kb_elmo/dizzy40/keymaps/default/keymap.c @@ -0,0 +1,25 @@ +// Copyright 2022 kb-elmo (@kb-elmo) +// 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_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RGUI, MO(2) + ), + [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, + KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_SCLN, KC_QUOT, KC_BSLS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT( + KC_GRV, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_PSCR, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, 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 + ), +}; diff --git a/keyboards/kb_elmo/dizzy40/keymaps/via/keymap.c b/keyboards/kb_elmo/dizzy40/keymaps/via/keymap.c new file mode 100644 index 00000000000..77dac80a1e1 --- /dev/null +++ b/keyboards/kb_elmo/dizzy40/keymaps/via/keymap.c @@ -0,0 +1,25 @@ +// Copyright 2022 kb-elmo (@kb-elmo) +// 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_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RGUI, MO(2) + ), + [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, + KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_SCLN, KC_QUOT, KC_BSLS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT( + KC_GRV, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_PSCR, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, 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 + ), +}; diff --git a/keyboards/kb_elmo/dizzy40/keymaps/via/rules.mk b/keyboards/kb_elmo/dizzy40/keymaps/via/rules.mk new file mode 100644 index 00000000000..36b7ba9cbc9 --- /dev/null +++ b/keyboards/kb_elmo/dizzy40/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/kb_elmo/dizzy40/readme.md b/keyboards/kb_elmo/dizzy40/readme.md new file mode 100644 index 00000000000..0fb02c36ae7 --- /dev/null +++ b/keyboards/kb_elmo/dizzy40/readme.md @@ -0,0 +1,28 @@ +# Dizzy40 + +![Dizzy40](https://i.imgur.com/TNXHaUGh.jpeg) + +A simple drop-in replacement PCB for the KPRepublic Daisy40 keyboard. + +* Keyboard Maintainer: [kb-elmo](https://github.com/kb-elmo) +* Hardware Supported: Dizzy40 rev.1 PCB +* Hardware Availability: [Open source project](https://github.com/kb-elmo/dizzy40) + +Make example for this keyboard (after setting up your build environment): + + make kb_elmo/dizzy40:default + +Flashing example for this keyboard: + + make kb_elmo/dizzy40: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 top left key and plug in the keyboard +* **Physical reset**: Briefly short the two contacts labeled "RESET" on the back of the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/kb_elmo/dizzy40/rules.mk b/keyboards/kb_elmo/dizzy40/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/kb_elmo/dizzy40/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/kb_elmo/eliza/info.json b/keyboards/kb_elmo/eliza/info.json new file mode 100644 index 00000000000..37c12b5ca97 --- /dev/null +++ b/keyboards/kb_elmo/eliza/info.json @@ -0,0 +1,71 @@ +{ + "manufacturer": "kb_elmo", + "keyboard_name": "Eliza", + "url": "https://github.com/kb-elmo/eliza", + "maintainer": "kb-elmo", + "usb": { + "vid": "0xA68C", + "pid": "0xC762", + "device_version": "0.0.1" + }, + "processor": "atmega32u2", + "bootloader": "atmel-dfu", + "matrix_pins": { + "cols": ["C7", "B7", "B6", "B5", "B4", "B3", "D1", "B1", "B0", "D6", "D5", "D4"], + "rows": ["D0", "D2", "B2", "D3"] + }, + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": false + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0.35, "y": 0}, + {"matrix": [0, 1], "x": 1.35, "y": 0}, + {"matrix": [0, 2], "x": 2.65, "y": 0}, + {"matrix": [0, 3], "x": 3.65, "y": 0}, + {"matrix": [0, 4], "x": 4.65, "y": 0}, + {"matrix": [0, 5], "x": 5.65, "y": 0}, + {"matrix": [0, 6], "x": 7.9, "y": 0}, + {"matrix": [0, 7], "x": 8.9, "y": 0}, + {"matrix": [0, 8], "x": 9.9, "y": 0}, + {"matrix": [0, 9], "x": 10.9, "y": 0}, + {"matrix": [0, 10], "x": 12.2, "y": 0}, + {"matrix": [0, 11], "x": 13.2, "y": 0}, + {"matrix": [1, 0], "x": 0.2, "y": 1, "w": 1.25}, + {"matrix": [1, 1], "x": 1.45, "y": 1}, + {"matrix": [1, 2], "x": 2.9, "y": 1}, + {"matrix": [1, 3], "x": 3.9, "y": 1}, + {"matrix": [1, 4], "x": 4.9, "y": 1}, + {"matrix": [1, 5], "x": 5.9, "y": 1}, + {"matrix": [1, 6], "x": 8.15, "y": 1}, + {"matrix": [1, 7], "x": 9.15, "y": 1}, + {"matrix": [1, 8], "x": 10.15, "y": 1}, + {"matrix": [1, 9], "x": 11.15, "y": 1}, + {"matrix": [1, 11], "x": 12.6, "y": 1, "w": 1.75}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 3.4, "y": 2}, + {"matrix": [2, 3], "x": 4.4, "y": 2}, + {"matrix": [2, 4], "x": 5.4, "y": 2}, + {"matrix": [2, 5], "x": 6.4, "y": 2}, + {"matrix": [2, 6], "x": 7.65, "y": 2}, + {"matrix": [2, 7], "x": 8.65, "y": 2}, + {"matrix": [2, 8], "x": 9.65, "y": 2}, + {"matrix": [2, 9], "x": 10.65, "y": 2}, + {"matrix": [2, 10], "x": 12.3, "y": 2}, + {"matrix": [2, 11], "x": 13.3, "y": 2, "w": 1.25}, + {"matrix": [3, 0], "x": 0.2, "y": 3, "w": 1.5}, + {"matrix": [3, 2], "x": 3.15, "y": 3, "w": 1.25}, + {"matrix": [3, 4], "x": 4.4, "y": 3, "w": 2.75}, + {"matrix": [3, 7], "x": 7.9, "y": 3, "w": 2.25}, + {"matrix": [3, 9], "x": 10.15, "y": 3, "w": 1.25}, + {"matrix": [3, 11], "x": 12.85, "y": 3, "w": 1.5} + ] + } + } +} diff --git a/keyboards/kb_elmo/eliza/keymaps/default/keymap.c b/keyboards/kb_elmo/eliza/keymaps/default/keymap.c new file mode 100644 index 00000000000..9a8b1e1965d --- /dev/null +++ b/keyboards/kb_elmo/eliza/keymaps/default/keymap.c @@ -0,0 +1,25 @@ +// Copyright 2022 kb-elmo (@kb-elmo) +// 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_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, 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_LCTL, KC_LALT, KC_SPC, MO(1), KC_RALT, MO(2) + ), + [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, + KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_SCLN, KC_QUOT, KC_BSLS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT( + KC_GRV, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_PSCR, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, 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 + ), +}; diff --git a/keyboards/kb_elmo/eliza/keymaps/via/keymap.c b/keyboards/kb_elmo/eliza/keymaps/via/keymap.c new file mode 100644 index 00000000000..9a8b1e1965d --- /dev/null +++ b/keyboards/kb_elmo/eliza/keymaps/via/keymap.c @@ -0,0 +1,25 @@ +// Copyright 2022 kb-elmo (@kb-elmo) +// 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_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, 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_LCTL, KC_LALT, KC_SPC, MO(1), KC_RALT, MO(2) + ), + [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, + KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_SCLN, KC_QUOT, KC_BSLS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT( + KC_GRV, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_PSCR, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, 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 + ), +}; diff --git a/keyboards/kb_elmo/eliza/keymaps/via/rules.mk b/keyboards/kb_elmo/eliza/keymaps/via/rules.mk new file mode 100644 index 00000000000..36b7ba9cbc9 --- /dev/null +++ b/keyboards/kb_elmo/eliza/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/kb_elmo/eliza/readme.md b/keyboards/kb_elmo/eliza/readme.md new file mode 100644 index 00000000000..fd8b9e74e52 --- /dev/null +++ b/keyboards/kb_elmo/eliza/readme.md @@ -0,0 +1,28 @@ +# Eliza + +![Eliza](https://i.imgur.com/OGpPhReh.jpeg) + +40% alice-style ergo keyboard with a seamless 3D printed gasket-mount case. + +* Keyboard Maintainer: [kb-elmo](https://github.com/kb-elmo) +* Hardware Supported: Eliza rev.1 PCB +* Hardware Availability: [Open source project](https://github.com/kb-elmo/eliza) + +Make example for this keyboard (after setting up your build environment): + + make kb_elmo/eliza:default + +Flashing example for this keyboard: + + make kb_elmo/eliza: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 top left key and plug in the keyboard +* **Physical reset**: Briefly short the two contacts labeled "RESET" on the back of the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/kb_elmo/eliza/rules.mk b/keyboards/kb_elmo/eliza/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/kb_elmo/eliza/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/kb_elmo/gamehand/info.json b/keyboards/kb_elmo/gamehand/info.json new file mode 100644 index 00000000000..39795bf2502 --- /dev/null +++ b/keyboards/kb_elmo/gamehand/info.json @@ -0,0 +1,61 @@ +{ + "manufacturer": "kb-elmo", + "keyboard_name": "GameHand", + "url": "https://github.com/kb-elmo/gamehand", + "maintainer": "kb-elmo", + "usb": { + "vid": "0xA68C", + "pid": "0x4D90", + "device_version": "0.0.1", + "force_nkro": true + }, + "processor": "atmega32u2", + "bootloader": "atmel-dfu", + "matrix_pins": { + "cols": ["B2", "B1", "B0", "B7", "C7", "C6"], + "rows": ["D6", "D5", "D4", "D3", "D2"] + }, + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + }, + "build": { + "debounce_type": "sym_defer_pk" + }, + "layouts": { + "LAYOUT": { + "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": [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": [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": [3, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3}, + {"matrix": [3, 2], "x": 2.75, "y": 3}, + {"matrix": [3, 3], "x": 3.75, "y": 3}, + {"matrix": [3, 4], "x": 4.75, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 3, "y": 4, "w": 1.5}, + {"matrix": [4, 5], "x": 4.5, "y": 4, "w": 2} + ] + } + } +} diff --git a/keyboards/kb_elmo/gamehand/keymaps/default/keymap.c b/keyboards/kb_elmo/gamehand/keymaps/default/keymap.c new file mode 100644 index 00000000000..d22614cb0b2 --- /dev/null +++ b/keyboards/kb_elmo/gamehand/keymaps/default/keymap.c @@ -0,0 +1,33 @@ +/* Copyright 2021 kb-elmo + * + * 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( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, + MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, + KC_LCTL, KC_M, KC_H, KC_SPC + ), + [1] = LAYOUT( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT + ) +}; diff --git a/keyboards/kb_elmo/gamehand/keymaps/via/keymap.c b/keyboards/kb_elmo/gamehand/keymaps/via/keymap.c new file mode 100644 index 00000000000..d9e5dc747c6 --- /dev/null +++ b/keyboards/kb_elmo/gamehand/keymaps/via/keymap.c @@ -0,0 +1,33 @@ +/* Copyright 2021 kb-elmo + * + * 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( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, + MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, + KC_LCTL, KC_M, KC_H, KC_SPC + ), + [1] = LAYOUT( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, + KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT + ), +}; diff --git a/keyboards/kb_elmo/gamehand/keymaps/via/rules.mk b/keyboards/kb_elmo/gamehand/keymaps/via/rules.mk new file mode 100644 index 00000000000..36b7ba9cbc9 --- /dev/null +++ b/keyboards/kb_elmo/gamehand/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/kb_elmo/gamehand/readme.md b/keyboards/kb_elmo/gamehand/readme.md new file mode 100644 index 00000000000..a78e1ee205c --- /dev/null +++ b/keyboards/kb_elmo/gamehand/readme.md @@ -0,0 +1,28 @@ +# GameHand + +![gamehand](https://i.imgur.com/ia3bcUBh.jpg) + +A left-hand gaming keypad with a 3D printed case + +* Keyboard Maintainer: [kb-elmo](https://github.com/kb-elmo) +* Hardware Supported: GameHand rev.1 PCB +* Hardware Availability: [OpenSource Project](https://github.com/kb-elmo/GameHand) + +Make example for this keyboard (after setting up your build environment): + + make kb_elmo/gamehand:default + +Flashing example for this keyboard: + + make kb_elmo/gamehand: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 top left key and plug in the keyboard +* **Physical reset**: Briefly short the two contacts labeled "RESET" on the back of the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/kb_elmo/gamehand/rules.mk b/keyboards/kb_elmo/gamehand/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/kb_elmo/gamehand/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From aa73362674028bf6603a7a2df701f4617e09f8cb Mon Sep 17 00:00:00 2001 From: galile0 <134774462+galile0-designs@users.noreply.github.com> Date: Wed, 13 Mar 2024 08:24:21 +0100 Subject: [PATCH 34/36] [Keyboard] add glyphkbd_v2 (#23131) Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Ryan --- keyboards/galile0/glyphkbd_v2/info.json | 104 +++++++++++++++++ .../glyphkbd_v2/keymaps/default/keymap.c | 105 ++++++++++++++++++ .../galile0/glyphkbd_v2/keymaps/via/keymap.c | 105 ++++++++++++++++++ .../galile0/glyphkbd_v2/keymaps/via/rules.mk | 1 + keyboards/galile0/glyphkbd_v2/readme.md | 27 +++++ keyboards/galile0/glyphkbd_v2/rules.mk | 1 + 6 files changed, 343 insertions(+) create mode 100644 keyboards/galile0/glyphkbd_v2/info.json create mode 100644 keyboards/galile0/glyphkbd_v2/keymaps/default/keymap.c create mode 100644 keyboards/galile0/glyphkbd_v2/keymaps/via/keymap.c create mode 100644 keyboards/galile0/glyphkbd_v2/keymaps/via/rules.mk create mode 100644 keyboards/galile0/glyphkbd_v2/readme.md create mode 100644 keyboards/galile0/glyphkbd_v2/rules.mk diff --git a/keyboards/galile0/glyphkbd_v2/info.json b/keyboards/galile0/glyphkbd_v2/info.json new file mode 100644 index 00000000000..664b4c491ff --- /dev/null +++ b/keyboards/galile0/glyphkbd_v2/info.json @@ -0,0 +1,104 @@ +{ + "manufacturer": "galile0", + "keyboard_name": "glyphkbd_v2", + "maintainer": "galile0-designs", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["B1", "A1", "B0", "A0", "C5", "C3", "C4", "C2", "A7", "C1", "A6", "C0", "A5", "B12", "B13", "B14"], + "rows": ["B10", "B2", "A2", "F0", "F1"] + }, + "processor": "STM32F072", + "url": "https://github.com/galile0-designs/glyphkbd", + "usb": { + "device_version": "1.0.0", + "pid": "0x0001", + "vid": "0x4744" + }, + "layouts": { + "LAYOUT": { + "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.5, "y": 0}, + {"matrix": [0, 14], "x": 14.5, "y": 0}, + {"matrix": [0, 15], "x": 15.5, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [1, 6], "x": 6, "y": 1}, + {"matrix": [1, 7], "x": 7, "y": 1}, + {"matrix": [1, 8], "x": 8, "y": 1}, + {"matrix": [1, 9], "x": 9, "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.5, "y": 1}, + {"matrix": [1, 14], "x": 14.5, "y": 1}, + {"matrix": [1, 15], "x": 15.5, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2}, + {"matrix": [2, 5], "x": 5, "y": 2}, + {"matrix": [2, 6], "x": 6, "y": 2}, + {"matrix": [2, 7], "x": 7, "y": 2}, + {"matrix": [2, 8], "x": 8, "y": 2}, + {"matrix": [2, 9], "x": 9, "y": 2}, + {"matrix": [2, 10], "x": 10, "y": 2}, + {"matrix": [2, 11], "x": 11, "y": 2}, + {"matrix": [2, 12], "x": 12, "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, 7], "x": 7, "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, 14], "x": 14.5, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4}, + {"matrix": [4, 1], "x": 1, "y": 4}, + {"matrix": [4, 2], "x": 2, "y": 4}, + {"matrix": [4, 3], "x": 3, "y": 4}, + {"matrix": [4, 4], "x": 4, "y": 4}, + {"matrix": [4, 5], "x": 5, "y": 4, "w": 2}, + {"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.5, "y": 4}, + {"matrix": [4, 14], "x": 14.5, "y": 4}, + {"matrix": [4, 15], "x": 15.5, "y": 4} + ] + } + } +} diff --git a/keyboards/galile0/glyphkbd_v2/keymaps/default/keymap.c b/keyboards/galile0/glyphkbd_v2/keymaps/default/keymap.c new file mode 100644 index 00000000000..15ad99b61fb --- /dev/null +++ b/keyboards/galile0/glyphkbd_v2/keymaps/default/keymap.c @@ -0,0 +1,105 @@ +/* + *Copyright 2024 Fabian Leijström (@galile0-designs) + * + *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] = { + + /* LAYER + * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┐ + * │ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ BS │ │ INS │HOME │PGUP │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┤ + * │ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │ DEL │ END │PGDN │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ └─────┴─────┴─────┘ + * │CAPS │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ENTER│ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┐ + * │SHIFT│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │SHIFT│ │ UP │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┴─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┼─────┼─────┐ + * │CTRL │ │ SYS │ ALT │LOWER│ SPACE │SPACE│RAISE│ ALT │ SYS │ │CTRL │ │LEFT │DOWN │RIGHT│ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * └─────┴─────┴─────┴─────┴─────┴───────────┴─────┴─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┘ + */ + + [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_BSPC, KC_INS, 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_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, + KC_LSFT, KC_BSLS, 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_LCTL, KC_NO, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, MO(2), KC_RALT, KC_RGUI, KC_NO, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + /* FUNCTION LAYER + * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┐ + * │PAUSE│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │ PRT │ │ │ + * │PLAY │ │ │ │ │ │ │ │ │ │ │ │ │ │ SCR │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ └─────┴─────┴─────┘ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┴─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┼─────┼─────┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * └─────┴─────┴─────┴─────┴─────┴───────────┴─────┴─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┘ + */ + + [1] = LAYOUT( + //******** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** + KC_MPLY, 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_PSCR, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO + ), + + /* SYMBOLS LAYER + * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┐ + * │ │ │ │ │ │ │ │ │ │ ` │ = │ + │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ └─────┴─────┴─────┘ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┴─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┼─────┼─────┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * └─────┴─────┴─────┴─────┴─────┴───────────┴─────┴─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┘ + */ + + [2] = LAYOUT( + //******** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_GRV, KC_EQL, KC_PPLS, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO + ) +}; diff --git a/keyboards/galile0/glyphkbd_v2/keymaps/via/keymap.c b/keyboards/galile0/glyphkbd_v2/keymaps/via/keymap.c new file mode 100644 index 00000000000..15ad99b61fb --- /dev/null +++ b/keyboards/galile0/glyphkbd_v2/keymaps/via/keymap.c @@ -0,0 +1,105 @@ +/* + *Copyright 2024 Fabian Leijström (@galile0-designs) + * + *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] = { + + /* LAYER + * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┐ + * │ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ BS │ │ INS │HOME │PGUP │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┤ + * │ TAB │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │ DEL │ END │PGDN │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ └─────┴─────┴─────┘ + * │CAPS │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ENTER│ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┐ + * │SHIFT│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │SHIFT│ │ UP │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┴─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┼─────┼─────┐ + * │CTRL │ │ SYS │ ALT │LOWER│ SPACE │SPACE│RAISE│ ALT │ SYS │ │CTRL │ │LEFT │DOWN │RIGHT│ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * └─────┴─────┴─────┴─────┴─────┴───────────┴─────┴─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┘ + */ + + [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_BSPC, KC_INS, 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_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, + KC_LSFT, KC_BSLS, 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_LCTL, KC_NO, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, MO(2), KC_RALT, KC_RGUI, KC_NO, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + /* FUNCTION LAYER + * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┐ + * │PAUSE│ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │ PRT │ │ │ + * │PLAY │ │ │ │ │ │ │ │ │ │ │ │ │ │ SCR │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ └─────┴─────┴─────┘ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┴─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┼─────┼─────┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * └─────┴─────┴─────┴─────┴─────┴───────────┴─────┴─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┘ + */ + + [1] = LAYOUT( + //******** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** + KC_MPLY, 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_PSCR, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO + ), + + /* SYMBOLS LAYER + * ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┐ + * │ │ │ │ │ │ │ │ │ │ ` │ = │ + │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ └─────┴─────┴─────┘ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┴─────┼─────┼─────┼─────┼─────┼─────┼─────┤ ┌─────┼─────┼─────┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * └─────┴─────┴─────┴─────┴─────┴───────────┴─────┴─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┘ + */ + + [2] = LAYOUT( + //******** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** ********** + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_GRV, KC_EQL, KC_PPLS, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO + ) +}; diff --git a/keyboards/galile0/glyphkbd_v2/keymaps/via/rules.mk b/keyboards/galile0/glyphkbd_v2/keymaps/via/rules.mk new file mode 100644 index 00000000000..036bd6d1c3e --- /dev/null +++ b/keyboards/galile0/glyphkbd_v2/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/galile0/glyphkbd_v2/readme.md b/keyboards/galile0/glyphkbd_v2/readme.md new file mode 100644 index 00000000000..378238c38d4 --- /dev/null +++ b/keyboards/galile0/glyphkbd_v2/readme.md @@ -0,0 +1,27 @@ +# glyphkbd_v2 + +![glyphkbd_v2](https://i.imgur.com/9PxLaPlh.jpeg) + +5x13 ortholinear plus TKL nav and arrow clusters. + +* Keyboard Maintainer: [Fabian Leijström](https://github.com/galile0-designs) +* Hardware Supported: glyphkbd_v2 PCB +* Hardware Availability: [Github Repository](https://github.com/galile0-designs/glyphkbd) + +Make example for this keyboard (after setting up your build environment): + + make galile0/glyphkbd_v2:default + +Flashing example for this keyboard: + + make galile0/glyphkbd_v2: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**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/galile0/glyphkbd_v2/rules.mk b/keyboards/galile0/glyphkbd_v2/rules.mk new file mode 100644 index 00000000000..7ff128fa692 --- /dev/null +++ b/keyboards/galile0/glyphkbd_v2/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file From 10800259739e1bf35db7a8d0c8acfa102f3de7a9 Mon Sep 17 00:00:00 2001 From: achim-t Date: Thu, 14 Mar 2024 04:28:54 +0100 Subject: [PATCH 35/36] Update feature_tri_layer.md - typo (#23275) --- docs/feature_tri_layer.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/feature_tri_layer.md b/docs/feature_tri_layer.md index ade0040cc7b..3087fb5a550 100644 --- a/docs/feature_tri_layer.md +++ b/docs/feature_tri_layer.md @@ -45,4 +45,4 @@ Eg, if you wanted to set the "Adjust" layer to be layer 5, you'd add this to you | `get_tri_layer_upper_layer()` | Gets the current "upper" layer. | | `get_tri_layer_adjust_layer()` | Gets the current "adjust" layer. | -!> Note: these settings are not persisent, and will be reset to the default on power loss or power cycling of the controller. +!> Note: these settings are not persistent, and will be reset to the default on power loss or power cycling of the controller. From 67df06eb441316d03256a962d4dad85d3a76cb37 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Fri, 15 Mar 2024 04:52:30 +1100 Subject: [PATCH 36/36] Fixup cipulot eeprom. (#23280) --- keyboards/cipulot/common/ec_switch_matrix.h | 1 + keyboards/cipulot/ec_23u/config.h | 2 +- keyboards/cipulot/ec_60/config.h | 2 +- keyboards/cipulot/ec_alveus/1_0_0/config.h | 2 +- keyboards/cipulot/ec_alveus/1_2_0/config.h | 2 +- keyboards/cipulot/ec_pro2/config.h | 2 +- keyboards/cipulot/ec_prox/ansi_iso/config.h | 2 +- keyboards/cipulot/ec_prox/jis/config.h | 2 +- keyboards/cipulot/ec_theca/config.h | 2 +- keyboards/cipulot/rf_r1_8_9xu/config.h | 2 +- 10 files changed, 10 insertions(+), 9 deletions(-) diff --git a/keyboards/cipulot/common/ec_switch_matrix.h b/keyboards/cipulot/common/ec_switch_matrix.h index ad03f093de7..4b424911da8 100644 --- a/keyboards/cipulot/common/ec_switch_matrix.h +++ b/keyboards/cipulot/common/ec_switch_matrix.h @@ -20,6 +20,7 @@ #include #include "matrix.h" #include "eeconfig.h" +#include "util.h" typedef struct PACKED { uint8_t actuation_mode; // 0: normal board-wide APC, 1: Rapid trigger from specific board-wide actuation point, 2: Rapid trigger from resting point diff --git a/keyboards/cipulot/ec_23u/config.h b/keyboards/cipulot/ec_23u/config.h index da210fe0c63..3a3d482e3d3 100644 --- a/keyboards/cipulot/ec_23u/config.h +++ b/keyboards/cipulot/ec_23u/config.h @@ -60,7 +60,7 @@ // #define DEBUG_MATRIX_SCAN_RATE -#define EECONFIG_KB_DATA_SIZE 58 +#define EECONFIG_KB_DATA_SIZE 57 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/cipulot/ec_60/config.h b/keyboards/cipulot/ec_60/config.h index d4dc8cf68ac..c936b248c45 100644 --- a/keyboards/cipulot/ec_60/config.h +++ b/keyboards/cipulot/ec_60/config.h @@ -63,7 +63,7 @@ // #define DEBUG_MATRIX_SCAN_RATE -#define EECONFIG_KB_DATA_SIZE 160 +#define EECONFIG_KB_DATA_SIZE 159 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/cipulot/ec_alveus/1_0_0/config.h b/keyboards/cipulot/ec_alveus/1_0_0/config.h index 775c7906adb..ea43ba348d5 100644 --- a/keyboards/cipulot/ec_alveus/1_0_0/config.h +++ b/keyboards/cipulot/ec_alveus/1_0_0/config.h @@ -62,7 +62,7 @@ // #define DEBUG_MATRIX_SCAN_RATE -#define EECONFIG_KB_DATA_SIZE 170 +#define EECONFIG_KB_DATA_SIZE 169 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/cipulot/ec_alveus/1_2_0/config.h b/keyboards/cipulot/ec_alveus/1_2_0/config.h index 775c7906adb..ea43ba348d5 100644 --- a/keyboards/cipulot/ec_alveus/1_2_0/config.h +++ b/keyboards/cipulot/ec_alveus/1_2_0/config.h @@ -62,7 +62,7 @@ // #define DEBUG_MATRIX_SCAN_RATE -#define EECONFIG_KB_DATA_SIZE 170 +#define EECONFIG_KB_DATA_SIZE 169 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/cipulot/ec_pro2/config.h b/keyboards/cipulot/ec_pro2/config.h index d4dc8cf68ac..c936b248c45 100644 --- a/keyboards/cipulot/ec_pro2/config.h +++ b/keyboards/cipulot/ec_pro2/config.h @@ -63,7 +63,7 @@ // #define DEBUG_MATRIX_SCAN_RATE -#define EECONFIG_KB_DATA_SIZE 160 +#define EECONFIG_KB_DATA_SIZE 159 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/cipulot/ec_prox/ansi_iso/config.h b/keyboards/cipulot/ec_prox/ansi_iso/config.h index ec15808274c..6a165cf3abd 100644 --- a/keyboards/cipulot/ec_prox/ansi_iso/config.h +++ b/keyboards/cipulot/ec_prox/ansi_iso/config.h @@ -63,7 +63,7 @@ // #define DEBUG_MATRIX_SCAN_RATE -#define EECONFIG_KB_DATA_SIZE 160 +#define EECONFIG_KB_DATA_SIZE 159 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/cipulot/ec_prox/jis/config.h b/keyboards/cipulot/ec_prox/jis/config.h index 8761b692aad..6a686d74044 100644 --- a/keyboards/cipulot/ec_prox/jis/config.h +++ b/keyboards/cipulot/ec_prox/jis/config.h @@ -63,7 +63,7 @@ // #define DEBUG_MATRIX_SCAN_RATE -#define EECONFIG_KB_DATA_SIZE 150 +#define EECONFIG_KB_DATA_SIZE 149 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/cipulot/ec_theca/config.h b/keyboards/cipulot/ec_theca/config.h index 23a0bb4eb40..4b834fdff68 100644 --- a/keyboards/cipulot/ec_theca/config.h +++ b/keyboards/cipulot/ec_theca/config.h @@ -62,7 +62,7 @@ // #define DEBUG_MATRIX_SCAN_RATE #define DYNAMIC_KEYMAP_LAYER_COUNT 3 -#define EECONFIG_KB_DATA_SIZE 202 +#define EECONFIG_KB_DATA_SIZE 201 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE diff --git a/keyboards/cipulot/rf_r1_8_9xu/config.h b/keyboards/cipulot/rf_r1_8_9xu/config.h index bd020ff4333..fbd65f259fd 100644 --- a/keyboards/cipulot/rf_r1_8_9xu/config.h +++ b/keyboards/cipulot/rf_r1_8_9xu/config.h @@ -62,7 +62,7 @@ // #define DEBUG_MATRIX_SCAN_RATE #define DYNAMIC_KEYMAP_LAYER_COUNT 3 -#define EECONFIG_KB_DATA_SIZE 202 +#define EECONFIG_KB_DATA_SIZE 201 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE