From 633d92a68b34ffb37702cb5d5ad81517e2703a08 Mon Sep 17 00:00:00 2001 From: Frank Ebel Date: Sun, 3 Sep 2023 03:24:57 +0200 Subject: [PATCH 001/144] chore: ignore virtual environment directory (#20905) --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 13ed2960352..e9e7b27e6c6 100644 --- a/.gitignore +++ b/.gitignore @@ -95,6 +95,7 @@ secrets.tar # Python things __pycache__ .python-version +.venv # Prerequisites for updating ChibiOS /util/fmpp* From b03b49fca3dbed3de78b6f00e77cdc3d430b97ab Mon Sep 17 00:00:00 2001 From: ziptyze Date: Sat, 2 Sep 2023 23:43:58 -0400 Subject: [PATCH 002/144] Add 1upkeyboards Super16v3 (#21665) Co-authored-by: Duncan Sutherland --- keyboards/1upkeyboards/1upsuper16v3/config.h | 22 +++ keyboards/1upkeyboards/1upsuper16v3/info.json | 164 ++++++++++++++++++ .../1upsuper16v3/keymaps/default/keymap.c | 39 +++++ .../1upsuper16v3/keymaps/default/rules.mk | 1 + .../1upsuper16v3/keymaps/via/keymap.c | 39 +++++ .../1upsuper16v3/keymaps/via/rules.mk | 4 + keyboards/1upkeyboards/1upsuper16v3/readme.md | 22 +++ keyboards/1upkeyboards/1upsuper16v3/rules.mk | 0 8 files changed, 291 insertions(+) create mode 100644 keyboards/1upkeyboards/1upsuper16v3/config.h create mode 100644 keyboards/1upkeyboards/1upsuper16v3/info.json create mode 100644 keyboards/1upkeyboards/1upsuper16v3/keymaps/default/keymap.c create mode 100644 keyboards/1upkeyboards/1upsuper16v3/keymaps/default/rules.mk create mode 100644 keyboards/1upkeyboards/1upsuper16v3/keymaps/via/keymap.c create mode 100644 keyboards/1upkeyboards/1upsuper16v3/keymaps/via/rules.mk create mode 100644 keyboards/1upkeyboards/1upsuper16v3/readme.md create mode 100644 keyboards/1upkeyboards/1upsuper16v3/rules.mk diff --git a/keyboards/1upkeyboards/1upsuper16v3/config.h b/keyboards/1upkeyboards/1upsuper16v3/config.h new file mode 100644 index 00000000000..41e1679d488 --- /dev/null +++ b/keyboards/1upkeyboards/1upsuper16v3/config.h @@ -0,0 +1,22 @@ +/* Copyright 2023 ziptyze + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define RGB_MATRIX_LED_COUNT 48 +#define RGB_MATRIX_KEYPRESSES // reacts to keypresses +#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/1upkeyboards/1upsuper16v3/info.json b/keyboards/1upkeyboards/1upsuper16v3/info.json new file mode 100644 index 00000000000..b11654a9424 --- /dev/null +++ b/keyboards/1upkeyboards/1upsuper16v3/info.json @@ -0,0 +1,164 @@ +{ + "manufacturer": "1upkeyboards", + "keyboard_name": "1upsuper16v3", + "maintainer": "ziptyze", + "bootloader": "rp2040", + "dynamic_keymap": { + "layer_count": 10 + }, + "encoder": { + "rotary": [ + {"pin_a": "GP20", "pin_b": "GP21"}, + {"pin_a": "GP25", "pin_b": "GP26"}, + {"pin_a": "GP2", "pin_b": "GP3"}, + {"pin_a": "GP6", "pin_b": "GP7"} + ] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": false, + "rgb_matrix": true + }, + "matrix_pins": { + "direct": [ + ["GP23", "GP24", "GP4", "GP5"], + ["GP19", "GP27", "GP1", "GP8"], + ["GP18", "GP28", "GP0", "GP9"], + ["GP17", "GP16", "GP15", "GP11"] + ] + }, + "processor": "RP2040", + "rgb_matrix": { + "animations": { + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_sat": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "band_val": true, + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "cycle_up_down": true, + "digital_rain": true, + "dual_beacon": true, + "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_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": [ + {"x": 99, "y": 1, "flags": 2}, + {"x": 70, "y": 1, "flags": 2}, + {"x": 42, "y": 1, "flags": 2}, + {"x": 14, "y": 1, "flags": 2}, + {"x": 4, "y": 4, "flags": 2}, + {"x": 4, "y": 12, "flags": 2}, + {"matrix": [0, 0], "x": 28, "y": 8, "flags": 4}, + {"matrix": [0, 1], "x": 84, "y": 8, "flags": 4}, + {"x": 4, "y": 20, "flags": 2}, + {"x": 4, "y": 28, "flags": 2}, + {"matrix": [1, 0], "x": 28, "y": 24, "flags": 4}, + {"matrix": [1, 1], "x": 84, "y": 24, "flags": 4}, + {"x": 4, "y": 36, "flags": 2}, + {"x": 4, "y": 44, "flags": 2}, + {"matrix": [2, 0], "x": 28, "y": 40, "flags": 4}, + {"matrix": [2, 1], "x": 84, "y": 40, "flags": 4}, + {"x": 4, "y": 52, "flags": 2}, + {"x": 4, "y": 60, "flags": 2}, + {"x": 14, "y": 63, "flags": 2}, + {"matrix": [3, 0], "x": 28, "y": 56, "flags": 4}, + {"x": 42, "y": 63, "flags": 2}, + {"x": 70, "y": 63, "flags": 2}, + {"matrix": [3, 1], "x": 84, "y": 56, "flags": 4}, + {"x": 99, "y": 63, "flags": 2}, + {"x": 126, "y": 63, "flags": 2}, + {"matrix": [3, 2], "x": 140, "y": 56, "flags": 4}, + {"x": 154, "y": 63, "flags": 2}, + {"x": 182, "y": 63, "flags": 2}, + {"matrix": [3, 3], "x": 196, "y": 56, "flags": 4}, + {"x": 210, "y": 63, "flags": 2}, + {"x": 220, "y": 60, "flags": 2}, + {"x": 220, "y": 52, "flags": 2}, + {"x": 220, "y": 44, "flags": 2}, + {"matrix": [2, 3], "x": 196, "y": 40, "flags": 4}, + {"matrix": [2, 2], "x": 140, "y": 40, "flags": 4}, + {"x": 220, "y": 36, "flags": 2}, + {"x": 220, "y": 28, "flags": 2}, + {"matrix": [1, 3], "x": 196, "y": 24, "flags": 4}, + {"matrix": [1, 2], "x": 140, "y": 24, "flags": 4}, + {"x": 220, "y": 20, "flags": 2}, + {"x": 220, "y": 12, "flags": 2}, + {"matrix": [0, 3], "x": 196, "y": 8, "flags": 4}, + {"matrix": [0, 2], "x": 140, "y": 8, "flags": 4}, + {"x": 220, "y": 4, "flags": 2}, + {"x": 210, "y": 1, "flags": 2}, + {"x": 182, "y": 1, "flags": 2}, + {"x": 154, "y": 1, "flags": 2}, + {"x": 126, "y": 1, "flags": 2} + ] + }, + "usb": { + "device_version": "1.0.0", + "pid": "0x5610", + "vid": "0x6F75" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP29" + }, + "community_layouts": ["ortho_4x4"], + "layouts": { + "LAYOUT_ortho_4x4": { + "layout": [ + {"label": "00", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "01", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "02", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "03", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "10", "matrix": [1, 0], "x": 0, "y": 1}, + {"label": "11", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "12", "matrix": [1, 2], "x": 2, "y": 1}, + {"label": "13", "matrix": [1, 3], "x": 3, "y": 1}, + {"label": "20", "matrix": [2, 0], "x": 0, "y": 2}, + {"label": "21", "matrix": [2, 1], "x": 1, "y": 2}, + {"label": "22", "matrix": [2, 2], "x": 2, "y": 2}, + {"label": "23", "matrix": [2, 3], "x": 3, "y": 2}, + {"label": "30", "matrix": [3, 0], "x": 0, "y": 3}, + {"label": "31", "matrix": [3, 1], "x": 1, "y": 3}, + {"label": "32", "matrix": [3, 2], "x": 2, "y": 3}, + {"label": "33", "matrix": [3, 3], "x": 3, "y": 3} + ] + } + } +} diff --git a/keyboards/1upkeyboards/1upsuper16v3/keymaps/default/keymap.c b/keyboards/1upkeyboards/1upsuper16v3/keymaps/default/keymap.c new file mode 100644 index 00000000000..e7be96bd813 --- /dev/null +++ b/keyboards/1upkeyboards/1upsuper16v3/keymaps/default/keymap.c @@ -0,0 +1,39 @@ +/* Copyright 2023 ziptyze + * + * 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_ortho_4x4( + KC_P7, KC_P8, KC_P9, KC_PMNS, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, KC_PSLS, + MO(1), KC_P0, KC_PDOT, KC_PENT + ), + [1] = LAYOUT_ortho_4x4( + RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, + RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, + RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT + ) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) } +}; +#endif diff --git a/keyboards/1upkeyboards/1upsuper16v3/keymaps/default/rules.mk b/keyboards/1upkeyboards/1upsuper16v3/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/1upkeyboards/1upsuper16v3/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/1upkeyboards/1upsuper16v3/keymaps/via/keymap.c b/keyboards/1upkeyboards/1upsuper16v3/keymaps/via/keymap.c new file mode 100644 index 00000000000..e7be96bd813 --- /dev/null +++ b/keyboards/1upkeyboards/1upsuper16v3/keymaps/via/keymap.c @@ -0,0 +1,39 @@ +/* Copyright 2023 ziptyze + * + * 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_ortho_4x4( + KC_P7, KC_P8, KC_P9, KC_PMNS, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, KC_PSLS, + MO(1), KC_P0, KC_PDOT, KC_PENT + ), + [1] = LAYOUT_ortho_4x4( + RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, + RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, + RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT + ) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) } +}; +#endif diff --git a/keyboards/1upkeyboards/1upsuper16v3/keymaps/via/rules.mk b/keyboards/1upkeyboards/1upsuper16v3/keymaps/via/rules.mk new file mode 100644 index 00000000000..bf70b1f3e09 --- /dev/null +++ b/keyboards/1upkeyboards/1upsuper16v3/keymaps/via/rules.mk @@ -0,0 +1,4 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes + +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/1upkeyboards/1upsuper16v3/readme.md b/keyboards/1upkeyboards/1upsuper16v3/readme.md new file mode 100644 index 00000000000..51645908322 --- /dev/null +++ b/keyboards/1upkeyboards/1upsuper16v3/readme.md @@ -0,0 +1,22 @@ +# 1upSuper16v3 + +This keyboard is the Super16v3 from 1upkeyboards, a 4x4 macropad with the option for up to four encoders in the top row. Notable features include in-switch per-key addressable RGB LEDs and thirty two 1mm underglow RGB LEDs; for bright and smooth lighting effects. The Super16v3 utilises an rp2040 microcontroller, wired using direct pins. + +* Keyboard Maintainer: [ziptyze](https://github.com/ziptyze) + +Make example for this keyboard (after setting up your build environment): + + make 1upkeyboards/1upsuper16v3:default + +Flashing example for this keyboard: + + make 1upkeyboards/1upsuper16v3:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 2 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix. For this keyboard it is the top left button +* **Physical reset button**: Hold the button on the back of the PCB and plug in the keyboard diff --git a/keyboards/1upkeyboards/1upsuper16v3/rules.mk b/keyboards/1upkeyboards/1upsuper16v3/rules.mk new file mode 100644 index 00000000000..e69de29bb2d From 04ce3497ab6183e72504722cfa2e82c11e516b70 Mon Sep 17 00:00:00 2001 From: temp4gh Date: Sun, 3 Sep 2023 12:12:43 +0800 Subject: [PATCH 003/144] [keyboard] add redragon/k667 (#21417) Co-authored-by: Duncan Sutherland Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Ryan Co-authored-by: syc --- keyboards/redragon/k667/config.h | 28 +++ keyboards/redragon/k667/halconf.h | 22 ++ keyboards/redragon/k667/info.json | 237 ++++++++++++++++++ keyboards/redragon/k667/k667.c | 112 +++++++++ .../redragon/k667/keymaps/default/keymap.c | 42 ++++ keyboards/redragon/k667/mcuconf.h | 22 ++ keyboards/redragon/k667/readme.md | 21 ++ keyboards/redragon/k667/rules.mk | 1 + 8 files changed, 485 insertions(+) create mode 100644 keyboards/redragon/k667/config.h create mode 100644 keyboards/redragon/k667/halconf.h create mode 100644 keyboards/redragon/k667/info.json create mode 100644 keyboards/redragon/k667/k667.c create mode 100644 keyboards/redragon/k667/keymaps/default/keymap.c create mode 100644 keyboards/redragon/k667/mcuconf.h create mode 100644 keyboards/redragon/k667/readme.md create mode 100644 keyboards/redragon/k667/rules.mk diff --git a/keyboards/redragon/k667/config.h b/keyboards/redragon/k667/config.h new file mode 100644 index 00000000000..e17865a4039 --- /dev/null +++ b/keyboards/redragon/k667/config.h @@ -0,0 +1,28 @@ +/* Copyright 2023 temp4gh + * + * 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 DRIVER_ADDR_1 0b1010000 +#define DRIVER_ADDR_2 0b1010011 + +#define DRIVER_COUNT 2 +#define DRIVER_1_LED_TOTAL 45 +#define DRIVER_2_LED_TOTAL 45 + +#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL+DRIVER_2_LED_TOTAL) + diff --git a/keyboards/redragon/k667/halconf.h b/keyboards/redragon/k667/halconf.h new file mode 100644 index 00000000000..f1dae7232ed --- /dev/null +++ b/keyboards/redragon/k667/halconf.h @@ -0,0 +1,22 @@ +/* Copyright 2023 temp4gh + * + * 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 + +#undef HAL_USE_I2C +#define HAL_USE_I2C TRUE diff --git a/keyboards/redragon/k667/info.json b/keyboards/redragon/k667/info.json new file mode 100644 index 00000000000..aded5fbb046 --- /dev/null +++ b/keyboards/redragon/k667/info.json @@ -0,0 +1,237 @@ +{ + "manufacturer": "redragon", + "keyboard_name": "k667", + "bootloader": "stm32duino", + "bootmagic": { + "matrix": [1, 0] + }, + "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 2 + }, + "encoder": { + "rotary": [ + {"pin_a": "B5", "pin_b": "B4"} + ] + }, + "features": { + "bootmagic": true, + "console": true, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "indicators": { + "caps_lock": "B8", + "on_state": 0 + }, + "matrix_pins": { + "cols": ["A6", "A7", "C4", "C5", "B0", "B1", "C6", "C7", "C8", "C9", "A8", "A9", "A10", "A13", "A14", "A15"], + "rows": ["A0", "A1", "A2", "A3", "A4", "A5"] + }, + "processor": "STM32F103", + "rgb_matrix": { + "animations": { + "alphas_mods": true, + "band_sat": true, + "band_spiral_val": true, + "band_val": true, + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "gradient_left_right": true, + "gradient_up_down": true, + "hue_wave": true, + "pixel_flow": true + }, + "driver": "is31fl3733", + "layout": [ + {"matrix": [0, 0], "x": 7, "y": 2, "flags": 4}, + {"matrix": [0, 2], "x": 34, "y": 2, "flags": 4}, + {"matrix": [0, 3], "x": 48, "y": 2, "flags": 4}, + {"matrix": [0, 4], "x": 61, "y": 2, "flags": 4}, + {"matrix": [0, 5], "x": 75, "y": 2, "flags": 4}, + {"matrix": [0, 6], "x": 95, "y": 2, "flags": 4}, + {"matrix": [0, 7], "x": 109, "y": 2, "flags": 4}, + {"matrix": [0, 8], "x": 122, "y": 2, "flags": 4}, + {"matrix": [0, 9], "x": 136, "y": 2, "flags": 4}, + {"matrix": [0, 10], "x": 157, "y": 2, "flags": 4}, + {"matrix": [0, 11], "x": 170, "y": 2, "flags": 4}, + {"matrix": [0, 12], "x": 184, "y": 2, "flags": 4}, + {"matrix": [0, 13], "x": 198, "y": 2, "flags": 4}, + {"matrix": [0, 14], "x": 217, "y": 2, "flags": 4}, + {"matrix": [1, 0], "x": 7, "y": 14, "flags": 4}, + {"matrix": [1, 1], "x": 20, "y": 14, "flags": 4}, + {"matrix": [1, 2], "x": 34, "y": 14, "flags": 4}, + {"matrix": [1, 3], "x": 48, "y": 14, "flags": 4}, + {"matrix": [1, 4], "x": 61, "y": 14, "flags": 4}, + {"matrix": [1, 5], "x": 75, "y": 14, "flags": 4}, + {"matrix": [1, 6], "x": 89, "y": 14, "flags": 4}, + {"matrix": [1, 7], "x": 102, "y": 14, "flags": 4}, + {"matrix": [1, 8], "x": 116, "y": 14, "flags": 4}, + {"matrix": [1, 9], "x": 129, "y": 14, "flags": 4}, + {"matrix": [1, 10], "x": 143, "y": 14, "flags": 4}, + {"matrix": [1, 11], "x": 157, "y": 14, "flags": 4}, + {"matrix": [1, 12], "x": 170, "y": 14, "flags": 4}, + {"matrix": [1, 13], "x": 190, "y": 14, "flags": 4}, + {"matrix": [1, 14], "x": 217, "y": 14, "flags": 4}, + {"matrix": [2, 0], "x": 10, "y": 24, "flags": 4}, + {"matrix": [2, 1], "x": 27, "y": 24, "flags": 4}, + {"matrix": [2, 2], "x": 40, "y": 24, "flags": 4}, + {"matrix": [2, 3], "x": 54, "y": 24, "flags": 4}, + {"matrix": [2, 4], "x": 68, "y": 24, "flags": 4}, + {"matrix": [2, 5], "x": 81, "y": 24, "flags": 4}, + {"matrix": [2, 6], "x": 95, "y": 24, "flags": 4}, + {"matrix": [2, 7], "x": 109, "y": 24, "flags": 4}, + {"matrix": [2, 8], "x": 122, "y": 24, "flags": 4}, + {"matrix": [2, 9], "x": 136, "y": 24, "flags": 4}, + {"matrix": [2, 10], "x": 150, "y": 24, "flags": 4}, + {"matrix": [2, 11], "x": 163, "y": 24, "flags": 4}, + {"matrix": [2, 12], "x": 177, "y": 24, "flags": 4}, + {"matrix": [2, 13], "x": 194, "y": 24, "flags": 4}, + {"matrix": [2, 14], "x": 217, "y": 24, "flags": 4}, + {"matrix": [3, 0], "x": 12, "y": 34, "flags": 4}, + {"matrix": [3, 1], "x": 30, "y": 34, "flags": 4}, + {"matrix": [3, 2], "x": 44, "y": 34, "flags": 4}, + {"matrix": [3, 3], "x": 58, "y": 34, "flags": 4}, + {"matrix": [3, 4], "x": 71, "y": 34, "flags": 4}, + {"matrix": [3, 5], "x": 85, "y": 34, "flags": 4}, + {"matrix": [3, 6], "x": 99, "y": 34, "flags": 4}, + {"matrix": [3, 7], "x": 112, "y": 34, "flags": 4}, + {"matrix": [3, 8], "x": 126, "y": 34, "flags": 4}, + {"matrix": [3, 9], "x": 140, "y": 34, "flags": 4}, + {"matrix": [3, 10], "x": 153, "y": 34, "flags": 4}, + {"matrix": [3, 11], "x": 167, "y": 34, "flags": 4}, + {"x": 180, "y": 34, "flags": 4}, + {"matrix": [3, 13], "x": 189, "y": 34, "flags": 4}, + {"matrix": [3, 14], "x": 217, "y": 34, "flags": 4}, + {"matrix": [4, 0], "x": 8, "y": 44, "flags": 4}, + {"x": 24, "y": 44, "flags": 4}, + {"matrix": [4, 2], "x": 38, "y": 44, "flags": 4}, + {"matrix": [4, 3], "x": 51, "y": 44, "flags": 4}, + {"matrix": [4, 4], "x": 65, "y": 44, "flags": 4}, + {"matrix": [4, 5], "x": 78, "y": 44, "flags": 4}, + {"matrix": [4, 6], "x": 92, "y": 44, "flags": 4}, + {"matrix": [4, 7], "x": 106, "y": 44, "flags": 4}, + {"matrix": [4, 8], "x": 119, "y": 44, "flags": 4}, + {"matrix": [4, 9], "x": 133, "y": 44, "flags": 4}, + {"matrix": [4, 10], "x": 147, "y": 44, "flags": 4}, + {"matrix": [4, 11], "x": 160, "y": 44, "flags": 4}, + {"matrix": [4, 12], "x": 179, "y": 44, "flags": 4}, + {"matrix": [4, 13], "x": 201, "y": 46, "flags": 4}, + {"matrix": [4, 14], "x": 217, "y": 44, "flags": 4}, + {"matrix": [5, 0], "x": 8, "y": 54, "flags": 4}, + {"matrix": [5, 1], "x": 25, "y": 54, "flags": 4}, + {"matrix": [5, 2], "x": 43, "y": 54, "flags": 4}, + {"x": 67, "y": 57, "flags": 4}, + {"x": 80, "y": 57, "flags": 4}, + {"x": 94, "y": 54, "flags": 4}, + {"matrix": [5, 6], "x": 107, "y": 57, "flags": 4}, + {"x": 120, "y": 57, "flags": 4}, + {"matrix": [5, 9], "x": 143, "y": 54, "flags": 4}, + {"matrix": [5, 10], "x": 157, "y": 54, "flags": 4}, + {"matrix": [5, 11], "x": 170, "y": 54, "flags": 4}, + {"matrix": [5, 12], "x": 187, "y": 56, "flags": 4}, + {"matrix": [5, 13], "x": 201, "y": 56, "flags": 4}, + {"matrix": [5, 14], "x": 214, "y": 56, "flags": 4}, + {"x": 207, "y": 23, "flags": 8}, + {"x": 207, "y": 27, "flags": 8} + ] + }, + "usb": { + "device_version": "0.0.1", + "pid": "0x0021", + "vid": "0x369B" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "ESC", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "F1", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "F2", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "F3", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "F4", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "F5", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F6", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F7", "matrix": [0, 8], "x": 8.5, "y": 0}, + {"label": "F8", "matrix": [0, 9], "x": 9.5, "y": 0}, + {"label": "F9", "matrix": [0, 10], "x": 11, "y": 0}, + {"label": "F10", "matrix": [0, 11], "x": 12, "y": 0}, + {"label": "F11", "matrix": [0, 12], "x": 13, "y": 0}, + {"label": "F12", "matrix": [0, 13], "x": 14, "y": 0}, + {"label": "END", "matrix": [0, 15], "x": 16.5, "y": 0}, + {"label": "GRV", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25}, + {"label": "MINS", "matrix": [1, 11], "x": 11, "y": 1.25}, + {"label": "EQL", "matrix": [1, 12], "x": 12, "y": 1.25}, + {"label": "BSPC", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + {"label": "HOME", "matrix": [1, 14], "x": 16.5, "y": 1.25}, + {"label": "TAB", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"label": "LBRC", "matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"label": "RBRC", "matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"label": "BSLS", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + {"label": "DEL", "matrix": [2, 14], "x": 16.5, "y": 2.25}, + {"label": "CAPS", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"label": "SCLN", "matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"label": "QUOT", "matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"label": "ENT", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25}, + {"label": "PGUP", "matrix": [3, 14], "x": 16.5, "y": 3.25}, + {"label": "LSFT", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"label": "COMM", "matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"label": "DOT", "matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"label": "SLSH", "matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"label": "RSFT", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"label": "UP", "matrix": [4, 13], "x": 15.25, "y": 4.25}, + {"label": "PGDN", "matrix": [4, 14], "x": 16.5, "y": 4.25}, + {"label": "LCTL", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"label": "LGUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"label": "LALT", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"label": "SPC", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"label": "RALT", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25}, + {"label": "MO(1)", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25}, + {"label": "RCTL", "matrix": [5, 11], "x": 13, "y": 5.25, "w": 1.25}, + {"label": "LEFT", "matrix": [5, 12], "x": 14.25, "y": 5.25}, + {"label": "DOWN", "matrix": [5, 13], "x": 15.25, "y": 5.25}, + {"label": "RGHT", "matrix": [5, 14], "x": 16.5, "y": 5.25} + ] + } + } +} diff --git a/keyboards/redragon/k667/k667.c b/keyboards/redragon/k667/k667.c new file mode 100644 index 00000000000..81aeef44946 --- /dev/null +++ b/keyboards/redragon/k667/k667.c @@ -0,0 +1,112 @@ +/* Copyright 2023 temp4gh + * + * 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 "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { + {0, G_1, I_1, H_1}, + {0, G_3, I_3, H_3}, + {0, G_4, I_4, H_4}, + {0, G_5, I_5, H_5}, + {0, G_6, I_6, H_6}, + {0, G_7, I_7, H_7}, + {0, G_8, I_8, H_8}, + {0, G_9, I_9, H_9}, + {0, G_10, I_10, H_10}, + {0, G_11, I_11, H_11}, + {0, G_12, I_12, H_12}, + {0, G_13, I_13, H_13}, + {0, G_14, I_14, H_14}, + {0, G_15, I_15, H_15}, + {0, D_1, F_1, E_1}, + {0, D_2, F_2, E_2}, + {0, D_3, F_3, E_3}, + {0, D_4, F_4, E_4}, + {0, D_5, F_5, E_5}, + {0, D_6, F_6, E_6}, + {0, D_7, F_7, E_7}, + {0, D_8, F_8, E_8}, + {0, D_9, F_9, E_9}, + {0, D_10, F_10, E_10}, + {0, D_11, F_11, E_11}, + {0, D_12, F_12, E_12}, + {0, D_13, F_13, E_13}, + {0, D_14, F_14, E_14}, + {0, D_15, F_15, E_15}, + {0, A_1, C_1, B_1}, + {0, A_2, C_2, B_2}, + {0, A_3, C_3, B_3}, + {0, A_4, C_4, B_4}, + {0, A_5, C_5, B_5}, + {0, A_6, C_6, B_6}, + {0, A_7, C_7, B_7}, + {0, A_8, C_8, B_8}, + {0, A_9, C_9, B_9}, + {0, A_10, C_10, B_10}, + {0, A_11, C_11, B_11}, + {0, A_12, C_12, B_12}, + {0, A_13, C_13, B_13}, + {0, A_14, C_14, B_14}, + {0, A_15, C_15, B_15}, + {1, G_1, I_1, H_1}, + {1, G_2, I_2, H_2}, + {1, G_3, I_3, H_3}, + {1, G_4, I_4, H_4}, + {1, G_5, I_5, H_5}, + {1, G_6, I_6, H_6}, + {1, G_7, I_7, H_7}, + {1, G_8, I_8, H_8}, + {1, G_9, I_9, H_9}, + {1, G_10, I_10, H_10}, + {1, G_11, I_11, H_11}, + {1, G_12, I_12, H_12}, + {1, G_13, I_13, H_13}, + {1, G_14, I_14, H_14}, + {1, G_15, I_15, H_15}, + {1, D_1, F_1, E_1}, + {1, D_2, F_2, E_2}, + {1, D_3, F_3, E_3}, + {1, D_4, F_4, E_4}, + {1, D_5, F_5, E_5}, + {1, D_6, F_6, E_6}, + {1, D_7, F_7, E_7}, + {1, D_8, F_8, E_8}, + {1, D_9, F_9, E_9}, + {1, D_10, F_10, E_10}, + {1, D_11, F_11, E_11}, + {1, D_12, F_12, E_12}, + {1, D_13, F_13, E_13}, + {1, D_14, F_14, E_14}, + {1, D_15, F_15, E_15}, + {1, A_1, C_1, B_1}, + {1, A_2, C_2, B_2}, + {1, A_3, C_3, B_3}, + {1, A_5, C_5, B_5}, + {1, A_6, C_6, B_6}, + {1, A_7, C_7, B_7}, + {1, A_8, C_8, B_8}, + {1, A_9, C_9, B_9}, + {1, A_10, C_10, B_10}, + {1, A_11, C_11, B_11}, + {1, A_12, C_12, B_12}, + {1, A_13, C_13, B_13}, + {1, A_14, C_14, B_14}, + {1, A_15, C_15, B_15}, + {0, G_2, I_2, H_2}, + {1, A_4, C_4, B_4} +}; +#endif diff --git a/keyboards/redragon/k667/keymaps/default/keymap.c b/keyboards/redragon/k667/keymaps/default/keymap.c new file mode 100644 index 00000000000..48fab8614b0 --- /dev/null +++ b/keyboards/redragon/k667/keymaps/default/keymap.c @@ -0,0 +1,42 @@ +/* Copyright 2023 temp4gh + * + * 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 + +enum layer_names +{ + _BASE, + _FnLay, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = 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_END, + 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_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + 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_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FnLay), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT + ), + [_FnLay] = LAYOUT( + QK_BOOT, KC_MY_COMPUTER, KC_WWW_HOME, KC_CALCULATOR, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_MAIL, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAI, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, XXXXXXX, _______, XXXXXXX, RGB_SPD, RGB_VAD, RGB_SPI + ) +}; diff --git a/keyboards/redragon/k667/mcuconf.h b/keyboards/redragon/k667/mcuconf.h new file mode 100644 index 00000000000..9187c76aad0 --- /dev/null +++ b/keyboards/redragon/k667/mcuconf.h @@ -0,0 +1,22 @@ +/* + ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +#pragma once + +#include_next + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE diff --git a/keyboards/redragon/k667/readme.md b/keyboards/redragon/k667/readme.md new file mode 100644 index 00000000000..71e5349ff64 --- /dev/null +++ b/keyboards/redragon/k667/readme.md @@ -0,0 +1,21 @@ +# K667 + +![k667](https://i.imgur.com/7K5h5Obh.jpg) + +A customizable 75% keyboard. + +- Keyboard Maintainer: [temp4gh](https://github.com/temp4gh) +- Hardware Supported: K667 PCB +- Hardware Availability: www.redragonzone.com + +Make example for this keyboard (after setting up your build environment): + + make redragon/k667:default + +Flashing example for this keyboard: + + make redragon/k667:default:flash + +**Reset Key**: Hold down the key located at *K10*, commonly programmed as *Grave* while plugging in the keyboard. + +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/redragon/k667/rules.mk b/keyboards/redragon/k667/rules.mk new file mode 100644 index 00000000000..7ff128fa692 --- /dev/null +++ b/keyboards/redragon/k667/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file From 47e72a95efb2fc84eb4ab630d54ec27e4c170ab4 Mon Sep 17 00:00:00 2001 From: Wolf Van Herreweghe Date: Sun, 3 Sep 2023 06:32:40 +0200 Subject: [PATCH 004/144] Add M6-C Keyboard Firmware (#21852) Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre Co-authored-by: Wolf --- keyboards/wolf/m6_c/config.h | 10 ++ keyboards/wolf/m6_c/info.json | 101 +++++++++++++++++++ keyboards/wolf/m6_c/keymaps/default/keymap.c | 12 +++ keyboards/wolf/m6_c/keymaps/via/keymap.c | 12 +++ keyboards/wolf/m6_c/keymaps/via/rules.mk | 2 + keyboards/wolf/m6_c/readme.md | 24 +++++ keyboards/wolf/m6_c/rules.mk | 2 + 7 files changed, 163 insertions(+) create mode 100644 keyboards/wolf/m6_c/config.h create mode 100644 keyboards/wolf/m6_c/info.json create mode 100644 keyboards/wolf/m6_c/keymaps/default/keymap.c create mode 100644 keyboards/wolf/m6_c/keymaps/via/keymap.c create mode 100644 keyboards/wolf/m6_c/keymaps/via/rules.mk create mode 100644 keyboards/wolf/m6_c/readme.md create mode 100644 keyboards/wolf/m6_c/rules.mk diff --git a/keyboards/wolf/m6_c/config.h b/keyboards/wolf/m6_c/config.h new file mode 100644 index 00000000000..d5f391bcdd2 --- /dev/null +++ b/keyboards/wolf/m6_c/config.h @@ -0,0 +1,10 @@ +// Copyright 2023 contact@vwolf.be +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define RGB_MATRIX_LED_COUNT 6 +#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS + +#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL \ No newline at end of file diff --git a/keyboards/wolf/m6_c/info.json b/keyboards/wolf/m6_c/info.json new file mode 100644 index 00000000000..ff83a951641 --- /dev/null +++ b/keyboards/wolf/m6_c/info.json @@ -0,0 +1,101 @@ +{ + "manufacturer": "Rama", + "keyboard_name": "M6-C", + "maintainer": "ToastyStoemp", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": false, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["B0", "B1", "B7"], + "rows": ["B2", "B3"] + }, + "processor": "atmega32u4", + "ws2812": { + "pin": "D5" + }, + "rgb_matrix": { + "driver": "ws2812", + "max_brightness": 120, + "animations": { + "solid_color": true, + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "rainbow_moving_chevron": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "pixel_fractal": true, + "pixel_flow": true, + "pixel_rain": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_wide": true, + "solid_reactive_multiwide": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_nexus": true, + "solid_reactive_multinexus": true, + "splash": true, + "multisplash": true, + "solid_splash": true, + "solid_multisplash": true + }, + "layout": [ + { "flags": 4, "matrix": [0, 0], "x": 0, "y": 0 }, + { "flags": 4, "matrix": [0, 1], "x": 122, "y": 0 }, + { "flags": 4, "matrix": [0, 2], "x": 243, "y": 0 }, + { "flags": 4, "matrix": [1, 2], "x": 244, "y": 64 }, + { "flags": 4, "matrix": [1, 1], "x": 122, "y": 64 }, + { "flags": 4, "matrix": [1, 0], "x": 0, "y": 64 } + ] + }, + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0060", + "vid": "0x5453" + }, + "community_layouts": ["ortho_2x3"], + "layouts": { + "LAYOUT_ortho_2x3": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 1], "x": 1, "y": 0 }, + { "matrix": [0, 2], "x": 2, "y": 0 }, + { "matrix": [1, 0], "x": 0, "y": 1 }, + { "matrix": [1, 1], "x": 1, "y": 1 }, + { "matrix": [1, 2], "x": 2, "y": 1 } + ] + } + } +} \ No newline at end of file diff --git a/keyboards/wolf/m6_c/keymaps/default/keymap.c b/keyboards/wolf/m6_c/keymaps/default/keymap.c new file mode 100644 index 00000000000..893ea2eb900 --- /dev/null +++ b/keyboards/wolf/m6_c/keymaps/default/keymap.c @@ -0,0 +1,12 @@ +// Copyright 2020-2022 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_ortho_2x3( + KC_1, KC_2, KC_3, + KC_4, KC_5, KC_6 + ) +}; diff --git a/keyboards/wolf/m6_c/keymaps/via/keymap.c b/keyboards/wolf/m6_c/keymaps/via/keymap.c new file mode 100644 index 00000000000..893ea2eb900 --- /dev/null +++ b/keyboards/wolf/m6_c/keymaps/via/keymap.c @@ -0,0 +1,12 @@ +// Copyright 2020-2022 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_ortho_2x3( + KC_1, KC_2, KC_3, + KC_4, KC_5, KC_6 + ) +}; diff --git a/keyboards/wolf/m6_c/keymaps/via/rules.mk b/keyboards/wolf/m6_c/keymaps/via/rules.mk new file mode 100644 index 00000000000..43061db1dd4 --- /dev/null +++ b/keyboards/wolf/m6_c/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/wolf/m6_c/readme.md b/keyboards/wolf/m6_c/readme.md new file mode 100644 index 00000000000..c07471dca01 --- /dev/null +++ b/keyboards/wolf/m6_c/readme.md @@ -0,0 +1,24 @@ +# M6-C + +![M6-C](https://i.imgur.com/gkRotHh.jpeg) + +The following is the QMK Firmware for the M6-C PCB. + +* Keyboard Maintainer: [Wolf](https://github.com/ToastyStoemp) +* Hardware Supported: M6-C PCB +* Hardware Availability: https://ramaworks.store/products/m6-c + +Make example for this keyboard (after setting up your build environment): + + make wolf/m6_c:default + +Flashing example for this keyboard: + + make wolf/m6_c: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 ESC key and plug in the keyboard (Top Left most switch) +* **Physical reset button**: Double press the button through the pinhole in the case +* **Keycode in layout**: Press the key mapped to `QK_BOOT` diff --git a/keyboards/wolf/m6_c/rules.mk b/keyboards/wolf/m6_c/rules.mk new file mode 100644 index 00000000000..3437a35bdf1 --- /dev/null +++ b/keyboards/wolf/m6_c/rules.mk @@ -0,0 +1,2 @@ +# Processor frequency +F_CPU = 8000000 From 8ad43a965ff60b03aeea288394a2c43415b9ba76 Mon Sep 17 00:00:00 2001 From: NCKiser <37519411+NCKiser@users.noreply.github.com> Date: Sat, 2 Sep 2023 23:34:09 -0500 Subject: [PATCH 005/144] Added kiserdesigns keyboard folder and Madeline keyboard (#21857) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/kiserdesigns/madeline/config.h | 25 ++++++ keyboards/kiserdesigns/madeline/info.json | 77 +++++++++++++++++++ .../madeline/keymaps/default/keymap.c | 53 +++++++++++++ .../madeline/keymaps/default/rules.mk | 1 + keyboards/kiserdesigns/madeline/readme.md | 23 ++++++ keyboards/kiserdesigns/madeline/rules.mk | 1 + 6 files changed, 180 insertions(+) create mode 100644 keyboards/kiserdesigns/madeline/config.h create mode 100644 keyboards/kiserdesigns/madeline/info.json create mode 100644 keyboards/kiserdesigns/madeline/keymaps/default/keymap.c create mode 100644 keyboards/kiserdesigns/madeline/keymaps/default/rules.mk create mode 100644 keyboards/kiserdesigns/madeline/readme.md create mode 100644 keyboards/kiserdesigns/madeline/rules.mk diff --git a/keyboards/kiserdesigns/madeline/config.h b/keyboards/kiserdesigns/madeline/config.h new file mode 100644 index 00000000000..8522d7cd431 --- /dev/null +++ b/keyboards/kiserdesigns/madeline/config.h @@ -0,0 +1,25 @@ +/* Copyright 2021 Noah Kiser (NCKiser) + * + * 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 LOCKING_SUPPORT_ENABLE +#define LOCKING_RESYNC_ENABLE + +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U + +#define RP2040_FLASH_GENERIC_03H diff --git a/keyboards/kiserdesigns/madeline/info.json b/keyboards/kiserdesigns/madeline/info.json new file mode 100644 index 00000000000..73d3f5ccff4 --- /dev/null +++ b/keyboards/kiserdesigns/madeline/info.json @@ -0,0 +1,77 @@ +{ + "manufacturer": "rubybuilds", + "keyboard_name": "Madeline", + "maintainer": "NCKiser", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "encoder": { + "enabled": true, + "rotary": [ + {"pin_a": "GP13", "pin_b": "GP15"} + ] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP25", "GP26", "GP27", "GP28", "GP29", "GP9", "GP0", "GP1", "GP2", "GP3"], + "rows": ["GP5", "GP4", "GP12", "GP7"] + }, + "processor": "RP2040", + "qmk": { + "tap_keycode_delay": 10 + }, + "url": "https://qmk.fm/keyboards", + "usb": { + "device_version": "0.0.1", + "pid": "0x6D64", + "vid": "0x5242" + }, + "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": 6.5, "y": 0}, + {"matrix": [0, 6], "x": 7.5, "y": 0}, + {"matrix": [0, 7], "x": 8.5, "y": 0}, + {"matrix": [0, 8], "x": 9.5, "y": 0}, + {"matrix": [0, 9], "x": 10.5, "y": 0, "w": 1.25}, + {"matrix": [1, 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": 6.75, "y": 1}, + {"matrix": [1, 6], "x": 7.75, "y": 1}, + {"matrix": [1, 7], "x": 8.75, "y": 1}, + {"matrix": [1, 8], "x": 9.75, "y": 1}, + {"matrix": [1, 9], "x": 10.75, "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": 6.25, "y": 2}, + {"matrix": [2, 6], "x": 7.25, "y": 2}, + {"matrix": [2, 7], "x": 8.25, "y": 2}, + {"matrix": [2, 8], "x": 9.25, "y": 2}, + {"matrix": [2, 9], "x": 10.25, "y": 2, "w": 1.5}, + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 2.5, "y": 3}, + {"matrix": [3, 3], "x": 3.5, "y": 3, "w": 2.25}, + {"matrix": [3, 6], "x": 6.25, "y": 3, "w": 2}, + {"matrix": [3, 7], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 10.75, "y": 3} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/kiserdesigns/madeline/keymaps/default/keymap.c b/keyboards/kiserdesigns/madeline/keymaps/default/keymap.c new file mode 100644 index 00000000000..09c9d3a2ff7 --- /dev/null +++ b/keyboards/kiserdesigns/madeline/keymaps/default/keymap.c @@ -0,0 +1,53 @@ +/* Copyright 2021 Noah Kiser (NCKiser) + * + * 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 + +enum layers { + _BASE, + _NUM_SYM +}; + +#define KC_NUM_SPC LT(_NUM_SYM, KC_SPC) +#define KC_GA LGUI_T(KC_A) +#define KC_AS LALT_T(KC_S) +#define KC_CD LCTL_T(KC_D) +#define KC_SF LSFT_T(KC_F) +#define KC_SJ RSFT_T(KC_J) +#define KC_CK RCTL_T(KC_K) +#define KC_AL RALT_T(KC_L) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_GA, KC_AS, KC_CD, KC_SF, KC_G, KC_H, KC_SJ, KC_CK, KC_AL, KC_ENT, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, + KC_LCTL, KC_LALT, KC_BSPC, KC_NUM_SPC, KC_RGUI, KC_RCTL + ), + + [_NUM_SYM] = LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_ESC, KC_TAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_BSPC, + KC_LCBR, KC_LBRC, KC_LPRN, KC_UNDS, KC_NO, KC_RPRN, KC_RBRC, KC_RCBR, KC_SCLN, KC_QUOTE, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; + +#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_MS_WH_UP, KC_MS_WH_DOWN) } + }; +#endif diff --git a/keyboards/kiserdesigns/madeline/keymaps/default/rules.mk b/keyboards/kiserdesigns/madeline/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/kiserdesigns/madeline/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/kiserdesigns/madeline/readme.md b/keyboards/kiserdesigns/madeline/readme.md new file mode 100644 index 00000000000..138368282a9 --- /dev/null +++ b/keyboards/kiserdesigns/madeline/readme.md @@ -0,0 +1,23 @@ +# Madeline + +![Madeline](https://i.imgur.com/MBT5kg2h.jpg) + +*A cool QAZ-Alice hybrid designed based on the Adalyn by [Marv](https://github.com/MarvFPV/Adalyn) with a PCB by [Rossman360](https://github.com/Rossman360)* +* Keyboard Maintainer: [NCKiser](https://github.com/NCKiser) +* Hardware Supported: Madeline PCB, rp2040 +* Hardware Availability: kb.rubybuilds.com + +Make example for this keyboard (after setting up your build environment): + + make kiserdesigns/madeline:default + +Flashing example for this keyboard: + + make kiserdesigns/madeline: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 double-tap 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/kiserdesigns/madeline/rules.mk b/keyboards/kiserdesigns/madeline/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/kiserdesigns/madeline/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From e26442fc2a105614b9a16a7b93678147f3e61aa7 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 3 Sep 2023 16:57:10 +0100 Subject: [PATCH 006/144] redragon/k667: Remove 2 layer VIA restriction (#21889) --- keyboards/redragon/k667/info.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/keyboards/redragon/k667/info.json b/keyboards/redragon/k667/info.json index aded5fbb046..80d61953120 100644 --- a/keyboards/redragon/k667/info.json +++ b/keyboards/redragon/k667/info.json @@ -6,9 +6,6 @@ "matrix": [1, 0] }, "diode_direction": "COL2ROW", - "dynamic_keymap": { - "layer_count": 2 - }, "encoder": { "rotary": [ {"pin_a": "B5", "pin_b": "B4"} From dd17b6be29ec7cb839bc562d39593942132d3fac Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun, 3 Sep 2023 22:39:35 -0700 Subject: [PATCH 007/144] AH Haven80 Community Layout support (#21885) * [enhancement] correct layout data * [refactor] rename LAYOUT to LAYOUT_tkl_f13_ansi_tsangan * [enhancement] enable Community Layout support * Haven80 Solder: add LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift [enhancement] * Haven80 Solder: add LAYOUT_tkl_f13_iso_tsangan_split_bs_rshift [enhancement] * Haven80 Solder: add LAYOUT_tkl_f13_iso_tsangan [enhancement] * Haven80 Solder: extend Community Layout support [enhancement] --- keyboards/ah/haven80/hotswap/info.json | 154 +++--- keyboards/ah/haven80/keymaps/default/keymap.c | 2 +- keyboards/ah/haven80/keymaps/via/keymap.c | 2 +- keyboards/ah/haven80/solder/info.json | 451 +++++++++++++++--- 4 files changed, 459 insertions(+), 150 deletions(-) diff --git a/keyboards/ah/haven80/hotswap/info.json b/keyboards/ah/haven80/hotswap/info.json index 4ec292ef965..b73da1c5f4c 100644 --- a/keyboards/ah/haven80/hotswap/info.json +++ b/keyboards/ah/haven80/hotswap/info.json @@ -9,8 +9,14 @@ "rows": ["F0", "F1", "F4", "F5", "F6", "B1", "B2", "B3", "D3", "D5", "F7"], "cols": ["D0", "D1", "D2", "B0", "D4", "B4", "D6", "D7", "B5"] }, + "layout_aliases": { + "LAYOUT": "LAYOUT_tkl_f13_ansi_tsangan" + }, + "community_layouts": [ + "tkl_f13_ansi_tsangan" + ], "layouts": { - "LAYOUT": { + "LAYOUT_tkl_f13_ansi_tsangan": { "layout": [ { "label": "Esc", "matrix":[0,0],"x": 0, "y": 0 }, { "label": "F1", "matrix":[0,1],"x": 1.25, "y": 0 }, @@ -21,90 +27,90 @@ { "label": "F6", "matrix":[0,6],"x": 6.5, "y": 0 }, { "label": "F7", "matrix":[0,7],"x": 7.5, "y": 0 }, { "label": "F8", "matrix":[5,8],"x": 8.5, "y": 0 }, - { "label": "F9", "matrix":[5,7],"x": 9.5, "y": 0 }, + { "label": "F9", "matrix":[5,7],"x": 9.75, "y": 0 }, { "label": "F10", "matrix":[5,6],"x": 10.75, "y": 0 }, { "label": "F11", "matrix":[5,5],"x": 11.75, "y": 0 }, { "label": "F12", "matrix":[5,4],"x": 12.75, "y": 0 }, - { "label": "F13", "matrix":[5,3],"x": 13.75, "y": 0 }, + { "label": "F13", "matrix":[5,3],"x": 14, "y": 0 }, { "label": "Prtsc", "matrix":[5,2],"x": 15.25, "y": 0 }, { "label": "Scrlk", "matrix":[5,1],"x": 16.25, "y": 0 }, { "label": "Pause", "matrix":[5,0],"x": 17.25, "y": 0 }, - { "label": "~", "matrix":[1,0],"x": 0, "y": 1.5 }, - { "label": "1", "matrix":[1,1],"x": 1, "y": 1.5 }, - { "label": "2", "matrix":[1,2],"x": 2, "y": 1.5 }, - { "label": "3", "matrix":[1,3],"x": 3, "y": 1.5 }, - { "label": "4", "matrix":[1,4],"x": 4, "y": 1.5 }, - { "label": "5", "matrix":[1,5],"x": 5, "y": 1.5 }, - { "label": "6", "matrix":[1,6],"x": 6, "y": 1.5 }, - { "label": "7", "matrix":[1,7],"x": 7, "y": 1.5 }, - { "label": "8", "matrix":[1,8],"x": 8, "y": 1.5 }, - { "label": "9", "matrix":[6,8],"x": 9, "y": 1.5 }, - { "label": "0", "matrix":[6,7],"x": 10, "y": 1.5 }, - { "label": "-", "matrix":[6,6],"x": 11, "y": 1.5 }, - { "label": "=", "matrix":[6,5],"x": 12, "y": 1.5 }, - { "label": "backspace", "matrix":[6,4],"x": 13, "y": 1.5, "w": 2 }, - { "label": "insert", "matrix":[6,2],"x": 15.25, "y": 1.5 }, - { "label": "home", "matrix":[6,1],"x": 16.25, "y": 1.5 }, - { "label": "pg up", "matrix":[6,0],"x": 17.25, "y": 1.5 }, + { "label": "~", "matrix":[1,0],"x": 0, "y": 1.25 }, + { "label": "1", "matrix":[1,1],"x": 1, "y": 1.25 }, + { "label": "2", "matrix":[1,2],"x": 2, "y": 1.25 }, + { "label": "3", "matrix":[1,3],"x": 3, "y": 1.25 }, + { "label": "4", "matrix":[1,4],"x": 4, "y": 1.25 }, + { "label": "5", "matrix":[1,5],"x": 5, "y": 1.25 }, + { "label": "6", "matrix":[1,6],"x": 6, "y": 1.25 }, + { "label": "7", "matrix":[1,7],"x": 7, "y": 1.25 }, + { "label": "8", "matrix":[1,8],"x": 8, "y": 1.25 }, + { "label": "9", "matrix":[6,8],"x": 9, "y": 1.25 }, + { "label": "0", "matrix":[6,7],"x": 10, "y": 1.25 }, + { "label": "-", "matrix":[6,6],"x": 11, "y": 1.25 }, + { "label": "=", "matrix":[6,5],"x": 12, "y": 1.25 }, + { "label": "backspace", "matrix":[6,4],"x": 13, "y": 1.25, "w": 2 }, + { "label": "insert", "matrix":[6,2],"x": 15.25, "y": 1.25 }, + { "label": "home", "matrix":[6,1],"x": 16.25, "y": 1.25 }, + { "label": "pg up", "matrix":[6,0],"x": 17.25, "y": 1.25 }, - { "label": "tab", "matrix":[2,0],"x": 0, "y": 2.5, "w": 1.5 }, - { "label": "q", "matrix":[2,1],"x": 1.5, "y": 2.5 }, - { "label": "w", "matrix":[2,2],"x": 2.5, "y": 2.5 }, - { "label": "e", "matrix":[2,3],"x": 3.5, "y": 2.5 }, - { "label": "r", "matrix":[2,4],"x": 4.5, "y": 2.5 }, - { "label": "t", "matrix":[2,5],"x": 5.5, "y": 2.5 }, - { "label": "y", "matrix":[2,6],"x": 6.5, "y": 2.5 }, - { "label": "u", "matrix":[2,7],"x": 7.5, "y": 2.5 }, - { "label": "i", "matrix":[2,8],"x": 8.5, "y": 2.5 }, - { "label": "o", "matrix":[7,8],"x": 9.5, "y": 2.5 }, - { "label": "p", "matrix":[7,7],"x": 10.5, "y": 2.5 }, - { "label": "{", "matrix":[7,6],"x": 11.5, "y": 2.5 }, - { "label": "}", "matrix":[7,5],"x": 12.5, "y": 2.5 }, - { "label": "|", "matrix":[7,4],"x": 13.5, "y": 2.5, "w": 1.5 }, - { "label": "delete", "matrix":[7,2],"x": 15.25, "y": 2.5 }, - { "label": "end", "matrix":[7,1],"x": 16.25, "y": 2.5 }, - { "label": "pg dn", "matrix":[7,0],"x": 17.25, "y": 2.5 }, + { "label": "tab", "matrix":[2,0],"x": 0, "y": 2.25, "w": 1.5 }, + { "label": "q", "matrix":[2,1],"x": 1.5, "y": 2.25 }, + { "label": "w", "matrix":[2,2],"x": 2.5, "y": 2.25 }, + { "label": "e", "matrix":[2,3],"x": 3.5, "y": 2.25 }, + { "label": "r", "matrix":[2,4],"x": 4.5, "y": 2.25 }, + { "label": "t", "matrix":[2,5],"x": 5.5, "y": 2.25 }, + { "label": "y", "matrix":[2,6],"x": 6.5, "y": 2.25 }, + { "label": "u", "matrix":[2,7],"x": 7.5, "y": 2.25 }, + { "label": "i", "matrix":[2,8],"x": 8.5, "y": 2.25 }, + { "label": "o", "matrix":[7,8],"x": 9.5, "y": 2.25 }, + { "label": "p", "matrix":[7,7],"x": 10.5, "y": 2.25 }, + { "label": "{", "matrix":[7,6],"x": 11.5, "y": 2.25 }, + { "label": "}", "matrix":[7,5],"x": 12.5, "y": 2.25 }, + { "label": "|", "matrix":[7,4],"x": 13.5, "y": 2.25, "w": 1.5 }, + { "label": "delete", "matrix":[7,2],"x": 15.25, "y": 2.25 }, + { "label": "end", "matrix":[7,1],"x": 16.25, "y": 2.25 }, + { "label": "pg dn", "matrix":[7,0],"x": 17.25, "y": 2.25 }, - { "label": "capslock", "matrix":[3,0],"x": 0, "y": 3.5, "w": 1.75 }, - { "label": "a", "matrix":[3,1],"x": 1.75, "y": 3.5 }, - { "label": "s", "matrix":[3,2],"x": 2.75, "y": 3.5 }, - { "label": "d", "matrix":[3,3],"x": 3.75, "y": 3.5 }, - { "label": "f", "matrix":[3,4],"x": 4.75, "y": 3.5 }, - { "label": "g", "matrix":[3,5],"x": 5.75, "y": 3.5 }, - { "label": "h", "matrix":[3,6],"x": 6.75, "y": 3.5 }, - { "label": "j", "matrix":[3,7],"x": 7.75, "y": 3.5 }, - { "label": "k", "matrix":[3,8],"x": 8.75, "y": 3.5 }, - { "label": "l", "matrix":[8,8],"x": 9.75, "y": 3.5 }, - { "label": ";", "matrix":[8,7],"x": 10.75, "y": 3.5 }, - { "label": "'", "matrix":[8,6],"x": 11.75, "y": 3.5 }, - { "label": "enter", "matrix":[8,5],"x": 12.75, "y": 3.5, "w": 2.25 }, + { "label": "capslock", "matrix":[3,0],"x": 0, "y": 3.25, "w": 1.75 }, + { "label": "a", "matrix":[3,1],"x": 1.75, "y": 3.25 }, + { "label": "s", "matrix":[3,2],"x": 2.75, "y": 3.25 }, + { "label": "d", "matrix":[3,3],"x": 3.75, "y": 3.25 }, + { "label": "f", "matrix":[3,4],"x": 4.75, "y": 3.25 }, + { "label": "g", "matrix":[3,5],"x": 5.75, "y": 3.25 }, + { "label": "h", "matrix":[3,6],"x": 6.75, "y": 3.25 }, + { "label": "j", "matrix":[3,7],"x": 7.75, "y": 3.25 }, + { "label": "k", "matrix":[3,8],"x": 8.75, "y": 3.25 }, + { "label": "l", "matrix":[8,8],"x": 9.75, "y": 3.25 }, + { "label": ";", "matrix":[8,7],"x": 10.75, "y": 3.25 }, + { "label": "'", "matrix":[8,6],"x": 11.75, "y": 3.25 }, + { "label": "enter", "matrix":[8,5],"x": 12.75, "y": 3.25, "w": 2.25 }, - { "label": "leftshift", "matrix":[4,0],"x": 0, "y": 4.5, "w": 2.25 }, - { "label": "z", "matrix":[4,1],"x": 2.25, "y": 4.5 }, - { "label": "x", "matrix":[4,2],"x": 3.25, "y": 4.5 }, - { "label": "c", "matrix":[4,3],"x": 4.25, "y": 4.5 }, - { "label": "v", "matrix":[4,4],"x": 5.25, "y": 4.5 }, - { "label": "b", "matrix":[4,5],"x": 6.25, "y": 4.5 }, - { "label": "n", "matrix":[4,6],"x": 7.25, "y": 4.5 }, - { "label": "m", "matrix":[4,7],"x": 8.25, "y": 4.5 }, - { "label": ",", "matrix":[4,8],"x": 9.25, "y": 4.5 }, - { "label": ".", "matrix":[9,8],"x": 10.25, "y": 4.5 }, - { "label": "/", "matrix":[9,7],"x": 11.25, "y": 4.5 }, - { "label": "rightshift", "matrix":[9,6],"x": 12.25, "y": 4.5, "w": 2.75 }, - { "label": "up", "matrix":[8,1],"x": 16.25, "y": 4.5 }, + { "label": "leftshift", "matrix":[4,0],"x": 0, "y": 4.25, "w": 2.25 }, + { "label": "z", "matrix":[4,1],"x": 2.25, "y": 4.25 }, + { "label": "x", "matrix":[4,2],"x": 3.25, "y": 4.25 }, + { "label": "c", "matrix":[4,3],"x": 4.25, "y": 4.25 }, + { "label": "v", "matrix":[4,4],"x": 5.25, "y": 4.25 }, + { "label": "b", "matrix":[4,5],"x": 6.25, "y": 4.25 }, + { "label": "n", "matrix":[4,6],"x": 7.25, "y": 4.25 }, + { "label": "m", "matrix":[4,7],"x": 8.25, "y": 4.25 }, + { "label": ",", "matrix":[4,8],"x": 9.25, "y": 4.25 }, + { "label": ".", "matrix":[9,8],"x": 10.25, "y": 4.25 }, + { "label": "/", "matrix":[9,7],"x": 11.25, "y": 4.25 }, + { "label": "rightshift", "matrix":[9,6],"x": 12.25, "y": 4.25, "w": 2.75 }, + { "label": "up", "matrix":[8,1],"x": 16.25, "y": 4.25 }, - { "label": "lctrl", "matrix":[10,0],"x": 0, "y": 5.5, "w": 1.5 }, - { "label": "lwin", "matrix":[10,1],"x": 1.5, "y": 5.5 }, - { "label": "lalt", "matrix":[10,2],"x": 2.5, "y": 5.5, "w": 1.5 }, - { "label": "space", "matrix":[10,3],"x": 4, "y": 5.5, "w": 7 }, - { "label": "ralt", "matrix":[10,5],"x": 11, "y": 5.5, "w": 1.5 }, - { "label": "rwin", "matrix":[10,6],"x": 12.5, "y": 5.5, "w": 1 }, - { "label": "rctrl", "matrix":[10,7],"x": 13.5, "y": 5.5, "w":1.5}, - { "label": "left", "matrix":[9,2],"x": 15.25, "y": 5.5 }, - { "label": "down", "matrix":[9,1],"x": 16.25, "y": 5.5 }, - { "label": "right", "matrix":[9,0],"x": 17.25, "y": 5.5 } + { "label": "lctrl", "matrix":[10,0],"x": 0, "y": 5.25, "w": 1.5 }, + { "label": "lwin", "matrix":[10,1],"x": 1.5, "y": 5.25 }, + { "label": "lalt", "matrix":[10,2],"x": 2.5, "y": 5.25, "w": 1.5 }, + { "label": "space", "matrix":[10,3],"x": 4, "y": 5.25, "w": 7 }, + { "label": "ralt", "matrix":[10,5],"x": 11, "y": 5.25, "w": 1.5 }, + { "label": "rwin", "matrix":[10,6],"x": 12.5, "y": 5.25, "w": 1 }, + { "label": "rctrl", "matrix":[10,7],"x": 13.5, "y": 5.25, "w":1.5}, + { "label": "left", "matrix":[9,2],"x": 15.25, "y": 5.25 }, + { "label": "down", "matrix":[9,1],"x": 16.25, "y": 5.25 }, + { "label": "right", "matrix":[9,0],"x": 17.25, "y": 5.25 } ] } - }, + } } diff --git a/keyboards/ah/haven80/keymaps/default/keymap.c b/keyboards/ah/haven80/keymaps/default/keymap.c index cbcc6bef38e..401787bcbcb 100644 --- a/keyboards/ah/haven80/keymaps/default/keymap.c +++ b/keyboards/ah/haven80/keymaps/default/keymap.c @@ -4,7 +4,7 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_tkl_f13_ansi_tsangan( 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_F13, KC_PSCR, KC_SCRL, KC_PAUS, 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_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_BSLS, KC_DEL, KC_END, KC_PGDN, diff --git a/keyboards/ah/haven80/keymaps/via/keymap.c b/keyboards/ah/haven80/keymaps/via/keymap.c index 03b98293fcd..f4d1b6fe92d 100644 --- a/keyboards/ah/haven80/keymaps/via/keymap.c +++ b/keyboards/ah/haven80/keymaps/via/keymap.c @@ -4,7 +4,7 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_tkl_f13_ansi_tsangan( 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_F13, KC_PSCR, KC_SCRL, KC_PAUS, 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_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_BSLS, KC_DEL, KC_END, KC_PGDN, diff --git a/keyboards/ah/haven80/solder/info.json b/keyboards/ah/haven80/solder/info.json index db9eb015de1..775908d24f0 100644 --- a/keyboards/ah/haven80/solder/info.json +++ b/keyboards/ah/haven80/solder/info.json @@ -9,8 +9,17 @@ "rows": ["F0", "F1", "F4", "F5", "C6", "B1", "B2", "B3", "D3", "D5", "D6"], "cols": ["D0", "D1", "D2", "B0", "C7", "B5", "D7", "B4", "B6"] }, + "layout_aliases": { + "LAYOUT": "LAYOUT_tkl_f13_ansi_tsangan" + }, + "community_layouts": [ + "tkl_f13_ansi_tsangan", + "tkl_f13_ansi_tsangan_split_bs_rshift", + "tkl_f13_iso_tsangan", + "tkl_f13_iso_tsangan_split_bs_rshift" + ], "layouts": { - "LAYOUT": { + "LAYOUT_tkl_f13_ansi_tsangan": { "layout": [ { "label": "Esc", "matrix":[0,0],"x": 0, "y": 0 }, { "label": "F1", "matrix":[0,1],"x": 1.25, "y": 0 }, @@ -21,90 +30,384 @@ { "label": "F6", "matrix":[0,6],"x": 6.5, "y": 0 }, { "label": "F7", "matrix":[0,7],"x": 7.5, "y": 0 }, { "label": "F8", "matrix":[5,8],"x": 8.5, "y": 0 }, - { "label": "F9", "matrix":[5,7],"x": 9.5, "y": 0 }, + { "label": "F9", "matrix":[5,7],"x": 9.75, "y": 0 }, { "label": "F10", "matrix":[5,6],"x": 10.75, "y": 0 }, { "label": "F11", "matrix":[5,5],"x": 11.75, "y": 0 }, { "label": "F12", "matrix":[5,4],"x": 12.75, "y": 0 }, - { "label": "F13", "matrix":[5,3],"x": 13.75, "y": 0 }, + { "label": "F13", "matrix":[5,3],"x": 14, "y": 0 }, { "label": "Prtsc", "matrix":[5,2],"x": 15.25, "y": 0 }, { "label": "Scrlk", "matrix":[5,1],"x": 16.25, "y": 0 }, { "label": "Pause", "matrix":[5,0],"x": 17.25, "y": 0 }, - { "label": "~", "matrix":[1,0],"x": 0, "y": 1.5 }, - { "label": "1", "matrix":[1,1],"x": 1, "y": 1.5 }, - { "label": "2", "matrix":[1,2],"x": 2, "y": 1.5 }, - { "label": "3", "matrix":[1,3],"x": 3, "y": 1.5 }, - { "label": "4", "matrix":[1,4],"x": 4, "y": 1.5 }, - { "label": "5", "matrix":[1,5],"x": 5, "y": 1.5 }, - { "label": "6", "matrix":[1,6],"x": 6, "y": 1.5 }, - { "label": "7", "matrix":[1,7],"x": 7, "y": 1.5 }, - { "label": "8", "matrix":[1,8],"x": 8, "y": 1.5 }, - { "label": "9", "matrix":[6,8],"x": 9, "y": 1.5 }, - { "label": "0", "matrix":[6,7],"x": 10, "y": 1.5 }, - { "label": "-", "matrix":[6,6],"x": 11, "y": 1.5 }, - { "label": "=", "matrix":[6,5],"x": 12, "y": 1.5 }, - { "label": "backspace", "matrix":[6,4],"x": 13, "y": 1.5, "w": 2 }, - { "label": "insert", "matrix":[6,2],"x": 15.25, "y": 1.5 }, - { "label": "home", "matrix":[6,1],"x": 16.25, "y": 1.5 }, - { "label": "pg up", "matrix":[6,0],"x": 17.25, "y": 1.5 }, + { "label": "~", "matrix":[1,0],"x": 0, "y": 1.25 }, + { "label": "1", "matrix":[1,1],"x": 1, "y": 1.25 }, + { "label": "2", "matrix":[1,2],"x": 2, "y": 1.25 }, + { "label": "3", "matrix":[1,3],"x": 3, "y": 1.25 }, + { "label": "4", "matrix":[1,4],"x": 4, "y": 1.25 }, + { "label": "5", "matrix":[1,5],"x": 5, "y": 1.25 }, + { "label": "6", "matrix":[1,6],"x": 6, "y": 1.25 }, + { "label": "7", "matrix":[1,7],"x": 7, "y": 1.25 }, + { "label": "8", "matrix":[1,8],"x": 8, "y": 1.25 }, + { "label": "9", "matrix":[6,8],"x": 9, "y": 1.25 }, + { "label": "0", "matrix":[6,7],"x": 10, "y": 1.25 }, + { "label": "-", "matrix":[6,6],"x": 11, "y": 1.25 }, + { "label": "=", "matrix":[6,5],"x": 12, "y": 1.25 }, + { "label": "backspace", "matrix":[6,4],"x": 13, "y": 1.25, "w": 2 }, + { "label": "insert", "matrix":[6,2],"x": 15.25, "y": 1.25 }, + { "label": "home", "matrix":[6,1],"x": 16.25, "y": 1.25 }, + { "label": "pg up", "matrix":[6,0],"x": 17.25, "y": 1.25 }, - { "label": "tab", "matrix":[2,0],"x": 0, "y": 2.5, "w": 1.5 }, - { "label": "q", "matrix":[2,1],"x": 1.5, "y": 2.5 }, - { "label": "w", "matrix":[2,2],"x": 2.5, "y": 2.5 }, - { "label": "e", "matrix":[2,3],"x": 3.5, "y": 2.5 }, - { "label": "r", "matrix":[2,4],"x": 4.5, "y": 2.5 }, - { "label": "t", "matrix":[2,5],"x": 5.5, "y": 2.5 }, - { "label": "y", "matrix":[2,6],"x": 6.5, "y": 2.5 }, - { "label": "u", "matrix":[2,7],"x": 7.5, "y": 2.5 }, - { "label": "i", "matrix":[2,8],"x": 8.5, "y": 2.5 }, - { "label": "o", "matrix":[7,8],"x": 9.5, "y": 2.5 }, - { "label": "p", "matrix":[7,7],"x": 10.5, "y": 2.5 }, - { "label": "{", "matrix":[7,6],"x": 11.5, "y": 2.5 }, - { "label": "}", "matrix":[7,5],"x": 12.5, "y": 2.5 }, - { "label": "|", "matrix":[7,4],"x": 13.5, "y": 2.5, "w": 1.5 }, - { "label": "delete", "matrix":[7,2],"x": 15.25, "y": 2.5 }, - { "label": "end", "matrix":[7,1],"x": 16.25, "y": 2.5 }, - { "label": "pg dn", "matrix":[7,0],"x": 17.25, "y": 2.5 }, + { "label": "tab", "matrix":[2,0],"x": 0, "y": 2.25, "w": 1.5 }, + { "label": "q", "matrix":[2,1],"x": 1.5, "y": 2.25 }, + { "label": "w", "matrix":[2,2],"x": 2.5, "y": 2.25 }, + { "label": "e", "matrix":[2,3],"x": 3.5, "y": 2.25 }, + { "label": "r", "matrix":[2,4],"x": 4.5, "y": 2.25 }, + { "label": "t", "matrix":[2,5],"x": 5.5, "y": 2.25 }, + { "label": "y", "matrix":[2,6],"x": 6.5, "y": 2.25 }, + { "label": "u", "matrix":[2,7],"x": 7.5, "y": 2.25 }, + { "label": "i", "matrix":[2,8],"x": 8.5, "y": 2.25 }, + { "label": "o", "matrix":[7,8],"x": 9.5, "y": 2.25 }, + { "label": "p", "matrix":[7,7],"x": 10.5, "y": 2.25 }, + { "label": "{", "matrix":[7,6],"x": 11.5, "y": 2.25 }, + { "label": "}", "matrix":[7,5],"x": 12.5, "y": 2.25 }, + { "label": "|", "matrix":[7,4],"x": 13.5, "y": 2.25, "w": 1.5 }, + { "label": "delete", "matrix":[7,2],"x": 15.25, "y": 2.25 }, + { "label": "end", "matrix":[7,1],"x": 16.25, "y": 2.25 }, + { "label": "pg dn", "matrix":[7,0],"x": 17.25, "y": 2.25 }, - { "label": "capslock", "matrix":[3,0],"x": 0, "y": 3.5, "w": 1.75 }, - { "label": "a", "matrix":[3,1],"x": 1.75, "y": 3.5 }, - { "label": "s", "matrix":[3,2],"x": 2.75, "y": 3.5 }, - { "label": "d", "matrix":[3,3],"x": 3.75, "y": 3.5 }, - { "label": "f", "matrix":[3,4],"x": 4.75, "y": 3.5 }, - { "label": "g", "matrix":[3,5],"x": 5.75, "y": 3.5 }, - { "label": "h", "matrix":[3,6],"x": 6.75, "y": 3.5 }, - { "label": "j", "matrix":[3,7],"x": 7.75, "y": 3.5 }, - { "label": "k", "matrix":[3,8],"x": 8.75, "y": 3.5 }, - { "label": "l", "matrix":[8,8],"x": 9.75, "y": 3.5 }, - { "label": ";", "matrix":[8,7],"x": 10.75, "y": 3.5 }, - { "label": "'", "matrix":[8,6],"x": 11.75, "y": 3.5 }, - { "label": "enter", "matrix":[8,5],"x": 12.75, "y": 3.5, "w": 2.25 }, + { "label": "capslock", "matrix":[3,0],"x": 0, "y": 3.25, "w": 1.75 }, + { "label": "a", "matrix":[3,1],"x": 1.75, "y": 3.25 }, + { "label": "s", "matrix":[3,2],"x": 2.75, "y": 3.25 }, + { "label": "d", "matrix":[3,3],"x": 3.75, "y": 3.25 }, + { "label": "f", "matrix":[3,4],"x": 4.75, "y": 3.25 }, + { "label": "g", "matrix":[3,5],"x": 5.75, "y": 3.25 }, + { "label": "h", "matrix":[3,6],"x": 6.75, "y": 3.25 }, + { "label": "j", "matrix":[3,7],"x": 7.75, "y": 3.25 }, + { "label": "k", "matrix":[3,8],"x": 8.75, "y": 3.25 }, + { "label": "l", "matrix":[8,8],"x": 9.75, "y": 3.25 }, + { "label": ";", "matrix":[8,7],"x": 10.75, "y": 3.25 }, + { "label": "'", "matrix":[8,6],"x": 11.75, "y": 3.25 }, + { "label": "enter", "matrix":[8,5],"x": 12.75, "y": 3.25, "w": 2.25 }, - { "label": "leftshift", "matrix":[4,0],"x": 0, "y": 4.5, "w": 2.25 }, - { "label": "z", "matrix":[4,1],"x": 2.25, "y": 4.5 }, - { "label": "x", "matrix":[4,2],"x": 3.25, "y": 4.5 }, - { "label": "c", "matrix":[4,3],"x": 4.25, "y": 4.5 }, - { "label": "v", "matrix":[4,4],"x": 5.25, "y": 4.5 }, - { "label": "b", "matrix":[4,5],"x": 6.25, "y": 4.5 }, - { "label": "n", "matrix":[4,6],"x": 7.25, "y": 4.5 }, - { "label": "m", "matrix":[4,7],"x": 8.25, "y": 4.5 }, - { "label": ",", "matrix":[4,8],"x": 9.25, "y": 4.5 }, - { "label": ".", "matrix":[9,8],"x": 10.25, "y": 4.5 }, - { "label": "/", "matrix":[9,7],"x": 11.25, "y": 4.5 }, - { "label": "rightshift", "matrix":[9,6],"x": 12.25, "y": 4.5, "w": 2.75 }, - { "label": "up", "matrix":[8,1],"x": 16.25, "y": 4.5 }, + { "label": "leftshift", "matrix":[4,0],"x": 0, "y": 4.25, "w": 2.25 }, + { "label": "z", "matrix":[4,1],"x": 2.25, "y": 4.25 }, + { "label": "x", "matrix":[4,2],"x": 3.25, "y": 4.25 }, + { "label": "c", "matrix":[4,3],"x": 4.25, "y": 4.25 }, + { "label": "v", "matrix":[4,4],"x": 5.25, "y": 4.25 }, + { "label": "b", "matrix":[4,5],"x": 6.25, "y": 4.25 }, + { "label": "n", "matrix":[4,6],"x": 7.25, "y": 4.25 }, + { "label": "m", "matrix":[4,7],"x": 8.25, "y": 4.25 }, + { "label": ",", "matrix":[4,8],"x": 9.25, "y": 4.25 }, + { "label": ".", "matrix":[9,8],"x": 10.25, "y": 4.25 }, + { "label": "/", "matrix":[9,7],"x": 11.25, "y": 4.25 }, + { "label": "rightshift", "matrix":[9,6],"x": 12.25, "y": 4.25, "w": 2.75 }, + { "label": "up", "matrix":[8,1],"x": 16.25, "y": 4.25 }, - { "label": "lctrl", "matrix":[10,0],"x": 0, "y": 5.5, "w": 1.5 }, - { "label": "lwin", "matrix":[10,1],"x": 1.5, "y": 5.5 }, - { "label": "lalt", "matrix":[10,2],"x": 2.5, "y": 5.5, "w": 1.5 }, - { "label": "space", "matrix":[10,3],"x": 4, "y": 5.5, "w": 7 }, - { "label": "ralt", "matrix":[10,5],"x": 11, "y": 5.5, "w": 1.5 }, - { "label": "rwin", "matrix":[10,6],"x": 12.5, "y": 5.5, "w": 1 }, - { "label": "rctrl", "matrix":[10,7],"x": 13.5, "y": 5.5, "w":1.5}, - { "label": "left", "matrix":[9,2],"x": 15.25, "y": 5.5 }, - { "label": "down", "matrix":[9,1],"x": 16.25, "y": 5.5 }, - { "label": "right", "matrix":[9,0],"x": 17.25, "y": 5.5 } + { "label": "lctrl", "matrix":[10,0],"x": 0, "y": 5.25, "w": 1.5 }, + { "label": "lwin", "matrix":[10,1],"x": 1.5, "y": 5.25 }, + { "label": "lalt", "matrix":[10,2],"x": 2.5, "y": 5.25, "w": 1.5 }, + { "label": "space", "matrix":[10,3],"x": 4, "y": 5.25, "w": 7 }, + { "label": "ralt", "matrix":[10,5],"x": 11, "y": 5.25, "w": 1.5 }, + { "label": "rwin", "matrix":[10,6],"x": 12.5, "y": 5.25, "w": 1 }, + { "label": "rctrl", "matrix":[10,7],"x": 13.5, "y": 5.25, "w":1.5}, + { "label": "left", "matrix":[9,2],"x": 15.25, "y": 5.25 }, + { "label": "down", "matrix":[9,1],"x": 16.25, "y": 5.25 }, + { "label": "right", "matrix":[9,0],"x": 17.25, "y": 5.25 } ] + }, + "LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, + {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, + {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, + {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F8", "matrix": [5, 8], "x": 8.5, "y": 0}, + {"label": "F9", "matrix": [5, 7], "x": 9.75, "y": 0}, + {"label": "F10", "matrix": [5, 6], "x": 10.75, "y": 0}, + {"label": "F11", "matrix": [5, 5], "x": 11.75, "y": 0}, + {"label": "F12", "matrix": [5, 4], "x": 12.75, "y": 0}, + {"label": "F13", "matrix": [5, 3], "x": 14, "y": 0}, + {"label": "Prtsc", "matrix": [5, 2], "x": 15.25, "y": 0}, + {"label": "Scrlk", "matrix": [5, 1], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [5, 0], "x": 17.25, "y": 0}, + + {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [6, 8], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [6, 7], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [6, 6], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [6, 5], "x": 12, "y": 1.25}, + {"label": "backspace", "matrix": [6, 4], "x": 13, "y": 1.25}, + {"label": "backspace", "matrix": [6, 3], "x": 14, "y": 1.25}, + {"label": "insert", "matrix": [6, 2], "x": 15.25, "y": 1.25}, + {"label": "home", "matrix": [6, 1], "x": 16.25, "y": 1.25}, + {"label": "pg up", "matrix": [6, 0], "x": 17.25, "y": 1.25}, + + {"label": "tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "w", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "e", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "r", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "t", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "u", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "i", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "o", "matrix": [7, 8], "x": 9.5, "y": 2.25}, + {"label": "p", "matrix": [7, 7], "x": 10.5, "y": 2.25}, + {"label": "{", "matrix": [7, 6], "x": 11.5, "y": 2.25}, + {"label": "}", "matrix": [7, 5], "x": 12.5, "y": 2.25}, + {"label": "|", "matrix": [7, 4], "x": 13.5, "y": 2.25, "w": 1.5}, + {"label": "delete", "matrix": [7, 2], "x": 15.25, "y": 2.25}, + {"label": "end", "matrix": [7, 1], "x": 16.25, "y": 2.25}, + {"label": "pg dn", "matrix": [7, 0], "x": 17.25, "y": 2.25}, + + {"label": "capslock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "a", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "s", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "d", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "f", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "g", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "h", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "j", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "k", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "l", "matrix": [8, 8], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [8, 7], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [8, 6], "x": 11.75, "y": 3.25}, + {"label": "enter", "matrix": [8, 5], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"label": "leftshift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"label": "z", "matrix": [4, 1], "x": 2.25, "y": 4.25}, + {"label": "x", "matrix": [4, 2], "x": 3.25, "y": 4.25}, + {"label": "c", "matrix": [4, 3], "x": 4.25, "y": 4.25}, + {"label": "v", "matrix": [4, 4], "x": 5.25, "y": 4.25}, + {"label": "b", "matrix": [4, 5], "x": 6.25, "y": 4.25}, + {"label": "n", "matrix": [4, 6], "x": 7.25, "y": 4.25}, + {"label": "m", "matrix": [4, 7], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 8], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [9, 8], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [9, 7], "x": 11.25, "y": 4.25}, + {"label": "rightshift", "matrix": [9, 6], "x": 12.25, "y": 4.25, "w": 1.75}, + {"label": "rightshift", "matrix": [9, 5], "x": 14, "y": 4.25}, + {"label": "up", "matrix": [8, 1], "x": 16.25, "y": 4.25}, + + {"label": "lctrl", "matrix": [10, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"label": "lwin", "matrix": [10, 1], "x": 1.5, "y": 5.25}, + {"label": "lalt", "matrix": [10, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"label": "space", "matrix": [10, 3], "x": 4, "y": 5.25, "w": 7}, + {"label": "ralt", "matrix": [10, 5], "x": 11, "y": 5.25, "w": 1.5}, + {"label": "rwin", "matrix": [10, 6], "x": 12.5, "y": 5.25}, + {"label": "rctrl", "matrix": [10, 7], "x": 13.5, "y": 5.25, "w": 1.5}, + {"label": "left", "matrix": [9, 2], "x": 15.25, "y": 5.25}, + {"label": "down", "matrix": [9, 1], "x": 16.25, "y": 5.25}, + {"label": "right", "matrix": [9, 0], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_iso_tsangan": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, + {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, + {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, + {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F8", "matrix": [5, 8], "x": 8.5, "y": 0}, + {"label": "F9", "matrix": [5, 7], "x": 9.75, "y": 0}, + {"label": "F10", "matrix": [5, 6], "x": 10.75, "y": 0}, + {"label": "F11", "matrix": [5, 5], "x": 11.75, "y": 0}, + {"label": "F12", "matrix": [5, 4], "x": 12.75, "y": 0}, + {"label": "F13", "matrix": [5, 3], "x": 14, "y": 0}, + {"label": "Prtsc", "matrix": [5, 2], "x": 15.25, "y": 0}, + {"label": "Scrlk", "matrix": [5, 1], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [5, 0], "x": 17.25, "y": 0}, + + {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [6, 8], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [6, 7], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [6, 6], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [6, 5], "x": 12, "y": 1.25}, + {"label": "backspace", "matrix": [6, 4], "x": 13, "y": 1.25, "w": 2}, + {"label": "insert", "matrix": [6, 2], "x": 15.25, "y": 1.25}, + {"label": "home", "matrix": [6, 1], "x": 16.25, "y": 1.25}, + {"label": "pg up", "matrix": [6, 0], "x": 17.25, "y": 1.25}, + + {"label": "tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "w", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "e", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "r", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "t", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "u", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "i", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "o", "matrix": [7, 8], "x": 9.5, "y": 2.25}, + {"label": "p", "matrix": [7, 7], "x": 10.5, "y": 2.25}, + {"label": "{", "matrix": [7, 6], "x": 11.5, "y": 2.25}, + {"label": "}", "matrix": [7, 5], "x": 12.5, "y": 2.25}, + {"label": "delete", "matrix": [7, 2], "x": 15.25, "y": 2.25}, + {"label": "end", "matrix": [7, 1], "x": 16.25, "y": 2.25}, + {"label": "pg dn", "matrix": [7, 0], "x": 17.25, "y": 2.25}, + + {"label": "capslock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "a", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "s", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "d", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "f", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "g", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "h", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "j", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "k", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "l", "matrix": [8, 8], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [8, 7], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [8, 6], "x": 11.75, "y": 3.25}, + {"label": "#", "matrix": [7, 4], "x": 12.75, "y": 3.25}, + {"label": "enter", "matrix": [8, 5], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"label": "leftshift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"label": "\\", "matrix": [9, 3], "x": 1.25, "y": 4.25}, + {"label": "z", "matrix": [4, 1], "x": 2.25, "y": 4.25}, + {"label": "x", "matrix": [4, 2], "x": 3.25, "y": 4.25}, + {"label": "c", "matrix": [4, 3], "x": 4.25, "y": 4.25}, + {"label": "v", "matrix": [4, 4], "x": 5.25, "y": 4.25}, + {"label": "b", "matrix": [4, 5], "x": 6.25, "y": 4.25}, + {"label": "n", "matrix": [4, 6], "x": 7.25, "y": 4.25}, + {"label": "m", "matrix": [4, 7], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 8], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [9, 8], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [9, 7], "x": 11.25, "y": 4.25}, + {"label": "rightshift", "matrix": [9, 6], "x": 12.25, "y": 4.25, "w": 2.75}, + {"label": "up", "matrix": [8, 1], "x": 16.25, "y": 4.25}, + + {"label": "lctrl", "matrix": [10, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"label": "lwin", "matrix": [10, 1], "x": 1.5, "y": 5.25}, + {"label": "lalt", "matrix": [10, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"label": "space", "matrix": [10, 3], "x": 4, "y": 5.25, "w": 7}, + {"label": "ralt", "matrix": [10, 5], "x": 11, "y": 5.25, "w": 1.5}, + {"label": "rwin", "matrix": [10, 6], "x": 12.5, "y": 5.25}, + {"label": "rctrl", "matrix": [10, 7], "x": 13.5, "y": 5.25, "w": 1.5}, + {"label": "left", "matrix": [9, 2], "x": 15.25, "y": 5.25}, + {"label": "down", "matrix": [9, 1], "x": 16.25, "y": 5.25}, + {"label": "right", "matrix": [9, 0], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_iso_tsangan_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0}, + {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0}, + {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0}, + {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0}, + {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0}, + {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0}, + {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0}, + {"label": "F8", "matrix": [5, 8], "x": 8.5, "y": 0}, + {"label": "F9", "matrix": [5, 7], "x": 9.75, "y": 0}, + {"label": "F10", "matrix": [5, 6], "x": 10.75, "y": 0}, + {"label": "F11", "matrix": [5, 5], "x": 11.75, "y": 0}, + {"label": "F12", "matrix": [5, 4], "x": 12.75, "y": 0}, + {"label": "F13", "matrix": [5, 3], "x": 14, "y": 0}, + {"label": "Prtsc", "matrix": [5, 2], "x": 15.25, "y": 0}, + {"label": "Scrlk", "matrix": [5, 1], "x": 16.25, "y": 0}, + {"label": "Pause", "matrix": [5, 0], "x": 17.25, "y": 0}, + + {"label": "~", "matrix": [1, 0], "x": 0, "y": 1.25}, + {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25}, + {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25}, + {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25}, + {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25}, + {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25}, + {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25}, + {"label": "9", "matrix": [6, 8], "x": 9, "y": 1.25}, + {"label": "0", "matrix": [6, 7], "x": 10, "y": 1.25}, + {"label": "-", "matrix": [6, 6], "x": 11, "y": 1.25}, + {"label": "=", "matrix": [6, 5], "x": 12, "y": 1.25}, + {"label": "backspace", "matrix": [6, 4], "x": 13, "y": 1.25}, + {"label": "backspace", "matrix": [6, 3], "x": 14, "y": 1.25}, + {"label": "insert", "matrix": [6, 2], "x": 15.25, "y": 1.25}, + {"label": "home", "matrix": [6, 1], "x": 16.25, "y": 1.25}, + {"label": "pg up", "matrix": [6, 0], "x": 17.25, "y": 1.25}, + + {"label": "tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"label": "q", "matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"label": "w", "matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"label": "e", "matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"label": "r", "matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"label": "t", "matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"label": "y", "matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"label": "u", "matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"label": "i", "matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"label": "o", "matrix": [7, 8], "x": 9.5, "y": 2.25}, + {"label": "p", "matrix": [7, 7], "x": 10.5, "y": 2.25}, + {"label": "{", "matrix": [7, 6], "x": 11.5, "y": 2.25}, + {"label": "}", "matrix": [7, 5], "x": 12.5, "y": 2.25}, + {"label": "delete", "matrix": [7, 2], "x": 15.25, "y": 2.25}, + {"label": "end", "matrix": [7, 1], "x": 16.25, "y": 2.25}, + {"label": "pg dn", "matrix": [7, 0], "x": 17.25, "y": 2.25}, + + {"label": "capslock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"label": "a", "matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"label": "s", "matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"label": "d", "matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"label": "f", "matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"label": "g", "matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"label": "h", "matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"label": "j", "matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"label": "k", "matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"label": "l", "matrix": [8, 8], "x": 9.75, "y": 3.25}, + {"label": ";", "matrix": [8, 7], "x": 10.75, "y": 3.25}, + {"label": "'", "matrix": [8, 6], "x": 11.75, "y": 3.25}, + {"label": "#", "matrix": [7, 4], "x": 12.75, "y": 3.25}, + {"label": "enter", "matrix": [8, 5], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"label": "leftshift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"label": "\\", "matrix": [9, 3], "x": 1.25, "y": 4.25}, + {"label": "z", "matrix": [4, 1], "x": 2.25, "y": 4.25}, + {"label": "x", "matrix": [4, 2], "x": 3.25, "y": 4.25}, + {"label": "c", "matrix": [4, 3], "x": 4.25, "y": 4.25}, + {"label": "v", "matrix": [4, 4], "x": 5.25, "y": 4.25}, + {"label": "b", "matrix": [4, 5], "x": 6.25, "y": 4.25}, + {"label": "n", "matrix": [4, 6], "x": 7.25, "y": 4.25}, + {"label": "m", "matrix": [4, 7], "x": 8.25, "y": 4.25}, + {"label": ",", "matrix": [4, 8], "x": 9.25, "y": 4.25}, + {"label": ".", "matrix": [9, 8], "x": 10.25, "y": 4.25}, + {"label": "/", "matrix": [9, 7], "x": 11.25, "y": 4.25}, + {"label": "rightshift", "matrix": [9, 6], "x": 12.25, "y": 4.25, "w": 1.75}, + {"label": "rightshift", "matrix": [9, 5], "x": 14, "y": 4.25}, + {"label": "up", "matrix": [8, 1], "x": 16.25, "y": 4.25}, + + {"label": "lctrl", "matrix": [10, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"label": "lwin", "matrix": [10, 1], "x": 1.5, "y": 5.25}, + {"label": "lalt", "matrix": [10, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"label": "space", "matrix": [10, 3], "x": 4, "y": 5.25, "w": 7}, + {"label": "ralt", "matrix": [10, 5], "x": 11, "y": 5.25, "w": 1.5}, + {"label": "rwin", "matrix": [10, 6], "x": 12.5, "y": 5.25}, + {"label": "rctrl", "matrix": [10, 7], "x": 13.5, "y": 5.25, "w": 1.5}, + {"label": "left", "matrix": [9, 2], "x": 15.25, "y": 5.25}, + {"label": "down", "matrix": [9, 1], "x": 16.25, "y": 5.25}, + {"label": "right", "matrix": [9, 0], "x": 17.25, "y": 5.25} + ] } - }, + } } From 9eaa8a24ed02181270c7e90fdb81bad77e607a07 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun, 3 Sep 2023 23:17:53 -0700 Subject: [PATCH 008/144] ANAVI Macro Pad 12: rename LAYOUT to LAYOUT_ortho_4x3 (#21886) [refactor] --- keyboards/anavi/macropad12/info.json | 5 ++++- keyboards/anavi/macropad12/keymaps/default/keymap.c | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/keyboards/anavi/macropad12/info.json b/keyboards/anavi/macropad12/info.json index a5ed9857cad..f0f6d6ca60a 100644 --- a/keyboards/anavi/macropad12/info.json +++ b/keyboards/anavi/macropad12/info.json @@ -43,8 +43,11 @@ "backlight": { "pin": "GP26" }, + "layout_aliases": { + "LAYOUT": "LAYOUT_ortho_4x3" + }, "layouts": { - "LAYOUT": { + "LAYOUT_ortho_4x3": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/anavi/macropad12/keymaps/default/keymap.c b/keyboards/anavi/macropad12/keymaps/default/keymap.c index 054322cb64d..e74b20d9bad 100644 --- a/keyboards/anavi/macropad12/keymaps/default/keymap.c +++ b/keyboards/anavi/macropad12/keymaps/default/keymap.c @@ -8,7 +8,7 @@ enum layer_names { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT( + [_BASE] = LAYOUT_ortho_4x3( KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, From fd095bbfaedfb50ebd4c8574b21e5c867a74bb01 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun, 3 Sep 2023 23:56:43 -0700 Subject: [PATCH 009/144] Chosfox CF81: correct layout data (#21902) --- keyboards/chosfox/cf81/info.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/keyboards/chosfox/cf81/info.json b/keyboards/chosfox/cf81/info.json index db9f3e1d52d..827347f41e3 100644 --- a/keyboards/chosfox/cf81/info.json +++ b/keyboards/chosfox/cf81/info.json @@ -252,7 +252,7 @@ { "label": ">", "matrix": [4, 9], "x": 10.25, "y": 4.25 }, { "label": "?", "matrix": [4, 10], "x": 11.25, "y": 4.25 }, { "label": "Shift", "matrix": [4, 13], "w": 1.75, "x": 12.25, "y": 4.25 }, - { "label": "Up", "matrix": [4, 14], "x": 14.25, "y": 4.25 }, + { "label": "Up", "matrix": [4, 14], "x": 14.25, "y": 4.5 }, { "label": "Ctrl", "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.25 }, { "label": "Win", "matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 5.25 }, @@ -261,9 +261,9 @@ { "label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25 }, { "label": "Fn", "matrix": [5, 10], "x": 11, "y": 5.25 }, { "label": "Ctrl", "matrix": [5, 11], "x": 12, "y": 5.25 }, - { "label": "Left", "matrix": [5, 13], "x": 13.25, "y": 5.25 }, - { "label": "Down", "matrix": [5, 14], "x": 14.25, "y": 5.25 }, - { "label": "Right", "matrix": [5, 15], "x": 15.25, "y": 5.25 } + { "label": "Left", "matrix": [5, 13], "x": 13.25, "y": 5.5 }, + { "label": "Down", "matrix": [5, 14], "x": 14.25, "y": 5.5 }, + { "label": "Right", "matrix": [5, 15], "x": 15.25, "y": 5.5 } ] } } From b2ded61796aee1f705a222e229c5b55416d93dd0 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Mon, 4 Sep 2023 09:09:53 +0100 Subject: [PATCH 010/144] Auto-label data-driven efforts (#21900) --- .github/labeler.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/labeler.yml b/.github/labeler.yml index 07a6c451cff..95eaa49252d 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -40,3 +40,7 @@ translation: - docs/ru-ru/**/* CI: - .github/**/* +dd: + - data/constants/**/* + - data/mappings/**/* + - data/schemas/**/* From 2f517041c71e3488e721d70d0b15a58a946e97c9 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon, 4 Sep 2023 23:34:23 -0700 Subject: [PATCH 011/144] CannonKeys Bastion75 Layout Additions (#21899) * [docs] add layout/matrix diagram * [refactor] rename LAYOUT to LAYOUT_all * [enhancement] add LAYOUT_ansi_blocker_split_bs * [enhancement] add LAYOUT_ansi_blocker * [enhancement] add LAYOUT_ansi_blocker_tsangan_split_bs * [enhancement] add LAYOUT_ansi_blocker_tsangan * [enhancement] add LAYOUT_iso_blocker_split_bs * [enhancement] add LAYOUT_iso_blocker * [enhancement] add LAYOUT_iso_blocker_tsangan_split_bs * [enhancement] add LAYOUT_iso_blocker_tsangan --- keyboards/cannonkeys/bastion75/info.json | 731 +++++++++++++++++- .../bastion75/keymaps/default/keymap.c | 4 +- .../cannonkeys/bastion75/keymaps/via/keymap.c | 4 +- .../cannonkeys/bastion75/matrix_diagram.md | 27 + 4 files changed, 760 insertions(+), 6 deletions(-) create mode 100644 keyboards/cannonkeys/bastion75/matrix_diagram.md diff --git a/keyboards/cannonkeys/bastion75/info.json b/keyboards/cannonkeys/bastion75/info.json index 64243257aec..276cc03c514 100644 --- a/keyboards/cannonkeys/bastion75/info.json +++ b/keyboards/cannonkeys/bastion75/info.json @@ -49,8 +49,11 @@ "rainbow_swirl": true } }, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, "layouts": { - "LAYOUT": { + "LAYOUT_all": { "layout": [ { "matrix": [0, 0], "x": 0, "y": 0 }, { "matrix": [0, 1], "x": 1.5, "y": 0 }, @@ -138,6 +141,730 @@ { "matrix": [5, 13], "x": 14, "y": 5.25 }, { "matrix": [5, 14], "x": 15, "y": 5.25 } ] + }, + "LAYOUT_ansi_blocker": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 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.5, "y": 0}, + {"matrix": [0, 11], "x": 11.5, "y": 0}, + {"matrix": [0, 12], "x": 12.5, "y": 0}, + {"matrix": [0, 13], "x": 13.5, "y": 0}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + {"matrix": [1, 14], "x": 15, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + {"matrix": [2, 14], "x": 15, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, + {"matrix": [3, 14], "x": 15, "y": 3.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + {"matrix": [4, 14], "x": 15, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 12], "x": 13, "y": 5.25}, + {"matrix": [5, 13], "x": 14, "y": 5.25}, + {"matrix": [5, 14], "x": 15, "y": 5.25} + ] + }, + "LAYOUT_ansi_blocker_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 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.5, "y": 0}, + {"matrix": [0, 11], "x": 11.5, "y": 0}, + {"matrix": [0, 12], "x": 12.5, "y": 0}, + {"matrix": [0, 13], "x": 13.5, "y": 0}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25}, + {"matrix": [3, 12], "x": 14, "y": 1.25}, + {"matrix": [1, 14], "x": 15, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + {"matrix": [2, 14], "x": 15, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, + {"matrix": [3, 14], "x": 15, "y": 3.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + {"matrix": [4, 14], "x": 15, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 12], "x": 13, "y": 5.25}, + {"matrix": [5, 13], "x": 14, "y": 5.25}, + {"matrix": [5, 14], "x": 15, "y": 5.25} + ] + }, + "LAYOUT_ansi_blocker_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 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.5, "y": 0}, + {"matrix": [0, 11], "x": 11.5, "y": 0}, + {"matrix": [0, 12], "x": 12.5, "y": 0}, + {"matrix": [0, 13], "x": 13.5, "y": 0}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + {"matrix": [1, 14], "x": 15, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + {"matrix": [2, 14], "x": 15, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, + {"matrix": [3, 14], "x": 15, "y": 3.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + {"matrix": [4, 14], "x": 15, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 12], "x": 13, "y": 5.25}, + {"matrix": [5, 13], "x": 14, "y": 5.25}, + {"matrix": [5, 14], "x": 15, "y": 5.25} + ] + }, + "LAYOUT_ansi_blocker_tsangan_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 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.5, "y": 0}, + {"matrix": [0, 11], "x": 11.5, "y": 0}, + {"matrix": [0, 12], "x": 12.5, "y": 0}, + {"matrix": [0, 13], "x": 13.5, "y": 0}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25}, + {"matrix": [3, 12], "x": 14, "y": 1.25}, + {"matrix": [1, 14], "x": 15, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + {"matrix": [2, 14], "x": 15, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, + {"matrix": [3, 14], "x": 15, "y": 3.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + {"matrix": [4, 14], "x": 15, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 12], "x": 13, "y": 5.25}, + {"matrix": [5, 13], "x": 14, "y": 5.25}, + {"matrix": [5, 14], "x": 15, "y": 5.25} + ] + }, + "LAYOUT_iso_blocker": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 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.5, "y": 0}, + {"matrix": [0, 11], "x": 11.5, "y": 0}, + {"matrix": [0, 12], "x": 12.5, "y": 0}, + {"matrix": [0, 13], "x": 13.5, "y": 0}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + {"matrix": [1, 14], "x": 15, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 14], "x": 15, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [2, 13], "x": 12.75, "y": 3.25}, + {"matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + {"matrix": [3, 14], "x": 15, "y": 3.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + {"matrix": [4, 14], "x": 15, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 12], "x": 13, "y": 5.25}, + {"matrix": [5, 13], "x": 14, "y": 5.25}, + {"matrix": [5, 14], "x": 15, "y": 5.25} + ] + }, + "LAYOUT_iso_blocker_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 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.5, "y": 0}, + {"matrix": [0, 11], "x": 11.5, "y": 0}, + {"matrix": [0, 12], "x": 12.5, "y": 0}, + {"matrix": [0, 13], "x": 13.5, "y": 0}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25}, + {"matrix": [3, 12], "x": 14, "y": 1.25}, + {"matrix": [1, 14], "x": 15, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 14], "x": 15, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [2, 13], "x": 12.75, "y": 3.25}, + {"matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + {"matrix": [3, 14], "x": 15, "y": 3.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + {"matrix": [4, 14], "x": 15, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 12], "x": 13, "y": 5.25}, + {"matrix": [5, 13], "x": 14, "y": 5.25}, + {"matrix": [5, 14], "x": 15, "y": 5.25} + ] + }, + "LAYOUT_iso_blocker_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 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.5, "y": 0}, + {"matrix": [0, 11], "x": 11.5, "y": 0}, + {"matrix": [0, 12], "x": 12.5, "y": 0}, + {"matrix": [0, 13], "x": 13.5, "y": 0}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + {"matrix": [1, 14], "x": 15, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 14], "x": 15, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [2, 13], "x": 12.75, "y": 3.25}, + {"matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + {"matrix": [3, 14], "x": 15, "y": 3.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + {"matrix": [4, 14], "x": 15, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 12], "x": 13, "y": 5.25}, + {"matrix": [5, 13], "x": 14, "y": 5.25}, + {"matrix": [5, 14], "x": 15, "y": 5.25} + ] + }, + "LAYOUT_iso_blocker_tsangan_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 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.5, "y": 0}, + {"matrix": [0, 11], "x": 11.5, "y": 0}, + {"matrix": [0, 12], "x": 12.5, "y": 0}, + {"matrix": [0, 13], "x": 13.5, "y": 0}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25}, + {"matrix": [3, 12], "x": 14, "y": 1.25}, + {"matrix": [1, 14], "x": 15, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 14], "x": 15, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [2, 13], "x": 12.75, "y": 3.25}, + {"matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + {"matrix": [3, 14], "x": 15, "y": 3.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + {"matrix": [4, 14], "x": 15, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 12], "x": 13, "y": 5.25}, + {"matrix": [5, 13], "x": 14, "y": 5.25}, + {"matrix": [5, 14], "x": 15, "y": 5.25} + ] } } -} \ No newline at end of file +} diff --git a/keyboards/cannonkeys/bastion75/keymaps/default/keymap.c b/keyboards/cannonkeys/bastion75/keymaps/default/keymap.c index 9b3d00ade25..b0da09f0b8d 100644 --- a/keyboards/cannonkeys/bastion75/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/bastion75/keymaps/default/keymap.c @@ -27,7 +27,7 @@ enum layer_names { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT( + [_BASE] = LAYOUT_all( 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_MPLY, 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_DEL, KC_HOME, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(_FN1), KC_LEFT, KC_DOWN, KC_RIGHT ), - [_FN1] = LAYOUT( + [_FN1] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______, RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/cannonkeys/bastion75/keymaps/via/keymap.c b/keyboards/cannonkeys/bastion75/keymaps/via/keymap.c index a4c9bf120c4..493fea3c9a6 100644 --- a/keyboards/cannonkeys/bastion75/keymaps/via/keymap.c +++ b/keyboards/cannonkeys/bastion75/keymaps/via/keymap.c @@ -27,7 +27,7 @@ enum layer_names { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT( + [_BASE] = LAYOUT_all( 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_MPLY, 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_DEL, KC_HOME, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(_FN1), KC_LEFT, KC_DOWN, KC_RIGHT ), - [_FN1] = LAYOUT( + [_FN1] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______, RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/cannonkeys/bastion75/matrix_diagram.md b/keyboards/cannonkeys/bastion75/matrix_diagram.md new file mode 100644 index 00000000000..756c26c3b38 --- /dev/null +++ b/keyboards/cannonkeys/bastion75/matrix_diagram.md @@ -0,0 +1,27 @@ +# Matrix Diagram for CannonKeys Bastion75 + +``` +┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┐ +│00 │ │01 │02 │03 │04 │ │06 │07 │08 │09 │ │0A │0B │0C │0D │ │0E │ +└───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │3C │1E │ │1D │ 2u Backspace +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ └─┬─────┤ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │2E │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐3D │ ISO Enter +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │3E │ │2D │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘ +│40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │4E │ +├────┴┬──┴┬──┴──┬┴───┴───┴──┬┴──┬┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤ +│50 │51 │52 │55 │56 │59 │5B │ │5C │5D │5E │ +└─────┴───┴─────┴───────────┴───┴───────────┴─────┘ └───┴───┴───┘ +┌────────┐ +│40 │ 2.25u LShift +└────────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┐ +│50 │51 │52 │56 │5B │ Blocker Tsangan +└─────┴───┴─────┴───────────────────────────┴─────┘ +┌────┬────┬────┬────────────────────────┬────┬────┐ +│50 │51 │52 │56 │5A │5B │ Blocker +└────┴────┴────┴────────────────────────┴────┴────┘ +``` From 2f243e28174836a161261b80537b6f7b04eaf389 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon, 4 Sep 2023 23:55:24 -0700 Subject: [PATCH 012/144] CannonKeys Bastion60 Layout Additions (#21887) * [bugfix] correct LAYOUT_60_iso_tsangan key order * [docs] add layout/matrix diagram * [enhancement] add LAYOUT_60_tsangan_hhkb * [enhancement] add LAYOUT_60_ansi_tsangan * [enhancement] add LAYOUT_60_iso * [enhancement] add LAYOUT_60_iso_split_bs_rshift * [enhancement] add LAYOUT_60_iso_tsangan_split_bs_rshift * [enhancement] add LAYOUT_60_hhkb * [enhancement] extend Community Layout support --- keyboards/cannonkeys/bastion60/info.json | 432 +++++++++++++++++- .../cannonkeys/bastion60/matrix_diagram.md | 24 + 2 files changed, 454 insertions(+), 2 deletions(-) create mode 100644 keyboards/cannonkeys/bastion60/matrix_diagram.md diff --git a/keyboards/cannonkeys/bastion60/info.json b/keyboards/cannonkeys/bastion60/info.json index b6ecc9c3b3f..07443b50b78 100644 --- a/keyboards/cannonkeys/bastion60/info.json +++ b/keyboards/cannonkeys/bastion60/info.json @@ -49,7 +49,16 @@ "driver": "vendor", "pin": "GP7" }, - "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_iso_tsangan"], + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_tsangan_hhkb", + "60_hhkb", + "60_iso", + "60_iso_split_bs_rshift", + "60_iso_tsangan" + ], "layouts": { "LAYOUT_60_ansi": { "layout": [ @@ -183,6 +192,354 @@ {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} ] }, + "LAYOUT_60_ansi_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_tsangan_hhkb": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [2, 12], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_hhkb": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [2, 12], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4} + ] + }, + "LAYOUT_60_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, "w": 2}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + + {"matrix": [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": [1, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, + + {"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, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [2, 12], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + + {"matrix": [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": [1, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, "LAYOUT_60_iso_tsangan": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, @@ -212,7 +569,6 @@ {"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": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, {"matrix": [2, 1], "x": 1.75, "y": 2}, {"matrix": [2, 2], "x": 2.75, "y": 2}, @@ -226,6 +582,7 @@ {"matrix": [2, 10], "x": 10.75, "y": 2}, {"matrix": [2, 11], "x": 11.75, "y": 2}, {"matrix": [1, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, {"matrix": [3, 1], "x": 1.25, "y": 3}, {"matrix": [3, 2], "x": 2.25, "y": 3}, @@ -248,6 +605,77 @@ {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, + "LAYOUT_60_iso_tsangan_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [2, 12], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + + {"matrix": [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": [1, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, "LAYOUT_all": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, diff --git a/keyboards/cannonkeys/bastion60/matrix_diagram.md b/keyboards/cannonkeys/bastion60/matrix_diagram.md new file mode 100644 index 00000000000..fe29d0eea91 --- /dev/null +++ b/keyboards/cannonkeys/bastion60/matrix_diagram.md @@ -0,0 +1,24 @@ +# Matrix Diagram for CannonKeys Bastion60 + +``` + ┌───────┐ + 2u Backspace │0D │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │2C │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ┌─────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ┌──┴┐2D │ ISO Enter +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │ │1D │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ └───┴────┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ +│40 │41 │42 │46 │4A │4B │4C │4D │ +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ +┌────────┐ ┌──────────┐ +│30 │ 2.25u LShift 2.75u RShift │3C │ +└────────┘ └──────────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ +│40 │41 │42 │46 │4B │4C │4D │ Tsangan/WKL/HHKB +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +``` From 809865e9eef5443205d6430ddb9f7ab8f481f909 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue, 5 Sep 2023 00:21:15 -0700 Subject: [PATCH 013/144] CannonKeys Bastion65 Layout Additions (#21888) * [docs] add layout/matrix diagram * [refactor] rename LAYOUT to LAYOUT_all * [enhancement] add LAYOUT_65_ansi_blocker_split_bs * [enhancement] add LAYOUT_65_ansi_blocker * [enhancement] add LAYOUT_65_ansi_blocker_tsangan_split_bs * [enhancement] add LAYOUT_65_ansi_blocker_tsangan * [enhancement] add LAYOUT_65_iso_blocker_split_bs * [enhancement] add LAYOUT_65_iso_blocker * [enhancement] add LAYOUT_65_iso_blocker_tsangan_split_bs * [enhancement] add LAYOUT_65_iso_blocker_tsangan * [enhancement] enable Community Layout support --- keyboards/cannonkeys/bastion65/info.json | 619 +++++++++++++++++- .../bastion65/keymaps/default/keymap.c | 4 +- .../cannonkeys/bastion65/keymaps/via/keymap.c | 4 +- .../cannonkeys/bastion65/matrix_diagram.md | 27 + 4 files changed, 649 insertions(+), 5 deletions(-) create mode 100644 keyboards/cannonkeys/bastion65/matrix_diagram.md diff --git a/keyboards/cannonkeys/bastion65/info.json b/keyboards/cannonkeys/bastion65/info.json index 83b4f108177..dd7dd4516eb 100644 --- a/keyboards/cannonkeys/bastion65/info.json +++ b/keyboards/cannonkeys/bastion65/info.json @@ -49,8 +49,21 @@ "driver": "vendor", "pin": "GP7" }, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, + "community_layouts": [ + "65_ansi_blocker", + "65_ansi_blocker_split_bs", + "65_ansi_blocker_tsangan", + "65_ansi_blocker_tsangan_split_bs", + "65_iso_blocker", + "65_iso_blocker_split_bs", + "65_iso_blocker_tsangan", + "65_iso_blocker_tsangan_split_bs" + ], "layouts": { - "LAYOUT": { + "LAYOUT_all": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -124,6 +137,610 @@ {"matrix": [4, 13], "x": 14, "y": 4}, {"matrix": [4, 14], "x": 15, "y": 4} ] + }, + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 14], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [2, 12], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 14], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 14], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [2, 12], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 14], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [1, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 14], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [2, 12], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [1, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 14], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [1, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 14], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_tsangan_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [2, 12], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [1, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 14], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} + ] } } } diff --git a/keyboards/cannonkeys/bastion65/keymaps/default/keymap.c b/keyboards/cannonkeys/bastion65/keymaps/default/keymap.c index 6ee4a5f71ed..111633864cf 100644 --- a/keyboards/cannonkeys/bastion65/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/bastion65/keymaps/default/keymap.c @@ -27,7 +27,7 @@ enum layer_names { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT( + [_BASE] = LAYOUT_all( QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(_FN1), KC_LEFT, KC_DOWN, KC_RIGHT ), - [_FN1] = LAYOUT( + [_FN1] = LAYOUT_all( QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______, RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/cannonkeys/bastion65/keymaps/via/keymap.c b/keyboards/cannonkeys/bastion65/keymaps/via/keymap.c index 4ce1aebed34..66b6c1c1f72 100644 --- a/keyboards/cannonkeys/bastion65/keymaps/via/keymap.c +++ b/keyboards/cannonkeys/bastion65/keymaps/via/keymap.c @@ -27,7 +27,7 @@ enum layer_names { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT( + [_BASE] = LAYOUT_all( QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(_FN1), KC_LEFT, KC_DOWN, KC_RIGHT ), - [_FN1] = LAYOUT( + [_FN1] = LAYOUT_all( QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______, RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/cannonkeys/bastion65/matrix_diagram.md b/keyboards/cannonkeys/bastion65/matrix_diagram.md new file mode 100644 index 00000000000..12d7734d5a0 --- /dev/null +++ b/keyboards/cannonkeys/bastion65/matrix_diagram.md @@ -0,0 +1,27 @@ +# Matrix Diagram for CannonKeys Bastion65 + +``` + ┌───────┐ + 2u Backspace │0D │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │2C │0E │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ ┌─────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐2D │ ISO Enter +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │2E │ │1D │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ +├────┴┬──┴┬──┴──┬┴───┴───┴──┬┴──┬┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤ +│40 │41 │42 │45 │46 │49 │4B │ │4C │4D │4E │ +└─────┴───┴─────┴───────────┴───┴───────────┴─────┘ └───┴───┴───┘ +┌────────┐ +│30 │ 2.25u LShift +└────────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┐ +│40 │41 │42 │46 │4B │ Blocker Tsangan +└─────┴───┴─────┴───────────────────────────┴─────┘ +┌────┬────┬────┬────────────────────────┬────┬────┐ +│40 │41 │42 │46 │4A │4B │ Blocker +└────┴────┴────┴────────────────────────┴────┴────┘ +``` From 6aa3814f6e97e6efd78b145fcff2098a226f401e Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue, 5 Sep 2023 00:48:35 -0700 Subject: [PATCH 014/144] CannonKeys BastionTKL Layout Additions (#21901) * [docs] add layout/matrix diagram * [enhancement] add LAYOUT_tkl_ansi_split_bs_rshift * [enhancement] add LAYOUT_tkl_ansi_tsangan_split_bs_rshift * [enhancement] add LAYOUT_tkl_ansi_tsangan * [enhancement] add LAYOUT_tkl_f13_ansi_tsangan * [enhancement] add LAYOUT_tkl_f13_ansi_split_bs_rshift * [enhancement] add LAYOUT_tkl_f13_ansi * [enhancement] correct LAYOUT_tkl_iso key order * [enhancement] add LAYOUT_tkl_iso_split_bs_rshift * [enhancement] add LAYOUT_tkl_iso_tsangan_split_bs_rshift * [enhancement] add LAYOUT_tkl_iso_tsangan * [enhancement] add LAYOUT_tkl_f13_iso_split_bs_rshift * [enhancement] add LAYOUT_tkl_f13_iso * [enhancement] add LAYOUT_tkl_f13_iso_tsangan_split_bs_rshift * [enhancement] add LAYOUT_tkl_f13_iso_tsangan * [enhancement] extend Community Layout support --- keyboards/cannonkeys/bastiontkl/info.json | 1290 ++++++++++++++++- .../cannonkeys/bastiontkl/matrix_diagram.md | 27 + 2 files changed, 1315 insertions(+), 2 deletions(-) create mode 100644 keyboards/cannonkeys/bastiontkl/matrix_diagram.md diff --git a/keyboards/cannonkeys/bastiontkl/info.json b/keyboards/cannonkeys/bastiontkl/info.json index d06f134fec3..72733b3d8fe 100644 --- a/keyboards/cannonkeys/bastiontkl/info.json +++ b/keyboards/cannonkeys/bastiontkl/info.json @@ -28,7 +28,24 @@ "pid": "0x0023", "vid": "0xCA04" }, - "community_layouts": ["tkl_ansi", "tkl_iso", "tkl_f13_ansi_tsangan_split_bs_rshift"], + "community_layouts": [ + "tkl_ansi", + "tkl_ansi_split_bs_rshift", + "tkl_ansi_tsangan", + "tkl_ansi_tsangan_split_bs_rshift", + "tkl_f13_ansi", + "tkl_f13_ansi_split_bs_rshift", + "tkl_f13_ansi_tsangan", + "tkl_f13_ansi_tsangan_split_bs_rshift", + "tkl_iso", + "tkl_iso_split_bs_rshift", + "tkl_iso_tsangan", + "tkl_iso_tsangan_split_bs_rshift", + "tkl_f13_iso", + "tkl_f13_iso_split_bs_rshift", + "tkl_f13_iso_tsangan", + "tkl_f13_iso_tsangan_split_bs_rshift" + ], "layouts": { "LAYOUT_all": { "layout": [ @@ -216,6 +233,588 @@ {"matrix": [5, 16], "x": 17.25, "y": 5.25} ] }, + "LAYOUT_tkl_ansi_split_bs_rshift": { + "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": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25}, + {"matrix": [3, 12], "x": 14, "y": 1.25}, + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25}, + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_ansi_tsangan": { + "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": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75}, + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25}, + {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_ansi_tsangan_split_bs_rshift": { + "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": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25}, + {"matrix": [3, 12], "x": 14, "y": 1.25}, + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25}, + {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75}, + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25}, + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_ansi_split_bs_rshift": { + "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.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.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25}, + {"matrix": [3, 12], "x": 14, "y": 1.25}, + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25}, + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_ansi_tsangan": { + "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.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.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75}, + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25}, + {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, "LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, @@ -357,7 +956,6 @@ {"matrix": [2, 10], "x": 10.5, "y": 2.25}, {"matrix": [2, 11], "x": 11.5, "y": 2.25}, {"matrix": [2, 12], "x": 12.5, "y": 2.25}, - {"matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, {"matrix": [2, 14], "x": 15.25, "y": 2.25}, {"matrix": [2, 15], "x": 16.25, "y": 2.25}, {"matrix": [2, 16], "x": 17.25, "y": 2.25}, @@ -374,6 +972,7 @@ {"matrix": [3, 10], "x": 10.75, "y": 3.25}, {"matrix": [3, 11], "x": 11.75, "y": 3.25}, {"matrix": [2, 13], "x": 12.75, "y": 3.25}, + {"matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, {"matrix": [4, 1], "x": 1.25, "y": 4.25}, {"matrix": [4, 2], "x": 2.25, "y": 4.25}, @@ -400,6 +999,693 @@ {"matrix": [5, 15], "x": 16.25, "y": 5.25}, {"matrix": [5, 16], "x": 17.25, "y": 5.25} ] + }, + "LAYOUT_tkl_iso_split_bs_rshift": { + "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": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25}, + {"matrix": [3, 12], "x": 14, "y": 1.25}, + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [2, 13], "x": 12.75, "y": 3.25}, + {"matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25}, + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_iso_tsangan": { + "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": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [2, 13], "x": 12.75, "y": 3.25}, + {"matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75}, + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25}, + {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_iso_tsangan_split_bs_rshift": { + "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": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25}, + {"matrix": [3, 12], "x": 14, "y": 1.25}, + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [2, 13], "x": 12.75, "y": 3.25}, + {"matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25}, + {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_iso": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [2, 13], "x": 12.75, "y": 3.25}, + {"matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75}, + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25}, + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_iso_split_bs_rshift": { + "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.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.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25}, + {"matrix": [3, 12], "x": 14, "y": 1.25}, + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [2, 13], "x": 12.75, "y": 3.25}, + {"matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25}, + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_iso_tsangan": { + "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.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.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [2, 13], "x": 12.75, "y": 3.25}, + {"matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75}, + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25}, + {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_iso_tsangan_split_bs_rshift": { + "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.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.75, "y": 0}, + {"matrix": [0, 10], "x": 10.75, "y": 0}, + {"matrix": [0, 11], "x": 11.75, "y": 0}, + {"matrix": [0, 12], "x": 12.75, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25}, + {"matrix": [3, 12], "x": 14, "y": 1.25}, + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [2, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [2, 13], "x": 12.75, "y": 3.25}, + {"matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25}, + {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [5, 16], "x": 17.25, "y": 5.25} + ] } } } diff --git a/keyboards/cannonkeys/bastiontkl/matrix_diagram.md b/keyboards/cannonkeys/bastiontkl/matrix_diagram.md new file mode 100644 index 00000000000..6b3e3f60dd0 --- /dev/null +++ b/keyboards/cannonkeys/bastiontkl/matrix_diagram.md @@ -0,0 +1,27 @@ +# Matrix Diagram for CannonKeys BastionTKL + +``` +┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐┌───┬───┬───┐ +│00 │ │02 │03 │04 │05 │ │06 │07 │08 │09 │ │0A │0B │0C │0D ││0E │0F │0G │ F12 Row +└───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘└───┴───┴───┘ +┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐ +│00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0A │0B │0C ││0D ││0E │0F │0G │ +└───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ ┌───────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │3C ││1E │1F │1G │ │1D │ 2u Backspace +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ └─┬─────┤ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D ││2E │2F │2G │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ ┌──┴┐3D │ ISO Enter +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │ │2D │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ └───┴────┘ +│40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │ │4F │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───┐ +│50 │51 │52 │56 │5A │5B │5C │5D ││5E │5F │5G │ +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ +┌────────┐ ┌──────────┐ +│40 │ 2.25u LShift 2.75u RShift │4C │ +└────────┘ └──────────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ +│50 │51 │52 │56 │5B │5C │5D │ Tsangan/WKL +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +``` From 549708edfa044b39cdc055810bc11934af9b4d07 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 Sep 2023 18:50:04 +0100 Subject: [PATCH 015/144] Bump actions/checkout from 3 to 4 (#21907) Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/api.yml | 2 +- .github/workflows/auto_tag.yml | 2 +- .github/workflows/ci_builds.yml | 2 +- .github/workflows/cli.yml | 2 +- .github/workflows/develop_update.yml | 2 +- .github/workflows/docs.yml | 2 +- .github/workflows/feature_branch_update.yml | 2 +- .github/workflows/format.yml | 2 +- .github/workflows/format_push.yml | 2 +- .github/workflows/lint.yml | 2 +- .github/workflows/regen.yml | 2 +- .github/workflows/regen_push.yml | 2 +- .github/workflows/unit_test.yml | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/api.yml b/.github/workflows/api.yml index 38c1cfe5069..db78f161122 100644 --- a/.github/workflows/api.yml +++ b/.github/workflows/api.yml @@ -25,7 +25,7 @@ jobs: if: github.repository == 'qmk/qmk_firmware' steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 1 persist-credentials: false diff --git a/.github/workflows/auto_tag.yml b/.github/workflows/auto_tag.yml index 0fc5e885055..b4465277b0d 100644 --- a/.github/workflows/auto_tag.yml +++ b/.github/workflows/auto_tag.yml @@ -27,7 +27,7 @@ jobs: if: github.repository == 'qmk/qmk_firmware' steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 diff --git a/.github/workflows/ci_builds.yml b/.github/workflows/ci_builds.yml index b3bb83fa850..81151d68987 100644 --- a/.github/workflows/ci_builds.yml +++ b/.github/workflows/ci_builds.yml @@ -33,7 +33,7 @@ jobs: - name: Disable safe.directory check run : git config --global --add safe.directory '*' - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: recursive ref: ${{ github.event.inputs.branch || github.ref }} diff --git a/.github/workflows/cli.yml b/.github/workflows/cli.yml index 27bdcc562b7..77b5bfe0734 100644 --- a/.github/workflows/cli.yml +++ b/.github/workflows/cli.yml @@ -24,7 +24,7 @@ jobs: - name: Disable safe.directory check run : git config --global --add safe.directory '*' - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: recursive diff --git a/.github/workflows/develop_update.yml b/.github/workflows/develop_update.yml index 9c041c42ec8..afcda1fe98b 100644 --- a/.github/workflows/develop_update.yml +++ b/.github/workflows/develop_update.yml @@ -15,7 +15,7 @@ jobs: if: github.repository == 'qmk/qmk_firmware' steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: token: ${{ secrets.QMK_BOT_TOKEN }} fetch-depth: 0 diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 39a8e396bec..a6944e1816f 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -23,7 +23,7 @@ jobs: if: github.repository == 'qmk/qmk_firmware' steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 1 diff --git a/.github/workflows/feature_branch_update.yml b/.github/workflows/feature_branch_update.yml index 09760551609..283a255342d 100644 --- a/.github/workflows/feature_branch_update.yml +++ b/.github/workflows/feature_branch_update.yml @@ -21,7 +21,7 @@ jobs: - riot steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: token: ${{ secrets.QMK_BOT_TOKEN }} fetch-depth: 0 diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml index 3a03d845541..11b4a8a9f45 100644 --- a/.github/workflows/format.yml +++ b/.github/workflows/format.yml @@ -25,7 +25,7 @@ jobs: - name: Disable safe.directory check run : git config --global --add safe.directory '*' - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 diff --git a/.github/workflows/format_push.yml b/.github/workflows/format_push.yml index 45c8b3daf61..61b4caf422d 100644 --- a/.github/workflows/format_push.yml +++ b/.github/workflows/format_push.yml @@ -19,7 +19,7 @@ jobs: - name: Disable safe.directory check run : git config --global --add safe.directory '*' - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index f938cfce482..e0286b83fc4 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -18,7 +18,7 @@ jobs: - name: Disable safe.directory check run : git config --global --add safe.directory '*' - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 diff --git a/.github/workflows/regen.yml b/.github/workflows/regen.yml index a2b4ef2b934..a31526084f9 100644 --- a/.github/workflows/regen.yml +++ b/.github/workflows/regen.yml @@ -19,7 +19,7 @@ jobs: - name: Disable safe.directory check run : git config --global --add safe.directory '*' - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Run qmk generators run: | diff --git a/.github/workflows/regen_push.yml b/.github/workflows/regen_push.yml index 7394925a0de..f1b78129376 100644 --- a/.github/workflows/regen_push.yml +++ b/.github/workflows/regen_push.yml @@ -19,7 +19,7 @@ jobs: - name: Disable safe.directory check run : git config --global --add safe.directory '*' - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Run qmk generators run: | diff --git a/.github/workflows/unit_test.yml b/.github/workflows/unit_test.yml index fb538d4f841..eec8c8b5fc2 100644 --- a/.github/workflows/unit_test.yml +++ b/.github/workflows/unit_test.yml @@ -26,7 +26,7 @@ jobs: container: ghcr.io/qmk/qmk_cli steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: recursive - name: Install dependencies From 7fb60519ee67cead24894b5418b4645794932498 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue, 5 Sep 2023 16:46:29 -0700 Subject: [PATCH 016/144] GMMK2 65% ISO: Correct layout data (#21925) Correct key sizes/positioning on the right side of the board. --- keyboards/gmmk/gmmk2/p65/iso/info.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/keyboards/gmmk/gmmk2/p65/iso/info.json b/keyboards/gmmk/gmmk2/p65/iso/info.json index 5abe800d2cf..90609dc9111 100644 --- a/keyboards/gmmk/gmmk2/p65/iso/info.json +++ b/keyboards/gmmk/gmmk2/p65/iso/info.json @@ -40,8 +40,8 @@ {"matrix": [8, 7], "x": 10, "y": 0}, {"matrix": [8, 6], "x": 11, "y": 0}, {"matrix": [6, 6], "x": 12, "y": 0}, - {"matrix": [7, 1], "x": 13, "y": 0, "w": 2.25}, - {"matrix": [2, 5], "x": 15.25, "y": 0}, + {"matrix": [7, 1], "x": 13, "y": 0, "w": 2}, + {"matrix": [2, 5], "x": 15, "y": 0}, {"matrix": [1, 1], "x": 0, "y": 1, "w": 1.5}, {"matrix": [1, 0], "x": 1.5, "y": 1}, @@ -56,8 +56,8 @@ {"matrix": [8, 0], "x": 10.5, "y": 1}, {"matrix": [8, 1], "x": 11.5, "y": 1}, {"matrix": [6, 1], "x": 12.5, "y": 1}, - {"matrix": [8, 4], "x": 13.5, "y": 1, "w": 1.75, "h": 2}, - {"matrix": [2, 6], "x": 15.25, "y": 1}, + {"matrix": [8, 4], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 6], "x": 15, "y": 1}, {"matrix": [2, 1], "x": 0, "y": 2, "w": 1.75}, {"matrix": [1, 2], "x": 1.75, "y": 2}, @@ -72,7 +72,7 @@ {"matrix": [8, 2], "x": 10.75, "y": 2}, {"matrix": [8, 3], "x": 11.75, "y": 2}, {"matrix": [7, 5], "x": 12.75, "y": 2}, - {"matrix": [6, 5], "x": 15.25, "y": 2}, + {"matrix": [6, 5], "x": 15, "y": 2}, {"matrix": [0, 0], "x": 0, "y": 3, "w": 1.25}, {"matrix": [0, 2], "x": 1.25, "y": 3}, @@ -87,8 +87,8 @@ {"matrix": [7, 4], "x": 10.25, "y": 3}, {"matrix": [8, 5], "x": 11.25, "y": 3}, {"matrix": [0, 7], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3, 5], "x": 14.25, "y": 3}, - {"matrix": [0, 1], "x": 15.25, "y": 3}, + {"matrix": [3, 5], "x": 14, "y": 3}, + {"matrix": [0, 1], "x": 15, "y": 3}, {"matrix": [0, 6], "x": 0, "y": 4, "w": 1.25}, {"matrix": [1, 5], "x": 1.25, "y": 4, "w": 1.25}, @@ -97,9 +97,9 @@ {"matrix": [3, 6], "x": 10, "y": 4, "w": 1.25}, {"matrix": [3, 3], "x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [0, 3], "x": 13.25, "y": 4}, - {"matrix": [7, 3], "x": 14.25, "y": 4}, - {"matrix": [0, 5], "x": 15.25, "y": 4} + {"matrix": [0, 3], "x": 13, "y": 4}, + {"matrix": [7, 3], "x": 14, "y": 4}, + {"matrix": [0, 5], "x": 15, "y": 4} ] } } From e3c6467ab9cb78ab0a3f6f5c157ebc7a3c9aecdd Mon Sep 17 00:00:00 2001 From: 3geek14 Date: Tue, 5 Sep 2023 22:00:14 -0400 Subject: [PATCH 017/144] [Docs] Improve contrast for warnings in dark mode (#21928) --- docs/qmk_custom_dark.css | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/qmk_custom_dark.css b/docs/qmk_custom_dark.css index 35498fbd863..ffa5539922a 100644 --- a/docs/qmk_custom_dark.css +++ b/docs/qmk_custom_dark.css @@ -2,9 +2,13 @@ background-color: #555; } -.markdown-section p.tip, .markdown-section tr:nth-child(2n) { - background-color:#444; + background-color:#444; +} + +.markdown-section p.tip { + background-color:#555; + color:#FFF; } .markdown-section tr { @@ -16,7 +20,7 @@ } .markdown-section p.tip code { - background-color: #555; + background-color: #333; color: #fff; } From c783325e167242622809ab0574eac16baec2cb83 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed, 6 Sep 2023 11:57:24 -0700 Subject: [PATCH 018/144] GMMK2 96% ANSI: Correct layout data (#21937) [enhancement] --- keyboards/gmmk/gmmk2/p96/ansi/info.json | 170 ++++++++++++------------ 1 file changed, 85 insertions(+), 85 deletions(-) diff --git a/keyboards/gmmk/gmmk2/p96/ansi/info.json b/keyboards/gmmk/gmmk2/p96/ansi/info.json index 5bc007f5dbf..cb0ecf94452 100644 --- a/keyboards/gmmk/gmmk2/p96/ansi/info.json +++ b/keyboards/gmmk/gmmk2/p96/ansi/info.json @@ -43,103 +43,103 @@ {"matrix": [13, 0], "x": 14, "y": 0}, - {"matrix": [0, 6], "x": 15.5, "y": 0}, - {"matrix": [1, 6], "x": 16.5, "y": 0}, - {"matrix": [2, 6], "x": 17.5, "y": 0}, - {"matrix": [3, 6], "x": 18.5, "y": 0}, + {"matrix": [0, 6], "x": 15.25, "y": 0}, + {"matrix": [1, 6], "x": 16.25, "y": 0}, + {"matrix": [2, 6], "x": 17.25, "y": 0}, + {"matrix": [3, 6], "x": 18.25, "y": 0}, - {"matrix": [0, 1], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [2, 1], "x": 2, "y": 1}, - {"matrix": [3, 1], "x": 3, "y": 1}, - {"matrix": [4, 1], "x": 4, "y": 1}, - {"matrix": [5, 1], "x": 5, "y": 1}, - {"matrix": [6, 1], "x": 6, "y": 1}, - {"matrix": [7, 1], "x": 7, "y": 1}, - {"matrix": [8, 1], "x": 8, "y": 1}, - {"matrix": [9, 1], "x": 9, "y": 1}, - {"matrix": [10, 1], "x": 10, "y": 1}, - {"matrix": [11, 1], "x": 11, "y": 1}, - {"matrix": [12, 1], "x": 12, "y": 1}, - {"matrix": [13, 1], "x": 13, "y": 1, "w": 2}, + {"matrix": [0, 1], "x": 0, "y": 1.125}, + {"matrix": [1, 1], "x": 1, "y": 1.125}, + {"matrix": [2, 1], "x": 2, "y": 1.125}, + {"matrix": [3, 1], "x": 3, "y": 1.125}, + {"matrix": [4, 1], "x": 4, "y": 1.125}, + {"matrix": [5, 1], "x": 5, "y": 1.125}, + {"matrix": [6, 1], "x": 6, "y": 1.125}, + {"matrix": [7, 1], "x": 7, "y": 1.125}, + {"matrix": [8, 1], "x": 8, "y": 1.125}, + {"matrix": [9, 1], "x": 9, "y": 1.125}, + {"matrix": [10, 1], "x": 10, "y": 1.125}, + {"matrix": [11, 1], "x": 11, "y": 1.125}, + {"matrix": [12, 1], "x": 12, "y": 1.125}, + {"matrix": [13, 1], "x": 13, "y": 1.125, "w": 2}, - {"matrix": [4, 6], "x": 15.5, "y": 1}, - {"matrix": [5, 6], "x": 16.5, "y": 1}, - {"matrix": [6, 6], "x": 17.5, "y": 1}, - {"matrix": [7, 6], "x": 18.5, "y": 1}, + {"matrix": [4, 6], "x": 15.25, "y": 1.125}, + {"matrix": [5, 6], "x": 16.25, "y": 1.125}, + {"matrix": [6, 6], "x": 17.25, "y": 1.125}, + {"matrix": [7, 6], "x": 18.25, "y": 1.125}, - {"matrix": [0, 2], "x": 0, "y": 2, "w": 1.5}, - {"matrix": [1, 2], "x": 1.5, "y": 2}, - {"matrix": [2, 2], "x": 2.5, "y": 2}, - {"matrix": [3, 2], "x": 3.5, "y": 2}, - {"matrix": [4, 2], "x": 4.5, "y": 2}, - {"matrix": [5, 2], "x": 5.5, "y": 2}, - {"matrix": [6, 2], "x": 6.5, "y": 2}, - {"matrix": [7, 2], "x": 7.5, "y": 2}, - {"matrix": [8, 2], "x": 8.5, "y": 2}, - {"matrix": [9, 2], "x": 9.5, "y": 2}, - {"matrix": [10, 2], "x": 10.5, "y": 2}, - {"matrix": [11, 2], "x": 11.5, "y": 2}, - {"matrix": [12, 2], "x": 12.5, "y": 2}, - {"matrix": [13, 2], "x": 13.5, "y": 2, "w": 1.25}, + {"matrix": [0, 2], "x": 0, "y": 2.125, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 2.125}, + {"matrix": [2, 2], "x": 2.5, "y": 2.125}, + {"matrix": [3, 2], "x": 3.5, "y": 2.125}, + {"matrix": [4, 2], "x": 4.5, "y": 2.125}, + {"matrix": [5, 2], "x": 5.5, "y": 2.125}, + {"matrix": [6, 2], "x": 6.5, "y": 2.125}, + {"matrix": [7, 2], "x": 7.5, "y": 2.125}, + {"matrix": [8, 2], "x": 8.5, "y": 2.125}, + {"matrix": [9, 2], "x": 9.5, "y": 2.125}, + {"matrix": [10, 2], "x": 10.5, "y": 2.125}, + {"matrix": [11, 2], "x": 11.5, "y": 2.125}, + {"matrix": [12, 2], "x": 12.5, "y": 2.125}, + {"matrix": [13, 2], "x": 13.5, "y": 2.125, "w": 1.5}, - {"matrix": [8, 6], "x": 15.5, "y": 2}, - {"matrix": [9, 6], "x": 16.5, "y": 2}, - {"matrix": [10, 6], "x": 17.5, "y": 2, "w": 1.5}, - {"matrix": [11, 6], "x": 18.5, "y": 2, "h": 2}, + {"matrix": [8, 6], "x": 15.25, "y": 2.125}, + {"matrix": [9, 6], "x": 16.25, "y": 2.125}, + {"matrix": [10, 6], "x": 17.25, "y": 2.125}, + {"matrix": [11, 6], "x": 18.25, "y": 2.125, "h": 2}, - {"matrix": [0, 3], "x": 0, "y": 3, "w": 1.75}, - {"matrix": [1, 3], "x": 1.75, "y": 3}, - {"matrix": [2, 3], "x": 2.75, "y": 3}, - {"matrix": [3, 3], "x": 3.75, "y": 3}, - {"matrix": [4, 3], "x": 4.75, "y": 3}, - {"matrix": [5, 3], "x": 5.75, "y": 3}, - {"matrix": [6, 3], "x": 6.75, "y": 3}, - {"matrix": [7, 3], "x": 7.75, "y": 3}, - {"matrix": [8, 3], "x": 8.75, "y": 3}, - {"matrix": [9, 3], "x": 9.75, "y": 3}, - {"matrix": [10, 3], "x": 10.75, "y": 3}, - {"matrix": [11, 3], "x": 11.75, "y": 3}, - {"matrix": [13, 3], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [0, 3], "x": 0, "y": 3.125, "w": 1.75}, + {"matrix": [1, 3], "x": 1.75, "y": 3.125}, + {"matrix": [2, 3], "x": 2.75, "y": 3.125}, + {"matrix": [3, 3], "x": 3.75, "y": 3.125}, + {"matrix": [4, 3], "x": 4.75, "y": 3.125}, + {"matrix": [5, 3], "x": 5.75, "y": 3.125}, + {"matrix": [6, 3], "x": 6.75, "y": 3.125}, + {"matrix": [7, 3], "x": 7.75, "y": 3.125}, + {"matrix": [8, 3], "x": 8.75, "y": 3.125}, + {"matrix": [9, 3], "x": 9.75, "y": 3.125}, + {"matrix": [10, 3], "x": 10.75, "y": 3.125}, + {"matrix": [11, 3], "x": 11.75, "y": 3.125}, + {"matrix": [13, 3], "x": 12.75, "y": 3.125, "w": 2.25}, - {"matrix": [10, 7], "x": 15.5, "y": 3}, - {"matrix": [11, 7], "x": 16.5, "y": 3}, - {"matrix": [12, 7], "x": 17.5, "y": 3}, + {"matrix": [10, 7], "x": 15.25, "y": 3.125}, + {"matrix": [11, 7], "x": 16.25, "y": 3.125}, + {"matrix": [12, 7], "x": 17.25, "y": 3.125}, - {"matrix": [0, 4], "x": 0, "y": 4, "w": 2.25}, - {"matrix": [2, 4], "x": 2.25, "y": 4}, - {"matrix": [3, 4], "x": 3.25, "y": 4}, - {"matrix": [4, 4], "x": 4.25, "y": 4}, - {"matrix": [5, 4], "x": 5.25, "y": 4}, - {"matrix": [6, 4], "x": 6.25, "y": 4}, - {"matrix": [7, 4], "x": 7.25, "y": 4}, - {"matrix": [8, 4], "x": 8.25, "y": 4}, - {"matrix": [9, 4], "x": 9.25, "y": 4}, - {"matrix": [10, 4], "x": 10.25, "y": 4}, - {"matrix": [11, 4], "x": 11.25, "y": 4}, - {"matrix": [13, 4], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [0, 4], "x": 0, "y": 4.125, "w": 2.25}, + {"matrix": [2, 4], "x": 2.25, "y": 4.125}, + {"matrix": [3, 4], "x": 3.25, "y": 4.125}, + {"matrix": [4, 4], "x": 4.25, "y": 4.125}, + {"matrix": [5, 4], "x": 5.25, "y": 4.125}, + {"matrix": [6, 4], "x": 6.25, "y": 4.125}, + {"matrix": [7, 4], "x": 7.25, "y": 4.125}, + {"matrix": [8, 4], "x": 8.25, "y": 4.125}, + {"matrix": [9, 4], "x": 9.25, "y": 4.125}, + {"matrix": [10, 4], "x": 10.25, "y": 4.125}, + {"matrix": [11, 4], "x": 11.25, "y": 4.125}, + {"matrix": [13, 4], "x": 12.25, "y": 4.125, "w": 1.75}, - {"matrix": [1, 7], "x": 14.25, "y": 4}, + {"matrix": [1, 7], "x": 14.125, "y": 4.25}, - {"matrix": [6, 7], "x": 15.5, "y": 4}, - {"matrix": [7, 7], "x": 16.5, "y": 4}, - {"matrix": [8, 7], "x": 17.5, "y": 4}, - {"matrix": [9, 7], "x": 18.5, "y": 4, "h": 2}, + {"matrix": [6, 7], "x": 15.25, "y": 4.125}, + {"matrix": [7, 7], "x": 16.25, "y": 4.125}, + {"matrix": [8, 7], "x": 17.25, "y": 4.125}, + {"matrix": [9, 7], "x": 18.25, "y": 4.125, "h": 2}, - {"matrix": [0, 5], "x": 0, "y": 5, "w": 1.25}, - {"matrix": [1, 5], "x": 1.25, "y": 5, "w": 1.25}, - {"matrix": [2, 5], "x": 2.5, "y": 5, "w": 1.25}, - {"matrix": [6, 5], "x": 3.75, "y": 5, "w": 6.25}, - {"matrix": [9, 5], "x": 10, "y": 5}, - {"matrix": [10, 5], "x": 11, "y": 5}, - {"matrix": [12, 5], "x": 12, "y": 5}, + {"matrix": [0, 5], "x": 0, "y": 5.125, "w": 1.25}, + {"matrix": [1, 5], "x": 1.25, "y": 5.125, "w": 1.25}, + {"matrix": [2, 5], "x": 2.5, "y": 5.125, "w": 1.25}, + {"matrix": [6, 5], "x": 3.75, "y": 5.125, "w": 6.25}, + {"matrix": [9, 5], "x": 10, "y": 5.125}, + {"matrix": [10, 5], "x": 11, "y": 5.125}, + {"matrix": [12, 5], "x": 12, "y": 5.125}, - {"matrix": [0, 7], "x": 13.25, "y": 5}, - {"matrix": [2, 7], "x": 14.25, "y": 5}, - {"matrix": [3, 7], "x": 15.25, "y": 5}, + {"matrix": [0, 7], "x": 13.125, "y": 5.25}, + {"matrix": [2, 7], "x": 14.125, "y": 5.25}, + {"matrix": [3, 7], "x": 15.125, "y": 5.25}, - {"matrix": [4, 7], "x": 16.5, "y": 5}, - {"matrix": [5, 7], "x": 17.5, "y": 5} + {"matrix": [4, 7], "x": 16.25, "y": 5.125}, + {"matrix": [5, 7], "x": 17.25, "y": 5.125} ] } } From 3e3320e8d9646dca33e0cc1fa7a9d25018d6c3bd Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu, 7 Sep 2023 13:53:16 -0700 Subject: [PATCH 019/144] Cipulot EC Theca Community Layout Support (#21913) * Alias `LAYOUT_all` as `LAYOUT_tkl_ansi` The data for `LAYOUT_all` and `LAYOUT_tkl_ansi` is identical, so alias the former to the latter to reduce redundancy. [refactor] * Rename `LAYOUT_tkl_ansi_tsangan_wkl` to `LAYOUT_tkl_ansi_wkl` [refactor] * Enable Community Layout support [enhancement] --- keyboards/cipulot/ec_theca/info.json | 101 ++---------------- .../keymaps/tkl_ansi_tsangan_wkl/keymap.c | 4 +- 2 files changed, 11 insertions(+), 94 deletions(-) diff --git a/keyboards/cipulot/ec_theca/info.json b/keyboards/cipulot/ec_theca/info.json index 8aa2933892f..a80a92a7f5d 100644 --- a/keyboards/cipulot/ec_theca/info.json +++ b/keyboards/cipulot/ec_theca/info.json @@ -23,98 +23,15 @@ }, "vid": "0x6369" }, + "layout_aliases": { + "LAYOUT_all": "LAYOUT_tkl_ansi", + "LAYOUT_tkl_ansi_tsangan_wkl": "LAYOUT_tkl_ansi_wkl" + }, + "community_layouts": [ + "tkl_ansi", + "tkl_ansi_tsangan" + ], "layouts": { - "LAYOUT_all": { - "layout": [ - { "label": "0,0", "matrix": [0, 0], "x": 0, "y": 0 }, - { "label": "0,1", "matrix": [0, 1], "x": 2, "y": 0 }, - { "label": "0,2", "matrix": [0, 2], "x": 3, "y": 0 }, - { "label": "0,3", "matrix": [0, 3], "x": 4, "y": 0 }, - { "label": "0,4", "matrix": [0, 4], "x": 5, "y": 0 }, - { "label": "0,5", "matrix": [0, 5], "x": 6.5, "y": 0 }, - { "label": "0,6", "matrix": [0, 6], "x": 7.5, "y": 0 }, - { "label": "0,7", "matrix": [0, 7], "x": 8.5, "y": 0 }, - { "label": "0,8", "matrix": [0, 8], "x": 9.5, "y": 0 }, - { "label": "0,9", "matrix": [0, 9], "x": 11, "y": 0 }, - { "label": "0,10", "matrix": [0, 10], "x": 12, "y": 0 }, - { "label": "0,11", "matrix": [0, 11], "x": 13, "y": 0 }, - { "label": "0,12", "matrix": [0, 12], "x": 14, "y": 0 }, - { "label": "0,13", "matrix": [0, 13], "x": 15.25, "y": 0 }, - { "label": "0,14", "matrix": [0, 14], "x": 16.25, "y": 0 }, - { "label": "0,15", "matrix": [0, 15], "x": 17.25, "y": 0 }, - { "label": "1,0", "matrix": [1, 0], "x": 0, "y": 1.25 }, - { "label": "1,1", "matrix": [1, 1], "x": 1, "y": 1.25 }, - { "label": "1,2", "matrix": [1, 2], "x": 2, "y": 1.25 }, - { "label": "1,3", "matrix": [1, 3], "x": 3, "y": 1.25 }, - { "label": "1,4", "matrix": [1, 4], "x": 4, "y": 1.25 }, - { "label": "1,5", "matrix": [1, 5], "x": 5, "y": 1.25 }, - { "label": "1,6", "matrix": [1, 6], "x": 6, "y": 1.25 }, - { "label": "1,7", "matrix": [1, 7], "x": 7, "y": 1.25 }, - { "label": "1,8", "matrix": [1, 8], "x": 8, "y": 1.25 }, - { "label": "1,9", "matrix": [1, 9], "x": 9, "y": 1.25 }, - { "label": "1,10", "matrix": [1, 10], "x": 10, "y": 1.25 }, - { "label": "1,11", "matrix": [1, 11], "x": 11, "y": 1.25 }, - { "label": "1,12", "matrix": [1, 12], "x": 12, "y": 1.25 }, - { "label": "1,13", "matrix": [1, 13], "w": 2, "x": 13, "y": 1.25 }, - { "label": "1,14", "matrix": [1, 14], "x": 15.25, "y": 1.25 }, - { "label": "1,15", "matrix": [1, 15], "x": 16.25, "y": 1.25 }, - { "label": "2,15", "matrix": [2, 15], "x": 17.25, "y": 1.25 }, - { "label": "2,0", "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25 }, - { "label": "2,1", "matrix": [2, 1], "x": 1.5, "y": 2.25 }, - { "label": "2,2", "matrix": [2, 2], "x": 2.5, "y": 2.25 }, - { "label": "2,3", "matrix": [2, 3], "x": 3.5, "y": 2.25 }, - { "label": "2,4", "matrix": [2, 4], "x": 4.5, "y": 2.25 }, - { "label": "2,5", "matrix": [2, 5], "x": 5.5, "y": 2.25 }, - { "label": "2,6", "matrix": [2, 6], "x": 6.5, "y": 2.25 }, - { "label": "2,7", "matrix": [2, 7], "x": 7.5, "y": 2.25 }, - { "label": "2,8", "matrix": [2, 8], "x": 8.5, "y": 2.25 }, - { "label": "2,9", "matrix": [2, 9], "x": 9.5, "y": 2.25 }, - { "label": "2,10", "matrix": [2, 10], "x": 10.5, "y": 2.25 }, - { "label": "2,11", "matrix": [2, 11], "x": 11.5, "y": 2.25 }, - { "label": "2,12", "matrix": [2, 12], "x": 12.5, "y": 2.25 }, - { "label": "2,13", "matrix": [2, 13], "w": 1.5, "x": 13.5, "y": 2.25 }, - { "label": "2,14", "matrix": [2, 14], "x": 15.25, "y": 2.25 }, - { "label": "3,14", "matrix": [3, 14], "x": 16.25, "y": 2.25 }, - { "label": "3,15", "matrix": [3, 15], "x": 17.25, "y": 2.25 }, - { "label": "3,0", "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.25 }, - { "label": "3,1", "matrix": [3, 1], "x": 1.75, "y": 3.25 }, - { "label": "3,2", "matrix": [3, 2], "x": 2.75, "y": 3.25 }, - { "label": "3,3", "matrix": [3, 3], "x": 3.75, "y": 3.25 }, - { "label": "3,4", "matrix": [3, 4], "x": 4.75, "y": 3.25 }, - { "label": "3,5", "matrix": [3, 5], "x": 5.75, "y": 3.25 }, - { "label": "3,6", "matrix": [3, 6], "x": 6.75, "y": 3.25 }, - { "label": "3,7", "matrix": [3, 7], "x": 7.75, "y": 3.25 }, - { "label": "3,8", "matrix": [3, 8], "x": 8.75, "y": 3.25 }, - { "label": "3,9", "matrix": [3, 9], "x": 9.75, "y": 3.25 }, - { "label": "3,10", "matrix": [3, 10], "x": 10.75, "y": 3.25 }, - { "label": "3,11", "matrix": [3, 11], "x": 11.75, "y": 3.25 }, - { "label": "3,13", "matrix": [3, 13], "w": 2.25, "x": 12.75, "y": 3.25 }, - { "label": "4,0", "matrix": [4, 0], "w": 2.25, "x": 0, "y": 4.25 }, - { "label": "4,1", "matrix": [4, 1], "x": 2.25, "y": 4.25 }, - { "label": "4,2", "matrix": [4, 2], "x": 3.25, "y": 4.25 }, - { "label": "4,3", "matrix": [4, 3], "x": 4.25, "y": 4.25 }, - { "label": "4,4", "matrix": [4, 4], "x": 5.25, "y": 4.25 }, - { "label": "4,5", "matrix": [4, 5], "x": 6.25, "y": 4.25 }, - { "label": "4,6", "matrix": [4, 6], "x": 7.25, "y": 4.25 }, - { "label": "4,7", "matrix": [4, 7], "x": 8.25, "y": 4.25 }, - { "label": "4,8", "matrix": [4, 8], "x": 9.25, "y": 4.25 }, - { "label": "4,9", "matrix": [4, 9], "x": 10.25, "y": 4.25 }, - { "label": "4,10", "matrix": [4, 10], "x": 11.25, "y": 4.25 }, - { "label": "4,13", "matrix": [4, 13], "w": 2.75, "x": 12.25, "y": 4.25 }, - { "label": "4,14", "matrix": [4, 14], "x": 16.25, "y": 4.25 }, - { "label": "5,0", "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.25 }, - { "label": "5,1", "matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 5.25 }, - { "label": "5,2", "matrix": [5, 2], "w": 1.25, "x": 2.5, "y": 5.25 }, - { "label": "5,5", "matrix": [5, 5], "w": 6.25, "x": 3.75, "y": 5.25 }, - { "label": "5,10", "matrix": [5, 10], "w": 1.25, "x": 10, "y": 5.25 }, - { "label": "5,11", "matrix": [5, 11], "w": 1.25, "x": 11.25, "y": 5.25 }, - { "label": "5,12", "matrix": [5, 12], "w": 1.25, "x": 12.5, "y": 5.25 }, - { "label": "5,13", "matrix": [5, 13], "w": 1.25, "x": 13.75, "y": 5.25 }, - { "label": "5,14", "matrix": [5, 14], "x": 15.25, "y": 5.25 }, - { "label": "5,15", "matrix": [5, 15], "x": 16.25, "y": 5.25 }, - { "label": "4,15", "matrix": [4, 15], "x": 17.25, "y": 5.25 } - ] - }, "LAYOUT_tkl_ansi": { "layout": [ { "label": "0,0", "matrix": [0, 0], "x": 0, "y": 0 }, @@ -296,7 +213,7 @@ { "label": "4,15", "matrix": [4, 15], "x": 17.25, "y": 5.25 } ] }, - "LAYOUT_tkl_ansi_tsangan_wkl": { + "LAYOUT_tkl_ansi_wkl": { "layout": [ { "label": "0,0", "matrix": [0, 0], "x": 0, "y": 0 }, { "label": "0,1", "matrix": [0, 1], "x": 2, "y": 0 }, diff --git a/keyboards/cipulot/ec_theca/keymaps/tkl_ansi_tsangan_wkl/keymap.c b/keyboards/cipulot/ec_theca/keymaps/tkl_ansi_tsangan_wkl/keymap.c index f5b25db2281..56548302ddc 100644 --- a/keyboards/cipulot/ec_theca/keymaps/tkl_ansi_tsangan_wkl/keymap.c +++ b/keyboards/cipulot/ec_theca/keymaps/tkl_ansi_tsangan_wkl/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // clang-format off - [0] = LAYOUT_tkl_ansi_tsangan_wkl( + [0] = LAYOUT_tkl_ansi_wkl( 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_PSCR, KC_SCRL, KC_PAUS, 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_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_BSLS, KC_DEL, KC_END, KC_PGDN, @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT), - [1] = LAYOUT_tkl_ansi_tsangan_wkl( + [1] = LAYOUT_tkl_ansi_wkl( QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, From 4875bcecc2c3c66b4b259e50d6d2cf70603b3173 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri, 8 Sep 2023 19:11:07 -0700 Subject: [PATCH 020/144] customMK EVO70 R2 Layout Additions (#21916) * Rename `LAYOUT` to `LAYOUT_all` [refactor] * Add layout/matrix diagram [docs] * Correct layout data Reduce the gap between the encoder/macro section and the alphanumeric section by 0.25u. [enhancement] * Add `LAYOUT_ansi_blocker` [enhancement] * Add `LAYOUT_iso_blocker` [enhancement] * Fix redundant `layout_aliases` keys per dunk2k [bugfix] --- keyboards/custommk/evo70_r2/info.json | 322 +++++++++++++----- .../evo70_r2/keymaps/default/keymap.c | 2 +- .../custommk/evo70_r2/keymaps/via/keymap.c | 2 +- keyboards/custommk/evo70_r2/matrix_diagram.md | 18 + 4 files changed, 265 insertions(+), 79 deletions(-) create mode 100644 keyboards/custommk/evo70_r2/matrix_diagram.md diff --git a/keyboards/custommk/evo70_r2/info.json b/keyboards/custommk/evo70_r2/info.json index 772325e7f82..18c618abc6d 100644 --- a/keyboards/custommk/evo70_r2/info.json +++ b/keyboards/custommk/evo70_r2/info.json @@ -59,88 +59,256 @@ "levels": 17, "pin": "A6" }, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, "layouts": { - "LAYOUT": { + "LAYOUT_all": { "layout": [ - {"label":"Encoder", "matrix": [1, 0], "x":0.5, "y":0}, - {"label":"Esc", "matrix": [0, 0], "x":2.5, "y":0}, - {"label":"1", "matrix": [0, 2], "x":3.5, "y":0}, - {"label":"2", "matrix": [0, 3], "x":4.5, "y":0}, - {"label":"3", "matrix": [0, 4], "x":5.5, "y":0}, - {"label":"4", "matrix": [0, 5], "x":6.5, "y":0}, - {"label":"5", "matrix": [0, 6], "x":7.5, "y":0}, - {"label":"6", "matrix": [0, 7], "x":8.5, "y":0}, - {"label":"7", "matrix": [0, 8], "x":9.5, "y":0}, - {"label":"8", "matrix": [0, 9], "x":10.5, "y":0}, - {"label":"9", "matrix": [0, 10], "x":11.5, "y":0}, - {"label":"0", "matrix": [0, 11], "x":12.5, "y":0}, - {"label":"-", "matrix": [0, 12], "x":13.5, "y":0}, - {"label":"=", "matrix": [0, 13], "x":14.5, "y":0}, - {"label":"Backspace", "matrix": [0, 14], "x":15.5, "y":0, "w":2}, - {"label":"Delete", "matrix": [0, 15], "x":17.5, "y":0}, + {"label": "Encoder", "matrix": [1, 0], "x": 0.5, "y": 0}, + {"label": "Esc", "matrix": [0, 0], "x": 2.25, "y": 0}, + {"label": "1", "matrix": [0, 2], "x": 3.25, "y": 0}, + {"label": "2", "matrix": [0, 3], "x": 4.25, "y": 0}, + {"label": "3", "matrix": [0, 4], "x": 5.25, "y": 0}, + {"label": "4", "matrix": [0, 5], "x": 6.25, "y": 0}, + {"label": "5", "matrix": [0, 6], "x": 7.25, "y": 0}, + {"label": "6", "matrix": [0, 7], "x": 8.25, "y": 0}, + {"label": "7", "matrix": [0, 8], "x": 9.25, "y": 0}, + {"label": "8", "matrix": [0, 9], "x": 10.25, "y": 0}, + {"label": "9", "matrix": [0, 10], "x": 11.25, "y": 0}, + {"label": "0", "matrix": [0, 11], "x": 12.25, "y": 0}, + {"label": "-", "matrix": [0, 12], "x": 13.25, "y": 0}, + {"label": "=", "matrix": [0, 13], "x": 14.25, "y": 0}, + {"label": "Backspace", "matrix": [0, 14], "x": 15.25, "y": 0, "w": 2}, + {"label": "Delete", "matrix": [0, 15], "x": 17.25, "y": 0}, - {"label":"Tab", "matrix": [1, 1], "x":2.5, "y":1, "w":1.5}, - {"label":"Q", "matrix": [1, 2], "x":4, "y":1}, - {"label":"W", "matrix": [1, 3], "x":5, "y":1}, - {"label":"E", "matrix": [1, 4], "x":6, "y":1}, - {"label":"R", "matrix": [1, 5], "x":7, "y":1}, - {"label":"T", "matrix": [1, 6], "x":8, "y":1}, - {"label":"Y", "matrix": [1, 7], "x":9, "y":1}, - {"label":"U", "matrix": [1, 8], "x":10, "y":1}, - {"label":"I", "matrix": [1, 9], "x":11, "y":1}, - {"label":"O", "matrix": [1, 10], "x":12, "y":1}, - {"label":"P", "matrix": [1, 11], "x":13, "y":1}, - {"label":"[", "matrix": [1, 12], "x":14, "y":1}, - {"label":"]", "matrix": [1, 13], "x":15, "y":1}, - {"label":"\\", "matrix": [1, 14], "x":16, "y":1, "w":1.5}, - {"label":"PgUp", "matrix": [1, 15], "x":17.5, "y":1}, + {"label": "Tab", "matrix": [1, 1], "x": 2.25, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 2], "x": 3.75, "y": 1}, + {"label": "W", "matrix": [1, 3], "x": 4.75, "y": 1}, + {"label": "E", "matrix": [1, 4], "x": 5.75, "y": 1}, + {"label": "R", "matrix": [1, 5], "x": 6.75, "y": 1}, + {"label": "T", "matrix": [1, 6], "x": 7.75, "y": 1}, + {"label": "Y", "matrix": [1, 7], "x": 8.75, "y": 1}, + {"label": "U", "matrix": [1, 8], "x": 9.75, "y": 1}, + {"label": "I", "matrix": [1, 9], "x": 10.75, "y": 1}, + {"label": "O", "matrix": [1, 10], "x": 11.75, "y": 1}, + {"label": "P", "matrix": [1, 11], "x": 12.75, "y": 1}, + {"label": "[", "matrix": [1, 12], "x": 13.75, "y": 1}, + {"label": "]", "matrix": [1, 13], "x": 14.75, "y": 1}, + {"label": "\\", "matrix": [1, 14], "x": 15.75, "y": 1, "w": 1.5}, + {"label": "PgUp", "matrix": [1, 15], "x": 17.25, "y": 1}, - {"label":"F1", "matrix": [2, 2], "x":0, "y":2}, - {"label":"F2", "matrix": [2, 0], "x":1, "y":2}, - {"label":"Caps Lock", "matrix": [2, 1], "x":2.5, "y":2, "w":1.75}, - {"label":"A", "matrix": [2, 3], "x":4.25, "y":2}, - {"label":"S", "matrix": [2, 4], "x":5.25, "y":2}, - {"label":"D", "matrix": [2, 5], "x":6.25, "y":2}, - {"label":"F", "matrix": [2, 6], "x":7.25, "y":2}, - {"label":"G", "matrix": [2, 7], "x":8.25, "y":2}, - {"label":"H", "matrix": [2, 8], "x":9.25, "y":2}, - {"label":"J", "matrix": [2, 9], "x":10.25, "y":2}, - {"label":"K", "matrix": [2, 10], "x":11.25, "y":2}, - {"label":"L", "matrix": [2, 11], "x":12.25, "y":2}, - {"label":";", "matrix": [2, 12], "x":13.25, "y":2}, - {"label":"'", "matrix": [2, 13], "x":14.25, "y":2}, - {"label":"Enter", "matrix": [2, 14], "x":15.25, "y":2, "w":2.25}, - {"label":"PgDn", "matrix": [2, 15], "x":17.5, "y":2}, + {"label": "F1", "matrix": [2, 2], "x": 0, "y": 2}, + {"label": "F2", "matrix": [2, 0], "x": 1, "y": 2}, + {"label": "Caps Lock", "matrix": [2, 1], "x": 2.25, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 3], "x": 4, "y": 2}, + {"label": "S", "matrix": [2, 4], "x": 5, "y": 2}, + {"label": "D", "matrix": [2, 5], "x": 6, "y": 2}, + {"label": "F", "matrix": [2, 6], "x": 7, "y": 2}, + {"label": "G", "matrix": [2, 7], "x": 8, "y": 2}, + {"label": "H", "matrix": [2, 8], "x": 9, "y": 2}, + {"label": "J", "matrix": [2, 9], "x": 10, "y": 2}, + {"label": "K", "matrix": [2, 10], "x": 11, "y": 2}, + {"label": "L", "matrix": [2, 11], "x": 12, "y": 2}, + {"label": ";", "matrix": [2, 12], "x": 13, "y": 2}, + {"label": "'", "matrix": [2, 13], "x": 14, "y": 2}, + {"label": "Enter", "matrix": [2, 14], "x": 15, "y": 2, "w": 2.25}, + {"label": "PgDn", "matrix": [2, 15], "x": 17.25, "y": 2}, - {"label":"F3", "matrix": [3, 1], "x":0, "y":3}, - {"label":"F4", "matrix": [3, 0], "x":1, "y":3}, - {"label":"Shift", "matrix": [3, 2], "x":2.5, "y":3, "w":1.25}, - {"label":"\u2298", "matrix": [0, 1], "x":3.75, "y":3, "w":1}, - {"label":"Z", "matrix": [3, 3], "x":4.75, "y":3}, - {"label":"X", "matrix": [3, 4], "x":5.75, "y":3}, - {"label":"C", "matrix": [3, 5], "x":6.75, "y":3}, - {"label":"V", "matrix": [3, 6], "x":7.75, "y":3}, - {"label":"B", "matrix": [3, 7], "x":8.75, "y":3}, - {"label":"N", "matrix": [3, 8], "x":9.75, "y":3}, - {"label":"M", "matrix": [3, 9], "x":10.75, "y":3}, - {"label":",", "matrix": [3, 10], "x":11.75, "y":3}, - {"label":".", "matrix": [3, 11], "x":12.75, "y":3}, - {"label":"/", "matrix": [3, 12], "x":13.75, "y":3}, - {"label":"Shift", "matrix": [3, 13], "x":14.75, "y":3, "w":1.75}, - {"label":"Up", "matrix": [3, 14], "x":16.5, "y":3}, - {"label":"End", "matrix": [3, 15], "x":17.5, "y":3}, + {"label": "F3", "matrix": [3, 1], "x": 0, "y": 3}, + {"label": "F4", "matrix": [3, 0], "x": 1, "y": 3}, + {"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 1.25}, + {"label": "\u2298", "matrix": [0, 1], "x": 3.5, "y": 3, "w": 1}, + {"label": "Z", "matrix": [3, 3], "x": 4.5, "y": 3}, + {"label": "X", "matrix": [3, 4], "x": 5.5, "y": 3}, + {"label": "C", "matrix": [3, 5], "x": 6.5, "y": 3}, + {"label": "V", "matrix": [3, 6], "x": 7.5, "y": 3}, + {"label": "B", "matrix": [3, 7], "x": 8.5, "y": 3}, + {"label": "N", "matrix": [3, 8], "x": 9.5, "y": 3}, + {"label": "M", "matrix": [3, 9], "x": 10.5, "y": 3}, + {"label": ",", "matrix": [3, 10], "x": 11.5, "y": 3}, + {"label": ".", "matrix": [3, 11], "x": 12.5, "y": 3}, + {"label": "/", "matrix": [3, 12], "x": 13.5, "y": 3}, + {"label": "Shift", "matrix": [3, 13], "x": 14.5, "y": 3, "w": 1.75}, + {"label": "Up", "matrix": [3, 14], "x": 16.25, "y": 3}, + {"label": "End", "matrix": [3, 15], "x": 17.25, "y": 3}, - {"label":"F5", "matrix": [4, 3], "x":0, "y":4}, - {"label":"F6", "matrix": [4, 0], "x":1, "y":4}, - {"label":"Ctrl", "matrix": [4, 1], "x":2.5, "y":4, "w":1.25}, - {"label":"GUI", "matrix": [4, 2], "x":3.75, "y":4, "w":1.25}, - {"label":"Alt", "matrix": [4, 4], "x":5, "y":4, "w":1.25}, - {"label":"Space", "matrix": [4, 7], "x":6.25, "y":4, "w":6.25}, - {"label":"Alt", "matrix": [4, 10], "x":12.5, "y":4, "w":1.25}, - {"label":"Ctrl", "matrix": [4, 11], "x":13.75, "y":4, "w":1.25}, - {"label":"Left", "matrix": [4, 13], "x":15.5, "y":4}, - {"label":"Down", "matrix": [4, 14], "x":16.5, "y":4}, - {"label":"Right", "matrix": [4, 15], "x":17.5, "y":4} + {"label": "F5", "matrix": [4, 3], "x": 0, "y": 4}, + {"label": "F6", "matrix": [4, 0], "x": 1, "y": 4}, + {"label": "Ctrl", "matrix": [4, 1], "x": 2.25, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [4, 2], "x": 3.5, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [4, 7], "x": 6, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 10], "x": 12.25, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 11], "x": 13.5, "y": 4, "w": 1.25}, + {"label": "Left", "matrix": [4, 13], "x": 15.25, "y": 4}, + {"label": "Down", "matrix": [4, 14], "x": 16.25, "y": 4}, + {"label": "Right", "matrix": [4, 15], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_ansi_blocker": { + "layout": [ + {"label": "Encoder", "matrix": [1, 0], "x": 0.5, "y": 0}, + {"label": "Esc", "matrix": [0, 0], "x": 2.25, "y": 0}, + {"label": "1", "matrix": [0, 2], "x": 3.25, "y": 0}, + {"label": "2", "matrix": [0, 3], "x": 4.25, "y": 0}, + {"label": "3", "matrix": [0, 4], "x": 5.25, "y": 0}, + {"label": "4", "matrix": [0, 5], "x": 6.25, "y": 0}, + {"label": "5", "matrix": [0, 6], "x": 7.25, "y": 0}, + {"label": "6", "matrix": [0, 7], "x": 8.25, "y": 0}, + {"label": "7", "matrix": [0, 8], "x": 9.25, "y": 0}, + {"label": "8", "matrix": [0, 9], "x": 10.25, "y": 0}, + {"label": "9", "matrix": [0, 10], "x": 11.25, "y": 0}, + {"label": "0", "matrix": [0, 11], "x": 12.25, "y": 0}, + {"label": "-", "matrix": [0, 12], "x": 13.25, "y": 0}, + {"label": "=", "matrix": [0, 13], "x": 14.25, "y": 0}, + {"label": "Backspace", "matrix": [0, 14], "x": 15.25, "y": 0, "w": 2}, + {"label": "Delete", "matrix": [0, 15], "x": 17.25, "y": 0}, + + {"label": "Tab", "matrix": [1, 1], "x": 2.25, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 2], "x": 3.75, "y": 1}, + {"label": "W", "matrix": [1, 3], "x": 4.75, "y": 1}, + {"label": "E", "matrix": [1, 4], "x": 5.75, "y": 1}, + {"label": "R", "matrix": [1, 5], "x": 6.75, "y": 1}, + {"label": "T", "matrix": [1, 6], "x": 7.75, "y": 1}, + {"label": "Y", "matrix": [1, 7], "x": 8.75, "y": 1}, + {"label": "U", "matrix": [1, 8], "x": 9.75, "y": 1}, + {"label": "I", "matrix": [1, 9], "x": 10.75, "y": 1}, + {"label": "O", "matrix": [1, 10], "x": 11.75, "y": 1}, + {"label": "P", "matrix": [1, 11], "x": 12.75, "y": 1}, + {"label": "[", "matrix": [1, 12], "x": 13.75, "y": 1}, + {"label": "]", "matrix": [1, 13], "x": 14.75, "y": 1}, + {"label": "\\", "matrix": [1, 14], "x": 15.75, "y": 1, "w": 1.5}, + {"label": "PgUp", "matrix": [1, 15], "x": 17.25, "y": 1}, + + {"label": "F1", "matrix": [2, 2], "x": 0, "y": 2}, + {"label": "F2", "matrix": [2, 0], "x": 1, "y": 2}, + {"label": "Caps Lock", "matrix": [2, 1], "x": 2.25, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 3], "x": 4, "y": 2}, + {"label": "S", "matrix": [2, 4], "x": 5, "y": 2}, + {"label": "D", "matrix": [2, 5], "x": 6, "y": 2}, + {"label": "F", "matrix": [2, 6], "x": 7, "y": 2}, + {"label": "G", "matrix": [2, 7], "x": 8, "y": 2}, + {"label": "H", "matrix": [2, 8], "x": 9, "y": 2}, + {"label": "J", "matrix": [2, 9], "x": 10, "y": 2}, + {"label": "K", "matrix": [2, 10], "x": 11, "y": 2}, + {"label": "L", "matrix": [2, 11], "x": 12, "y": 2}, + {"label": ";", "matrix": [2, 12], "x": 13, "y": 2}, + {"label": "'", "matrix": [2, 13], "x": 14, "y": 2}, + {"label": "Enter", "matrix": [2, 14], "x": 15, "y": 2, "w": 2.25}, + {"label": "PgDn", "matrix": [2, 15], "x": 17.25, "y": 2}, + + {"label": "F3", "matrix": [3, 1], "x": 0, "y": 3}, + {"label": "F4", "matrix": [3, 0], "x": 1, "y": 3}, + {"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 3], "x": 4.5, "y": 3}, + {"label": "X", "matrix": [3, 4], "x": 5.5, "y": 3}, + {"label": "C", "matrix": [3, 5], "x": 6.5, "y": 3}, + {"label": "V", "matrix": [3, 6], "x": 7.5, "y": 3}, + {"label": "B", "matrix": [3, 7], "x": 8.5, "y": 3}, + {"label": "N", "matrix": [3, 8], "x": 9.5, "y": 3}, + {"label": "M", "matrix": [3, 9], "x": 10.5, "y": 3}, + {"label": ",", "matrix": [3, 10], "x": 11.5, "y": 3}, + {"label": ".", "matrix": [3, 11], "x": 12.5, "y": 3}, + {"label": "/", "matrix": [3, 12], "x": 13.5, "y": 3}, + {"label": "Shift", "matrix": [3, 13], "x": 14.5, "y": 3, "w": 1.75}, + {"label": "Up", "matrix": [3, 14], "x": 16.25, "y": 3}, + {"label": "End", "matrix": [3, 15], "x": 17.25, "y": 3}, + + {"label": "F5", "matrix": [4, 3], "x": 0, "y": 4}, + {"label": "F6", "matrix": [4, 0], "x": 1, "y": 4}, + {"label": "Ctrl", "matrix": [4, 1], "x": 2.25, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [4, 2], "x": 3.5, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [4, 7], "x": 6, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 10], "x": 12.25, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 11], "x": 13.5, "y": 4, "w": 1.25}, + {"label": "Left", "matrix": [4, 13], "x": 15.25, "y": 4}, + {"label": "Down", "matrix": [4, 14], "x": 16.25, "y": 4}, + {"label": "Right", "matrix": [4, 15], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_iso_blocker": { + "layout": [ + {"label": "Encoder", "matrix": [1, 0], "x": 0.5, "y": 0}, + {"label": "Esc", "matrix": [0, 0], "x": 2.25, "y": 0}, + {"label": "1", "matrix": [0, 2], "x": 3.25, "y": 0}, + {"label": "2", "matrix": [0, 3], "x": 4.25, "y": 0}, + {"label": "3", "matrix": [0, 4], "x": 5.25, "y": 0}, + {"label": "4", "matrix": [0, 5], "x": 6.25, "y": 0}, + {"label": "5", "matrix": [0, 6], "x": 7.25, "y": 0}, + {"label": "6", "matrix": [0, 7], "x": 8.25, "y": 0}, + {"label": "7", "matrix": [0, 8], "x": 9.25, "y": 0}, + {"label": "8", "matrix": [0, 9], "x": 10.25, "y": 0}, + {"label": "9", "matrix": [0, 10], "x": 11.25, "y": 0}, + {"label": "0", "matrix": [0, 11], "x": 12.25, "y": 0}, + {"label": "-", "matrix": [0, 12], "x": 13.25, "y": 0}, + {"label": "=", "matrix": [0, 13], "x": 14.25, "y": 0}, + {"label": "Backspace", "matrix": [0, 14], "x": 15.25, "y": 0, "w": 2}, + {"label": "Delete", "matrix": [0, 15], "x": 17.25, "y": 0}, + + {"label": "Tab", "matrix": [1, 1], "x": 2.25, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 2], "x": 3.75, "y": 1}, + {"label": "W", "matrix": [1, 3], "x": 4.75, "y": 1}, + {"label": "E", "matrix": [1, 4], "x": 5.75, "y": 1}, + {"label": "R", "matrix": [1, 5], "x": 6.75, "y": 1}, + {"label": "T", "matrix": [1, 6], "x": 7.75, "y": 1}, + {"label": "Y", "matrix": [1, 7], "x": 8.75, "y": 1}, + {"label": "U", "matrix": [1, 8], "x": 9.75, "y": 1}, + {"label": "I", "matrix": [1, 9], "x": 10.75, "y": 1}, + {"label": "O", "matrix": [1, 10], "x": 11.75, "y": 1}, + {"label": "P", "matrix": [1, 11], "x": 12.75, "y": 1}, + {"label": "[", "matrix": [1, 12], "x": 13.75, "y": 1}, + {"label": "]", "matrix": [1, 13], "x": 14.75, "y": 1}, + {"label": "PgUp", "matrix": [1, 15], "x": 17.25, "y": 1}, + + {"label": "F1", "matrix": [2, 2], "x": 0, "y": 2}, + {"label": "F2", "matrix": [2, 0], "x": 1, "y": 2}, + {"label": "Caps Lock", "matrix": [2, 1], "x": 2.25, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 3], "x": 4, "y": 2}, + {"label": "S", "matrix": [2, 4], "x": 5, "y": 2}, + {"label": "D", "matrix": [2, 5], "x": 6, "y": 2}, + {"label": "F", "matrix": [2, 6], "x": 7, "y": 2}, + {"label": "G", "matrix": [2, 7], "x": 8, "y": 2}, + {"label": "H", "matrix": [2, 8], "x": 9, "y": 2}, + {"label": "J", "matrix": [2, 9], "x": 10, "y": 2}, + {"label": "K", "matrix": [2, 10], "x": 11, "y": 2}, + {"label": "L", "matrix": [2, 11], "x": 12, "y": 2}, + {"label": ";", "matrix": [2, 12], "x": 13, "y": 2}, + {"label": "'", "matrix": [2, 13], "x": 14, "y": 2}, + {"label": "#", "matrix": [1, 14], "x": 15, "y": 2}, + {"label": "Enter", "matrix": [2, 14], "x": 16, "y": 1, "w": 1.25, "h": 2}, + {"label": "PgDn", "matrix": [2, 15], "x": 17.25, "y": 2}, + + {"label": "F3", "matrix": [3, 1], "x": 0, "y": 3}, + {"label": "F4", "matrix": [3, 0], "x": 1, "y": 3}, + {"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 1.25}, + {"label": "\u2298", "matrix": [0, 1], "x": 3.5, "y": 3, "w": 1}, + {"label": "Z", "matrix": [3, 3], "x": 4.5, "y": 3}, + {"label": "X", "matrix": [3, 4], "x": 5.5, "y": 3}, + {"label": "C", "matrix": [3, 5], "x": 6.5, "y": 3}, + {"label": "V", "matrix": [3, 6], "x": 7.5, "y": 3}, + {"label": "B", "matrix": [3, 7], "x": 8.5, "y": 3}, + {"label": "N", "matrix": [3, 8], "x": 9.5, "y": 3}, + {"label": "M", "matrix": [3, 9], "x": 10.5, "y": 3}, + {"label": ",", "matrix": [3, 10], "x": 11.5, "y": 3}, + {"label": ".", "matrix": [3, 11], "x": 12.5, "y": 3}, + {"label": "/", "matrix": [3, 12], "x": 13.5, "y": 3}, + {"label": "Shift", "matrix": [3, 13], "x": 14.5, "y": 3, "w": 1.75}, + {"label": "Up", "matrix": [3, 14], "x": 16.25, "y": 3}, + {"label": "End", "matrix": [3, 15], "x": 17.25, "y": 3}, + + {"label": "F5", "matrix": [4, 3], "x": 0, "y": 4}, + {"label": "F6", "matrix": [4, 0], "x": 1, "y": 4}, + {"label": "Ctrl", "matrix": [4, 1], "x": 2.25, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [4, 2], "x": 3.5, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [4, 7], "x": 6, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 10], "x": 12.25, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 11], "x": 13.5, "y": 4, "w": 1.25}, + {"label": "Left", "matrix": [4, 13], "x": 15.25, "y": 4}, + {"label": "Down", "matrix": [4, 14], "x": 16.25, "y": 4}, + {"label": "Right", "matrix": [4, 15], "x": 17.25, "y": 4} ] } }, @@ -149,4 +317,4 @@ { "pin_a": "B7", "pin_b": "A4", "resolution": 2} ] } -} \ No newline at end of file +} diff --git a/keyboards/custommk/evo70_r2/keymaps/default/keymap.c b/keyboards/custommk/evo70_r2/keymaps/default/keymap.c index 9dc7beabdda..9faf2088dd7 100644 --- a/keyboards/custommk/evo70_r2/keymaps/default/keymap.c +++ b/keyboards/custommk/evo70_r2/keymaps/default/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_all( KC_ESC, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_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_PGUP, KC_F1, KC_F2, 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_PGDN, diff --git a/keyboards/custommk/evo70_r2/keymaps/via/keymap.c b/keyboards/custommk/evo70_r2/keymaps/via/keymap.c index a971aa4e28b..4c467c018eb 100644 --- a/keyboards/custommk/evo70_r2/keymaps/via/keymap.c +++ b/keyboards/custommk/evo70_r2/keymaps/via/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_all( KC_ESC, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_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_PGUP, KC_F1, KC_F2, 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_PGDN, diff --git a/keyboards/custommk/evo70_r2/matrix_diagram.md b/keyboards/custommk/evo70_r2/matrix_diagram.md new file mode 100644 index 00000000000..e4ac5ef20ed --- /dev/null +++ b/keyboards/custommk/evo70_r2/matrix_diagram.md @@ -0,0 +1,18 @@ +# Matrix Diagram for customMK EVO70 R2 + +``` + ┌───┐ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ + │10 │ │00 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │ + └───┘ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ ┌─────┐ + │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │1F │ │ │ +┌───┬───┐├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐2E │ ISO Enter +│22 │20 ││21 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │2E │2F │ │1E │ │ +├───┼───┤├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘ +│31 │30 ││32 │01 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │3F │ +├───┼───┤├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ +│43 │40 ││41 │42 │44 │47 │4A │4B │ │4D │4E │4F │ +└───┴───┘└────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + ┌────────┐ + │32 │ 2.25u LShift + └────────┘ +``` From ec09c03b64b612bbc65d4ad155e9f513bf5a7008 Mon Sep 17 00:00:00 2001 From: Vino Rodrigues <366673+vinorodrigues@users.noreply.github.com> Date: Sat, 9 Sep 2023 20:17:09 +1000 Subject: [PATCH 021/144] [Keyboard] Add Binepad Pixie (#21524) * Add Binepad Pixie * Post waffle87 and drashna review recommendations applied * Post-drashna code review suggestions applied Co-authored-by: Drashna Jaelre * post zvecr review --------- Co-authored-by: Drashna Jaelre --- keyboards/binepad/pixie/config.h | 6 +++ keyboards/binepad/pixie/info.json | 49 +++++++++++++++++++ .../binepad/pixie/keymaps/default/keymap.c | 22 +++++++++ .../binepad/pixie/keymaps/default/rules.mk | 2 + keyboards/binepad/pixie/keymaps/via/keymap.c | 22 +++++++++ keyboards/binepad/pixie/keymaps/via/rules.mk | 3 ++ keyboards/binepad/pixie/readme.md | 27 ++++++++++ keyboards/binepad/pixie/rules.mk | 1 + 8 files changed, 132 insertions(+) create mode 100644 keyboards/binepad/pixie/config.h create mode 100644 keyboards/binepad/pixie/info.json create mode 100644 keyboards/binepad/pixie/keymaps/default/keymap.c create mode 100644 keyboards/binepad/pixie/keymaps/default/rules.mk create mode 100644 keyboards/binepad/pixie/keymaps/via/keymap.c create mode 100644 keyboards/binepad/pixie/keymaps/via/rules.mk create mode 100644 keyboards/binepad/pixie/readme.md create mode 100644 keyboards/binepad/pixie/rules.mk diff --git a/keyboards/binepad/pixie/config.h b/keyboards/binepad/pixie/config.h new file mode 100644 index 00000000000..00d5ddf0355 --- /dev/null +++ b/keyboards/binepad/pixie/config.h @@ -0,0 +1,6 @@ +// Copyright 2023 binepad (@binepad) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define ENCODER_DEFAULT_POS 0x3 // enable 1:1 resolution diff --git a/keyboards/binepad/pixie/info.json b/keyboards/binepad/pixie/info.json new file mode 100644 index 00000000000..7d9d2ceb9ad --- /dev/null +++ b/keyboards/binepad/pixie/info.json @@ -0,0 +1,49 @@ +{ + "manufacturer": "binepad", + "keyboard_name": "PIXIE", + "url": "http://binepad.com", + "maintainer": "binepad", + "processor": "RP2040", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "usb": { + "vid": "0x4249", + "pid": "0x5078", + "device_version": "1.0.0" + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": false, + "encoder": true + }, + "matrix_pins": { + "cols": ["GP19", "GP4"], + "rows": ["GP28", "GP5"] + }, + "encoder": { + "rotary": [ + { + "pin_a": "GP18", + "pin_b": "GP17" + }, + { + "pin_a": "GP20", + "pin_b": "GP21" + } + ] + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 1], "x": 1.25, "y": 0 }, + { "matrix": [1, 0], "x": 0, "y": 1.25 }, + { "matrix": [1, 1], "x": 1.25, "y": 1.25 } + ] + } + } +} diff --git a/keyboards/binepad/pixie/keymaps/default/keymap.c b/keyboards/binepad/pixie/keymaps/default/keymap.c new file mode 100644 index 00000000000..b49c4db6de3 --- /dev/null +++ b/keyboards/binepad/pixie/keymaps/default/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2023 Binepad (@binpad) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_MUTE, KC_MPLY, + KC_MPRV, KC_MNXT + ) +}; + +#if defined(ENCODER_MAP_ENABLE) + +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { + ENCODER_CCW_CW(KC_VOLD, KC_VOLU), + ENCODER_CCW_CW(KC_WH_U, KC_WH_D) + } +}; + +#endif diff --git a/keyboards/binepad/pixie/keymaps/default/rules.mk b/keyboards/binepad/pixie/keymaps/default/rules.mk new file mode 100644 index 00000000000..34789bf1728 --- /dev/null +++ b/keyboards/binepad/pixie/keymaps/default/rules.mk @@ -0,0 +1,2 @@ + +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/binepad/pixie/keymaps/via/keymap.c b/keyboards/binepad/pixie/keymaps/via/keymap.c new file mode 100644 index 00000000000..b49c4db6de3 --- /dev/null +++ b/keyboards/binepad/pixie/keymaps/via/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2023 Binepad (@binpad) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_MUTE, KC_MPLY, + KC_MPRV, KC_MNXT + ) +}; + +#if defined(ENCODER_MAP_ENABLE) + +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { + ENCODER_CCW_CW(KC_VOLD, KC_VOLU), + ENCODER_CCW_CW(KC_WH_U, KC_WH_D) + } +}; + +#endif diff --git a/keyboards/binepad/pixie/keymaps/via/rules.mk b/keyboards/binepad/pixie/keymaps/via/rules.mk new file mode 100644 index 00000000000..82b46f5873f --- /dev/null +++ b/keyboards/binepad/pixie/keymaps/via/rules.mk @@ -0,0 +1,3 @@ + +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/binepad/pixie/readme.md b/keyboards/binepad/pixie/readme.md new file mode 100644 index 00000000000..98287ab97bf --- /dev/null +++ b/keyboards/binepad/pixie/readme.md @@ -0,0 +1,27 @@ +# BINEPAD PIXIE + +![BINEPAD PIXIE](https://i.imgur.com/OnQnkdUh.jpeg) + +*A 2x2 macropad with 2x rotary encoders* + +* Keyboard Maintainer: [binepad](https://github.com/binepad) +* Hardware Supported: BINPAD PIXIE +* Hardware Availability: [binepad.com](https://www.binepad.com/pixie) + +Make example for this keyboard (after setting up your build environment): + + make binepad/pixie:default + +Flashing example for this keyboard: + + make binepad/pixie: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 (010) in the matrix (the bottom left key) and plug in the keyboard +* **Physical reset button**: Briefly press the PCB button located on the back of the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` or `RESET` if it is available diff --git a/keyboards/binepad/pixie/rules.mk b/keyboards/binepad/pixie/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/binepad/pixie/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From 9a29ddf6aff4dd4356bf902cb6b4932ccec6639e Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat, 9 Sep 2023 12:15:57 -0700 Subject: [PATCH 022/144] dnworks FRLTKL Community Layout support (#21922) * Add layout/matrix diagram [docs] * Rename `LAYOUT` to `LAYOUT_all` [refactor] * Add `LAYOUT_tkl_nofrow_iso_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_iso` [enhancement] * Add `LAYOUT_tkl_nofrow_iso_tsangan_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_iso_tsangan` [enhancement] * Add `LAYOUT_tkl_nofrow_iso_wkl_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_iso_wkl` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi_tsangan_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi_tsangan` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi_wkl_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi_wkl` [enhancement] * Enable Community Layout support [enhancement] --- keyboards/dnworks/frltkl/info.json | 961 +++++++++++++++++- .../dnworks/frltkl/keymaps/default/keymap.c | 4 +- keyboards/dnworks/frltkl/keymaps/via/keymap.c | 4 +- keyboards/dnworks/frltkl/matrix_diagram.md | 21 + 4 files changed, 984 insertions(+), 6 deletions(-) create mode 100644 keyboards/dnworks/frltkl/matrix_diagram.md diff --git a/keyboards/dnworks/frltkl/info.json b/keyboards/dnworks/frltkl/info.json index dda394649b2..86796a6084c 100644 --- a/keyboards/dnworks/frltkl/info.json +++ b/keyboards/dnworks/frltkl/info.json @@ -26,8 +26,15 @@ "rows": ["GP4","GP3","GP2","GP1","GP29","GP28","GP19","GP20","GP10","GP11"], "cols": ["GP26","GP25","GP24","GP23","GP22","GP21","GP6","GP5","GP0"] }, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, + "community_layouts": [ + "tkl_nofrow_ansi", + "tkl_nofrow_iso" + ], "layouts": { - "LAYOUT": { + "LAYOUT_all": { "layout": [ { "matrix": [1, 0], "x": 0, "y": 0 }, { "matrix": [0, 0], "x": 1, "y": 0 }, @@ -108,6 +115,956 @@ { "matrix": [9, 8], "x": 16.25, "y": 4 }, { "matrix": [8, 8], "x": 17.25, "y": 4 } ] - } + }, + "LAYOUT_tkl_nofrow_ansi": { + "layout": [ + {"matrix": [1, 0], "x": 0, "y": 0}, + {"matrix": [0, 0], "x": 1, "y": 0}, + {"matrix": [1, 1], "x": 2, "y": 0}, + {"matrix": [0, 1], "x": 3, "y": 0}, + {"matrix": [1, 2], "x": 4, "y": 0}, + {"matrix": [0, 2], "x": 5, "y": 0}, + {"matrix": [1, 3], "x": 6, "y": 0}, + {"matrix": [0, 3], "x": 7, "y": 0}, + {"matrix": [1, 4], "x": 8, "y": 0}, + {"matrix": [0, 4], "x": 9, "y": 0}, + {"matrix": [1, 5], "x": 10, "y": 0}, + {"matrix": [0, 5], "x": 11, "y": 0}, + {"matrix": [1, 6], "x": 12, "y": 0}, + {"matrix": [0, 6], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 7], "x": 15.25, "y": 0}, + {"matrix": [1, 8], "x": 16.25, "y": 0}, + {"matrix": [0, 8], "x": 17.25, "y": 0}, + + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 7], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [2, 7], "x": 15.25, "y": 1}, + {"matrix": [3, 8], "x": 16.25, "y": 1}, + {"matrix": [2, 8], "x": 17.25, "y": 1}, + + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [6, 8], "x": 16.25, "y": 3}, + + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [9, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [8, 5], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [9, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [8, 6], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [9, 7], "x": 13.75, "y": 4, "w": 1.25}, + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 8], "x": 16.25, "y": 4}, + {"matrix": [8, 8], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_ansi_split_bs_rshift": { + "layout": [ + {"matrix": [1, 0], "x": 0, "y": 0}, + {"matrix": [0, 0], "x": 1, "y": 0}, + {"matrix": [1, 1], "x": 2, "y": 0}, + {"matrix": [0, 1], "x": 3, "y": 0}, + {"matrix": [1, 2], "x": 4, "y": 0}, + {"matrix": [0, 2], "x": 5, "y": 0}, + {"matrix": [1, 3], "x": 6, "y": 0}, + {"matrix": [0, 3], "x": 7, "y": 0}, + {"matrix": [1, 4], "x": 8, "y": 0}, + {"matrix": [0, 4], "x": 9, "y": 0}, + {"matrix": [1, 5], "x": 10, "y": 0}, + {"matrix": [0, 5], "x": 11, "y": 0}, + {"matrix": [1, 6], "x": 12, "y": 0}, + {"matrix": [0, 6], "x": 13, "y": 0}, + {"matrix": [1, 7], "x": 14, "y": 0}, + {"matrix": [0, 7], "x": 15.25, "y": 0}, + {"matrix": [1, 8], "x": 16.25, "y": 0}, + {"matrix": [0, 8], "x": 17.25, "y": 0}, + + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 7], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [2, 7], "x": 15.25, "y": 1}, + {"matrix": [3, 8], "x": 16.25, "y": 1}, + {"matrix": [2, 8], "x": 17.25, "y": 1}, + + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 7], "x": 14, "y": 3}, + {"matrix": [6, 8], "x": 16.25, "y": 3}, + + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [9, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [8, 5], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [9, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [8, 6], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [9, 7], "x": 13.75, "y": 4, "w": 1.25}, + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 8], "x": 16.25, "y": 4}, + {"matrix": [8, 8], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_ansi_tsangan": { + "layout": [ + {"matrix": [1, 0], "x": 0, "y": 0}, + {"matrix": [0, 0], "x": 1, "y": 0}, + {"matrix": [1, 1], "x": 2, "y": 0}, + {"matrix": [0, 1], "x": 3, "y": 0}, + {"matrix": [1, 2], "x": 4, "y": 0}, + {"matrix": [0, 2], "x": 5, "y": 0}, + {"matrix": [1, 3], "x": 6, "y": 0}, + {"matrix": [0, 3], "x": 7, "y": 0}, + {"matrix": [1, 4], "x": 8, "y": 0}, + {"matrix": [0, 4], "x": 9, "y": 0}, + {"matrix": [1, 5], "x": 10, "y": 0}, + {"matrix": [0, 5], "x": 11, "y": 0}, + {"matrix": [1, 6], "x": 12, "y": 0}, + {"matrix": [0, 6], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 7], "x": 15.25, "y": 0}, + {"matrix": [1, 8], "x": 16.25, "y": 0}, + {"matrix": [0, 8], "x": 17.25, "y": 0}, + + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 7], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [2, 7], "x": 15.25, "y": 1}, + {"matrix": [3, 8], "x": 16.25, "y": 1}, + {"matrix": [2, 8], "x": 17.25, "y": 1}, + + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [6, 8], "x": 16.25, "y": 3}, + + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [9, 0], "x": 1.5, "y": 4}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [9, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [9, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [8, 6], "x": 12.5, "y": 4}, + {"matrix": [9, 7], "x": 13.5, "y": 4, "w": 1.5}, + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 8], "x": 16.25, "y": 4}, + {"matrix": [8, 8], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_ansi_tsangan_split_bs_rshift": { + "layout": [ + {"matrix": [1, 0], "x": 0, "y": 0}, + {"matrix": [0, 0], "x": 1, "y": 0}, + {"matrix": [1, 1], "x": 2, "y": 0}, + {"matrix": [0, 1], "x": 3, "y": 0}, + {"matrix": [1, 2], "x": 4, "y": 0}, + {"matrix": [0, 2], "x": 5, "y": 0}, + {"matrix": [1, 3], "x": 6, "y": 0}, + {"matrix": [0, 3], "x": 7, "y": 0}, + {"matrix": [1, 4], "x": 8, "y": 0}, + {"matrix": [0, 4], "x": 9, "y": 0}, + {"matrix": [1, 5], "x": 10, "y": 0}, + {"matrix": [0, 5], "x": 11, "y": 0}, + {"matrix": [1, 6], "x": 12, "y": 0}, + {"matrix": [0, 6], "x": 13, "y": 0}, + {"matrix": [1, 7], "x": 14, "y": 0}, + {"matrix": [0, 7], "x": 15.25, "y": 0}, + {"matrix": [1, 8], "x": 16.25, "y": 0}, + {"matrix": [0, 8], "x": 17.25, "y": 0}, + + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 7], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [2, 7], "x": 15.25, "y": 1}, + {"matrix": [3, 8], "x": 16.25, "y": 1}, + {"matrix": [2, 8], "x": 17.25, "y": 1}, + + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 7], "x": 14, "y": 3}, + {"matrix": [6, 8], "x": 16.25, "y": 3}, + + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [9, 0], "x": 1.5, "y": 4}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [9, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [9, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [8, 6], "x": 12.5, "y": 4}, + {"matrix": [9, 7], "x": 13.5, "y": 4, "w": 1.5}, + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 8], "x": 16.25, "y": 4}, + {"matrix": [8, 8], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_ansi_wkl": { + "layout": [ + {"matrix": [1, 0], "x": 0, "y": 0}, + {"matrix": [0, 0], "x": 1, "y": 0}, + {"matrix": [1, 1], "x": 2, "y": 0}, + {"matrix": [0, 1], "x": 3, "y": 0}, + {"matrix": [1, 2], "x": 4, "y": 0}, + {"matrix": [0, 2], "x": 5, "y": 0}, + {"matrix": [1, 3], "x": 6, "y": 0}, + {"matrix": [0, 3], "x": 7, "y": 0}, + {"matrix": [1, 4], "x": 8, "y": 0}, + {"matrix": [0, 4], "x": 9, "y": 0}, + {"matrix": [1, 5], "x": 10, "y": 0}, + {"matrix": [0, 5], "x": 11, "y": 0}, + {"matrix": [1, 6], "x": 12, "y": 0}, + {"matrix": [0, 6], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 7], "x": 15.25, "y": 0}, + {"matrix": [1, 8], "x": 16.25, "y": 0}, + {"matrix": [0, 8], "x": 17.25, "y": 0}, + + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 7], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [2, 7], "x": 15.25, "y": 1}, + {"matrix": [3, 8], "x": 16.25, "y": 1}, + {"matrix": [2, 8], "x": 17.25, "y": 1}, + + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [6, 8], "x": 16.25, "y": 3}, + + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [9, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [9, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [9, 7], "x": 13.5, "y": 4, "w": 1.5}, + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 8], "x": 16.25, "y": 4}, + {"matrix": [8, 8], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_ansi_wkl_split_bs_rshift": { + "layout": [ + {"matrix": [1, 0], "x": 0, "y": 0}, + {"matrix": [0, 0], "x": 1, "y": 0}, + {"matrix": [1, 1], "x": 2, "y": 0}, + {"matrix": [0, 1], "x": 3, "y": 0}, + {"matrix": [1, 2], "x": 4, "y": 0}, + {"matrix": [0, 2], "x": 5, "y": 0}, + {"matrix": [1, 3], "x": 6, "y": 0}, + {"matrix": [0, 3], "x": 7, "y": 0}, + {"matrix": [1, 4], "x": 8, "y": 0}, + {"matrix": [0, 4], "x": 9, "y": 0}, + {"matrix": [1, 5], "x": 10, "y": 0}, + {"matrix": [0, 5], "x": 11, "y": 0}, + {"matrix": [1, 6], "x": 12, "y": 0}, + {"matrix": [0, 6], "x": 13, "y": 0}, + {"matrix": [1, 7], "x": 14, "y": 0}, + {"matrix": [0, 7], "x": 15.25, "y": 0}, + {"matrix": [1, 8], "x": 16.25, "y": 0}, + {"matrix": [0, 8], "x": 17.25, "y": 0}, + + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 7], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [2, 7], "x": 15.25, "y": 1}, + {"matrix": [3, 8], "x": 16.25, "y": 1}, + {"matrix": [2, 8], "x": 17.25, "y": 1}, + + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 7], "x": 14, "y": 3}, + {"matrix": [6, 8], "x": 16.25, "y": 3}, + + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [9, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [9, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [9, 7], "x": 13.5, "y": 4, "w": 1.5}, + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 8], "x": 16.25, "y": 4}, + {"matrix": [8, 8], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_iso": { + "layout": [ + {"matrix": [1, 0], "x": 0, "y": 0}, + {"matrix": [0, 0], "x": 1, "y": 0}, + {"matrix": [1, 1], "x": 2, "y": 0}, + {"matrix": [0, 1], "x": 3, "y": 0}, + {"matrix": [1, 2], "x": 4, "y": 0}, + {"matrix": [0, 2], "x": 5, "y": 0}, + {"matrix": [1, 3], "x": 6, "y": 0}, + {"matrix": [0, 3], "x": 7, "y": 0}, + {"matrix": [1, 4], "x": 8, "y": 0}, + {"matrix": [0, 4], "x": 9, "y": 0}, + {"matrix": [1, 5], "x": 10, "y": 0}, + {"matrix": [0, 5], "x": 11, "y": 0}, + {"matrix": [1, 6], "x": 12, "y": 0}, + {"matrix": [0, 6], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 7], "x": 15.25, "y": 0}, + {"matrix": [1, 8], "x": 16.25, "y": 0}, + {"matrix": [0, 8], "x": 17.25, "y": 0}, + + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [2, 7], "x": 15.25, "y": 1}, + {"matrix": [3, 8], "x": 16.25, "y": 1}, + {"matrix": [2, 8], "x": 17.25, "y": 1}, + + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [3, 7], "x": 12.75, "y": 2}, + {"matrix": [4, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [6, 8], "x": 16.25, "y": 3}, + + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [9, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [8, 5], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [9, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [8, 6], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [9, 7], "x": 13.75, "y": 4, "w": 1.25}, + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 8], "x": 16.25, "y": 4}, + {"matrix": [8, 8], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_iso_split_bs_rshift": { + "layout": [ + {"matrix": [1, 0], "x": 0, "y": 0}, + {"matrix": [0, 0], "x": 1, "y": 0}, + {"matrix": [1, 1], "x": 2, "y": 0}, + {"matrix": [0, 1], "x": 3, "y": 0}, + {"matrix": [1, 2], "x": 4, "y": 0}, + {"matrix": [0, 2], "x": 5, "y": 0}, + {"matrix": [1, 3], "x": 6, "y": 0}, + {"matrix": [0, 3], "x": 7, "y": 0}, + {"matrix": [1, 4], "x": 8, "y": 0}, + {"matrix": [0, 4], "x": 9, "y": 0}, + {"matrix": [1, 5], "x": 10, "y": 0}, + {"matrix": [0, 5], "x": 11, "y": 0}, + {"matrix": [1, 6], "x": 12, "y": 0}, + {"matrix": [0, 6], "x": 13, "y": 0}, + {"matrix": [1, 7], "x": 14, "y": 0}, + {"matrix": [0, 7], "x": 15.25, "y": 0}, + {"matrix": [1, 8], "x": 16.25, "y": 0}, + {"matrix": [0, 8], "x": 17.25, "y": 0}, + + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [2, 7], "x": 15.25, "y": 1}, + {"matrix": [3, 8], "x": 16.25, "y": 1}, + {"matrix": [2, 8], "x": 17.25, "y": 1}, + + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [3, 7], "x": 12.75, "y": 2}, + {"matrix": [4, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 7], "x": 14, "y": 3}, + {"matrix": [6, 8], "x": 16.25, "y": 3}, + + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [9, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [8, 5], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [9, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [8, 6], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [9, 7], "x": 13.75, "y": 4, "w": 1.25}, + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 8], "x": 16.25, "y": 4}, + {"matrix": [8, 8], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_iso_tsangan": { + "layout": [ + {"matrix": [1, 0], "x": 0, "y": 0}, + {"matrix": [0, 0], "x": 1, "y": 0}, + {"matrix": [1, 1], "x": 2, "y": 0}, + {"matrix": [0, 1], "x": 3, "y": 0}, + {"matrix": [1, 2], "x": 4, "y": 0}, + {"matrix": [0, 2], "x": 5, "y": 0}, + {"matrix": [1, 3], "x": 6, "y": 0}, + {"matrix": [0, 3], "x": 7, "y": 0}, + {"matrix": [1, 4], "x": 8, "y": 0}, + {"matrix": [0, 4], "x": 9, "y": 0}, + {"matrix": [1, 5], "x": 10, "y": 0}, + {"matrix": [0, 5], "x": 11, "y": 0}, + {"matrix": [1, 6], "x": 12, "y": 0}, + {"matrix": [0, 6], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 7], "x": 15.25, "y": 0}, + {"matrix": [1, 8], "x": 16.25, "y": 0}, + {"matrix": [0, 8], "x": 17.25, "y": 0}, + + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [2, 7], "x": 15.25, "y": 1}, + {"matrix": [3, 8], "x": 16.25, "y": 1}, + {"matrix": [2, 8], "x": 17.25, "y": 1}, + + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [3, 7], "x": 12.75, "y": 2}, + {"matrix": [4, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [6, 8], "x": 16.25, "y": 3}, + + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [9, 0], "x": 1.5, "y": 4}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [9, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [9, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [8, 6], "x": 12.5, "y": 4}, + {"matrix": [9, 7], "x": 13.5, "y": 4, "w": 1.5}, + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 8], "x": 16.25, "y": 4}, + {"matrix": [8, 8], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_iso_tsangan_split_bs_rshift": { + "layout": [ + {"matrix": [1, 0], "x": 0, "y": 0}, + {"matrix": [0, 0], "x": 1, "y": 0}, + {"matrix": [1, 1], "x": 2, "y": 0}, + {"matrix": [0, 1], "x": 3, "y": 0}, + {"matrix": [1, 2], "x": 4, "y": 0}, + {"matrix": [0, 2], "x": 5, "y": 0}, + {"matrix": [1, 3], "x": 6, "y": 0}, + {"matrix": [0, 3], "x": 7, "y": 0}, + {"matrix": [1, 4], "x": 8, "y": 0}, + {"matrix": [0, 4], "x": 9, "y": 0}, + {"matrix": [1, 5], "x": 10, "y": 0}, + {"matrix": [0, 5], "x": 11, "y": 0}, + {"matrix": [1, 6], "x": 12, "y": 0}, + {"matrix": [0, 6], "x": 13, "y": 0}, + {"matrix": [1, 7], "x": 14, "y": 0}, + {"matrix": [0, 7], "x": 15.25, "y": 0}, + {"matrix": [1, 8], "x": 16.25, "y": 0}, + {"matrix": [0, 8], "x": 17.25, "y": 0}, + + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [2, 7], "x": 15.25, "y": 1}, + {"matrix": [3, 8], "x": 16.25, "y": 1}, + {"matrix": [2, 8], "x": 17.25, "y": 1}, + + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [3, 7], "x": 12.75, "y": 2}, + {"matrix": [4, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 7], "x": 14, "y": 3}, + {"matrix": [6, 8], "x": 16.25, "y": 3}, + + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [9, 0], "x": 1.5, "y": 4}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [9, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [9, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [8, 6], "x": 12.5, "y": 4}, + {"matrix": [9, 7], "x": 13.5, "y": 4, "w": 1.5}, + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 8], "x": 16.25, "y": 4}, + {"matrix": [8, 8], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_iso_wkl": { + "layout": [ + {"matrix": [1, 0], "x": 0, "y": 0}, + {"matrix": [0, 0], "x": 1, "y": 0}, + {"matrix": [1, 1], "x": 2, "y": 0}, + {"matrix": [0, 1], "x": 3, "y": 0}, + {"matrix": [1, 2], "x": 4, "y": 0}, + {"matrix": [0, 2], "x": 5, "y": 0}, + {"matrix": [1, 3], "x": 6, "y": 0}, + {"matrix": [0, 3], "x": 7, "y": 0}, + {"matrix": [1, 4], "x": 8, "y": 0}, + {"matrix": [0, 4], "x": 9, "y": 0}, + {"matrix": [1, 5], "x": 10, "y": 0}, + {"matrix": [0, 5], "x": 11, "y": 0}, + {"matrix": [1, 6], "x": 12, "y": 0}, + {"matrix": [0, 6], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 7], "x": 15.25, "y": 0}, + {"matrix": [1, 8], "x": 16.25, "y": 0}, + {"matrix": [0, 8], "x": 17.25, "y": 0}, + + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [2, 7], "x": 15.25, "y": 1}, + {"matrix": [3, 8], "x": 16.25, "y": 1}, + {"matrix": [2, 8], "x": 17.25, "y": 1}, + + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [3, 7], "x": 12.75, "y": 2}, + {"matrix": [4, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [6, 8], "x": 16.25, "y": 3}, + + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [9, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [9, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [9, 7], "x": 13.5, "y": 4, "w": 1.5}, + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 8], "x": 16.25, "y": 4}, + {"matrix": [8, 8], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_iso_wkl_split_bs_rshift": { + "layout": [ + {"matrix": [1, 0], "x": 0, "y": 0}, + {"matrix": [0, 0], "x": 1, "y": 0}, + {"matrix": [1, 1], "x": 2, "y": 0}, + {"matrix": [0, 1], "x": 3, "y": 0}, + {"matrix": [1, 2], "x": 4, "y": 0}, + {"matrix": [0, 2], "x": 5, "y": 0}, + {"matrix": [1, 3], "x": 6, "y": 0}, + {"matrix": [0, 3], "x": 7, "y": 0}, + {"matrix": [1, 4], "x": 8, "y": 0}, + {"matrix": [0, 4], "x": 9, "y": 0}, + {"matrix": [1, 5], "x": 10, "y": 0}, + {"matrix": [0, 5], "x": 11, "y": 0}, + {"matrix": [1, 6], "x": 12, "y": 0}, + {"matrix": [0, 6], "x": 13, "y": 0}, + {"matrix": [1, 7], "x": 14, "y": 0}, + {"matrix": [0, 7], "x": 15.25, "y": 0}, + {"matrix": [1, 8], "x": 16.25, "y": 0}, + {"matrix": [0, 8], "x": 17.25, "y": 0}, + + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [2, 7], "x": 15.25, "y": 1}, + {"matrix": [3, 8], "x": 16.25, "y": 1}, + {"matrix": [2, 8], "x": 17.25, "y": 1}, + + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [3, 7], "x": 12.75, "y": 2}, + {"matrix": [4, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 7], "x": 14, "y": 3}, + {"matrix": [6, 8], "x": 16.25, "y": 3}, + + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [9, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [9, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [9, 7], "x": 13.5, "y": 4, "w": 1.5}, + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 8], "x": 16.25, "y": 4}, + {"matrix": [8, 8], "x": 17.25, "y": 4} + ] + } } } diff --git a/keyboards/dnworks/frltkl/keymaps/default/keymap.c b/keyboards/dnworks/frltkl/keymaps/default/keymap.c index 295066696d4..d761ce63a7a 100644 --- a/keyboards/dnworks/frltkl/keymaps/default/keymap.c +++ b/keyboards/dnworks/frltkl/keymaps/default/keymap.c @@ -17,14 +17,14 @@ along with this program. If not, see . const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT( +[0] = LAYOUT_all( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSLS, 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_BSLS, 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_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_UP, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT), -[1] = LAYOUT( +[1] = LAYOUT_all( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/dnworks/frltkl/keymaps/via/keymap.c b/keyboards/dnworks/frltkl/keymaps/via/keymap.c index 295066696d4..d761ce63a7a 100644 --- a/keyboards/dnworks/frltkl/keymaps/via/keymap.c +++ b/keyboards/dnworks/frltkl/keymaps/via/keymap.c @@ -17,14 +17,14 @@ along with this program. If not, see . const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT( +[0] = LAYOUT_all( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSLS, 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_BSLS, 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_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_UP, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT), -[1] = LAYOUT( +[1] = LAYOUT_all( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/dnworks/frltkl/matrix_diagram.md b/keyboards/dnworks/frltkl/matrix_diagram.md new file mode 100644 index 00000000000..6a0cbe43eda --- /dev/null +++ b/keyboards/dnworks/frltkl/matrix_diagram.md @@ -0,0 +1,21 @@ +# Matrix Diagram for dnworks DN FRLTKL + +``` +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ ┌───────┐ +│10 │00 │11 │01 │12 │02 │13 │03 │14 │04 │15 │05 │16 │06 │17 ││07 │18 │08 │ │06 │ 2u Backspace +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ └─┬─────┤ +│20 │30 │21 │31 │22 │32 │23 │33 │24 │34 │25 │35 │26 │37 ││27 │38 │28 │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ ┌──┴┐46 │ ISO Enter +│40 │50 │41 │51 │42 │52 │43 │53 │44 │54 │45 │55 │46 │ │37 │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ └───┴────┘ +│60 │70 │61 │71 │62 │72 │63 │73 │64 │74 │65 │75 │66 │77 │ │68 │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───┐ +│80 │90 │81 │93 │85 │95 │86 │97 ││87 │98 │88 │ +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ +┌────────┐ ┌──────────┐ +│60 │ 2.25u LShift 2.75u RShift │66 │ +└────────┘ └──────────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ +│80 │90 │81 │93 │95 │86 │97 │ Tsangan/WKL +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +``` From 3561c3a1f93d107057f76b8fba8bd4547da2d542 Mon Sep 17 00:00:00 2001 From: Falco Gerritsjans Date: Mon, 11 Sep 2023 22:43:16 +0200 Subject: [PATCH 023/144] Repair malformed links in keyboard README files (#21969) --- keyboards/alpine65/readme.md | 2 +- keyboards/pkb65/readme.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/alpine65/readme.md b/keyboards/alpine65/readme.md index 0be4396176f..6ae9f03e6dc 100644 --- a/keyboards/alpine65/readme.md +++ b/keyboards/alpine65/readme.md @@ -4,7 +4,7 @@ This is the QMK firmware repository for the Alpine65, a 65% hotswap keyboard designed by Bitmap Designs and Gondolindrim. -The Alpine65 has entered GB and sucessfully finalized in november 2020; there is no further way to buy an Alpine65 other than the secondhand market. The IC page for the keyboard can be found [here](https://https://geekhack.org/index.php?topic=106974). +The Alpine65 has entered GB and sucessfully finalized in november 2020; there is no further way to buy an Alpine65 other than the secondhand market. The IC page for the keyboard can be found [here](https://geekhack.org/index.php?topic=106974). ## How to compile diff --git a/keyboards/pkb65/readme.md b/keyboards/pkb65/readme.md index b47552da0f5..a7dce94a4f5 100644 --- a/keyboards/pkb65/readme.md +++ b/keyboards/pkb65/readme.md @@ -6,7 +6,7 @@ A regular 65% layout keyboard. This will be the default layout flashed for all p Made and sold by MCKeebs. [More info on MCKeebDeisgn](https://www.mckeebdesign.com) * Keyboard Maintainer: [MCKeebs](https://github.com/chrisquocmai) -* Hardware Supported: [PKB65 PCB](https://https://mckeebdesign.com/PKB65/) +* Hardware Supported: [PKB65 PCB](https://mckeebdesign.com/PKB65/) * Hardware Availability: [PKB65](https://mckeebdesign.com/PKB65/) Make example for this keyboard (after setting up your build environment: From 62105b5c07971387026e676815a8358c9833149e Mon Sep 17 00:00:00 2001 From: Dasky <32983009+daskygit@users.noreply.github.com> Date: Tue, 12 Sep 2023 02:55:05 +0100 Subject: [PATCH 024/144] Remove oversize binaries (#21976) This stops a situation where a user could end up flashing oversize firmware soft bricking hardware. --- builddefs/common_rules.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/builddefs/common_rules.mk b/builddefs/common_rules.mk index 5d635307edb..d20e9ad74d2 100644 --- a/builddefs/common_rules.mk +++ b/builddefs/common_rules.mk @@ -392,6 +392,8 @@ check-size: if [ $(MAX_SIZE) -gt 0 ] && [ $(CURRENT_SIZE) -gt 0 ]; then \ $(SILENT) || printf "$(MSG_CHECK_FILESIZE)" | $(AWK_CMD); \ if [ $(CURRENT_SIZE) -gt $(MAX_SIZE) ]; then \ + $(REMOVE) $(TARGET).$(FIRMWARE_FORMAT); \ + $(REMOVE) $(BUILD_DIR)/$(TARGET).{hex,bin,uf2}; \ printf "\n * $(MSG_FILE_TOO_BIG)"; $(PRINT_ERROR_PLAIN); \ else \ if [ $(FREE_SIZE) -lt $(SIZE_MARGIN) ]; then \ From 91e0e46e4a949080c0d203d4433170ce49d42ada Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue, 12 Sep 2023 12:57:45 -0700 Subject: [PATCH 025/144] Drewkeys Mercury65 Layout Additions (#21924) * Rename `LAYOUT` to `LAYOUT_all` [refactor] * Add layout/matrix diagram [docs] * Correct `LAYOUT_all` data Correct the order of the Up arrow and End keys. [enhancement] * Tidy-up `info.json` formatting - add line breaks between physical rows - remove trailing spaces [style] * Add `LAYOUT_iso_blocker_split_bs` [enhancement] * Add `LAYOUT_iso_blocker_tsangan_split_bs` [enhancement] * Add `LAYOUT_ansi_blocker_split_bs` [enhancement] * Add `LAYOUT_ansi_blocker_tsangan_split_bs` [enhancement] --- keyboards/drewkeys/mercury65/info.json | 449 +++++++++++++++--- .../mercury65/keymaps/default/keymap.c | 4 +- .../drewkeys/mercury65/keymaps/via/keymap.c | 4 +- .../drewkeys/mercury65/matrix_diagram.md | 25 + 4 files changed, 407 insertions(+), 75 deletions(-) create mode 100644 keyboards/drewkeys/mercury65/matrix_diagram.md diff --git a/keyboards/drewkeys/mercury65/info.json b/keyboards/drewkeys/mercury65/info.json index 93f7b2ec3bc..68fa52d8d37 100644 --- a/keyboards/drewkeys/mercury65/info.json +++ b/keyboards/drewkeys/mercury65/info.json @@ -21,79 +21,386 @@ "cols": ["B0", "B1", "B2", "B3", "B7", "D1", "D2", "D3", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "F5"], "rows": ["D5", "D4", "D6", "D0", "E6"] }, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, "layouts": { - "LAYOUT": { + "LAYOUT_all": { "layout": [ - {"matrix": [0, 0], "label":"`", "x":0, "y":0}, - {"matrix": [0, 1], "label":"!", "x":1, "y":0}, - {"matrix": [0, 2], "label":"@", "x":2, "y":0}, - {"matrix": [0, 3], "label":"#", "x":3, "y":0}, - {"matrix": [0, 4], "label":"$", "x":4, "y":0}, - {"matrix": [0, 5], "label":"%", "x":5, "y":0}, - {"matrix": [0, 6], "label":"^", "x":6, "y":0}, - {"matrix": [0, 7], "label":"&", "x":7, "y":0}, - {"matrix": [0, 8], "label":"*", "x":8, "y":0}, - {"matrix": [0, 9], "label":"(", "x":9, "y":0}, - {"matrix": [0, 10], "label":")", "x":10, "y":0}, - {"matrix": [0, 11], "label":"_", "x":11, "y":0}, - {"matrix": [0, 12], "label":"+", "x":12, "y":0}, - {"matrix": [0, 13], "label":"Del", "x":13, "y":0}, - {"matrix": [0, 14], "label":"Bsp", "x":14, "y":0}, - {"matrix": [1, 0], "label":"Tab", "x":0, "y":1, "w":1.5}, - {"matrix": [1, 2], "label":"Q", "x":1.5, "y":1}, - {"matrix": [1, 3], "label":"W", "x":2.5, "y":1}, - {"matrix": [1, 4], "label":"E", "x":3.5, "y":1}, - {"matrix": [1, 5], "label":"R", "x":4.5, "y":1}, - {"matrix": [1, 6], "label":"T", "x":5.5, "y":1}, - {"matrix": [1, 7], "label":"Y", "x":6.5, "y":1}, - {"matrix": [1, 8], "label":"U", "x":7.5, "y":1}, - {"matrix": [1, 9], "label":"I", "x":8.5, "y":1}, - {"matrix": [1, 10], "label":"O", "x":9.5, "y":1}, - {"matrix": [1, 11], "label":"P", "x":10.5, "y":1}, - {"matrix": [1, 12], "label":"{", "x":11.5, "y":1}, - {"matrix": [1, 13], "label":"}", "x":12.5, "y":1}, - {"matrix": [1, 14], "label":"|", "x":13.5, "y":1, "w":1.5}, - {"matrix": [1, 16], "label":"PgUp", "x":15.5, "y":1}, - {"matrix": [2, 0], "label":"Caps Lock", "x":0, "y":2, "w":1.75}, - {"matrix": [2, 2], "label":"A", "x":1.75, "y":2}, - {"matrix": [2, 3], "label":"S", "x":2.75, "y":2}, - {"matrix": [2, 4], "label":"D", "x":3.75, "y":2}, - {"matrix": [2, 5], "label":"F", "x":4.75, "y":2}, - {"matrix": [2, 6], "label":"G", "x":5.75, "y":2}, - {"matrix": [2, 7], "label":"H", "x":6.75, "y":2}, - {"matrix": [2, 8], "label":"J", "x":7.75, "y":2}, - {"matrix": [2, 9], "label":"K", "x":8.75, "y":2}, - {"matrix": [2, 10], "label":"L", "x":9.75, "y":2}, - {"matrix": [2, 11], "label":":", "x":10.75, "y":2}, - {"matrix": [2, 12], "label":"@", "x":11.75, "y":2}, - {"matrix": [2, 13], "label":"ISO", "x":12.75, "y":2}, - {"matrix": [2, 14], "label":"Enter", "x":13.75, "y":2, "w":1.25}, - {"matrix": [2, 16], "label":"Home", "x":15.5, "y":2}, - {"matrix": [3, 0], "label":"Shift", "x":0, "y":3, "w":1.25}, - {"matrix": [3, 1], "label":"\\", "x":1.25, "y":3}, - {"matrix": [3, 2], "label":"Z", "x":2.25, "y":3}, - {"matrix": [3, 3], "label":"X", "x":3.25, "y":3}, - {"matrix": [3, 4], "label":"C", "x":4.25, "y":3}, - {"matrix": [3, 5], "label":"V", "x":5.25, "y":3}, - {"matrix": [3, 6], "label":"B", "x":6.25, "y":3}, - {"matrix": [3, 7], "label":"N", "x":7.25, "y":3}, - {"matrix": [3, 8], "label":"M", "x":8.25, "y":3}, - {"matrix": [3, 9], "label":"<", "x":9.25, "y":3}, - {"matrix": [3, 10], "label":">", "x":10.25, "y":3}, - {"matrix": [3, 11], "label":"?", "x":11.25, "y":3}, - {"matrix": [3, 13], "label":"Shift", "x":12.25, "y":3, "w":1.75}, - {"matrix": [3, 14], "label":"End", "x":15.5, "y":3}, - {"matrix": [3, 16], "label":"\u2191", "x":14.25, "y":3.25}, - {"matrix": [4, 0], "label":"Ctrl", "x":0, "y":4, "w":1.25}, - {"matrix": [4, 1], "label":"Win", "x":1.25, "y":4, "w":1.25}, - {"matrix": [4, 2], "label":"Alt", "x":2.5, "y":4, "w":1.25}, - {"matrix": [4, 6], "x":3.75, "y":4, "w":6.25}, - {"matrix": [4, 10], "label":"AltGr", "x":10, "y":4, "w":1.25}, - {"matrix": [4, 11], "label":"Win", "x":11.25, "y":4, "w":1.25}, - {"matrix": [4, 13], "label":"\u2190", "x":13.25, "y":4.25}, - {"matrix": [4, 14], "label":"\u2193", "x":14.25, "y":4.25}, - {"matrix": [4, 15], "label":"\u2192", "x":15.25, "y":4.25}] + {"matrix": [0, 0], "label":"`", "x":0, "y":0}, + {"matrix": [0, 1], "label":"!", "x":1, "y":0}, + {"matrix": [0, 2], "label":"@", "x":2, "y":0}, + {"matrix": [0, 3], "label":"#", "x":3, "y":0}, + {"matrix": [0, 4], "label":"$", "x":4, "y":0}, + {"matrix": [0, 5], "label":"%", "x":5, "y":0}, + {"matrix": [0, 6], "label":"^", "x":6, "y":0}, + {"matrix": [0, 7], "label":"&", "x":7, "y":0}, + {"matrix": [0, 8], "label":"*", "x":8, "y":0}, + {"matrix": [0, 9], "label":"(", "x":9, "y":0}, + {"matrix": [0, 10], "label":")", "x":10, "y":0}, + {"matrix": [0, 11], "label":"_", "x":11, "y":0}, + {"matrix": [0, 12], "label":"+", "x":12, "y":0}, + {"matrix": [0, 13], "label":"Del", "x":13, "y":0}, + {"matrix": [0, 14], "label":"Bsp", "x":14, "y":0}, + + {"matrix": [1, 0], "label":"Tab", "x":0, "y":1, "w":1.5}, + {"matrix": [1, 2], "label":"Q", "x":1.5, "y":1}, + {"matrix": [1, 3], "label":"W", "x":2.5, "y":1}, + {"matrix": [1, 4], "label":"E", "x":3.5, "y":1}, + {"matrix": [1, 5], "label":"R", "x":4.5, "y":1}, + {"matrix": [1, 6], "label":"T", "x":5.5, "y":1}, + {"matrix": [1, 7], "label":"Y", "x":6.5, "y":1}, + {"matrix": [1, 8], "label":"U", "x":7.5, "y":1}, + {"matrix": [1, 9], "label":"I", "x":8.5, "y":1}, + {"matrix": [1, 10], "label":"O", "x":9.5, "y":1}, + {"matrix": [1, 11], "label":"P", "x":10.5, "y":1}, + {"matrix": [1, 12], "label":"{", "x":11.5, "y":1}, + {"matrix": [1, 13], "label":"}", "x":12.5, "y":1}, + {"matrix": [1, 14], "label":"|", "x":13.5, "y":1, "w":1.5}, + {"matrix": [1, 16], "label":"PgUp", "x":15.5, "y":1}, + + {"matrix": [2, 0], "label":"Caps Lock", "x":0, "y":2, "w":1.75}, + {"matrix": [2, 2], "label":"A", "x":1.75, "y":2}, + {"matrix": [2, 3], "label":"S", "x":2.75, "y":2}, + {"matrix": [2, 4], "label":"D", "x":3.75, "y":2}, + {"matrix": [2, 5], "label":"F", "x":4.75, "y":2}, + {"matrix": [2, 6], "label":"G", "x":5.75, "y":2}, + {"matrix": [2, 7], "label":"H", "x":6.75, "y":2}, + {"matrix": [2, 8], "label":"J", "x":7.75, "y":2}, + {"matrix": [2, 9], "label":"K", "x":8.75, "y":2}, + {"matrix": [2, 10], "label":"L", "x":9.75, "y":2}, + {"matrix": [2, 11], "label":":", "x":10.75, "y":2}, + {"matrix": [2, 12], "label":"@", "x":11.75, "y":2}, + {"matrix": [2, 13], "label":"ISO", "x":12.75, "y":2}, + {"matrix": [2, 14], "label":"Enter", "x":13.75, "y":2, "w":1.25}, + {"matrix": [2, 16], "label":"Home", "x":15.5, "y":2}, + + {"matrix": [3, 0], "label":"Shift", "x":0, "y":3, "w":1.25}, + {"matrix": [3, 1], "label":"\\", "x":1.25, "y":3}, + {"matrix": [3, 2], "label":"Z", "x":2.25, "y":3}, + {"matrix": [3, 3], "label":"X", "x":3.25, "y":3}, + {"matrix": [3, 4], "label":"C", "x":4.25, "y":3}, + {"matrix": [3, 5], "label":"V", "x":5.25, "y":3}, + {"matrix": [3, 6], "label":"B", "x":6.25, "y":3}, + {"matrix": [3, 7], "label":"N", "x":7.25, "y":3}, + {"matrix": [3, 8], "label":"M", "x":8.25, "y":3}, + {"matrix": [3, 9], "label":"<", "x":9.25, "y":3}, + {"matrix": [3, 10], "label":">", "x":10.25, "y":3}, + {"matrix": [3, 11], "label":"?", "x":11.25, "y":3}, + {"matrix": [3, 13], "label":"Shift", "x":12.25, "y":3, "w":1.75}, + {"matrix": [3, 14], "label":"\u2191", "x":14.25, "y":3.25}, + {"matrix": [3, 16], "label":"End", "x":15.5, "y":3}, + + {"matrix": [4, 0], "label":"Ctrl", "x":0, "y":4, "w":1.25}, + {"matrix": [4, 1], "label":"Win", "x":1.25, "y":4, "w":1.25}, + {"matrix": [4, 2], "label":"Alt", "x":2.5, "y":4, "w":1.25}, + {"matrix": [4, 6], "x":3.75, "y":4, "w":6.25}, + {"matrix": [4, 10], "label":"AltGr", "x":10, "y":4, "w":1.25}, + {"matrix": [4, 11], "label":"Win", "x":11.25, "y":4, "w":1.25}, + {"matrix": [4, 13], "label":"\u2190", "x":13.25, "y":4.25}, + {"matrix": [4, 14], "label":"\u2193", "x":14.25, "y":4.25}, + {"matrix": [4, 15], "label":"\u2192", "x":15.25, "y":4.25} + ] + }, + "LAYOUT_ansi_blocker_split_bs": { + "layout": [ + {"label": "`", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "-", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "=", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Del", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Bsp", "matrix": [0, 14], "x": 14, "y": 0}, + + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 2], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 3], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 4], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 5], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 6], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 7], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 8], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 9], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 10], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 11], "x": 10.5, "y": 1}, + {"label": "[", "matrix": [1, 12], "x": 11.5, "y": 1}, + {"label": "]", "matrix": [1, 13], "x": 12.5, "y": 1}, + {"label": "\\", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "PgUp", "matrix": [1, 16], "x": 15.5, "y": 1}, + + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 2], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 3], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 4], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 5], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 6], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 7], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 8], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 9], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 10], "x": 9.75, "y": 2}, + {"label": ";", "matrix": [2, 11], "x": 10.75, "y": 2}, + {"label": "'", "matrix": [2, 12], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 14], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Home", "matrix": [2, 16], "x": 15.5, "y": 2}, + + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "/", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "\u2191", "matrix": [3, 14], "x": 14.25, "y": 3.25}, + {"label": "End", "matrix": [3, 16], "x": 15.5, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "AltGr", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "\u2190", "matrix": [4, 13], "x": 13.25, "y": 4.25}, + {"label": "\u2193", "matrix": [4, 14], "x": 14.25, "y": 4.25}, + {"label": "\u2192", "matrix": [4, 15], "x": 15.25, "y": 4.25} + ] + }, + "LAYOUT_ansi_blocker_tsangan_split_bs": { + "layout": [ + {"label": "`", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "-", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "=", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Del", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Bsp", "matrix": [0, 14], "x": 14, "y": 0}, + + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 2], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 3], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 4], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 5], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 6], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 7], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 8], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 9], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 10], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 11], "x": 10.5, "y": 1}, + {"label": "[", "matrix": [1, 12], "x": 11.5, "y": 1}, + {"label": "]", "matrix": [1, 13], "x": 12.5, "y": 1}, + {"label": "\\", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "PgUp", "matrix": [1, 16], "x": 15.5, "y": 1}, + + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 2], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 3], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 4], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 5], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 6], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 7], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 8], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 9], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 10], "x": 9.75, "y": 2}, + {"label": ";", "matrix": [2, 11], "x": 10.75, "y": 2}, + {"label": "'", "matrix": [2, 12], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 14], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Home", "matrix": [2, 16], "x": 15.5, "y": 2}, + + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "/", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "\u2191", "matrix": [3, 14], "x": 14.25, "y": 3.25}, + {"label": "End", "matrix": [3, 16], "x": 15.5, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "GUI", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"label": "GUI", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "\u2190", "matrix": [4, 13], "x": 13.25, "y": 4.25}, + {"label": "\u2193", "matrix": [4, 14], "x": 14.25, "y": 4.25}, + {"label": "\u2192", "matrix": [4, 15], "x": 15.25, "y": 4.25} + ] + }, + "LAYOUT_iso_blocker_split_bs": { + "layout": [ + {"label": "`", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "-", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "=", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Del", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Bsp", "matrix": [0, 14], "x": 14, "y": 0}, + + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 2], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 3], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 4], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 5], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 6], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 7], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 8], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 9], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 10], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 11], "x": 10.5, "y": 1}, + {"label": "[", "matrix": [1, 12], "x": 11.5, "y": 1}, + {"label": "]", "matrix": [1, 13], "x": 12.5, "y": 1}, + {"label": "PgUp", "matrix": [1, 16], "x": 15.5, "y": 1}, + + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 2], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 3], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 4], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 5], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 6], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 7], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 8], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 9], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 10], "x": 9.75, "y": 2}, + {"label": ";", "matrix": [2, 11], "x": 10.75, "y": 2}, + {"label": "'", "matrix": [2, 12], "x": 11.75, "y": 2}, + {"label": "#", "matrix": [2, 13], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "Home", "matrix": [2, 16], "x": 15.5, "y": 2}, + + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "\\", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "/", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "\u2191", "matrix": [3, 14], "x": 14.25, "y": 3.25}, + {"label": "End", "matrix": [3, 16], "x": 15.5, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "AltGr", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "\u2190", "matrix": [4, 13], "x": 13.25, "y": 4.25}, + {"label": "\u2193", "matrix": [4, 14], "x": 14.25, "y": 4.25}, + {"label": "\u2192", "matrix": [4, 15], "x": 15.25, "y": 4.25} + ] + }, + "LAYOUT_iso_blocker_tsangan_split_bs": { + "layout": [ + {"label": "`", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "-", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "=", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Del", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Bsp", "matrix": [0, 14], "x": 14, "y": 0}, + + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 2], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 3], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 4], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 5], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 6], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 7], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 8], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 9], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 10], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 11], "x": 10.5, "y": 1}, + {"label": "[", "matrix": [1, 12], "x": 11.5, "y": 1}, + {"label": "]", "matrix": [1, 13], "x": 12.5, "y": 1}, + {"label": "PgUp", "matrix": [1, 16], "x": 15.5, "y": 1}, + + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 2], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 3], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 4], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 5], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 6], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 7], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 8], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 9], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 10], "x": 9.75, "y": 2}, + {"label": ";", "matrix": [2, 11], "x": 10.75, "y": 2}, + {"label": "'", "matrix": [2, 12], "x": 11.75, "y": 2}, + {"label": "#", "matrix": [2, 13], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "Home", "matrix": [2, 16], "x": 15.5, "y": 2}, + + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "\\", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "/", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "\u2191", "matrix": [3, 14], "x": 14.25, "y": 3.25}, + {"label": "End", "matrix": [3, 16], "x": 15.5, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "GUI", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"label": "GUI", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "\u2190", "matrix": [4, 13], "x": 13.25, "y": 4.25}, + {"label": "\u2193", "matrix": [4, 14], "x": 14.25, "y": 4.25}, + {"label": "\u2192", "matrix": [4, 15], "x": 15.25, "y": 4.25} + ] } } - } diff --git a/keyboards/drewkeys/mercury65/keymaps/default/keymap.c b/keyboards/drewkeys/mercury65/keymaps/default/keymap.c index 2f9cc945c9d..c37dac5359c 100644 --- a/keyboards/drewkeys/mercury65/keymaps/default/keymap.c +++ b/keyboards/drewkeys/mercury65/keymaps/default/keymap.c @@ -26,7 +26,7 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base https://i.imgur.com/viQdtbB.png */ - [_BASE] = LAYOUT( + [_BASE] = LAYOUT_all( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGUP, @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT ), - [_FN] = LAYOUT( + [_FN] = LAYOUT_all( QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSLS, KC_BSPC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/drewkeys/mercury65/keymaps/via/keymap.c b/keyboards/drewkeys/mercury65/keymaps/via/keymap.c index 2af6a064f29..faa3cfc3ec0 100644 --- a/keyboards/drewkeys/mercury65/keymaps/via/keymap.c +++ b/keyboards/drewkeys/mercury65/keymaps/via/keymap.c @@ -26,7 +26,7 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base https://i.imgur.com/viQdtbB.png */ - [_BASE] = LAYOUT( + [_BASE] = LAYOUT_all( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGUP, @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT ), - [_FN1] = LAYOUT( + [_FN1] = LAYOUT_all( QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSLS, KC_BSPC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/drewkeys/mercury65/matrix_diagram.md b/keyboards/drewkeys/mercury65/matrix_diagram.md new file mode 100644 index 00000000000..32fd838a3e4 --- /dev/null +++ b/keyboards/drewkeys/mercury65/matrix_diagram.md @@ -0,0 +1,25 @@ +# Matrix Diagram for RocketKeyboards mercury65 + +``` + ┌───────┐ + 2u Backspace │?? │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ┌───┐ ┌─────┐ +│10 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │ │1G │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┤ ┌──┴┐2E │ ISO Enter +│20 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2E │ │2G │ │2D │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┤ └───┴────┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │┌───┐│3G │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─────┘│3E │└───┘ +│40 │41 │42 │46 │4A │4B │ ┌───┼───┼───┐ +└────┴────┴────┴────────────────────────┴────┴────┘ │4D │4E │4F │ + └───┴───┴───┘ +┌────────┐ +│30 │ 2.25u LShift +└────────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┐ +│40 │41 │42 │46 │4B │ Blocker Tsangan +└─────┴───┴─────┴───────────────────────────┴─────┘ +``` From 4468662d640c87bdfd830863bddf2e41fc782f89 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue, 12 Sep 2023 13:57:25 -0700 Subject: [PATCH 026/144] Gray Studio Think65 v3 Layout Additions (#21930) * Add layout/matrix diagram [docs] * Format `info.json` as strict JSON [style] * Add `LAYOUT_all` [enhancement] * Refactor keymaps to use `LAYOUT_all` Refactor the `default` and `via` keymaps to use the `LAYOUT_all` macro. - change second Left Shift key to `KC_NUBS` - insert `KC_NUHS` keycode - update keycode grid alignment - remove trailing whitespace [refactor] * Rename `LAYOUT_65_blocker` to `LAYOUT_ansi_blocker` [refactor] * Rename `LAYOUT_65_iso_blocker` to `LAYOUT_iso_blocker` [refactor] * Correct `LAYOUT_iso_blocker` matrix data The Quote key was mapped as [1, 14] instead of [2, 12]. [bugfix] * Add `LAYOUT_ansi_blocker_split_bs` [enhancement] * Add `LAYOUT_ansi_blocker_tsangan_split_bs` [enhancement] * Add `LAYOUT_ansi_blocker_tsangan` [enhancement] * Add `LAYOUT_iso_blocker_split_bs` [enhancement] * Add `LAYOUT_iso_blocker_tsangan_split_bs` [enhancement] * Add `LAYOUT_iso_blocker_tsangan` [enhancement] --- keyboards/gray_studio/think65v3/info.json | 949 ++++++++++++++---- .../think65v3/keymaps/default/keymap.c | 16 +- .../think65v3/keymaps/via/keymap.c | 16 +- .../gray_studio/think65v3/matrix_diagram.md | 24 + 4 files changed, 775 insertions(+), 230 deletions(-) create mode 100644 keyboards/gray_studio/think65v3/matrix_diagram.md diff --git a/keyboards/gray_studio/think65v3/info.json b/keyboards/gray_studio/think65v3/info.json index 0fbab667d44..8fba691fa48 100644 --- a/keyboards/gray_studio/think65v3/info.json +++ b/keyboards/gray_studio/think65v3/info.json @@ -2,13 +2,13 @@ "keyboard_name": "think65v3", "url": "https://graystudio.club/products/testthink6-5-v3", "maintainer": "edwardslau", - "manufacturer":"GrayStudio", + "manufacturer": "GrayStudio", "processor": "STM32F072", "diode_direction": "COL2ROW", "bootloader": "stm32-dfu", - "usb": { - "vid":"0x4753", - "pid":"0x4003", + "usb": { + "vid": "0x4753", + "pid": "0x4003", "device_version": "0.0.3" }, "features": { @@ -22,19 +22,19 @@ }, "ws2812": { "pin": "B10" - } + }, "matrix_pins": { "cols": ["A3", "A5", "A4", "B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15", "B0", "A8", "B15", "B14", "B13"], "rows": ["A6", "B12", "A2", "A0", "A1"] }, -"rgblight": { - "led_count": 6, - "sleep": true, - "max_brightness": 150, - "layers": { - "enabled": true - "override_rgb": true - }, + "rgblight": { + "led_count": 6, + "sleep": true, + "max_brightness": 150, + "layers": { + "enabled": true, + "override_rgb": true + }, "animations": { "alternating": true, "breathing": true, @@ -47,228 +47,749 @@ "static_gradient": true, "twinkle": true } - }, + }, + "layout_aliases": { + "LAYOUT_65_blocker": "LAYOUT_ansi_blocker", + "LAYOUT_65_iso_blocker": "LAYOUT_iso_blocker" + }, "layouts": { + "LAYOUT_all": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 14], "x": 13.75, "y": 2, "w": 1.25}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.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, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, "LAYOUT": { "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": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15, "y": 0}, - {"matrix": [1,0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1,2], "x": 1.5, "y": 1}, - {"matrix": [1,3], "x": 2.5, "y": 1}, - {"matrix": [1,4], "x": 3.5, "y": 1}, - {"matrix": [1,5], "x": 4.5, "y": 1}, - {"matrix": [1,6], "x": 5.5, "y": 1}, - {"matrix": [1,7], "x": 6.5, "y": 1}, - {"matrix": [1,8], "x": 7.5, "y": 1}, - {"matrix": [1,9], "x": 8.5, "y": 1}, - {"matrix": [1,10],"x": 9.5, "y": 1}, - {"matrix": [1,11],"x": 10.5, "y": 1}, - {"matrix": [1,12],"x": 11.5, "y": 1}, - {"matrix": [1,13],"x": 12.5, "y": 1}, - {"matrix": [1,14],"x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [1,15],"x": 15, "y": 1}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15, "y": 1}, - {"matrix": [2,0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2,2], "x": 1.75, "y": 2}, - {"matrix": [2,3], "x": 2.75, "y": 2}, - {"matrix": [2,4], "x": 3.75, "y": 2}, - {"matrix": [2,5], "x": 4.75, "y": 2}, - {"matrix": [2,6], "x": 5.75, "y": 2}, - {"matrix": [2,7], "x": 6.75, "y": 2}, - {"matrix": [2,8], "x": 7.75, "y": 2}, - {"matrix": [2,9], "x": 8.75, "y": 2}, - {"matrix": [2,10],"x": 9.75, "y": 2}, - {"matrix": [2,11],"x": 10.75, "y": 2}, - {"matrix": [2,12],"x": 11.75, "y": 2}, - {"matrix": [2,13],"x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3,0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3,1], "x": 1.25, "y": 3}, - {"matrix": [3,2], "x": 2.25, "y": 3}, - {"matrix": [3,3], "x": 3.25, "y": 3}, - {"matrix": [3,4], "x": 4.25, "y": 3}, - {"matrix": [3,5], "x": 5.25, "y": 3}, - {"matrix": [3,6], "x": 6.25, "y": 3}, - {"matrix": [3,7], "x": 7.25, "y": 3}, - {"matrix": [3,8], "x": 8.25, "y": 3}, - {"matrix": [3,9],"x": 9.25, "y": 3}, - {"matrix": [3,10],"x": 10.25, "y": 3}, - {"matrix": [3,11],"x": 11.25, "y": 3}, - {"matrix": [3,13],"x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3,14],"x": 14, "y": 3}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, - {"matrix": [4,0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [4,1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [4,2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [4,7], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4,10],"x": 10, "y": 4, "w": 1.25}, - {"matrix": [4,11],"x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4,13],"x": 13, "y": 4}, - {"matrix": [4,14],"x": 14, "y": 4}, - {"matrix": [4,15],"x": 15, "y": 4} + {"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, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} ] }, - "LAYOUT_65_blocker": { + "LAYOUT_ansi_blocker": { "layout": [ - {"matrix": [0,0], "x": 0, "y": 0}, - {"matrix": [0,1], "x": 1, "y": 0}, - {"matrix": [0,2], "x": 2, "y": 0}, - {"matrix": [0,3], "x": 3, "y": 0}, - {"matrix": [0,4], "x": 4, "y": 0}, - {"matrix": [0,5], "x": 5, "y": 0}, - {"matrix": [0,6], "x": 6, "y": 0}, - {"matrix": [0,7], "x": 7, "y": 0}, - {"matrix": [0,8], "x": 8, "y": 0}, - {"matrix": [0,9], "x": 9, "y": 0}, - {"matrix": [0,10],"x": 10, "y": 0}, - {"matrix": [0,11],"x": 11, "y": 0}, - {"matrix": [0,12],"x": 12, "y": 0}, - {"matrix": [0,13],"x": 13, "y": 0, "w": 2}, - {"matrix": [0,15],"x": 15, "y": 0}, + {"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, "w": 2}, + {"matrix": [0, 15], "x": 15, "y": 0}, - {"matrix": [1,0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1,2], "x": 1.5, "y": 1}, - {"matrix": [1,3], "x": 2.5, "y": 1}, - {"matrix": [1,4], "x": 3.5, "y": 1}, - {"matrix": [1,5], "x": 4.5, "y": 1}, - {"matrix": [1,6], "x": 5.5, "y": 1}, - {"matrix": [1,7], "x": 6.5, "y": 1}, - {"matrix": [1,8], "x": 7.5, "y": 1}, - {"matrix": [1,9], "x": 8.5, "y": 1}, - {"matrix": [1,10],"x": 9.5, "y": 1}, - {"matrix": [1,11],"x": 10.5, "y": 1}, - {"matrix": [1,12],"x": 11.5, "y": 1}, - {"matrix": [1,13],"x": 12.5, "y": 1}, - {"matrix": [1,14],"x": 13.5, "y": 1, "w": 1.5}, - {"matrix": [1,15],"x": 15, "y": 1}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15, "y": 1}, - {"matrix": [2,0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2,2], "x": 1.75, "y": 2}, - {"matrix": [2,3], "x": 2.75, "y": 2}, - {"matrix": [2,4], "x": 3.75, "y": 2}, - {"matrix": [2,5], "x": 4.75, "y": 2}, - {"matrix": [2,6], "x": 5.75, "y": 2}, - {"matrix": [2,7], "x": 6.75, "y": 2}, - {"matrix": [2,8], "x": 7.75, "y": 2}, - {"matrix": [2,9], "x": 8.75, "y": 2}, - {"matrix": [2,10],"x": 9.75, "y": 2}, - {"matrix": [2,11],"x": 10.75, "y": 2}, - {"matrix": [2,12],"x": 11.75, "y": 2}, - {"matrix": [2,13],"x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3,0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [3,2], "x": 2.25, "y": 3}, - {"matrix": [3,3], "x": 3.25, "y": 3}, - {"matrix": [3,4], "x": 4.25, "y": 3}, - {"matrix": [3,5], "x": 5.25, "y": 3}, - {"matrix": [3,6], "x": 6.25, "y": 3}, - {"matrix": [3,7], "x": 7.25, "y": 3}, - {"matrix": [3,8], "x": 8.25, "y": 3}, - {"matrix": [3,9], "x": 9.25, "y": 3}, - {"matrix": [3,10],"x": 10.25, "y": 3}, - {"matrix": [3,11],"x": 11.25, "y": 3}, - {"matrix": [3,13],"x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3,14],"x": 14, "y": 3}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, - {"matrix": [4,0], "x": 0, "y": 4, "w": 1.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,7], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4,10],"x": 10, "y": 4, "w": 1.25}, - {"matrix": [4,11],"x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4,13],"x": 13, "y": 4}, - {"matrix": [4,14],"x": 14, "y": 4}, - {"matrix": [4,15],"x": 15, "y": 4} + {"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, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} ] }, - "LAYOUT_65_iso_blocker": { + "LAYOUT_ansi_blocker_split_bs": { "layout": [ - {"matrix": [0,0], "x": 0, "y": 0}, - {"matrix": [0,1], "x": 1, "y": 0}, - {"matrix": [0,2], "x": 2, "y": 0}, - {"matrix": [0,3], "x": 3, "y": 0}, - {"matrix": [0,4], "x": 4, "y": 0}, - {"matrix": [0,5], "x": 5, "y": 0}, - {"matrix": [0,6], "x": 6, "y": 0}, - {"matrix": [0,7], "x": 7, "y": 0}, - {"matrix": [0,8], "x": 8, "y": 0}, - {"matrix": [0,9], "x": 9, "y": 0}, - {"matrix": [0,10],"x": 10, "y": 0}, - {"matrix": [0,11],"x": 11, "y": 0}, - {"matrix": [0,12],"x": 12, "y": 0}, - {"matrix": [0,13],"x": 13, "y": 0, "w": 2}, - {"matrix": [0,15],"x": 15, "y": 0}, + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15, "y": 0}, - {"matrix": [1,0], "x": 0, "y": 1, "w": 1.5}, - {"matrix": [1,2], "x": 1.5, "y": 1}, - {"matrix": [1,3], "x": 2.5, "y": 1}, - {"matrix": [1,4], "x": 3.5, "y": 1}, - {"matrix": [1,5], "x": 4.5, "y": 1}, - {"matrix": [1,6], "x": 5.5, "y": 1}, - {"matrix": [1,7], "x": 6.5, "y": 1}, - {"matrix": [1,8], "x": 7.5, "y": 1}, - {"matrix": [1,9], "x": 8.5, "y": 1}, - {"matrix": [1,10],"x": 9.5, "y": 1}, - {"matrix": [1,11],"x": 10.5, "y": 1}, - {"matrix": [1,12],"x": 11.5, "y": 1}, - {"matrix": [1,13],"x": 12.5, "y": 1}, - {"matrix": [1,15],"x": 15, "y": 1}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15, "y": 1}, - {"matrix": [2,0], "x": 0, "y": 2, "w": 1.75}, - {"matrix": [2,2], "x": 1.75, "y": 2}, - {"matrix": [2,3], "x": 2.75, "y": 2}, - {"matrix": [2,4], "x": 3.75, "y": 2}, - {"matrix": [2,5], "x": 4.75, "y": 2}, - {"matrix": [2,6], "x": 5.75, "y": 2}, - {"matrix": [2,7], "x": 6.75, "y": 2}, - {"matrix": [2,8], "x": 7.75, "y": 2}, - {"matrix": [2,9], "x": 8.75, "y": 2}, - {"matrix": [2,10],"x": 9.75, "y": 2}, - {"matrix": [2,11],"x": 10.75, "y": 2}, - {"matrix": [1,14],"x": 11.75, "y": 2}, - {"matrix": [2,13],"x": 12.75, "y": 2}, - {"matrix": [2,14],"x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, - {"matrix": [3,0], "x": 0, "y": 3, "w": 1.25}, - {"matrix": [3,1],"x": 1.25, "y": 3}, - {"matrix": [3,2], "x": 2.25, "y": 3}, - {"matrix": [3,3], "x": 3.25, "y": 3}, - {"matrix": [3,4], "x": 4.25, "y": 3}, - {"matrix": [3,5], "x": 5.25, "y": 3}, - {"matrix": [3,6], "x": 6.25, "y": 3}, - {"matrix": [3,7], "x": 7.25, "y": 3}, - {"matrix": [3,8], "x": 8.25, "y": 3}, - {"matrix": [3,9], "x": 9.25, "y": 3}, - {"matrix": [3,10],"x": 10.25, "y": 3}, - {"matrix": [3,11],"x": 11.25, "y": 3}, - {"matrix": [3,13],"x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [3,14],"x": 14, "y": 3}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, - {"matrix": [4,0], "x": 0, "y": 4, "w": 1.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,7], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [4,10],"x": 10, "y": 4, "w": 1.25}, - {"matrix": [4,11],"x": 11.25, "y": 4, "w": 1.25}, - {"matrix": [4,13],"x": 13, "y": 4}, - {"matrix": [4,14],"x": 14, "y": 4}, - {"matrix": [4,15],"x": 15, "y": 4} + {"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, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_ansi_blocker_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_ansi_blocker_tsangan_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_iso_blocker": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_iso_blocker_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_iso_blocker_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_iso_blocker_tsangan_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 1}, + {"matrix": [1, 3], "x": 2.5, "y": 1}, + {"matrix": [1, 4], "x": 3.5, "y": 1}, + {"matrix": [1, 5], "x": 4.5, "y": 1}, + {"matrix": [1, 6], "x": 5.5, "y": 1}, + {"matrix": [1, 7], "x": 6.5, "y": 1}, + {"matrix": [1, 8], "x": 7.5, "y": 1}, + {"matrix": [1, 9], "x": 8.5, "y": 1}, + {"matrix": [1, 10], "x": 9.5, "y": 1}, + {"matrix": [1, 11], "x": 10.5, "y": 1}, + {"matrix": [1, 12], "x": 11.5, "y": 1}, + {"matrix": [1, 13], "x": 12.5, "y": 1}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} ] } } diff --git a/keyboards/gray_studio/think65v3/keymaps/default/keymap.c b/keyboards/gray_studio/think65v3/keymaps/default/keymap.c index 82ff711808e..a3c2e873c17 100644 --- a/keyboards/gray_studio/think65v3/keymaps/default/keymap.c +++ b/keyboards/gray_studio/think65v3/keymaps/default/keymap.c @@ -3,18 +3,18 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_all( QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_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_ENT, - KC_LSFT, 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_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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT( + [1] = LAYOUT_all( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, QK_BOOT, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/gray_studio/think65v3/keymaps/via/keymap.c b/keyboards/gray_studio/think65v3/keymaps/via/keymap.c index 82ff711808e..a3c2e873c17 100644 --- a/keyboards/gray_studio/think65v3/keymaps/via/keymap.c +++ b/keyboards/gray_studio/think65v3/keymaps/via/keymap.c @@ -3,18 +3,18 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_all( QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_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_ENT, - KC_LSFT, 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_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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT( + [1] = LAYOUT_all( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, QK_BOOT, - _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/gray_studio/think65v3/matrix_diagram.md b/keyboards/gray_studio/think65v3/matrix_diagram.md new file mode 100644 index 00000000000..e2bbb127b68 --- /dev/null +++ b/keyboards/gray_studio/think65v3/matrix_diagram.md @@ -0,0 +1,24 @@ +# Matrix Diagram for GrayStudio think65v3 + +``` + ┌───────┐ + 2u Backspace │0D │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ ┌─────┐ +│10 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │1F │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┘ ┌──┴┐2E │ ISO Enter +│20 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │ │2D │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ └───┴────┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │3E │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┐ +│40 │41 │42 │47 │4A │4B │ │4D │4E │4F │ +└────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ +┌────────┐ +│30 │ 2.25u LShift +└────────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┐ +│40 │41 │42 │47 │4B │ Blocker Tsangan +└─────┴───┴─────┴───────────────────────────┴─────┘ +``` From e6ce481179e8337d34f26f0a1c0ce902c8814702 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue, 12 Sep 2023 23:05:10 -0700 Subject: [PATCH 027/144] Handwired ScottoKeebs Configurator Updates (#21990) * ScottoKeebs ScottoAlp: Correct layout data [enhancement] * ScottoKeebs ScottoCMD: Correct layout data [enhancement] * ScottoKeebs ScottoErgo: Correct layout data Add hand separation and vertical stagger to the layout data. [enhancement] * ScottoKeebs ScottoFrog: Correct layout data [enhancement] * ScottoKeebs ScottoGame: Correct layout data [enhancement] * ScottoKeebs ScottoInvader: Correct layout data [enhancement] * ScottoKeebs ScottoNum: Correct layout data [enhancement] * ScottoKeebs ScottoSplit: Correct layout data [enhancement] * ScottoKeebs ScottoStarter: Correct layout data [enhancement] --- .../handwired/scottokeebs/scottoalp/info.json | 10 +-- .../handwired/scottokeebs/scottocmd/info.json | 80 +++++++++---------- .../scottokeebs/scottoergo/info.json | 66 +++++++-------- .../scottokeebs/scottofrog/info.json | 10 +-- .../scottokeebs/scottogame/info.json | 6 +- .../scottokeebs/scottoinvader/info.json | 56 ++++++------- .../handwired/scottokeebs/scottonum/info.json | 8 +- .../scottokeebs/scottosplit/info.json | 66 +++++++-------- .../scottokeebs/scottostarter/info.json | 24 +++--- 9 files changed, 163 insertions(+), 163 deletions(-) diff --git a/keyboards/handwired/scottokeebs/scottoalp/info.json b/keyboards/handwired/scottokeebs/scottoalp/info.json index d6262e11e64..7a4210bb403 100644 --- a/keyboards/handwired/scottokeebs/scottoalp/info.json +++ b/keyboards/handwired/scottokeebs/scottoalp/info.json @@ -65,11 +65,11 @@ { "matrix": [2, 9], "x": 9, "y": 2 }, // Row 4 - { "matrix": [3, 1], "x": 1, "y": 3 }, - { "matrix": [3, 2], "x": 2, "y": 3 }, - { "matrix": [3, 4], "x": 4, "y": 3 }, - { "matrix": [3, 6], "x": 6, "y": 3 }, - { "matrix": [3, 7], "x": 7, "y": 3 } + { "matrix": [3, 1], "x": 1.5, "y": 3 }, + { "matrix": [3, 2], "x": 2.5, "y": 3 }, + { "matrix": [3, 4], "x": 3.5, "y": 3, "w": 3 }, + { "matrix": [3, 6], "x": 6.5, "y": 3 }, + { "matrix": [3, 7], "x": 7.5, "y": 3 } ] } } diff --git a/keyboards/handwired/scottokeebs/scottocmd/info.json b/keyboards/handwired/scottokeebs/scottocmd/info.json index d945b70ce9c..a26b95c1db4 100644 --- a/keyboards/handwired/scottokeebs/scottocmd/info.json +++ b/keyboards/handwired/scottokeebs/scottocmd/info.json @@ -35,54 +35,54 @@ "LAYOUT_ortho_4_3x10_4": { "layout": [ // Row 1 (Macros) - {"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, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.5, "y": 0}, + {"matrix": [0, 10], "x": 10.5, "y": 0}, // Row 2 - {"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, 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}, // Row 3 - {"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, 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}, // Row 4 - {"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, 1], "x": 1.5, "y": 3}, + {"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}, // Row 5 - {"matrix": [4, 1], "x": 1, "y": 4}, - {"matrix": [4, 5], "x": 5, "y": 4}, - {"matrix": [4, 9], "x": 9, "y": 4}, - {"matrix": [4, 10], "x": 10, "y": 4} + {"matrix": [4, 1], "x": 1.5, "y": 4, "w": 1.75}, + {"matrix": [4, 5], "x": 3.25, "y": 4, "w": 6.25}, + {"matrix": [4, 9], "x": 9.5, "y": 4}, + {"matrix": [4, 10], "x": 10.5, "y": 4} ] } } diff --git a/keyboards/handwired/scottokeebs/scottoergo/info.json b/keyboards/handwired/scottokeebs/scottoergo/info.json index cc4fb126b6e..4f6d955271a 100644 --- a/keyboards/handwired/scottokeebs/scottoergo/info.json +++ b/keyboards/handwired/scottokeebs/scottoergo/info.json @@ -28,48 +28,48 @@ "LAYOUT_split_3x5_3": { "layout": [ // Row 1 - { "matrix": [0, 0], "x": 0, "y": 0 }, - { "matrix": [0, 1], "x": 1, "y": 0 }, + { "matrix": [0, 0], "x": 0, "y": 0.5 }, + { "matrix": [0, 1], "x": 1, "y": 0.25 }, { "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, 3], "x": 3, "y": 0.25 }, + { "matrix": [0, 4], "x": 4, "y": 0.5 }, + { "matrix": [0, 5], "x": 7, "y": 0.5 }, + { "matrix": [0, 6], "x": 8, "y": 0.25 }, + { "matrix": [0, 7], "x": 9, "y": 0 }, + { "matrix": [0, 8], "x": 10, "y": 0.25 }, + { "matrix": [0, 9], "x": 11, "y": 0.5 }, // Row 2 - { "matrix": [1, 0], "x": 0, "y": 1 }, - { "matrix": [1, 1], "x": 1, "y": 1 }, + { "matrix": [1, 0], "x": 0, "y": 1.5 }, + { "matrix": [1, 1], "x": 1, "y": 1.25 }, { "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, 3], "x": 3, "y": 1.25 }, + { "matrix": [1, 4], "x": 4, "y": 1.5 }, + { "matrix": [1, 5], "x": 7, "y": 1.5 }, + { "matrix": [1, 6], "x": 8, "y": 1.25 }, + { "matrix": [1, 7], "x": 9, "y": 1 }, + { "matrix": [1, 8], "x": 10, "y": 1.25 }, + { "matrix": [1, 9], "x": 11, "y": 1.5 }, // Row 3 - { "matrix": [2, 0], "x": 0, "y": 2 }, - { "matrix": [2, 1], "x": 1, "y": 2 }, + { "matrix": [2, 0], "x": 0, "y": 2.5 }, + { "matrix": [2, 1], "x": 1, "y": 2.25 }, { "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, 3], "x": 3, "y": 2.25 }, + { "matrix": [2, 4], "x": 4, "y": 2.5 }, + { "matrix": [2, 5], "x": 7, "y": 2.5 }, + { "matrix": [2, 6], "x": 8, "y": 2.25 }, + { "matrix": [2, 7], "x": 9, "y": 2 }, + { "matrix": [2, 8], "x": 10, "y": 2.25 }, + { "matrix": [2, 9], "x": 11, "y": 2.5 }, // Row 4 - { "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, 2], "x": 2.5, "y": 3.25 }, + { "matrix": [3, 3], "x": 3.5, "y": 3.5 }, + { "matrix": [3, 4], "x": 4.5, "y": 3.75 }, + { "matrix": [3, 5], "x": 6.5, "y": 3.75 }, + { "matrix": [3, 6], "x": 7.5, "y": 3.5 }, + { "matrix": [3, 7], "x": 8.5, "y": 3.25 } ] } } diff --git a/keyboards/handwired/scottokeebs/scottofrog/info.json b/keyboards/handwired/scottokeebs/scottofrog/info.json index 202626b70ff..147f2d8aa77 100644 --- a/keyboards/handwired/scottokeebs/scottofrog/info.json +++ b/keyboards/handwired/scottokeebs/scottofrog/info.json @@ -43,11 +43,11 @@ { "matrix": [2, 3], "x": 3, "y": 2 }, { "matrix": [2, 4], "x": 4, "y": 2 }, { "matrix": [2, 5], "x": 5, "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, 5], "x": 5, "y": 3 }, - { "matrix": [3, 6], "x": 6, "y": 3 } + { "matrix": [3, 0], "x": 0, "y": 2, "h": 2 }, + { "matrix": [3, 1], "x": 1, "y": 3, "w": 1.5 }, + { "matrix": [3, 3], "x": 2.5, "y": 3, "w": 2 }, + { "matrix": [3, 5], "x": 4.5, "y": 3, "w": 1.5 }, + { "matrix": [3, 6], "x": 6, "y": 2, "h": 2 } ] } } diff --git a/keyboards/handwired/scottokeebs/scottogame/info.json b/keyboards/handwired/scottokeebs/scottogame/info.json index 5c300b866e4..912cfdfaaa2 100644 --- a/keyboards/handwired/scottokeebs/scottogame/info.json +++ b/keyboards/handwired/scottokeebs/scottogame/info.json @@ -38,7 +38,7 @@ { "matrix": [0, 2], "x": 2, "y": 0 }, { "matrix": [0, 3], "x": 3, "y": 0 }, { "matrix": [0, 4], "x": 4, "y": 0 }, - { "matrix": [0, 6], "x": 6, "y": 0 }, + { "matrix": [0, 6], "x": 5.125, "y": 0, "w": 2.75 }, // Row 2 { "matrix": [1, 0], "x": 0, "y": 1 }, @@ -79,8 +79,8 @@ // Row 5 { "matrix": [4, 1], "x": 1, "y": 4 }, { "matrix": [4, 2], "x": 2, "y": 4 }, - { "matrix": [4, 3], "x": 3, "y": 4 }, - { "matrix": [4, 6], "x": 6, "y": 4 }, + { "matrix": [4, 3], "x": 3, "y": 4, "w": 2 }, + { "matrix": [4, 6], "x": 5, "y": 4, "w": 2 }, { "matrix": [4, 7], "x": 7, "y": 4 }, { "matrix": [4, 8], "x": 8, "y": 4 } ] diff --git a/keyboards/handwired/scottokeebs/scottoinvader/info.json b/keyboards/handwired/scottokeebs/scottoinvader/info.json index 89a4fca4b48..2a9054cd4f6 100644 --- a/keyboards/handwired/scottokeebs/scottoinvader/info.json +++ b/keyboards/handwired/scottokeebs/scottoinvader/info.json @@ -30,47 +30,47 @@ "LAYOUT_split_3x5_3": { "layout": [ // Row 1 - { "matrix": [0, 0], "x": 0, "y": 0 }, - { "matrix": [0, 1], "x": 1, "y": 0 }, + { "matrix": [0, 0], "x": 0, "y": 0.5 }, + { "matrix": [0, 1], "x": 1, "y": 0.25 }, { "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, 3], "x": 3, "y": 0.25 }, + { "matrix": [0, 4], "x": 4, "y": 0.5 }, + { "matrix": [0, 5], "x": 5, "y": 0.5 }, + { "matrix": [0, 6], "x": 6, "y": 0.25 }, { "matrix": [0, 7], "x": 7, "y": 0 }, - { "matrix": [0, 8], "x": 8, "y": 0 }, - { "matrix": [0, 9], "x": 9, "y": 0 }, + { "matrix": [0, 8], "x": 8, "y": 0.25 }, + { "matrix": [0, 9], "x": 9, "y": 0.5 }, // Row 2 - { "matrix": [1, 0], "x": 0, "y": 1 }, - { "matrix": [1, 1], "x": 1, "y": 1 }, + { "matrix": [1, 0], "x": 0, "y": 1.5 }, + { "matrix": [1, 1], "x": 1, "y": 1.25 }, { "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, 3], "x": 3, "y": 1.25 }, + { "matrix": [1, 4], "x": 4, "y": 1.5 }, + { "matrix": [1, 5], "x": 5, "y": 1.5 }, + { "matrix": [1, 6], "x": 6, "y": 1.25 }, { "matrix": [1, 7], "x": 7, "y": 1 }, - { "matrix": [1, 8], "x": 8, "y": 1 }, - { "matrix": [1, 9], "x": 9, "y": 1 }, + { "matrix": [1, 8], "x": 8, "y": 1.25 }, + { "matrix": [1, 9], "x": 9, "y": 1.5 }, // Row 3 - { "matrix": [2, 0], "x": 0, "y": 2 }, - { "matrix": [2, 1], "x": 1, "y": 2 }, + { "matrix": [2, 0], "x": 0, "y": 2.5 }, + { "matrix": [2, 1], "x": 1, "y": 2.25 }, { "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, 3], "x": 3, "y": 2.25 }, + { "matrix": [2, 4], "x": 4, "y": 2.5 }, + { "matrix": [2, 5], "x": 5, "y": 2.5 }, + { "matrix": [2, 6], "x": 6, "y": 2.25 }, { "matrix": [2, 7], "x": 7, "y": 2 }, - { "matrix": [2, 8], "x": 8, "y": 2 }, - { "matrix": [2, 9], "x": 9, "y": 2 }, + { "matrix": [2, 8], "x": 8, "y": 2.25 }, + { "matrix": [2, 9], "x": 9, "y": 2.5 }, // Row 4 { "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, 3], "x": 3, "y": 3.25 }, + { "matrix": [3, 4], "x": 4, "y": 3.5 }, + { "matrix": [3, 5], "x": 5, "y": 3.5 }, + { "matrix": [3, 6], "x": 6, "y": 3.25 }, { "matrix": [3, 7], "x": 7, "y": 3 } ] } diff --git a/keyboards/handwired/scottokeebs/scottonum/info.json b/keyboards/handwired/scottokeebs/scottonum/info.json index 2907b47af86..f71f75d62b5 100644 --- a/keyboards/handwired/scottokeebs/scottonum/info.json +++ b/keyboards/handwired/scottokeebs/scottonum/info.json @@ -40,16 +40,16 @@ { "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, 3], "x": 3, "y": 1, "h": 2 }, { "matrix": [2, 0], "x": 0, "y": 2 }, { "matrix": [2, 1], "x": 1, "y": 2 }, { "matrix": [2, 2], "x": 2, "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": [4, 0], "x": 0, "y": 4 }, - { "matrix": [4, 1], "x": 1, "y": 3 } + { "matrix": [3, 3], "x": 3, "y": 3, "h": 2 }, + { "matrix": [4, 0], "x": 0, "y": 4, "w": 2 }, + { "matrix": [4, 1], "x": 2, "y": 4 } ] } } diff --git a/keyboards/handwired/scottokeebs/scottosplit/info.json b/keyboards/handwired/scottokeebs/scottosplit/info.json index 792084b82cc..a44ec329762 100644 --- a/keyboards/handwired/scottokeebs/scottosplit/info.json +++ b/keyboards/handwired/scottokeebs/scottosplit/info.json @@ -30,48 +30,48 @@ "LAYOUT_split_3x5_3": { "layout": [ // Row 1 - { "matrix": [0, 0], "x": 0, "y": 0 }, - { "matrix": [0, 1], "x": 1, "y": 0 }, + { "matrix": [0, 0], "x": 0, "y": 0.5 }, + { "matrix": [0, 1], "x": 1, "y": 0.25 }, { "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, 3], "x": 3, "y": 0.25 }, + { "matrix": [0, 4], "x": 4, "y": 0.5 }, + { "matrix": [0, 5], "x": 7, "y": 0.5 }, + { "matrix": [0, 6], "x": 8, "y": 0.25 }, + { "matrix": [0, 7], "x": 9, "y": 0 }, + { "matrix": [0, 8], "x": 10, "y": 0.25 }, + { "matrix": [0, 9], "x": 11, "y": 0.5 }, // Row 2 - { "matrix": [1, 0], "x": 0, "y": 1 }, - { "matrix": [1, 1], "x": 1, "y": 1 }, + { "matrix": [1, 0], "x": 0, "y": 1.5 }, + { "matrix": [1, 1], "x": 1, "y": 1.25 }, { "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, 3], "x": 3, "y": 1.25 }, + { "matrix": [1, 4], "x": 4, "y": 1.5 }, + { "matrix": [1, 5], "x": 7, "y": 1.5 }, + { "matrix": [1, 6], "x": 8, "y": 1.25 }, + { "matrix": [1, 7], "x": 9, "y": 1 }, + { "matrix": [1, 8], "x": 10, "y": 1.25 }, + { "matrix": [1, 9], "x": 11, "y": 1.5 }, // Row 3 - { "matrix": [2, 0], "x": 0, "y": 2 }, - { "matrix": [2, 1], "x": 1, "y": 2 }, + { "matrix": [2, 0], "x": 0, "y": 2.5 }, + { "matrix": [2, 1], "x": 1, "y": 2.25 }, { "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, 3], "x": 3, "y": 2.25 }, + { "matrix": [2, 4], "x": 4, "y": 2.5 }, + { "matrix": [2, 5], "x": 7, "y": 2.5 }, + { "matrix": [2, 6], "x": 8, "y": 2.25 }, + { "matrix": [2, 7], "x": 9, "y": 2 }, + { "matrix": [2, 8], "x": 10, "y": 2.25 }, + { "matrix": [2, 9], "x": 11, "y": 2.5 }, // Row 4 - { "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, 2], "x": 2.5, "y": 3.75 }, + { "matrix": [3, 3], "x": 3.5, "y": 4 }, + { "matrix": [3, 4], "x": 4.5, "y": 4.25 }, + { "matrix": [3, 5], "x": 6.5, "y": 4.25 }, + { "matrix": [3, 6], "x": 7.5, "y": 4 }, + { "matrix": [3, 7], "x": 8.5, "y": 3.75 } ] } } diff --git a/keyboards/handwired/scottokeebs/scottostarter/info.json b/keyboards/handwired/scottokeebs/scottostarter/info.json index ade3db28a0e..5e6a70114bb 100644 --- a/keyboards/handwired/scottokeebs/scottostarter/info.json +++ b/keyboards/handwired/scottokeebs/scottostarter/info.json @@ -38,7 +38,7 @@ {"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, 10], "x": 10, "y": 0, "w": 1.5}, // Row 2 {"matrix": [1, 0], "x": 0, "y": 1}, @@ -51,7 +51,7 @@ {"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, 10], "x": 10, "y": 1, "w": 1.5}, // Row 3 {"matrix": [2, 0], "x": 0, "y": 2}, @@ -64,7 +64,7 @@ {"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, 10], "x": 10, "y": 2, "w": 1.5}, // Row 4 {"matrix": [3, 0], "x": 0, "y": 3}, @@ -77,17 +77,17 @@ {"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, 10], "x": 10, "y": 3, "w": 1.5}, // Row 5 - {"matrix": [4, 0], "x": 0, "y": 4}, - {"matrix": [4, 1], "x": 1, "y": 4}, - {"matrix": [4, 2], "x": 2, "y": 4}, - {"matrix": [4, 4], "x": 4, "y": 4}, - {"matrix": [4, 7], "x": 7, "y": 4}, - {"matrix": [4, 8], "x": 8, "y": 4}, - {"matrix": [4, 9], "x": 9, "y": 4}, - {"matrix": [4, 10], "x": 10, "y": 4} + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4}, + {"matrix": [4, 4], "x": 3.5, "y": 4, "w": 3}, + {"matrix": [4, 7], "x": 6.5, "y": 4}, + {"matrix": [4, 8], "x": 7.5, "y": 4}, + {"matrix": [4, 9], "x": 8.5, "y": 4, "w": 1.5}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.5} ] } } From 33d7fa1180d232dcdb024c68a8f4629dced32afb Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed, 13 Sep 2023 13:44:05 -0700 Subject: [PATCH 028/144] Inland MK47 Community Layout Support (#21998) * Rename `LAYOUT` to `LAYOUT_planck_mit` [refactor] * Enable Community Layout support [enhancement] * Touch-up keymaps - grid-align keycodes [style] --- keyboards/inland/mk47/info.json | 8 ++++- .../inland/mk47/keymaps/default/keymap.c | 32 +++++++++++-------- keyboards/inland/mk47/keymaps/inland/keymap.c | 32 +++++++++++-------- keyboards/inland/mk47/keymaps/via/keymap.c | 32 +++++++++++-------- 4 files changed, 61 insertions(+), 43 deletions(-) diff --git a/keyboards/inland/mk47/info.json b/keyboards/inland/mk47/info.json index 184527e0de4..45a11e913a2 100644 --- a/keyboards/inland/mk47/info.json +++ b/keyboards/inland/mk47/info.json @@ -100,8 +100,14 @@ ] }, "diode_direction": "ROW2COL", + "layout_aliases": { + "LAYOUT": "LAYOUT_planck_mit" + }, + "community_layouts": [ + "planck_mit" + ], "layouts": { - "LAYOUT": { + "LAYOUT_planck_mit": { "layout": [ { "label": "Esc", "matrix": [0, 0],"x": 0, "y": 0 }, { "label": "Q", "matrix": [0, 1], "x": 1, "y": 0 }, diff --git a/keyboards/inland/mk47/keymaps/default/keymap.c b/keyboards/inland/mk47/keymaps/default/keymap.c index f288d4e1feb..dab9c637826 100644 --- a/keyboards/inland/mk47/keymaps/default/keymap.c +++ b/keyboards/inland/mk47/keymaps/default/keymap.c @@ -19,23 +19,27 @@ // clang-format off 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_SCLN, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH, - KC_LCTL, MO(2), KC_LALT, KC_DEL, KC_PGDN, KC_SPC, KC_PGUP, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), + [0] = LAYOUT_planck_mit( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH, + KC_LCTL, MO(2), KC_LALT, KC_DEL, KC_PGDN, KC_SPC, KC_PGUP, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), - [1] = LAYOUT( - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, RGB_MOD, - KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, + [1] = LAYOUT_planck_mit( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, RGB_MOD, + KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP, KC_MUTE, KC_MPRV, KC_MPLY, KC_MNXT, RGB_VAI, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, KC_TRNS), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, KC_TRNS + ), + + [2] = LAYOUT_planck_mit( + 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_CAPS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH, + KC_LCTL, KC_NO, KC_LALT, KC_DEL, KC_PGDN, KC_SPC, KC_PGUP, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT + ) - [2] = 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_CAPS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH, - KC_LCTL, KC_NO, KC_LALT, KC_DEL, KC_PGDN, KC_SPC, KC_PGUP, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT) }; // clang-format on diff --git a/keyboards/inland/mk47/keymaps/inland/keymap.c b/keyboards/inland/mk47/keymaps/inland/keymap.c index ff5de15c47f..e376211185b 100644 --- a/keyboards/inland/mk47/keymaps/inland/keymap.c +++ b/keyboards/inland/mk47/keymaps/inland/keymap.c @@ -19,22 +19,26 @@ // clang-format off 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_SCLN, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH, - KC_LCTL, MO(2), KC_LALT, KC_DEL, KC_PGDN, KC_SPC, KC_PGUP, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), + [0] = LAYOUT_planck_mit( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH, + KC_LCTL, MO(2), KC_LALT, KC_DEL, KC_PGDN, KC_SPC, KC_PGUP, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), - [1] = LAYOUT( - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, RGB_MOD, - RGB_HUI, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, + [1] = LAYOUT_planck_mit( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, RGB_MOD, + RGB_HUI, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSEL, KC_MUTE, KC_MPRV, KC_MPLY, KC_MNXT, RGB_VAI, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI), + KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI + ), + + [2] = LAYOUT_planck_mit( + 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_CAPS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH, + KC_LCTL, KC_NO, KC_LALT, KC_DEL, KC_PGDN, KC_SPC, KC_PGUP, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT + ) - [2] = 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_CAPS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH, - KC_LCTL, KC_NO, KC_LALT, KC_DEL, KC_PGDN, KC_SPC, KC_PGUP, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT) }; // clang-format on diff --git a/keyboards/inland/mk47/keymaps/via/keymap.c b/keyboards/inland/mk47/keymaps/via/keymap.c index 53cabcc4770..0eb46e63a4a 100644 --- a/keyboards/inland/mk47/keymaps/via/keymap.c +++ b/keyboards/inland/mk47/keymaps/via/keymap.c @@ -19,23 +19,27 @@ // clang-format off 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_SCLN, KC_ENT, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH, - KC_LCTL, MO(2), KC_LALT, KC_DEL, KC_PGDN, KC_SPC, KC_PGUP, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), + [0] = LAYOUT_planck_mit( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH, + KC_LCTL, MO(2), KC_LALT, KC_DEL, KC_PGDN, KC_SPC, KC_PGUP, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), - [1] = LAYOUT( - KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, RGB_MOD, - RGB_HUI, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, + [1] = LAYOUT_planck_mit( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, RGB_MOD, + RGB_HUI, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSEL, KC_MUTE, KC_MPRV, KC_MPLY, KC_MNXT, RGB_VAI, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI + ), + + [2] = LAYOUT_planck_mit( + 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_CAPS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH, + KC_LCTL, KC_NO, KC_LALT, KC_DEL, KC_PGDN, KC_SPC, KC_PGUP, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT + ) - [2] = 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_CAPS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH, - KC_LCTL, KC_NO, KC_LALT, KC_DEL, KC_PGDN, KC_SPC, KC_PGUP, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT) }; // clang-format on From c6841a51de509903a6bb8393981ffeefb6aebc63 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed, 13 Sep 2023 14:54:46 -0700 Subject: [PATCH 029/144] Jaykeeb Sebelas: Standardize Layout Names (#21999) * Rename `LAYOUT_65_ansi_blocker` to `LAYOUT_ansi_blocker` [refactor] * Rename `LAYOUT_65_ansi_blocker_split_bs` to `LAYOUT_ansi_blocker_split_bs` [refactor] * Rename `LAYOUT_65_ansi_blocker_tsangan` to `LAYOUT_ansi_blocker_tsangan` [refactor] * Rename `LAYOUT_65_ansi_blocker_tsangan_split_bs` to `LAYOUT_ansi_blocker_tsangan_split_bs` [refactor] --- keyboards/jaykeeb/sebelas/info.json | 16 +++++++++++----- .../jaykeeb/sebelas/keymaps/default/keymap.c | 4 ++-- keyboards/jaykeeb/sebelas/keymaps/via/keymap.c | 4 ++-- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/keyboards/jaykeeb/sebelas/info.json b/keyboards/jaykeeb/sebelas/info.json index ac4202d820a..e88607703ee 100644 --- a/keyboards/jaykeeb/sebelas/info.json +++ b/keyboards/jaykeeb/sebelas/info.json @@ -47,6 +47,12 @@ "pid": "0x0767", "vid": "0x414C" }, + "layout_aliases": { + "LAYOUT_65_ansi_blocker": "LAYOUT_ansi_blocker", + "LAYOUT_65_ansi_blocker_split_bs": "LAYOUT_ansi_blocker_split_bs", + "LAYOUT_65_ansi_blocker_tsangan": "LAYOUT_ansi_blocker_tsangan", + "LAYOUT_65_ansi_blocker_tsangan_split_bs": "LAYOUT_ansi_blocker_tsangan_split_bs" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -124,7 +130,7 @@ {"label": "\u2192", "matrix": [4, 14], "x": 15, "y": 4} ] }, - "LAYOUT_65_ansi_blocker": { + "LAYOUT_ansi_blocker": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, @@ -198,7 +204,7 @@ {"label": "\u2192", "matrix": [4, 14], "x": 15, "y": 4} ] }, - "LAYOUT_65_ansi_blocker_split_bs": { + "LAYOUT_ansi_blocker_split_bs": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, @@ -273,7 +279,7 @@ {"label": "\u2192", "matrix": [4, 14], "x": 15, "y": 4} ] }, - "LAYOUT_65_ansi_blocker_tsangan": { + "LAYOUT_ansi_blocker_tsangan": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, @@ -346,7 +352,7 @@ {"label": "\u2192", "matrix": [4, 14], "x": 15, "y": 4} ] }, - "LAYOUT_65_ansi_blocker_tsangan_split_bs": { + "LAYOUT_ansi_blocker_tsangan_split_bs": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, @@ -421,4 +427,4 @@ ] } } -} \ No newline at end of file +} diff --git a/keyboards/jaykeeb/sebelas/keymaps/default/keymap.c b/keyboards/jaykeeb/sebelas/keymaps/default/keymap.c index 4a525e7bd39..4a1a7db07df 100644 --- a/keyboards/jaykeeb/sebelas/keymaps/default/keymap.c +++ b/keyboards/jaykeeb/sebelas/keymaps/default/keymap.c @@ -4,7 +4,7 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_65_ansi_blocker( + [0] = LAYOUT_ansi_blocker( 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_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_PGUP, 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_PGDN, @@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT_65_ansi_blocker( + [1] = LAYOUT_ansi_blocker( 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_PSCR, KC_SCRL, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/jaykeeb/sebelas/keymaps/via/keymap.c b/keyboards/jaykeeb/sebelas/keymaps/via/keymap.c index 4a525e7bd39..4a1a7db07df 100644 --- a/keyboards/jaykeeb/sebelas/keymaps/via/keymap.c +++ b/keyboards/jaykeeb/sebelas/keymaps/via/keymap.c @@ -4,7 +4,7 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_65_ansi_blocker( + [0] = LAYOUT_ansi_blocker( 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_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_PGUP, 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_PGDN, @@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT_65_ansi_blocker( + [1] = LAYOUT_ansi_blocker( 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_PSCR, KC_SCRL, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, From 32f060366f4aee7f67692c2fd49f52cd560d2b53 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed, 13 Sep 2023 17:47:25 -0700 Subject: [PATCH 030/144] Keebio NyquistPad Layout Updates (#22000) * Rename `LAYOUT` to `LAYOUT_ortho_5x6` [refactor] * Add `LAYOUT_ortho_5x6_1x2u` [enhancement] --- keyboards/keebio/nyquistpad/info.json | 50 +++++++++++++++++-- .../nyquistpad/keymaps/default/keymap.c | 6 +-- .../keebio/nyquistpad/keymaps/via/keymap.c | 6 +-- 3 files changed, 51 insertions(+), 11 deletions(-) diff --git a/keyboards/keebio/nyquistpad/info.json b/keyboards/keebio/nyquistpad/info.json index f8c887bdb88..d999482ef03 100644 --- a/keyboards/keebio/nyquistpad/info.json +++ b/keyboards/keebio/nyquistpad/info.json @@ -32,8 +32,11 @@ "pin": "GP28" }, + "layout_aliases": { + "LAYOUT": "LAYOUT_ortho_5x6" + }, "layouts": { - "LAYOUT": { + "LAYOUT_ortho_5x6": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -41,24 +44,28 @@ {"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}, {"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": [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": [4, 0], "x": 0, "y": 4}, {"matrix": [4, 1], "x": 1, "y": 4}, {"matrix": [4, 2], "x": 2, "y": 4}, @@ -66,6 +73,43 @@ {"matrix": [4, 4], "x": 4, "y": 4}, {"matrix": [4, 5], "x": 5, "y": 4} ] + }, + "LAYOUT_ortho_5x6_1x2u": { + "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}, + {"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": [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": [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, "w": 2} + ] } }, "rgb_matrix": { @@ -123,7 +167,6 @@ { "flags": 4, "matrix": [0, 3], "x": 130, "y": 6 }, { "flags": 4, "matrix": [0, 4], "x": 168, "y": 6 }, { "flags": 4, "matrix": [0, 5], "x": 204, "y": 6 }, - { "flags": 4, "matrix": [1, 5], "x": 204, "y": 19 }, { "flags": 2, "x": 186, "y": 12 }, { "flags": 4, "matrix": [1, 4], "x": 168, "y": 19 }, @@ -132,14 +175,12 @@ { "flags": 4, "matrix": [1, 1], "x": 56, "y": 19 }, { "flags": 2, "x": 36, "y": 12 }, { "flags": 4, "matrix": [1, 0], "x": 18, "y": 19 }, - { "flags": 4, "matrix": [2, 0], "x": 18, "y": 32 }, { "flags": 4, "matrix": [2, 1], "x": 56, "y": 32 }, { "flags": 4, "matrix": [2, 2], "x": 92, "y": 32 }, { "flags": 4, "matrix": [2, 3], "x": 130, "y": 32 }, { "flags": 4, "matrix": [2, 4], "x": 168, "y": 32 }, { "flags": 4, "matrix": [2, 5], "x": 204, "y": 32 }, - { "flags": 4, "matrix": [3, 5], "x": 204, "y": 44 }, { "flags": 2, "x": 186, "y": 44 }, { "flags": 4, "matrix": [3, 4], "x": 168, "y": 44 }, @@ -149,7 +190,6 @@ { "flags": 4, "matrix": [3, 1], "x": 56, "y": 44 }, { "flags": 2, "x": 36, "y": 44 }, { "flags": 4, "matrix": [3, 0], "x": 18, "y": 44 }, - { "flags": 4, "matrix": [4, 0], "x": 18, "y": 57 }, { "flags": 4, "matrix": [4, 1], "x": 56, "y": 57 }, { "flags": 4, "matrix": [4, 2], "x": 92, "y": 57 }, diff --git a/keyboards/keebio/nyquistpad/keymaps/default/keymap.c b/keyboards/keebio/nyquistpad/keymaps/default/keymap.c index 42b049facda..42c036556d1 100644 --- a/keyboards/keebio/nyquistpad/keymaps/default/keymap.c +++ b/keyboards/keebio/nyquistpad/keymaps/default/keymap.c @@ -5,21 +5,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_ortho_5x6( KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(2), KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC ), - [1] = LAYOUT( + [1] = LAYOUT_ortho_5x6( RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, KC_VOLU, KC_PGUP, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_VOLD, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [2] = LAYOUT( + [2] = LAYOUT_ortho_5x6( KC_F6, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/keebio/nyquistpad/keymaps/via/keymap.c b/keyboards/keebio/nyquistpad/keymaps/via/keymap.c index 42b049facda..42c036556d1 100644 --- a/keyboards/keebio/nyquistpad/keymaps/via/keymap.c +++ b/keyboards/keebio/nyquistpad/keymaps/via/keymap.c @@ -5,21 +5,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_ortho_5x6( KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(2), KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC ), - [1] = LAYOUT( + [1] = LAYOUT_ortho_5x6( RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, KC_VOLU, KC_PGUP, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_VOLD, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [2] = LAYOUT( + [2] = LAYOUT_ortho_5x6( KC_F6, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, From f4a702e49f376a49efdc0ff9896d999eb5d5683e Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed, 13 Sep 2023 18:06:19 -0700 Subject: [PATCH 031/144] Kibou Suisei Layout Addition (#22001) * Add layout/matrix diagram [docs] * Rename `LAYOUT` to `LAYOUT_65_ansi_blocker_tsangan_wkl_split_bs` [refactor] * Add `LAYOUT_65_ansi_blocker_tsangan_wkl` [enhancement] --- keyboards/kibou/suisei/info.json | 216 ++++++++++++------ .../kibou/suisei/keymaps/default/keymap.c | 4 +- keyboards/kibou/suisei/keymaps/via/keymap.c | 4 +- keyboards/kibou/suisei/matrix_diagram.md | 18 ++ 4 files changed, 170 insertions(+), 72 deletions(-) create mode 100644 keyboards/kibou/suisei/matrix_diagram.md diff --git a/keyboards/kibou/suisei/info.json b/keyboards/kibou/suisei/info.json index a33bb12abd0..f212df1bc7c 100644 --- a/keyboards/kibou/suisei/info.json +++ b/keyboards/kibou/suisei/info.json @@ -26,76 +26,156 @@ "indicators": { "caps_lock": "B1" }, + "layout_aliases": { + "LAYOUT": "LAYOUT_65_ansi_blocker_tsangan_wkl_split_bs" + }, "layouts": { - "LAYOUT": { + "LAYOUT_65_ansi_blocker_tsangan_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, "w":1.5}, - {"matrix": [1,1], "x":1.5, "y":1}, - {"matrix": [1,2], "x":2.5, "y":1}, - {"matrix": [1,3], "x":3.5, "y":1}, - {"matrix": [1,4], "x":4.5, "y":1}, - {"matrix": [1,5], "x":5.5, "y":1}, - {"matrix": [1,6], "x":6.5, "y":1}, - {"matrix": [1,7], "x":7.5, "y":1}, - {"matrix": [1,8], "x":8.5, "y":1}, - {"matrix": [1,9], "x":9.5, "y":1}, - {"matrix": [1,10], "x":10.5, "y":1}, - {"matrix": [1,11], "x":11.5, "y":1}, - {"matrix": [1,12], "x":12.5, "y":1}, - {"matrix": [1,13], "x":13.5, "y":1, "w":1.5}, - {"matrix": [1,15], "x":15, "y":1}, - {"matrix": [2,0], "x":0, "y":2, "w":1.75}, - {"matrix": [2,1], "x":1.75, "y":2}, - {"matrix": [2,2], "x":2.75, "y":2}, - {"matrix": [2,3], "x":3.75, "y":2}, - {"matrix": [2,4], "x":4.75, "y":2}, - {"matrix": [2,5], "x":5.75, "y":2}, - {"matrix": [2,6], "x":6.75, "y":2}, - {"matrix": [2,7], "x":7.75, "y":2}, - {"matrix": [2,8], "x":8.75, "y":2}, - {"matrix": [2,9], "x":9.75, "y":2}, - {"matrix": [2,10], "x":10.75, "y":2}, - {"matrix": [2,11], "x":11.75, "y":2}, - {"matrix": [2,12], "x":12.75, "y":2, "w":2.25}, - {"matrix": [2,15], "x":15, "y":2}, - {"matrix": [3,0], "x":0, "y":3, "w":2.25}, - {"matrix": [3,1], "x":2.25, "y":3}, - {"matrix": [3,2], "x":3.25, "y":3}, - {"matrix": [3,3], "x":4.25, "y":3}, - {"matrix": [3,4], "x":5.25, "y":3}, - {"matrix": [3,5], "x":6.25, "y":3}, - {"matrix": [3,6], "x":7.25, "y":3}, - {"matrix": [3,7], "x":8.25, "y":3}, - {"matrix": [3,8], "x":9.25, "y":3}, - {"matrix": [3,9], "x":10.25, "y":3}, - {"matrix": [3,10], "x":11.25, "y":3}, - {"matrix": [3,11], "x":12.25, "y":3, "w":1.75}, - {"matrix": [3,14], "x":14.0, "y":3}, - {"matrix": [3,15], "x":15.0, "y":3}, - {"matrix": [4,0], "x":0, "y":4, "w":1.5}, - {"matrix": [4,2], "x":2.25, "y":4, "w":1.5}, - {"matrix": [4,5], "x":3.75, "y":4, "w":7}, - {"matrix": [4,10], "x":10.75, "y":4, "w":1.5}, - {"matrix": [4,13], "x":13, "y":4}, - {"matrix": [4,14], "x":14, "y":4}, - {"matrix": [4,15], "x":15, "y":4} + {"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, "w": 2}, + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 1], "x": 2.25, "y": 3}, + {"matrix": [3, 2], "x": 3.25, "y": 3}, + {"matrix": [3, 3], "x": 4.25, "y": 3}, + {"matrix": [3, 4], "x": 5.25, "y": 3}, + {"matrix": [3, 5], "x": 6.25, "y": 3}, + {"matrix": [3, 6], "x": 7.25, "y": 3}, + {"matrix": [3, 7], "x": 8.25, "y": 3}, + {"matrix": [3, 8], "x": 9.25, "y": 3}, + {"matrix": [3, 9], "x": 10.25, "y": 3}, + {"matrix": [3, 10], "x": 11.25, "y": 3}, + {"matrix": [3, 11], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14.0, "y": 3}, + {"matrix": [3, 15], "x": 15.0, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, + {"matrix": [4, 5], "x": 3.75, "y": 4, "w": 7}, + {"matrix": [4, 10], "x": 10.75, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan_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, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 1], "x": 2.25, "y": 3}, + {"matrix": [3, 2], "x": 3.25, "y": 3}, + {"matrix": [3, 3], "x": 4.25, "y": 3}, + {"matrix": [3, 4], "x": 5.25, "y": 3}, + {"matrix": [3, 5], "x": 6.25, "y": 3}, + {"matrix": [3, 6], "x": 7.25, "y": 3}, + {"matrix": [3, 7], "x": 8.25, "y": 3}, + {"matrix": [3, 8], "x": 9.25, "y": 3}, + {"matrix": [3, 9], "x": 10.25, "y": 3}, + {"matrix": [3, 10], "x": 11.25, "y": 3}, + {"matrix": [3, 11], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14.0, "y": 3}, + {"matrix": [3, 15], "x": 15.0, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, + {"matrix": [4, 5], "x": 3.75, "y": 4, "w": 7}, + {"matrix": [4, 10], "x": 10.75, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} ] } } -} \ No newline at end of file +} diff --git a/keyboards/kibou/suisei/keymaps/default/keymap.c b/keyboards/kibou/suisei/keymaps/default/keymap.c index 2c9d04c6c1c..94070aededb 100644 --- a/keyboards/kibou/suisei/keymaps/default/keymap.c +++ b/keyboards/kibou/suisei/keymaps/default/keymap.c @@ -4,14 +4,14 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_65_ansi_blocker_tsangan_wkl_split_bs( 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_SPC, 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_PGUP, 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_PGDN, 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, MO(1), KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT( + [1] = LAYOUT_65_ansi_blocker_tsangan_wkl_split_bs( KC_NO, 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_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/kibou/suisei/keymaps/via/keymap.c b/keyboards/kibou/suisei/keymaps/via/keymap.c index 2c9d04c6c1c..94070aededb 100644 --- a/keyboards/kibou/suisei/keymaps/via/keymap.c +++ b/keyboards/kibou/suisei/keymaps/via/keymap.c @@ -4,14 +4,14 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_65_ansi_blocker_tsangan_wkl_split_bs( 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_SPC, 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_PGUP, 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_PGDN, 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, MO(1), KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT( + [1] = LAYOUT_65_ansi_blocker_tsangan_wkl_split_bs( KC_NO, 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_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/kibou/suisei/matrix_diagram.md b/keyboards/kibou/suisei/matrix_diagram.md new file mode 100644 index 00000000000..a5ebdf3633c --- /dev/null +++ b/keyboards/kibou/suisei/matrix_diagram.md @@ -0,0 +1,18 @@ +# Matrix Diagram for kibou suisei + +``` + ┌───────┐ + 2u Backspace │0D │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1F │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2F │ +├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3E │3F │ +├─────┬──┼───┴─┬─┴───┴───┴───┴───┴───┴───┴─┬─┴───┼──┬───┼───┼───┤ +│40 │ │42 │45 │4A │ │4D │4E │4F │ +└─────┘ └─────┴───────────────────────────┴─────┘ └───┴───┴───┘ +``` From 9f0f39555ce321af3769beaed4af3364ec107590 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed, 13 Sep 2023 19:43:31 -0700 Subject: [PATCH 032/144] Kopibeng XT87 Layout Additions & Touch-Up (#22002) * Add `LAYOUT_tkl_ansi_wkl_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_ansi_wkl` [enhancement] * Add `LAYOUT_tkl_iso_wkl_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_iso_wkl` [enhancement] * Correct layout data Correct key positioning on the function row. [enhancement] * Friendly-format `info.json` [style] * Move ISO Enter to Home Row Corrects the implementation of the ISO Community Layouts. [bugfix] --- keyboards/kopibeng/xt87/info.json | 2115 ++++++++++++++++++----------- 1 file changed, 1321 insertions(+), 794 deletions(-) diff --git a/keyboards/kopibeng/xt87/info.json b/keyboards/kopibeng/xt87/info.json index 8447d40815c..05198e0a581 100644 --- a/keyboards/kopibeng/xt87/info.json +++ b/keyboards/kopibeng/xt87/info.json @@ -54,832 +54,1359 @@ "layouts": { "LAYOUT_all": { "layout": [ - { "matrix": [0, 0], "x": 0, "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.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.75, "y": 0 }, - { "matrix": [0, 10], "x": 10.75, "y": 0 }, - { "matrix": [0, 11], "x": 11.75, "y": 0 }, - { "matrix": [0, 12], "x": 12.75, "y": 0 }, - { "matrix": [0, 13], "x": 14, "y": 0 }, - { "matrix": [0, 14], "x": 15.25, "y": 0 }, - { "matrix": [0, 15], "x": 16.25, "y": 0 }, - { "matrix": [0, 16], "x": 17.25, "y": 0 }, - { "matrix": [1, 0], "x": 0, "y": 1.25 }, - { "matrix": [1, 1], "x": 1, "y": 1.25 }, - { "matrix": [1, 2], "x": 2, "y": 1.25 }, - { "matrix": [1, 3], "x": 3, "y": 1.25 }, - { "matrix": [1, 4], "x": 4, "y": 1.25 }, - { "matrix": [1, 5], "x": 5, "y": 1.25 }, - { "matrix": [1, 6], "x": 6, "y": 1.25 }, - { "matrix": [1, 7], "x": 7, "y": 1.25 }, - { "matrix": [1, 8], "x": 8, "y": 1.25 }, - { "matrix": [1, 9], "x": 9, "y": 1.25 }, - { "matrix": [1, 10], "x": 10, "y": 1.25 }, - { "matrix": [1, 11], "x": 11, "y": 1.25 }, - { "matrix": [1, 12], "x": 12, "y": 1.25 }, - { "matrix": [2, 12], "x": 13, "y": 1.25 }, - { "matrix": [1, 13], "x": 14, "y": 1.25 }, - { "matrix": [1, 14], "x": 15.25, "y": 1.25 }, - { "matrix": [1, 15], "x": 16.25, "y": 1.25 }, - { "matrix": [1, 16], "x": 17.25, "y": 1.25 }, - { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25 }, - { "matrix": [2, 1], "x": 1.5, "y": 2.25 }, - { "matrix": [2, 2], "x": 2.5, "y": 2.25 }, - { "matrix": [2, 3], "x": 3.5, "y": 2.25 }, - { "matrix": [2, 4], "x": 4.5, "y": 2.25 }, - { "matrix": [2, 5], "x": 5.5, "y": 2.25 }, - { "matrix": [2, 6], "x": 6.5, "y": 2.25 }, - { "matrix": [2, 7], "x": 7.5, "y": 2.25 }, - { "matrix": [2, 8], "x": 8.5, "y": 2.25 }, - { "matrix": [2, 9], "x": 9.5, "y": 2.25 }, - { "matrix": [2, 10], "x": 10.5, "y": 2.25 }, - { "matrix": [2, 11], "x": 11.5, "y": 2.25 }, - { "matrix": [3, 12], "x": 12.5, "y": 2.25 }, - { "matrix": [2, 13], "w": 1.5, "x": 13.5, "y": 2.25 }, - { "matrix": [2, 14], "x": 15.25, "y": 2.25 }, - { "matrix": [2, 15], "x": 16.25, "y": 2.25 }, - { "matrix": [2, 16], "x": 17.25, "y": 2.25 }, - { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.25 }, - { "matrix": [3, 1], "x": 1.75, "y": 3.25 }, - { "matrix": [3, 2], "x": 2.75, "y": 3.25 }, - { "matrix": [3, 3], "x": 3.75, "y": 3.25 }, - { "matrix": [3, 4], "x": 4.75, "y": 3.25 }, - { "matrix": [3, 5], "x": 5.75, "y": 3.25 }, - { "matrix": [3, 6], "x": 6.75, "y": 3.25 }, - { "matrix": [3, 7], "x": 7.75, "y": 3.25 }, - { "matrix": [3, 8], "x": 8.75, "y": 3.25 }, - { "matrix": [3, 9], "x": 9.75, "y": 3.25 }, - { "matrix": [3, 10], "x": 10.75, "y": 3.25 }, - { "matrix": [3, 11], "x": 11.75, "y": 3.25 }, - { "matrix": [3, 13], "w": 2.25, "x": 12.75, "y": 3.25 }, - { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.25 }, - { "matrix": [4, 1], "x": 1.25, "y": 4.25 }, - { "matrix": [4, 2], "x": 2.25, "y": 4.25 }, - { "matrix": [4, 3], "x": 3.25, "y": 4.25 }, - { "matrix": [4, 4], "x": 4.25, "y": 4.25 }, - { "matrix": [4, 5], "x": 5.25, "y": 4.25 }, - { "matrix": [4, 6], "x": 6.25, "y": 4.25 }, - { "matrix": [4, 7], "x": 7.25, "y": 4.25 }, - { "matrix": [4, 8], "x": 8.25, "y": 4.25 }, - { "matrix": [4, 9], "x": 9.25, "y": 4.25 }, - { "matrix": [4, 10], "x": 10.25, "y": 4.25 }, - { "matrix": [4, 11], "x": 11.25, "y": 4.25 }, - { "matrix": [4, 12], "w": 1.75, "x": 12.25, "y": 4.25 }, - { "matrix": [4, 13], "x": 14, "y": 4.25 }, - { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, - { "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.25 }, - { "matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 5.25 }, - { "matrix": [5, 2], "w": 1.25, "x": 2.5, "y": 5.25 }, - { "matrix": [5, 6], "w": 6.25, "x": 3.75, "y": 5.25 }, - { "matrix": [5, 10], "w": 1.25, "x": 10, "y": 5.25 }, - { "matrix": [5, 11], "w": 1.25, "x": 11.25, "y": 5.25 }, - { "matrix": [5, 12], "w": 1.25, "x": 12.5, "y": 5.25 }, - { "matrix": [5, 13], "w": 1.25, "x": 13.75, "y": 5.25 }, - { "matrix": [5, 14], "x": 15.25, "y": 5.25 }, - { "matrix": [5, 15], "x": 16.25, "y": 5.25 }, - { "matrix": [4, 16], "x": 17.25, "y": 5.25 } + {"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": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [2, 12], "x": 13, "y": 1.25}, + {"matrix": [1, 13], "x": 14, "y": 1.25}, + + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [3, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25}, + + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [4, 16], "x": 17.25, "y": 5.25} ] }, "LAYOUT_tkl_ansi": { "layout": [ - { "matrix": [0, 0], "x": 0, "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.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.75, "y": 0 }, - { "matrix": [0, 10], "x": 10.75, "y": 0 }, - { "matrix": [0, 11], "x": 11.75, "y": 0 }, - { "matrix": [0, 12], "x": 12.75, "y": 0 }, - { "matrix": [0, 13], "x": 14, "y": 0 }, - { "matrix": [0, 14], "x": 15.25, "y": 0 }, - { "matrix": [0, 15], "x": 16.25, "y": 0 }, - { "matrix": [0, 16], "x": 17.25, "y": 0 }, - { "matrix": [1, 0], "x": 0, "y": 1.25 }, - { "matrix": [1, 1], "x": 1, "y": 1.25 }, - { "matrix": [1, 2], "x": 2, "y": 1.25 }, - { "matrix": [1, 3], "x": 3, "y": 1.25 }, - { "matrix": [1, 4], "x": 4, "y": 1.25 }, - { "matrix": [1, 5], "x": 5, "y": 1.25 }, - { "matrix": [1, 6], "x": 6, "y": 1.25 }, - { "matrix": [1, 7], "x": 7, "y": 1.25 }, - { "matrix": [1, 8], "x": 8, "y": 1.25 }, - { "matrix": [1, 9], "x": 9, "y": 1.25 }, - { "matrix": [1, 10], "x": 10, "y": 1.25 }, - { "matrix": [1, 11], "x": 11, "y": 1.25 }, - { "matrix": [1, 12], "x": 12, "y": 1.25 }, - { "matrix": [1, 13], "w": 2, "x": 13, "y": 1.25 }, - { "matrix": [1, 14], "x": 15.25, "y": 1.25 }, - { "matrix": [1, 15], "x": 16.25, "y": 1.25 }, - { "matrix": [1, 16], "x": 17.25, "y": 1.25 }, - { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25 }, - { "matrix": [2, 1], "x": 1.5, "y": 2.25 }, - { "matrix": [2, 2], "x": 2.5, "y": 2.25 }, - { "matrix": [2, 3], "x": 3.5, "y": 2.25 }, - { "matrix": [2, 4], "x": 4.5, "y": 2.25 }, - { "matrix": [2, 5], "x": 5.5, "y": 2.25 }, - { "matrix": [2, 6], "x": 6.5, "y": 2.25 }, - { "matrix": [2, 7], "x": 7.5, "y": 2.25 }, - { "matrix": [2, 8], "x": 8.5, "y": 2.25 }, - { "matrix": [2, 9], "x": 9.5, "y": 2.25 }, - { "matrix": [2, 10], "x": 10.5, "y": 2.25 }, - { "matrix": [2, 11], "x": 11.5, "y": 2.25 }, - { "matrix": [3, 12], "x": 12.5, "y": 2.25 }, - { "matrix": [2, 13], "w": 1.5, "x": 13.5, "y": 2.25 }, - { "matrix": [2, 14], "x": 15.25, "y": 2.25 }, - { "matrix": [2, 15], "x": 16.25, "y": 2.25 }, - { "matrix": [2, 16], "x": 17.25, "y": 2.25 }, - { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.25 }, - { "matrix": [3, 1], "x": 1.75, "y": 3.25 }, - { "matrix": [3, 2], "x": 2.75, "y": 3.25 }, - { "matrix": [3, 3], "x": 3.75, "y": 3.25 }, - { "matrix": [3, 4], "x": 4.75, "y": 3.25 }, - { "matrix": [3, 5], "x": 5.75, "y": 3.25 }, - { "matrix": [3, 6], "x": 6.75, "y": 3.25 }, - { "matrix": [3, 7], "x": 7.75, "y": 3.25 }, - { "matrix": [3, 8], "x": 8.75, "y": 3.25 }, - { "matrix": [3, 9], "x": 9.75, "y": 3.25 }, - { "matrix": [3, 10], "x": 10.75, "y": 3.25 }, - { "matrix": [3, 11], "x": 11.75, "y": 3.25 }, - { "matrix": [3, 13], "w": 2.25, "x": 12.75, "y": 3.25 }, - { "matrix": [4, 0], "w": 2.25, "x": 0, "y": 4.25 }, - { "matrix": [4, 2], "x": 2.25, "y": 4.25 }, - { "matrix": [4, 3], "x": 3.25, "y": 4.25 }, - { "matrix": [4, 4], "x": 4.25, "y": 4.25 }, - { "matrix": [4, 5], "x": 5.25, "y": 4.25 }, - { "matrix": [4, 6], "x": 6.25, "y": 4.25 }, - { "matrix": [4, 7], "x": 7.25, "y": 4.25 }, - { "matrix": [4, 8], "x": 8.25, "y": 4.25 }, - { "matrix": [4, 9], "x": 9.25, "y": 4.25 }, - { "matrix": [4, 10], "x": 10.25, "y": 4.25 }, - { "matrix": [4, 11], "x": 11.25, "y": 4.25 }, - { "matrix": [4, 12], "w": 2.75, "x": 12.25, "y": 4.25 }, - { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, - { "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.25 }, - { "matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 5.25 }, - { "matrix": [5, 2], "w": 1.25, "x": 2.5, "y": 5.25 }, - { "matrix": [5, 6], "w": 6.25, "x": 3.75, "y": 5.25 }, - { "matrix": [5, 10], "w": 1.25, "x": 10, "y": 5.25 }, - { "matrix": [5, 11], "w": 1.25, "x": 11.25, "y": 5.25 }, - { "matrix": [5, 12], "w": 1.25, "x": 12.5, "y": 5.25 }, - { "matrix": [5, 13], "w": 1.25, "x": 13.75, "y": 5.25 }, - { "matrix": [5, 14], "x": 15.25, "y": 5.25 }, - { "matrix": [5, 15], "x": 16.25, "y": 5.25 }, - { "matrix": [4, 16], "x": 17.25, "y": 5.25 } + {"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": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [3, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25}, + + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [4, 16], "x": 17.25, "y": 5.25} ] }, "LAYOUT_tkl_ansi_split_bs_rshift": { "layout": [ - { "matrix": [0, 0], "x": 0, "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.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.75, "y": 0 }, - { "matrix": [0, 10], "x": 10.75, "y": 0 }, - { "matrix": [0, 11], "x": 11.75, "y": 0 }, - { "matrix": [0, 12], "x": 12.75, "y": 0 }, - { "matrix": [0, 13], "x": 14, "y": 0 }, - { "matrix": [0, 14], "x": 15.25, "y": 0 }, - { "matrix": [0, 15], "x": 16.25, "y": 0 }, - { "matrix": [0, 16], "x": 17.25, "y": 0 }, - { "matrix": [1, 0], "x": 0, "y": 1.25 }, - { "matrix": [1, 1], "x": 1, "y": 1.25 }, - { "matrix": [1, 2], "x": 2, "y": 1.25 }, - { "matrix": [1, 3], "x": 3, "y": 1.25 }, - { "matrix": [1, 4], "x": 4, "y": 1.25 }, - { "matrix": [1, 5], "x": 5, "y": 1.25 }, - { "matrix": [1, 6], "x": 6, "y": 1.25 }, - { "matrix": [1, 7], "x": 7, "y": 1.25 }, - { "matrix": [1, 8], "x": 8, "y": 1.25 }, - { "matrix": [1, 9], "x": 9, "y": 1.25 }, - { "matrix": [1, 10], "x": 10, "y": 1.25 }, - { "matrix": [1, 11], "x": 11, "y": 1.25 }, - { "matrix": [1, 12], "x": 12, "y": 1.25 }, - { "matrix": [2, 12], "x": 13, "y": 1.25 }, - { "matrix": [1, 13], "x": 14, "y": 1.25 }, - { "matrix": [1, 14], "x": 15.25, "y": 1.25 }, - { "matrix": [1, 15], "x": 16.25, "y": 1.25 }, - { "matrix": [1, 16], "x": 17.25, "y": 1.25 }, - { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25 }, - { "matrix": [2, 1], "x": 1.5, "y": 2.25 }, - { "matrix": [2, 2], "x": 2.5, "y": 2.25 }, - { "matrix": [2, 3], "x": 3.5, "y": 2.25 }, - { "matrix": [2, 4], "x": 4.5, "y": 2.25 }, - { "matrix": [2, 5], "x": 5.5, "y": 2.25 }, - { "matrix": [2, 6], "x": 6.5, "y": 2.25 }, - { "matrix": [2, 7], "x": 7.5, "y": 2.25 }, - { "matrix": [2, 8], "x": 8.5, "y": 2.25 }, - { "matrix": [2, 9], "x": 9.5, "y": 2.25 }, - { "matrix": [2, 10], "x": 10.5, "y": 2.25 }, - { "matrix": [2, 11], "x": 11.5, "y": 2.25 }, - { "matrix": [3, 12], "x": 12.5, "y": 2.25 }, - { "matrix": [2, 13], "w": 1.5, "x": 13.5, "y": 2.25 }, - { "matrix": [2, 14], "x": 15.25, "y": 2.25 }, - { "matrix": [2, 15], "x": 16.25, "y": 2.25 }, - { "matrix": [2, 16], "x": 17.25, "y": 2.25 }, - { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.25 }, - { "matrix": [3, 1], "x": 1.75, "y": 3.25 }, - { "matrix": [3, 2], "x": 2.75, "y": 3.25 }, - { "matrix": [3, 3], "x": 3.75, "y": 3.25 }, - { "matrix": [3, 4], "x": 4.75, "y": 3.25 }, - { "matrix": [3, 5], "x": 5.75, "y": 3.25 }, - { "matrix": [3, 6], "x": 6.75, "y": 3.25 }, - { "matrix": [3, 7], "x": 7.75, "y": 3.25 }, - { "matrix": [3, 8], "x": 8.75, "y": 3.25 }, - { "matrix": [3, 9], "x": 9.75, "y": 3.25 }, - { "matrix": [3, 10], "x": 10.75, "y": 3.25 }, - { "matrix": [3, 11], "x": 11.75, "y": 3.25 }, - { "matrix": [3, 13], "w": 2.25, "x": 12.75, "y": 3.25 }, - { "matrix": [4, 0], "w": 2.25, "x": 0, "y": 4.25 }, - { "matrix": [4, 2], "x": 2.25, "y": 4.25 }, - { "matrix": [4, 3], "x": 3.25, "y": 4.25 }, - { "matrix": [4, 4], "x": 4.25, "y": 4.25 }, - { "matrix": [4, 5], "x": 5.25, "y": 4.25 }, - { "matrix": [4, 6], "x": 6.25, "y": 4.25 }, - { "matrix": [4, 7], "x": 7.25, "y": 4.25 }, - { "matrix": [4, 8], "x": 8.25, "y": 4.25 }, - { "matrix": [4, 9], "x": 9.25, "y": 4.25 }, - { "matrix": [4, 10], "x": 10.25, "y": 4.25 }, - { "matrix": [4, 11], "x": 11.25, "y": 4.25 }, - { "matrix": [4, 12], "w": 1.75, "x": 12.25, "y": 4.25 }, - { "matrix": [4, 13], "x": 14, "y": 4.25 }, - { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, - { "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.25 }, - { "matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 5.25 }, - { "matrix": [5, 2], "w": 1.25, "x": 2.5, "y": 5.25 }, - { "matrix": [5, 6], "w": 6.25, "x": 3.75, "y": 5.25 }, - { "matrix": [5, 10], "w": 1.25, "x": 10, "y": 5.25 }, - { "matrix": [5, 11], "w": 1.25, "x": 11.25, "y": 5.25 }, - { "matrix": [5, 12], "w": 1.25, "x": 12.5, "y": 5.25 }, - { "matrix": [5, 13], "w": 1.25, "x": 13.75, "y": 5.25 }, - { "matrix": [5, 14], "x": 15.25, "y": 5.25 }, - { "matrix": [5, 15], "x": 16.25, "y": 5.25 }, - { "matrix": [4, 16], "x": 17.25, "y": 5.25 } + {"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": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [2, 12], "x": 13, "y": 1.25}, + {"matrix": [1, 13], "x": 14, "y": 1.25}, + + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [3, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25}, + + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [4, 16], "x": 17.25, "y": 5.25} ] }, "LAYOUT_tkl_ansi_tsangan": { "layout": [ - { "matrix": [0, 0], "x": 0, "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.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.75, "y": 0 }, - { "matrix": [0, 10], "x": 10.75, "y": 0 }, - { "matrix": [0, 11], "x": 11.75, "y": 0 }, - { "matrix": [0, 12], "x": 12.75, "y": 0 }, - { "matrix": [0, 13], "x": 14, "y": 0 }, - { "matrix": [0, 14], "x": 15.25, "y": 0 }, - { "matrix": [0, 15], "x": 16.25, "y": 0 }, - { "matrix": [0, 16], "x": 17.25, "y": 0 }, - { "matrix": [1, 0], "x": 0, "y": 1.25 }, - { "matrix": [1, 1], "x": 1, "y": 1.25 }, - { "matrix": [1, 2], "x": 2, "y": 1.25 }, - { "matrix": [1, 3], "x": 3, "y": 1.25 }, - { "matrix": [1, 4], "x": 4, "y": 1.25 }, - { "matrix": [1, 5], "x": 5, "y": 1.25 }, - { "matrix": [1, 6], "x": 6, "y": 1.25 }, - { "matrix": [1, 7], "x": 7, "y": 1.25 }, - { "matrix": [1, 8], "x": 8, "y": 1.25 }, - { "matrix": [1, 9], "x": 9, "y": 1.25 }, - { "matrix": [1, 10], "x": 10, "y": 1.25 }, - { "matrix": [1, 11], "x": 11, "y": 1.25 }, - { "matrix": [1, 12], "x": 12, "y": 1.25 }, - { "matrix": [1, 13], "w": 2, "x": 13, "y": 1.25 }, - { "matrix": [1, 14], "x": 15.25, "y": 1.25 }, - { "matrix": [1, 15], "x": 16.25, "y": 1.25 }, - { "matrix": [1, 16], "x": 17.25, "y": 1.25 }, - { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25 }, - { "matrix": [2, 1], "x": 1.5, "y": 2.25 }, - { "matrix": [2, 2], "x": 2.5, "y": 2.25 }, - { "matrix": [2, 3], "x": 3.5, "y": 2.25 }, - { "matrix": [2, 4], "x": 4.5, "y": 2.25 }, - { "matrix": [2, 5], "x": 5.5, "y": 2.25 }, - { "matrix": [2, 6], "x": 6.5, "y": 2.25 }, - { "matrix": [2, 7], "x": 7.5, "y": 2.25 }, - { "matrix": [2, 8], "x": 8.5, "y": 2.25 }, - { "matrix": [2, 9], "x": 9.5, "y": 2.25 }, - { "matrix": [2, 10], "x": 10.5, "y": 2.25 }, - { "matrix": [2, 11], "x": 11.5, "y": 2.25 }, - { "matrix": [3, 12], "x": 12.5, "y": 2.25 }, - { "matrix": [2, 13], "w": 1.5, "x": 13.5, "y": 2.25 }, - { "matrix": [2, 14], "x": 15.25, "y": 2.25 }, - { "matrix": [2, 15], "x": 16.25, "y": 2.25 }, - { "matrix": [2, 16], "x": 17.25, "y": 2.25 }, - { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.25 }, - { "matrix": [3, 1], "x": 1.75, "y": 3.25 }, - { "matrix": [3, 2], "x": 2.75, "y": 3.25 }, - { "matrix": [3, 3], "x": 3.75, "y": 3.25 }, - { "matrix": [3, 4], "x": 4.75, "y": 3.25 }, - { "matrix": [3, 5], "x": 5.75, "y": 3.25 }, - { "matrix": [3, 6], "x": 6.75, "y": 3.25 }, - { "matrix": [3, 7], "x": 7.75, "y": 3.25 }, - { "matrix": [3, 8], "x": 8.75, "y": 3.25 }, - { "matrix": [3, 9], "x": 9.75, "y": 3.25 }, - { "matrix": [3, 10], "x": 10.75, "y": 3.25 }, - { "matrix": [3, 11], "x": 11.75, "y": 3.25 }, - { "matrix": [3, 13], "w": 2.25, "x": 12.75, "y": 3.25 }, - { "matrix": [4, 0], "w": 2.25, "x": 0, "y": 4.25 }, - { "matrix": [4, 2], "x": 2.25, "y": 4.25 }, - { "matrix": [4, 3], "x": 3.25, "y": 4.25 }, - { "matrix": [4, 4], "x": 4.25, "y": 4.25 }, - { "matrix": [4, 5], "x": 5.25, "y": 4.25 }, - { "matrix": [4, 6], "x": 6.25, "y": 4.25 }, - { "matrix": [4, 7], "x": 7.25, "y": 4.25 }, - { "matrix": [4, 8], "x": 8.25, "y": 4.25 }, - { "matrix": [4, 9], "x": 9.25, "y": 4.25 }, - { "matrix": [4, 10], "x": 10.25, "y": 4.25 }, - { "matrix": [4, 11], "x": 11.25, "y": 4.25 }, - { "matrix": [4, 12], "w": 2.75, "x": 12.25, "y": 4.25 }, - { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, - { "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.25 }, - { "matrix": [5, 1], "w": 1, "x": 1.5, "y": 5.25 }, - { "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.25 }, - { "matrix": [5, 6], "w": 7, "x": 4, "y": 5.25 }, - { "matrix": [5, 11], "w": 1.5, "x": 11, "y": 5.25 }, - { "matrix": [5, 12], "w": 1, "x": 12.5, "y": 5.25 }, - { "matrix": [5, 13], "w": 1.5, "x": 13.5, "y": 5.25 }, - { "matrix": [5, 14], "x": 15.25, "y": 5.25 }, - { "matrix": [5, 15], "x": 16.25, "y": 5.25 }, - { "matrix": [4, 16], "x": 17.25, "y": 5.25 } + {"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": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [3, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25}, + {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [4, 16], "x": 17.25, "y": 5.25} ] }, "LAYOUT_tkl_ansi_tsangan_split_bs_rshift": { "layout": [ - { "matrix": [0, 0], "x": 0, "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.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.75, "y": 0 }, - { "matrix": [0, 10], "x": 10.75, "y": 0 }, - { "matrix": [0, 11], "x": 11.75, "y": 0 }, - { "matrix": [0, 12], "x": 12.75, "y": 0 }, - { "matrix": [0, 13], "x": 14, "y": 0 }, - { "matrix": [0, 14], "x": 15.25, "y": 0 }, - { "matrix": [0, 15], "x": 16.25, "y": 0 }, - { "matrix": [0, 16], "x": 17.25, "y": 0 }, - { "matrix": [1, 0], "x": 0, "y": 1.25 }, - { "matrix": [1, 1], "x": 1, "y": 1.25 }, - { "matrix": [1, 2], "x": 2, "y": 1.25 }, - { "matrix": [1, 3], "x": 3, "y": 1.25 }, - { "matrix": [1, 4], "x": 4, "y": 1.25 }, - { "matrix": [1, 5], "x": 5, "y": 1.25 }, - { "matrix": [1, 6], "x": 6, "y": 1.25 }, - { "matrix": [1, 7], "x": 7, "y": 1.25 }, - { "matrix": [1, 8], "x": 8, "y": 1.25 }, - { "matrix": [1, 9], "x": 9, "y": 1.25 }, - { "matrix": [1, 10], "x": 10, "y": 1.25 }, - { "matrix": [1, 11], "x": 11, "y": 1.25 }, - { "matrix": [1, 12], "x": 12, "y": 1.25 }, - { "matrix": [2, 12], "x": 13, "y": 1.25 }, - { "matrix": [1, 13], "x": 14, "y": 1.25 }, - { "matrix": [1, 14], "x": 15.25, "y": 1.25 }, - { "matrix": [1, 15], "x": 16.25, "y": 1.25 }, - { "matrix": [1, 16], "x": 17.25, "y": 1.25 }, - { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25 }, - { "matrix": [2, 1], "x": 1.5, "y": 2.25 }, - { "matrix": [2, 2], "x": 2.5, "y": 2.25 }, - { "matrix": [2, 3], "x": 3.5, "y": 2.25 }, - { "matrix": [2, 4], "x": 4.5, "y": 2.25 }, - { "matrix": [2, 5], "x": 5.5, "y": 2.25 }, - { "matrix": [2, 6], "x": 6.5, "y": 2.25 }, - { "matrix": [2, 7], "x": 7.5, "y": 2.25 }, - { "matrix": [2, 8], "x": 8.5, "y": 2.25 }, - { "matrix": [2, 9], "x": 9.5, "y": 2.25 }, - { "matrix": [2, 10], "x": 10.5, "y": 2.25 }, - { "matrix": [2, 11], "x": 11.5, "y": 2.25 }, - { "matrix": [3, 12], "x": 12.5, "y": 2.25 }, - { "matrix": [2, 13], "w": 1.5, "x": 13.5, "y": 2.25 }, - { "matrix": [2, 14], "x": 15.25, "y": 2.25 }, - { "matrix": [2, 15], "x": 16.25, "y": 2.25 }, - { "matrix": [2, 16], "x": 17.25, "y": 2.25 }, - { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.25 }, - { "matrix": [3, 1], "x": 1.75, "y": 3.25 }, - { "matrix": [3, 2], "x": 2.75, "y": 3.25 }, - { "matrix": [3, 3], "x": 3.75, "y": 3.25 }, - { "matrix": [3, 4], "x": 4.75, "y": 3.25 }, - { "matrix": [3, 5], "x": 5.75, "y": 3.25 }, - { "matrix": [3, 6], "x": 6.75, "y": 3.25 }, - { "matrix": [3, 7], "x": 7.75, "y": 3.25 }, - { "matrix": [3, 8], "x": 8.75, "y": 3.25 }, - { "matrix": [3, 9], "x": 9.75, "y": 3.25 }, - { "matrix": [3, 10], "x": 10.75, "y": 3.25 }, - { "matrix": [3, 11], "x": 11.75, "y": 3.25 }, - { "matrix": [3, 13], "w": 2.25, "x": 12.75, "y": 3.25 }, - { "matrix": [4, 0], "w": 2.25, "x": 0, "y": 4.25 }, - { "matrix": [4, 2], "x": 2.25, "y": 4.25 }, - { "matrix": [4, 3], "x": 3.25, "y": 4.25 }, - { "matrix": [4, 4], "x": 4.25, "y": 4.25 }, - { "matrix": [4, 5], "x": 5.25, "y": 4.25 }, - { "matrix": [4, 6], "x": 6.25, "y": 4.25 }, - { "matrix": [4, 7], "x": 7.25, "y": 4.25 }, - { "matrix": [4, 8], "x": 8.25, "y": 4.25 }, - { "matrix": [4, 9], "x": 9.25, "y": 4.25 }, - { "matrix": [4, 10], "x": 10.25, "y": 4.25 }, - { "matrix": [4, 11], "x": 11.25, "y": 4.25 }, - { "matrix": [4, 12], "w": 1.75, "x": 12.25, "y": 4.25 }, - { "matrix": [4, 13], "x": 14, "y": 4.25 }, - { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, - { "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.25 }, - { "matrix": [5, 1], "w": 1, "x": 1.5, "y": 5.25 }, - { "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.25 }, - { "matrix": [5, 6], "w": 7, "x": 4, "y": 5.25 }, - { "matrix": [5, 11], "w": 1.5, "x": 11, "y": 5.25 }, - { "matrix": [5, 12], "w": 1, "x": 12.5, "y": 5.25 }, - { "matrix": [5, 13], "w": 1.5, "x": 13.5, "y": 5.25 }, - { "matrix": [5, 14], "x": 15.25, "y": 5.25 }, - { "matrix": [5, 15], "x": 16.25, "y": 5.25 }, - { "matrix": [4, 16], "x": 17.25, "y": 5.25 } + {"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": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [2, 12], "x": 13, "y": 1.25}, + {"matrix": [1, 13], "x": 14, "y": 1.25}, + + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [3, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25}, + {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [4, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_ansi_wkl": { + "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": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [3, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [4, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_ansi_wkl_split_bs_rshift": { + "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": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [2, 12], "x": 13, "y": 1.25}, + {"matrix": [1, 13], "x": 14, "y": 1.25}, + + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [3, 12], "x": 12.5, "y": 2.25}, + {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [4, 16], "x": 17.25, "y": 5.25} ] }, "LAYOUT_tkl_iso": { "layout": [ - { "matrix": [0, 0], "x": 0, "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.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.75, "y": 0 }, - { "matrix": [0, 10], "x": 10.75, "y": 0 }, - { "matrix": [0, 11], "x": 11.75, "y": 0 }, - { "matrix": [0, 12], "x": 12.75, "y": 0 }, - { "matrix": [0, 13], "x": 14, "y": 0 }, - { "matrix": [0, 14], "x": 15.25, "y": 0 }, - { "matrix": [0, 15], "x": 16.25, "y": 0 }, - { "matrix": [0, 16], "x": 17.25, "y": 0 }, - { "matrix": [1, 0], "x": 0, "y": 1.25 }, - { "matrix": [1, 1], "x": 1, "y": 1.25 }, - { "matrix": [1, 2], "x": 2, "y": 1.25 }, - { "matrix": [1, 3], "x": 3, "y": 1.25 }, - { "matrix": [1, 4], "x": 4, "y": 1.25 }, - { "matrix": [1, 5], "x": 5, "y": 1.25 }, - { "matrix": [1, 6], "x": 6, "y": 1.25 }, - { "matrix": [1, 7], "x": 7, "y": 1.25 }, - { "matrix": [1, 8], "x": 8, "y": 1.25 }, - { "matrix": [1, 9], "x": 9, "y": 1.25 }, - { "matrix": [1, 10], "x": 10, "y": 1.25 }, - { "matrix": [1, 11], "x": 11, "y": 1.25 }, - { "matrix": [1, 12], "x": 12, "y": 1.25 }, - { "matrix": [1, 13], "w": 2, "x": 13, "y": 1.25 }, - { "matrix": [1, 14], "x": 15.25, "y": 1.25 }, - { "matrix": [1, 15], "x": 16.25, "y": 1.25 }, - { "matrix": [1, 16], "x": 17.25, "y": 1.25 }, - { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25 }, - { "matrix": [2, 1], "x": 1.5, "y": 2.25 }, - { "matrix": [2, 2], "x": 2.5, "y": 2.25 }, - { "matrix": [2, 3], "x": 3.5, "y": 2.25 }, - { "matrix": [2, 4], "x": 4.5, "y": 2.25 }, - { "matrix": [2, 5], "x": 5.5, "y": 2.25 }, - { "matrix": [2, 6], "x": 6.5, "y": 2.25 }, - { "matrix": [2, 7], "x": 7.5, "y": 2.25 }, - { "matrix": [2, 8], "x": 8.5, "y": 2.25 }, - { "matrix": [2, 9], "x": 9.5, "y": 2.25 }, - { "matrix": [2, 10], "x": 10.5, "y": 2.25 }, - { "matrix": [2, 11], "x": 11.5, "y": 2.25 }, - { "matrix": [3, 12], "x": 12.5, "y": 2.25 }, - { "h": 2, "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 2.25 }, - { "matrix": [2, 14], "x": 15.25, "y": 2.25 }, - { "matrix": [2, 15], "x": 16.25, "y": 2.25 }, - { "matrix": [2, 16], "x": 17.25, "y": 2.25 }, - { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.25 }, - { "matrix": [3, 1], "x": 1.75, "y": 3.25 }, - { "matrix": [3, 2], "x": 2.75, "y": 3.25 }, - { "matrix": [3, 3], "x": 3.75, "y": 3.25 }, - { "matrix": [3, 4], "x": 4.75, "y": 3.25 }, - { "matrix": [3, 5], "x": 5.75, "y": 3.25 }, - { "matrix": [3, 6], "x": 6.75, "y": 3.25 }, - { "matrix": [3, 7], "x": 7.75, "y": 3.25 }, - { "matrix": [3, 8], "x": 8.75, "y": 3.25 }, - { "matrix": [3, 9], "x": 9.75, "y": 3.25 }, - { "matrix": [3, 10], "x": 10.75, "y": 3.25 }, - { "matrix": [3, 11], "x": 11.75, "y": 3.25 }, - { "matrix": [3, 13], "x": 12.75, "y": 3.25 }, - { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.25 }, - { "matrix": [4, 1], "x": 1.25, "y": 4.25 }, - { "matrix": [4, 2], "x": 2.25, "y": 4.25 }, - { "matrix": [4, 3], "x": 3.25, "y": 4.25 }, - { "matrix": [4, 4], "x": 4.25, "y": 4.25 }, - { "matrix": [4, 5], "x": 5.25, "y": 4.25 }, - { "matrix": [4, 6], "x": 6.25, "y": 4.25 }, - { "matrix": [4, 7], "x": 7.25, "y": 4.25 }, - { "matrix": [4, 8], "x": 8.25, "y": 4.25 }, - { "matrix": [4, 9], "x": 9.25, "y": 4.25 }, - { "matrix": [4, 10], "x": 10.25, "y": 4.25 }, - { "matrix": [4, 11], "x": 11.25, "y": 4.25 }, - { "matrix": [4, 12], "w": 2.75, "x": 12.25, "y": 4.25 }, - { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, - { "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.25 }, - { "matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 5.25 }, - { "matrix": [5, 2], "w": 1.25, "x": 2.5, "y": 5.25 }, - { "matrix": [5, 6], "w": 6.25, "x": 3.75, "y": 5.25 }, - { "matrix": [5, 10], "w": 1.25, "x": 10, "y": 5.25 }, - { "matrix": [5, 11], "w": 1.25, "x": 11.25, "y": 5.25 }, - { "matrix": [5, 12], "w": 1.25, "x": 12.5, "y": 5.25 }, - { "matrix": [5, 13], "w": 1.25, "x": 13.75, "y": 5.25 }, - { "matrix": [5, 14], "x": 15.25, "y": 5.25 }, - { "matrix": [5, 15], "x": 16.25, "y": 5.25 }, - { "matrix": [4, 16], "x": 17.25, "y": 5.25 } + {"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": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [3, 12], "x": 12.5, "y": 2.25}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25}, + {"matrix": [2, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25}, + + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [4, 16], "x": 17.25, "y": 5.25} ] }, "LAYOUT_tkl_iso_split_bs_rshift": { "layout": [ - { "matrix": [0, 0], "x": 0, "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.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.75, "y": 0 }, - { "matrix": [0, 10], "x": 10.75, "y": 0 }, - { "matrix": [0, 11], "x": 11.75, "y": 0 }, - { "matrix": [0, 12], "x": 12.75, "y": 0 }, - { "matrix": [0, 13], "x": 14, "y": 0 }, - { "matrix": [0, 14], "x": 15.25, "y": 0 }, - { "matrix": [0, 15], "x": 16.25, "y": 0 }, - { "matrix": [0, 16], "x": 17.25, "y": 0 }, - { "matrix": [1, 0], "x": 0, "y": 1.25 }, - { "matrix": [1, 1], "x": 1, "y": 1.25 }, - { "matrix": [1, 2], "x": 2, "y": 1.25 }, - { "matrix": [1, 3], "x": 3, "y": 1.25 }, - { "matrix": [1, 4], "x": 4, "y": 1.25 }, - { "matrix": [1, 5], "x": 5, "y": 1.25 }, - { "matrix": [1, 6], "x": 6, "y": 1.25 }, - { "matrix": [1, 7], "x": 7, "y": 1.25 }, - { "matrix": [1, 8], "x": 8, "y": 1.25 }, - { "matrix": [1, 9], "x": 9, "y": 1.25 }, - { "matrix": [1, 10], "x": 10, "y": 1.25 }, - { "matrix": [1, 11], "x": 11, "y": 1.25 }, - { "matrix": [1, 12], "x": 12, "y": 1.25 }, - { "matrix": [2, 12], "x": 13, "y": 1.25 }, - { "matrix": [1, 13], "x": 14, "y": 1.25 }, - { "matrix": [1, 14], "x": 15.25, "y": 1.25 }, - { "matrix": [1, 15], "x": 16.25, "y": 1.25 }, - { "matrix": [1, 16], "x": 17.25, "y": 1.25 }, - { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25 }, - { "matrix": [2, 1], "x": 1.5, "y": 2.25 }, - { "matrix": [2, 2], "x": 2.5, "y": 2.25 }, - { "matrix": [2, 3], "x": 3.5, "y": 2.25 }, - { "matrix": [2, 4], "x": 4.5, "y": 2.25 }, - { "matrix": [2, 5], "x": 5.5, "y": 2.25 }, - { "matrix": [2, 6], "x": 6.5, "y": 2.25 }, - { "matrix": [2, 7], "x": 7.5, "y": 2.25 }, - { "matrix": [2, 8], "x": 8.5, "y": 2.25 }, - { "matrix": [2, 9], "x": 9.5, "y": 2.25 }, - { "matrix": [2, 10], "x": 10.5, "y": 2.25 }, - { "matrix": [2, 11], "x": 11.5, "y": 2.25 }, - { "matrix": [3, 12], "x": 12.5, "y": 2.25 }, - { "h": 2, "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 2.25 }, - { "matrix": [2, 14], "x": 15.25, "y": 2.25 }, - { "matrix": [2, 15], "x": 16.25, "y": 2.25 }, - { "matrix": [2, 16], "x": 17.25, "y": 2.25 }, - { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.25 }, - { "matrix": [3, 1], "x": 1.75, "y": 3.25 }, - { "matrix": [3, 2], "x": 2.75, "y": 3.25 }, - { "matrix": [3, 3], "x": 3.75, "y": 3.25 }, - { "matrix": [3, 4], "x": 4.75, "y": 3.25 }, - { "matrix": [3, 5], "x": 5.75, "y": 3.25 }, - { "matrix": [3, 6], "x": 6.75, "y": 3.25 }, - { "matrix": [3, 7], "x": 7.75, "y": 3.25 }, - { "matrix": [3, 8], "x": 8.75, "y": 3.25 }, - { "matrix": [3, 9], "x": 9.75, "y": 3.25 }, - { "matrix": [3, 10], "x": 10.75, "y": 3.25 }, - { "matrix": [3, 11], "x": 11.75, "y": 3.25 }, - { "matrix": [3, 13], "x": 12.75, "y": 3.25 }, - { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.25 }, - { "matrix": [4, 1], "x": 1.25, "y": 4.25 }, - { "matrix": [4, 2], "x": 2.25, "y": 4.25 }, - { "matrix": [4, 3], "x": 3.25, "y": 4.25 }, - { "matrix": [4, 4], "x": 4.25, "y": 4.25 }, - { "matrix": [4, 5], "x": 5.25, "y": 4.25 }, - { "matrix": [4, 6], "x": 6.25, "y": 4.25 }, - { "matrix": [4, 7], "x": 7.25, "y": 4.25 }, - { "matrix": [4, 8], "x": 8.25, "y": 4.25 }, - { "matrix": [4, 9], "x": 9.25, "y": 4.25 }, - { "matrix": [4, 10], "x": 10.25, "y": 4.25 }, - { "matrix": [4, 11], "x": 11.25, "y": 4.25 }, - { "matrix": [4, 12], "w": 1.75, "x": 12.25, "y": 4.25 }, - { "matrix": [4, 13], "x": 14, "y": 4.25 }, - { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, - { "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.25 }, - { "matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 5.25 }, - { "matrix": [5, 2], "w": 1.25, "x": 2.5, "y": 5.25 }, - { "matrix": [5, 6], "w": 6.25, "x": 3.75, "y": 5.25 }, - { "matrix": [5, 10], "w": 1.25, "x": 10, "y": 5.25 }, - { "matrix": [5, 11], "w": 1.25, "x": 11.25, "y": 5.25 }, - { "matrix": [5, 12], "w": 1.25, "x": 12.5, "y": 5.25 }, - { "matrix": [5, 13], "w": 1.25, "x": 13.75, "y": 5.25 }, - { "matrix": [5, 14], "x": 15.25, "y": 5.25 }, - { "matrix": [5, 15], "x": 16.25, "y": 5.25 }, - { "matrix": [4, 16], "x": 17.25, "y": 5.25 } + {"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": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [2, 12], "x": 13, "y": 1.25}, + {"matrix": [1, 13], "x": 14, "y": 1.25}, + + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [3, 12], "x": 12.5, "y": 2.25}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25}, + {"matrix": [2, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25}, + + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [4, 16], "x": 17.25, "y": 5.25} ] }, "LAYOUT_tkl_iso_tsangan": { "layout": [ - { "matrix": [0, 0], "x": 0, "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.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.75, "y": 0 }, - { "matrix": [0, 10], "x": 10.75, "y": 0 }, - { "matrix": [0, 11], "x": 11.75, "y": 0 }, - { "matrix": [0, 12], "x": 12.75, "y": 0 }, - { "matrix": [0, 13], "x": 14, "y": 0 }, - { "matrix": [0, 14], "x": 15.25, "y": 0 }, - { "matrix": [0, 15], "x": 16.25, "y": 0 }, - { "matrix": [0, 16], "x": 17.25, "y": 0 }, - { "matrix": [1, 0], "x": 0, "y": 1.25 }, - { "matrix": [1, 1], "x": 1, "y": 1.25 }, - { "matrix": [1, 2], "x": 2, "y": 1.25 }, - { "matrix": [1, 3], "x": 3, "y": 1.25 }, - { "matrix": [1, 4], "x": 4, "y": 1.25 }, - { "matrix": [1, 5], "x": 5, "y": 1.25 }, - { "matrix": [1, 6], "x": 6, "y": 1.25 }, - { "matrix": [1, 7], "x": 7, "y": 1.25 }, - { "matrix": [1, 8], "x": 8, "y": 1.25 }, - { "matrix": [1, 9], "x": 9, "y": 1.25 }, - { "matrix": [1, 10], "x": 10, "y": 1.25 }, - { "matrix": [1, 11], "x": 11, "y": 1.25 }, - { "matrix": [1, 12], "x": 12, "y": 1.25 }, - { "matrix": [1, 13], "w": 2, "x": 13, "y": 1.25 }, - { "matrix": [1, 14], "x": 15.25, "y": 1.25 }, - { "matrix": [1, 15], "x": 16.25, "y": 1.25 }, - { "matrix": [1, 16], "x": 17.25, "y": 1.25 }, - { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25 }, - { "matrix": [2, 1], "x": 1.5, "y": 2.25 }, - { "matrix": [2, 2], "x": 2.5, "y": 2.25 }, - { "matrix": [2, 3], "x": 3.5, "y": 2.25 }, - { "matrix": [2, 4], "x": 4.5, "y": 2.25 }, - { "matrix": [2, 5], "x": 5.5, "y": 2.25 }, - { "matrix": [2, 6], "x": 6.5, "y": 2.25 }, - { "matrix": [2, 7], "x": 7.5, "y": 2.25 }, - { "matrix": [2, 8], "x": 8.5, "y": 2.25 }, - { "matrix": [2, 9], "x": 9.5, "y": 2.25 }, - { "matrix": [2, 10], "x": 10.5, "y": 2.25 }, - { "matrix": [2, 11], "x": 11.5, "y": 2.25 }, - { "matrix": [3, 12], "x": 12.5, "y": 2.25 }, - { "h": 2, "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 2.25 }, - { "matrix": [2, 14], "x": 15.25, "y": 2.25 }, - { "matrix": [2, 15], "x": 16.25, "y": 2.25 }, - { "matrix": [2, 16], "x": 17.25, "y": 2.25 }, - { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.25 }, - { "matrix": [3, 1], "x": 1.75, "y": 3.25 }, - { "matrix": [3, 2], "x": 2.75, "y": 3.25 }, - { "matrix": [3, 3], "x": 3.75, "y": 3.25 }, - { "matrix": [3, 4], "x": 4.75, "y": 3.25 }, - { "matrix": [3, 5], "x": 5.75, "y": 3.25 }, - { "matrix": [3, 6], "x": 6.75, "y": 3.25 }, - { "matrix": [3, 7], "x": 7.75, "y": 3.25 }, - { "matrix": [3, 8], "x": 8.75, "y": 3.25 }, - { "matrix": [3, 9], "x": 9.75, "y": 3.25 }, - { "matrix": [3, 10], "x": 10.75, "y": 3.25 }, - { "matrix": [3, 11], "x": 11.75, "y": 3.25 }, - { "matrix": [3, 13], "x": 12.75, "y": 3.25 }, - { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.25 }, - { "matrix": [4, 1], "x": 1.25, "y": 4.25 }, - { "matrix": [4, 2], "x": 2.25, "y": 4.25 }, - { "matrix": [4, 3], "x": 3.25, "y": 4.25 }, - { "matrix": [4, 4], "x": 4.25, "y": 4.25 }, - { "matrix": [4, 5], "x": 5.25, "y": 4.25 }, - { "matrix": [4, 6], "x": 6.25, "y": 4.25 }, - { "matrix": [4, 7], "x": 7.25, "y": 4.25 }, - { "matrix": [4, 8], "x": 8.25, "y": 4.25 }, - { "matrix": [4, 9], "x": 9.25, "y": 4.25 }, - { "matrix": [4, 10], "x": 10.25, "y": 4.25 }, - { "matrix": [4, 11], "x": 11.25, "y": 4.25 }, - { "matrix": [4, 12], "w": 2.75, "x": 12.25, "y": 4.25 }, - { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, - { "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.25 }, - { "matrix": [5, 1], "w": 1, "x": 1.5, "y": 5.25 }, - { "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.25 }, - { "matrix": [5, 6], "w": 7, "x": 4, "y": 5.25 }, - { "matrix": [5, 11], "w": 1.5, "x": 11, "y": 5.25 }, - { "matrix": [5, 12], "w": 1, "x": 12.5, "y": 5.25 }, - { "matrix": [5, 13], "w": 1.5, "x": 13.5, "y": 5.25 }, - { "matrix": [5, 14], "x": 15.25, "y": 5.25 }, - { "matrix": [5, 15], "x": 16.25, "y": 5.25 }, - { "matrix": [4, 16], "x": 17.25, "y": 5.25 } + {"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": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [3, 12], "x": 12.5, "y": 2.25}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25}, + {"matrix": [2, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25}, + {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [4, 16], "x": 17.25, "y": 5.25} ] }, "LAYOUT_tkl_iso_tsangan_split_bs_rshift": { "layout": [ - { "matrix": [0, 0], "x": 0, "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.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.75, "y": 0 }, - { "matrix": [0, 10], "x": 10.75, "y": 0 }, - { "matrix": [0, 11], "x": 11.75, "y": 0 }, - { "matrix": [0, 12], "x": 12.75, "y": 0 }, - { "matrix": [0, 13], "x": 14, "y": 0 }, - { "matrix": [0, 14], "x": 15.25, "y": 0 }, - { "matrix": [0, 15], "x": 16.25, "y": 0 }, - { "matrix": [0, 16], "x": 17.25, "y": 0 }, - { "matrix": [1, 0], "x": 0, "y": 1.25 }, - { "matrix": [1, 1], "x": 1, "y": 1.25 }, - { "matrix": [1, 2], "x": 2, "y": 1.25 }, - { "matrix": [1, 3], "x": 3, "y": 1.25 }, - { "matrix": [1, 4], "x": 4, "y": 1.25 }, - { "matrix": [1, 5], "x": 5, "y": 1.25 }, - { "matrix": [1, 6], "x": 6, "y": 1.25 }, - { "matrix": [1, 7], "x": 7, "y": 1.25 }, - { "matrix": [1, 8], "x": 8, "y": 1.25 }, - { "matrix": [1, 9], "x": 9, "y": 1.25 }, - { "matrix": [1, 10], "x": 10, "y": 1.25 }, - { "matrix": [1, 11], "x": 11, "y": 1.25 }, - { "matrix": [1, 12], "x": 12, "y": 1.25 }, - { "matrix": [2, 12], "x": 13, "y": 1.25 }, - { "matrix": [1, 13], "x": 14, "y": 1.25 }, - { "matrix": [1, 14], "x": 15.25, "y": 1.25 }, - { "matrix": [1, 15], "x": 16.25, "y": 1.25 }, - { "matrix": [1, 16], "x": 17.25, "y": 1.25 }, - { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25 }, - { "matrix": [2, 1], "x": 1.5, "y": 2.25 }, - { "matrix": [2, 2], "x": 2.5, "y": 2.25 }, - { "matrix": [2, 3], "x": 3.5, "y": 2.25 }, - { "matrix": [2, 4], "x": 4.5, "y": 2.25 }, - { "matrix": [2, 5], "x": 5.5, "y": 2.25 }, - { "matrix": [2, 6], "x": 6.5, "y": 2.25 }, - { "matrix": [2, 7], "x": 7.5, "y": 2.25 }, - { "matrix": [2, 8], "x": 8.5, "y": 2.25 }, - { "matrix": [2, 9], "x": 9.5, "y": 2.25 }, - { "matrix": [2, 10], "x": 10.5, "y": 2.25 }, - { "matrix": [2, 11], "x": 11.5, "y": 2.25 }, - { "matrix": [3, 12], "x": 12.5, "y": 2.25 }, - { "h": 2, "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 2.25 }, - { "matrix": [2, 14], "x": 15.25, "y": 2.25 }, - { "matrix": [2, 15], "x": 16.25, "y": 2.25 }, - { "matrix": [2, 16], "x": 17.25, "y": 2.25 }, - { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.25 }, - { "matrix": [3, 1], "x": 1.75, "y": 3.25 }, - { "matrix": [3, 2], "x": 2.75, "y": 3.25 }, - { "matrix": [3, 3], "x": 3.75, "y": 3.25 }, - { "matrix": [3, 4], "x": 4.75, "y": 3.25 }, - { "matrix": [3, 5], "x": 5.75, "y": 3.25 }, - { "matrix": [3, 6], "x": 6.75, "y": 3.25 }, - { "matrix": [3, 7], "x": 7.75, "y": 3.25 }, - { "matrix": [3, 8], "x": 8.75, "y": 3.25 }, - { "matrix": [3, 9], "x": 9.75, "y": 3.25 }, - { "matrix": [3, 10], "x": 10.75, "y": 3.25 }, - { "matrix": [3, 11], "x": 11.75, "y": 3.25 }, - { "matrix": [3, 13], "x": 12.75, "y": 3.25 }, - { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.25 }, - { "matrix": [4, 1], "x": 1.25, "y": 4.25 }, - { "matrix": [4, 2], "x": 2.25, "y": 4.25 }, - { "matrix": [4, 3], "x": 3.25, "y": 4.25 }, - { "matrix": [4, 4], "x": 4.25, "y": 4.25 }, - { "matrix": [4, 5], "x": 5.25, "y": 4.25 }, - { "matrix": [4, 6], "x": 6.25, "y": 4.25 }, - { "matrix": [4, 7], "x": 7.25, "y": 4.25 }, - { "matrix": [4, 8], "x": 8.25, "y": 4.25 }, - { "matrix": [4, 9], "x": 9.25, "y": 4.25 }, - { "matrix": [4, 10], "x": 10.25, "y": 4.25 }, - { "matrix": [4, 11], "x": 11.25, "y": 4.25 }, - { "matrix": [4, 12], "w": 1.75, "x": 12.25, "y": 4.25 }, - { "matrix": [4, 13], "x": 14, "y": 4.25 }, - { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, - { "matrix": [5, 0], "w": 1.5, "x": 0, "y": 5.25 }, - { "matrix": [5, 1], "w": 1, "x": 1.5, "y": 5.25 }, - { "matrix": [5, 2], "w": 1.5, "x": 2.5, "y": 5.25 }, - { "matrix": [5, 6], "w": 7, "x": 4, "y": 5.25 }, - { "matrix": [5, 11], "w": 1.5, "x": 11, "y": 5.25 }, - { "matrix": [5, 12], "w": 1, "x": 12.5, "y": 5.25 }, - { "matrix": [5, 13], "w": 1.5, "x": 13.5, "y": 5.25 }, - { "matrix": [5, 14], "x": 15.25, "y": 5.25 }, - { "matrix": [5, 15], "x": 16.25, "y": 5.25 }, - { "matrix": [4, 16], "x": 17.25, "y": 5.25 } + {"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": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [2, 12], "x": 13, "y": 1.25}, + {"matrix": [1, 13], "x": 14, "y": 1.25}, + + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [3, 12], "x": 12.5, "y": 2.25}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25}, + {"matrix": [2, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25}, + {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [4, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_iso_wkl": { + "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": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2}, + + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [3, 12], "x": 12.5, "y": 2.25}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25}, + {"matrix": [2, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [4, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_iso_wkl_split_bs_rshift": { + "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": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [1, 10], "x": 10, "y": 1.25}, + {"matrix": [1, 11], "x": 11, "y": 1.25}, + {"matrix": [1, 12], "x": 12, "y": 1.25}, + {"matrix": [2, 12], "x": 13, "y": 1.25}, + {"matrix": [1, 13], "x": 14, "y": 1.25}, + + {"matrix": [1, 14], "x": 15.25, "y": 1.25}, + {"matrix": [1, 15], "x": 16.25, "y": 1.25}, + {"matrix": [1, 16], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [2, 10], "x": 10.5, "y": 2.25}, + {"matrix": [2, 11], "x": 11.5, "y": 2.25}, + {"matrix": [3, 12], "x": 12.5, "y": 2.25}, + + {"matrix": [2, 14], "x": 15.25, "y": 2.25}, + {"matrix": [2, 15], "x": 16.25, "y": 2.25}, + {"matrix": [2, 16], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [3, 10], "x": 10.75, "y": 3.25}, + {"matrix": [3, 11], "x": 11.75, "y": 3.25}, + {"matrix": [3, 13], "x": 12.75, "y": 3.25}, + {"matrix": [2, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4.25}, + {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.25}, + + {"matrix": [4, 15], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 14], "x": 15.25, "y": 5.25}, + {"matrix": [5, 15], "x": 16.25, "y": 5.25}, + {"matrix": [4, 16], "x": 17.25, "y": 5.25} ] } } From e67a4ba7ce476b5bba273a2d5b693b3641b27dcb Mon Sep 17 00:00:00 2001 From: Luis Garcia Date: Wed, 13 Sep 2023 21:08:00 -0600 Subject: [PATCH 033/144] Update to 'peterfalken' userspace configurations (#21836) --- users/peterfalken/config.h | 1 + users/peterfalken/peterfalken.c | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/users/peterfalken/config.h b/users/peterfalken/config.h index 5295923ec66..1342705550c 100644 --- a/users/peterfalken/config.h +++ b/users/peterfalken/config.h @@ -14,6 +14,7 @@ #endif // Space optimizations +#define LAYER_STATE_8BIT #undef LOCKING_SUPPORT_ENABLE #undef LOCKING_RESYNC_ENABLE diff --git a/users/peterfalken/peterfalken.c b/users/peterfalken/peterfalken.c index 5041f29da6d..dcec1d650b2 100644 --- a/users/peterfalken/peterfalken.c +++ b/users/peterfalken/peterfalken.c @@ -3,6 +3,15 @@ #include "peterfalken.h" +// Magic keycodes - overwrite placeholder functions +uint16_t keycode_config(uint16_t keycode) { + return keycode; +} + +uint8_t mod_config(uint8_t mod) { + return mod; +} + // Switch layer #ifndef CUSTOM_LAYER_STATE layer_state_t layer_state_set_user(layer_state_t state) { From 02e6c04ac27cb9eea1130d8aed0665876a000cb8 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu, 14 Sep 2023 02:16:04 -0700 Subject: [PATCH 034/144] Krado Industries Promenade Layout Additions (#22014) * Add layout/matrix diagram [docs] * Rename `LAYOUT` to `LAYOUT_all` [refactor] * Correct key order [bugfix] * Add `LAYOUT_2x2u` [enhancement] * Add `LAYOUT_2x3u` [enhancement] * Add `LAYOUT_6u_space` [enhancement] * Add `LAYOUT_7u_space` [enhancement] * Touch-up `via` keymap Update keycode grid alignment to match the `default` keymap. [style] --- keyboards/kradoindustries/promenade/info.json | 298 +++++++++++++++++- .../promenade/keymaps/default/keymap.c | 4 +- .../promenade/keymaps/via/keymap.c | 6 +- .../promenade/matrix_diagram.md | 27 ++ 4 files changed, 327 insertions(+), 8 deletions(-) create mode 100644 keyboards/kradoindustries/promenade/matrix_diagram.md diff --git a/keyboards/kradoindustries/promenade/info.json b/keyboards/kradoindustries/promenade/info.json index a4d47b34f35..86330dbc2ee 100644 --- a/keyboards/kradoindustries/promenade/info.json +++ b/keyboards/kradoindustries/promenade/info.json @@ -46,8 +46,11 @@ }, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, "layouts": { - "LAYOUT": { + "LAYOUT_all": { "layout": [ {"matrix": [0, 0], "x":0, "y":0, "w":1.5}, {"matrix": [0, 1], "x":1.5, "y":0}, @@ -63,6 +66,7 @@ {"matrix": [0, 11], "x":11.5, "y":0}, {"matrix": [0, 12], "x":12.5, "y":0}, {"matrix": [0, 13], "x":13.5, "y":0, "w":1.5}, + {"matrix": [1, 0], "x":0, "y":1, "w":1.5}, {"matrix": [1, 1], "x":1.5, "y":1}, {"matrix": [1, 2], "x":2.5, "y":1}, @@ -77,6 +81,7 @@ {"matrix": [1, 11], "x":11.5, "y":1}, {"matrix": [1, 12], "x":12.5, "y":1}, {"matrix": [1, 13], "x":13.5, "y":1, "w":1.5}, + {"matrix": [2, 0], "x":0, "y":2, "w":1.5}, {"matrix": [2, 1], "x":1.5, "y":2}, {"matrix": [2, 2], "x":2.5, "y":2}, @@ -89,20 +94,22 @@ {"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, 6], "x":6.5, "y":2.5, "h":1.5}, - {"matrix": [3, 7], "x":7.5, "y":2.5, "h":1.5}, + {"matrix": [3, 0], "x":0, "y":3, "w":1.5}, {"matrix": [3, 1], "x":1.5, "y":3}, {"matrix": [3, 2], "x":2.5, "y":3}, {"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":2.5, "h":1.5}, + {"matrix": [3, 7], "x":7.5, "y":2.5, "h":1.5}, {"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.5}, + {"matrix": [4, 0], "x":0, "y":4, "w":1.5}, {"matrix": [4, 1], "x":1.5, "y":4}, {"matrix": [4, 2], "x":2.5, "y":4}, @@ -116,7 +123,292 @@ {"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.5} + ] + }, + "LAYOUT_2x2u": { + "layout": [ + {"matrix": [0, 0], "x":0, "y":0, "w":1.5}, + {"matrix": [0, 1], "x":1.5, "y":0}, + {"matrix": [0, 2], "x":2.5, "y":0}, + {"matrix": [0, 3], "x":3.5, "y":0}, + {"matrix": [0, 4], "x":4.5, "y":0}, + {"matrix": [0, 5], "x":5.5, "y":0}, + {"matrix": [0, 6], "x":6.5, "y":0}, + {"matrix": [0, 7], "x":7.5, "y":0}, + {"matrix": [0, 8], "x":8.5, "y":0}, + {"matrix": [0, 9], "x":9.5, "y":0}, + {"matrix": [0, 10], "x":10.5, "y":0}, + {"matrix": [0, 11], "x":11.5, "y":0}, + {"matrix": [0, 12], "x":12.5, "y":0}, + {"matrix": [0, 13], "x":13.5, "y":0, "w":1.5}, + {"matrix": [1, 0], "x":0, "y":1, "w":1.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, "h":1.5}, + {"matrix": [1, 7], "x":7.5, "y":1, "h":1.5}, + {"matrix": [1, 8], "x":8.5, "y":1}, + {"matrix": [1, 9], "x":9.5, "y":1}, + {"matrix": [1, 10], "x":10.5, "y":1}, + {"matrix": [1, 11], "x":11.5, "y":1}, + {"matrix": [1, 12], "x":12.5, "y":1}, + {"matrix": [1, 13], "x":13.5, "y":1, "w":1.5}, + + {"matrix": [2, 0], "x":0, "y":2, "w":1.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, 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.5}, + {"matrix": [3, 1], "x":1.5, "y":3}, + {"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":2.5, "h":1.5}, + {"matrix": [3, 7], "x":7.5, "y":2.5, "h":1.5}, + {"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.5}, + + {"matrix": [4, 0], "x":0, "y":4, "w":1.5}, + {"matrix": [4, 1], "x":1.5, "y":4}, + {"matrix": [4, 2], "x":2.5, "y":4}, + {"matrix": [4, 3], "x":3.5, "y":4}, + {"matrix": [4, 4], "x":4.5, "y":4}, + {"matrix": [4, 5], "x":5.5, "y":4, "w":2}, + {"matrix": [4, 8], "x":7.5, "y":4, "w":2}, + {"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.5} + ] + }, + "LAYOUT_2x3u": { + "layout": [ + {"matrix": [0, 0], "x":0, "y":0, "w":1.5}, + {"matrix": [0, 1], "x":1.5, "y":0}, + {"matrix": [0, 2], "x":2.5, "y":0}, + {"matrix": [0, 3], "x":3.5, "y":0}, + {"matrix": [0, 4], "x":4.5, "y":0}, + {"matrix": [0, 5], "x":5.5, "y":0}, + {"matrix": [0, 6], "x":6.5, "y":0}, + {"matrix": [0, 7], "x":7.5, "y":0}, + {"matrix": [0, 8], "x":8.5, "y":0}, + {"matrix": [0, 9], "x":9.5, "y":0}, + {"matrix": [0, 10], "x":10.5, "y":0}, + {"matrix": [0, 11], "x":11.5, "y":0}, + {"matrix": [0, 12], "x":12.5, "y":0}, + {"matrix": [0, 13], "x":13.5, "y":0, "w":1.5}, + + {"matrix": [1, 0], "x":0, "y":1, "w":1.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, "h":1.5}, + {"matrix": [1, 7], "x":7.5, "y":1, "h":1.5}, + {"matrix": [1, 8], "x":8.5, "y":1}, + {"matrix": [1, 9], "x":9.5, "y":1}, + {"matrix": [1, 10], "x":10.5, "y":1}, + {"matrix": [1, 11], "x":11.5, "y":1}, + {"matrix": [1, 12], "x":12.5, "y":1}, + {"matrix": [1, 13], "x":13.5, "y":1, "w":1.5}, + + {"matrix": [2, 0], "x":0, "y":2, "w":1.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, 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.5}, + {"matrix": [3, 1], "x":1.5, "y":3}, + {"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":2.5, "h":1.5}, + {"matrix": [3, 7], "x":7.5, "y":2.5, "h":1.5}, + {"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.5}, + + {"matrix": [4, 0], "x":0, "y":4, "w":1.5}, + {"matrix": [4, 1], "x":1.5, "y":4}, + {"matrix": [4, 2], "x":2.5, "y":4}, + {"matrix": [4, 3], "x":3.5, "y":4}, + {"matrix": [4, 5], "x":4.5, "y":4, "w":3}, + {"matrix": [4, 8], "x":7.5, "y":4, "w":3}, + {"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.5} + ] + }, + "LAYOUT_6u_space": { + "layout": [ + {"matrix": [0, 0], "x":0, "y":0, "w":1.5}, + {"matrix": [0, 1], "x":1.5, "y":0}, + {"matrix": [0, 2], "x":2.5, "y":0}, + {"matrix": [0, 3], "x":3.5, "y":0}, + {"matrix": [0, 4], "x":4.5, "y":0}, + {"matrix": [0, 5], "x":5.5, "y":0}, + {"matrix": [0, 6], "x":6.5, "y":0}, + {"matrix": [0, 7], "x":7.5, "y":0}, + {"matrix": [0, 8], "x":8.5, "y":0}, + {"matrix": [0, 9], "x":9.5, "y":0}, + {"matrix": [0, 10], "x":10.5, "y":0}, + {"matrix": [0, 11], "x":11.5, "y":0}, + {"matrix": [0, 12], "x":12.5, "y":0}, + {"matrix": [0, 13], "x":13.5, "y":0, "w":1.5}, + + {"matrix": [1, 0], "x":0, "y":1, "w":1.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, "h":1.5}, + {"matrix": [1, 7], "x":7.5, "y":1, "h":1.5}, + {"matrix": [1, 8], "x":8.5, "y":1}, + {"matrix": [1, 9], "x":9.5, "y":1}, + {"matrix": [1, 10], "x":10.5, "y":1}, + {"matrix": [1, 11], "x":11.5, "y":1}, + {"matrix": [1, 12], "x":12.5, "y":1}, + {"matrix": [1, 13], "x":13.5, "y":1, "w":1.5}, + + {"matrix": [2, 0], "x":0, "y":2, "w":1.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, 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.5}, + {"matrix": [3, 1], "x":1.5, "y":3}, + {"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":2.5, "h":1.5}, + {"matrix": [3, 7], "x":7.5, "y":2.5, "h":1.5}, + {"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.5}, + + {"matrix": [4, 0], "x":0, "y":4, "w":1.5}, + {"matrix": [4, 1], "x":1.5, "y":4}, + {"matrix": [4, 2], "x":2.5, "y":4}, + {"matrix": [4, 3], "x":3.5, "y":4}, + {"matrix": [4, 6], "x":4.5, "y":4, "w":6}, + {"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.5} + ] + }, + "LAYOUT_7u_space": { + "layout": [ + {"matrix": [0, 0], "x":0, "y":0, "w":1.5}, + {"matrix": [0, 1], "x":1.5, "y":0}, + {"matrix": [0, 2], "x":2.5, "y":0}, + {"matrix": [0, 3], "x":3.5, "y":0}, + {"matrix": [0, 4], "x":4.5, "y":0}, + {"matrix": [0, 5], "x":5.5, "y":0}, + {"matrix": [0, 6], "x":6.5, "y":0}, + {"matrix": [0, 7], "x":7.5, "y":0}, + {"matrix": [0, 8], "x":8.5, "y":0}, + {"matrix": [0, 9], "x":9.5, "y":0}, + {"matrix": [0, 10], "x":10.5, "y":0}, + {"matrix": [0, 11], "x":11.5, "y":0}, + {"matrix": [0, 12], "x":12.5, "y":0}, + {"matrix": [0, 13], "x":13.5, "y":0, "w":1.5}, + + {"matrix": [1, 0], "x":0, "y":1, "w":1.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, "h":1.5}, + {"matrix": [1, 7], "x":7.5, "y":1, "h":1.5}, + {"matrix": [1, 8], "x":8.5, "y":1}, + {"matrix": [1, 9], "x":9.5, "y":1}, + {"matrix": [1, 10], "x":10.5, "y":1}, + {"matrix": [1, 11], "x":11.5, "y":1}, + {"matrix": [1, 12], "x":12.5, "y":1}, + {"matrix": [1, 13], "x":13.5, "y":1, "w":1.5}, + + {"matrix": [2, 0], "x":0, "y":2, "w":1.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, 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.5}, + {"matrix": [3, 1], "x":1.5, "y":3}, + {"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":2.5, "h":1.5}, + {"matrix": [3, 7], "x":7.5, "y":2.5, "h":1.5}, + {"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.5}, + + {"matrix": [4, 0], "x":0, "y":4, "w":1.5}, + {"matrix": [4, 1], "x":1.5, "y":4}, + {"matrix": [4, 2], "x":2.5, "y":4, "w":1.5}, + {"matrix": [4, 6], "x":4, "y":4, "w":7}, + {"matrix": [4, 11], "x":11, "y":4, "w":1.5}, + {"matrix": [4, 12], "x":12.5, "y":4}, + {"matrix": [4, 13], "x":13.5, "y":4, "w":1.5} ] } } diff --git a/keyboards/kradoindustries/promenade/keymaps/default/keymap.c b/keyboards/kradoindustries/promenade/keymaps/default/keymap.c index 42e606c149e..aef0f281613 100644 --- a/keyboards/kradoindustries/promenade/keymaps/default/keymap.c +++ b/keyboards/kradoindustries/promenade/keymaps/default/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | LCTRL | LGUI | FN | LALT | SPACE | SPACE | SPACE | SPACE | SPACE | LEFT | DOWN | UP | RIGHT | RCTRL | * '-----------------------------------------------------------------------------------------------------------------------------' */ - [_BASE] = LAYOUT( + [_BASE] = LAYOUT_all( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, @@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | | | | | | | Reset | * '-----------------------------------------------------------------------------------------------------------------------------' */ - [_FN] = LAYOUT( + [_FN] = LAYOUT_all( KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, _______, _______, _______, _______, QK_BOOT, diff --git a/keyboards/kradoindustries/promenade/keymaps/via/keymap.c b/keyboards/kradoindustries/promenade/keymaps/via/keymap.c index 8797471b4ca..aef0f281613 100644 --- a/keyboards/kradoindustries/promenade/keymaps/via/keymap.c +++ b/keyboards/kradoindustries/promenade/keymaps/via/keymap.c @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | LCTRL | LGUI | FN | LALT | SPACE | SPACE | SPACE | SPACE | SPACE | LEFT | DOWN | UP | RIGHT | RCTRL | * '-----------------------------------------------------------------------------------------------------------------------------' */ - [_BASE] = LAYOUT( + [_BASE] = LAYOUT_all( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, @@ -56,10 +56,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | | | | | | | Reset | * '-----------------------------------------------------------------------------------------------------------------------------' */ - [_FN] = LAYOUT( + [_FN] = LAYOUT_all( KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, - _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, _______, _______, _______, _______, QK_BOOT, + _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT ) diff --git a/keyboards/kradoindustries/promenade/matrix_diagram.md b/keyboards/kradoindustries/promenade/matrix_diagram.md new file mode 100644 index 00000000000..086471b8b9a --- /dev/null +++ b/keyboards/kradoindustries/promenade/matrix_diagram.md @@ -0,0 +1,27 @@ +# Matrix Diagram for krado industries Promenade + +``` +┌─────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │ +├─────┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼─────┤ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ +├─────┼───┼───┼───┼───┼───┤ │ ├───┼───┼───┼───┼───┼─────┤ +│20 │21 │22 │23 │24 │25 ├───┼───┤28 │29 │2A │2B │2C │2D │ +├─────┼───┼───┼───┼───┼───┤36 │37 ├───┼───┼───┼───┼───┼─────┤ +│30 │31 │32 │33 │34 │35 │ │ │38 │39 │3A │3B │3C │3D │ +├─────┼───┼───┼───┼───┼───┼───┴───┼───┼───┼───┼───┼───┼─────┤ +│40 │41 │42 │43 │44 │45 │46 │48 │49 │4A │4B │4C │4D │ +└─────┴───┴───┴───┴───┴───┴───────┴───┴───┴───┴───┴───┴─────┘ +┌─────┬───┬───┬───┬───┬───────┬───────┬───┬───┬───┬───┬─────┐ +│40 │41 │42 │43 │44 │45 │48 │49 │4A │4B │4C │4D │ 2x2u +└─────┴───┴───┴───┴───┴───────┴───────┴───┴───┴───┴───┴─────┘ +┌─────┬───┬───┬───┬───────────┬───────────┬───┬───┬───┬─────┐ +│40 │41 │42 │43 │45 │48 │4A │4B │4C │4D │ 2x3u +└─────┴───┴───┴───┴───────────┴───────────┴───┴───┴───┴─────┘ +┌─────┬───┬───┬───┬───────────────────────┬───┬───┬───┬─────┐ +│40 │41 │42 │43 │46 │4A │4B │4C │4D │ 6u Space +└─────┴───┴───┴───┴───────────────────────┴───┴───┴───┴─────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ +│40 │41 │42 │46 │4B │4C │4D │ 7u Space +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +``` From 78eb69ead5a654179692d980175ea0013837854c Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu, 14 Sep 2023 02:48:09 -0700 Subject: [PATCH 035/144] Linworks Fave60a Community Layout Support (#22015) * Friendly-format `info.json` [style] * Correct layout data [chore] * Add layout/matrix diagram [docs] * Rename `LAYOUT` to `LAYOUT_60_tsangan_hhkb` [refactor] * Add `LAYOUT_60_ansi_tsangan` [enhancement] * Enable Community Layout support [enhancement] --- keyboards/linworks/fave60a/info.json | 105 +++++++++++++++--- .../linworks/fave60a/keymaps/default/keymap.c | 4 +- .../linworks/fave60a/keymaps/via/keymap.c | 4 +- keyboards/linworks/fave60a/matrix_diagram.md | 21 ++++ 4 files changed, 117 insertions(+), 17 deletions(-) create mode 100644 keyboards/linworks/fave60a/matrix_diagram.md diff --git a/keyboards/linworks/fave60a/info.json b/keyboards/linworks/fave60a/info.json index b7753c2fce7..97b50f7e82e 100644 --- a/keyboards/linworks/fave60a/info.json +++ b/keyboards/linworks/fave60a/info.json @@ -121,8 +121,15 @@ "pid": "0x000C", "vid": "0x4C58" }, + "layout_aliases": { + "LAYOUT": "LAYOUT_60_tsangan_hhkb" + }, + "community_layouts": [ + "60_tsangan_hhkb", + "60_ansi_tsangan" + ], "layouts": { - "LAYOUT": { + "LAYOUT_60_tsangan_hhkb": { "layout": [ { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 }, { "label": "!", "matrix": [0, 1], "x": 1, "y": 0 }, @@ -139,7 +146,8 @@ { "label": "+", "matrix": [0, 12], "x": 12, "y": 0 }, { "label": "Bksp", "matrix": [0, 13], "x": 13, "y": 0 }, { "label": "K14", "matrix": [0, 14], "x": 14, "y": 0 }, - { "label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + + { "label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5 }, { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 }, { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 }, { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 }, @@ -152,8 +160,9 @@ { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 }, { "label": "{", "matrix": [1, 11], "x": 11.5, "y": 1 }, { "label": "}", "matrix": [1, 12], "x": 12.5, "y": 1 }, - { "label": "|", "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 }, - { "label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5 }, + + { "label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75 }, { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 }, { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 }, { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 }, @@ -165,11 +174,12 @@ { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 }, { "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2 }, { "label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2 }, - { "label": "Enter", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, - { "label": "Shift", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 }, + { "label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25 }, + + { "label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25 }, { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 }, { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 }, - { "label": "C", "matrix": [3, 4], "x": 3, "y": 3 }, + { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 }, { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 }, { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 }, { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 }, @@ -177,15 +187,84 @@ { "label": "<", "matrix": [3, 9], "x": 9.25, "y": 3 }, { "label": ">", "matrix": [3, 10], "x": 10.25, "y": 3 }, { "label": "?", "matrix": [3, 11], "x": 11.25, "y": 3 }, - { "label": "Shift", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 }, + { "label": "Shift", "matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75 }, { "label": "K54", "matrix": [3, 14], "x": 14, "y": 3 }, - { "label": "Ctrl", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 }, + + { "label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5 }, { "label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4 }, - { "label": "Alt", "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 }, - { "label": "K58", "matrix": [4, 6], "w": 7, "x": 4, "y": 4 }, - { "label": "Alt", "matrix": [4, 11], "w": 1.5, "x": 11, "y": 4 }, + { "label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5 }, + { "label": "K58", "matrix": [4, 6], "x": 4, "y": 4, "w": 7 }, + { "label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5 }, { "label": "Fn", "matrix": [4, 12], "x": 12.5, "y": 4 }, - { "label": "Ctrl", "matrix": [4, 13], "w": 1.5, "x": 13.5, "y": 4 } + { "label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5 } + ] + }, + "LAYOUT_60_ansi_tsangan": { + "layout": [ + { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "!", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "@", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "#", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "$", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "%", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "^", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "&", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "*", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "(", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": ")", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "_", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "+", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "Bksp", "matrix": [0, 13], "x": 13, "y": 0, "w": 2 }, + + { "label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5 }, + { "label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1 }, + { "label": "W", "matrix": [1, 2], "x": 2.5, "y": 1 }, + { "label": "E", "matrix": [1, 3], "x": 3.5, "y": 1 }, + { "label": "R", "matrix": [1, 4], "x": 4.5, "y": 1 }, + { "label": "T", "matrix": [1, 5], "x": 5.5, "y": 1 }, + { "label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1 }, + { "label": "U", "matrix": [1, 7], "x": 7.5, "y": 1 }, + { "label": "I", "matrix": [1, 8], "x": 8.5, "y": 1 }, + { "label": "O", "matrix": [1, 9], "x": 9.5, "y": 1 }, + { "label": "P", "matrix": [1, 10], "x": 10.5, "y": 1 }, + { "label": "{", "matrix": [1, 11], "x": 11.5, "y": 1 }, + { "label": "}", "matrix": [1, 12], "x": 12.5, "y": 1 }, + { "label": "|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5 }, + + { "label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75 }, + { "label": "A", "matrix": [2, 1], "x": 1.75, "y": 2 }, + { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 }, + { "label": "D", "matrix": [2, 3], "x": 3.75, "y": 2 }, + { "label": "F", "matrix": [2, 4], "x": 4.75, "y": 2 }, + { "label": "G", "matrix": [2, 5], "x": 5.75, "y": 2 }, + { "label": "H", "matrix": [2, 6], "x": 6.75, "y": 2 }, + { "label": "J", "matrix": [2, 7], "x": 7.75, "y": 2 }, + { "label": "K", "matrix": [2, 8], "x": 8.75, "y": 2 }, + { "label": "L", "matrix": [2, 9], "x": 9.75, "y": 2 }, + { "label": ":", "matrix": [2, 10], "x": 10.75, "y": 2 }, + { "label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2 }, + { "label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25 }, + + { "label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25 }, + { "label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "X", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "V", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "B", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "N", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "M", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": "<", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": ">", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "?", "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "label": "Shift", "matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75 }, + + { "label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5 }, + { "label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4 }, + { "label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5 }, + { "label": "K58", "matrix": [4, 6], "x": 4, "y": 4, "w": 7 }, + { "label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5 }, + { "label": "Fn", "matrix": [4, 12], "x": 12.5, "y": 4 }, + { "label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5 } ] } } diff --git a/keyboards/linworks/fave60a/keymaps/default/keymap.c b/keyboards/linworks/fave60a/keymaps/default/keymap.c index 22e9c5f7821..c77f1b4143d 100644 --- a/keyboards/linworks/fave60a/keymaps/default/keymap.c +++ b/keyboards/linworks/fave60a/keymaps/default/keymap.c @@ -16,14 +16,14 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_60_tsangan_hhkb( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_TRNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_TRNS, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL ), - [1] = LAYOUT( + [1] = LAYOUT_60_tsangan_hhkb( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_DEL, KC_TRNS, diff --git a/keyboards/linworks/fave60a/keymaps/via/keymap.c b/keyboards/linworks/fave60a/keymaps/via/keymap.c index 22e9c5f7821..c77f1b4143d 100644 --- a/keyboards/linworks/fave60a/keymaps/via/keymap.c +++ b/keyboards/linworks/fave60a/keymaps/via/keymap.c @@ -16,14 +16,14 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_60_tsangan_hhkb( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_TRNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_TRNS, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL ), - [1] = LAYOUT( + [1] = LAYOUT_60_tsangan_hhkb( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_UP, KC_PGDN, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_DEL, KC_TRNS, diff --git a/keyboards/linworks/fave60a/matrix_diagram.md b/keyboards/linworks/fave60a/matrix_diagram.md new file mode 100644 index 00000000000..ccf0002be3a --- /dev/null +++ b/keyboards/linworks/fave60a/matrix_diagram.md @@ -0,0 +1,21 @@ +# Matrix Diagram for Lx3 fave60a + +``` + ┌───────┐ + 2u Backspace │0D │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │ +├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ +│30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │3E │ +├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ +│40 │41 │42 │46 │4B │4C │4D │ +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ + ┌──────────┐ + 2.75u RShift │3D │ + └──────────┘ +``` From cfe52b6e6e9815cc31e3b53c049116037538ffa8 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu, 14 Sep 2023 10:20:14 -0700 Subject: [PATCH 036/144] Maze Studio Jocker 1800 Layout Additions (#22016) * Add layout/matrix diagram [docs] * Rename `LAYOUT` to `LAYOUT_ansi_split_bs` [refactor] * Add `LAYOUT_ansi` [enhancement] * Add `LAYOUT_ansi_wkl_split_bs` [enhancement] * Add `LAYOUT_ansi_wkl` [enhancement] --- keyboards/mazestudio/jocker/info.json | 340 +++++++++++++++++- .../jocker/keymaps/default/keymap.c | 2 +- .../mazestudio/jocker/keymaps/via/keymap.c | 2 +- keyboards/mazestudio/jocker/matrix_diagram.md | 22 ++ 4 files changed, 361 insertions(+), 5 deletions(-) create mode 100644 keyboards/mazestudio/jocker/matrix_diagram.md diff --git a/keyboards/mazestudio/jocker/info.json b/keyboards/mazestudio/jocker/info.json index 5c5d4d6c087..7257866f21b 100644 --- a/keyboards/mazestudio/jocker/info.json +++ b/keyboards/mazestudio/jocker/info.json @@ -32,9 +32,122 @@ "cols": ["F0", "F1", "F4", "F5", "F6", "F7", "C7", "C6", "B2", "B3"], "rows": ["B1", "B0", "D1", "D0", "D5", "D3", "B7", "D2", "D4", "D6", "B4", "D7"] }, - + "layout_aliases": { + "LAYOUT": "LAYOUT_ansi_split_bs" + }, "layouts": { - "LAYOUT": { + "LAYOUT_ansi": { + "layout": [ + {"label": "Esc", "matrix": [1,0], "x":0, "y":0}, + {"label": "F1", "matrix": [0,0], "x":1.25, "y":0}, + {"label": "F2", "matrix": [1,1], "x":2.25, "y":0}, + {"label": "F3", "matrix": [0,1], "x":3.25, "y":0}, + {"label": "F4", "matrix": [1,2], "x":4.25, "y":0}, + {"label": "F5", "matrix": [0,2], "x":5.5, "y":0}, + {"label": "F6", "matrix": [1,3], "x":6.5, "y":0}, + {"label": "F7", "matrix": [0,3], "x":7.5, "y":0}, + {"label": "F8", "matrix": [1,4], "x":8.5, "y":0}, + {"label": "F9", "matrix": [1,5], "x":9.75, "y":0}, + {"label": "F10", "matrix": [0,5], "x":10.75, "y":0}, + {"label": "F11", "matrix": [1,6], "x":11.75, "y":0}, + {"label": "F12", "matrix": [0,6], "x":12.75, "y":0}, + {"label": "F13", "matrix": [1,7], "x":14, "y":0}, + {"label": "Scroll Lock", "matrix": [0,7], "x":15.25, "y":0}, + {"label": "Pause Break", "matrix": [1,8], "x":16.5, "y":0}, + {"label": "Insert", "matrix": [0,8], "x":17.5, "y":0}, + {"label": "Home", "matrix": [1,9], "x":18.5, "y":0}, + {"label": "Print Screen", "matrix": [0,9], "x":19.5, "y":0}, + + {"label": "~", "matrix": [3,0], "x":0, "y":1.25}, + {"label": "1", "matrix": [2,0], "x":1, "y":1.25}, + {"label": "2", "matrix": [3,1], "x":2, "y":1.25}, + {"label": "3", "matrix": [2,1], "x":3, "y":1.25}, + {"label": "4", "matrix": [3,2], "x":4, "y":1.25}, + {"label": "5", "matrix": [2,2], "x":5, "y":1.25}, + {"label": "6", "matrix": [3,3], "x":6, "y":1.25}, + {"label": "7", "matrix": [2,3], "x":7, "y":1.25}, + {"label": "8", "matrix": [3,4], "x":8, "y":1.25}, + {"label": "9", "matrix": [2,4], "x":9, "y":1.25}, + {"label": "0", "matrix": [3,5], "x":10, "y":1.25}, + {"label": "-", "matrix": [2,5], "x":11, "y":1.25}, + {"label": "=", "matrix": [3,6], "x":12, "y":1.25}, + {"label": "Delete", "matrix": [3,7], "x":13, "y":1.25, "w":2}, + {"label": "Page Up", "matrix": [2,7], "x":15.25, "y":1.25}, + {"label": "Num Lock", "matrix": [3,8], "x":16.5, "y":1.25}, + {"label": "/", "matrix": [2,8], "x":17.5, "y":1.25}, + {"label": "*", "matrix": [3,9], "x":18.5, "y":1.25}, + {"label": "-", "matrix": [2,9], "x":19.5, "y":1.25}, + + {"label": "Tab", "matrix": [5,0], "x":0, "y":2.25, "w":1.5}, + {"label": "Q", "matrix": [4,0], "x":1.5, "y":2.25}, + {"label": "W", "matrix": [5,1], "x":2.5, "y":2.25}, + {"label": "E", "matrix": [4,1], "x":3.5, "y":2.25}, + {"label": "R", "matrix": [5,2], "x":4.5, "y":2.25}, + {"label": "T", "matrix": [4,2], "x":5.5, "y":2.25}, + {"label": "Y", "matrix": [5,3], "x":6.5, "y":2.25}, + {"label": "U", "matrix": [4,3], "x":7.5, "y":2.25}, + {"label": "I", "matrix": [5,4], "x":8.5, "y":2.25}, + {"label": "O", "matrix": [4,4], "x":9.5, "y":2.25}, + {"label": "P", "matrix": [5,5], "x":10.5, "y":2.25}, + {"label": "[", "matrix": [4,5], "x":11.5, "y":2.25}, + {"label": "]", "matrix": [5,6], "x":12.5, "y":2.25}, + {"label": "Backspace", "matrix": [5,7], "x":13.5, "y":2.25, "w":1.5}, + {"label": "Page Down", "matrix": [4,7], "x":15.25, "y":2.25}, + {"label": "Num 7", "matrix": [5,8], "x":16.5, "y":2.25}, + {"label": "Num 8", "matrix": [4,8], "x":17.5, "y":2.25}, + {"label": "Num 9", "matrix": [5,9], "x":18.5, "y":2.25}, + {"label": "Num Plus", "matrix": [4,9], "x":19.5, "y":2.25, "h":2}, + + {"label": "Caps Lock", "matrix": [7,0], "x":0, "y":3.25, "w":1.75}, + {"label": "A", "matrix": [6,0], "x":1.75, "y":3.25}, + {"label": "S", "matrix": [7,1], "x":2.75, "y":3.25}, + {"label": "D", "matrix": [6,1], "x":3.75, "y":3.25}, + {"label": "F", "matrix": [7,2], "x":4.75, "y":3.25}, + {"label": "G", "matrix": [6,2], "x":5.75, "y":3.25}, + {"label": "H", "matrix": [7,3], "x":6.75, "y":3.25}, + {"label": "J", "matrix": [6,3], "x":7.75, "y":3.25}, + {"label": "K", "matrix": [7,4], "x":8.75, "y":3.25}, + {"label": "L", "matrix": [6,4], "x":9.75, "y":3.25}, + {"label": ";", "matrix": [7,5], "x":10.75, "y":3.25}, + {"label": "'", "matrix": [6,5], "x":11.75, "y":3.25}, + {"label": "Enter", "matrix": [6,6], "x":12.75, "y":3.25, "w":2.25}, + {"label": "Delete", "matrix": [6,7], "x":15.25, "y":3.25}, + {"label": "Num 4", "matrix": [7,8], "x":16.5, "y":3.25}, + {"label": "Num 5", "matrix": [6,8], "x":17.5, "y":3.25}, + {"label": "Num 6", "matrix": [7,9], "x":18.5, "y":3.25}, + + {"label": "Left Shift", "matrix": [9,0], "x":0, "y":4.25, "w":2.25}, + {"label": "Z", "matrix": [8,0], "x":2.25, "y":4.25}, + {"label": "X", "matrix": [9,1], "x":3.25, "y":4.25}, + {"label": "C", "matrix": [8,1], "x":4.25, "y":4.25}, + {"label": "V", "matrix": [9,2], "x":5.25, "y":4.25}, + {"label": "B", "matrix": [8,2], "x":6.25, "y":4.25}, + {"label": "N", "matrix": [9,3], "x":7.25, "y":4.25}, + {"label": "M", "matrix": [8,3], "x":8.25, "y":4.25}, + {"label": ",", "matrix": [9,4], "x":9.25, "y":4.25}, + {"label": ".", "matrix": [8,4], "x":10.25, "y":4.25}, + {"label": "/", "matrix": [9,5], "x":11.25, "y":4.25}, + {"label": "Right Shift", "matrix": [9,6], "x":12.25, "y":4.25, "w":1.75}, + {"label": "Up", "matrix": [9,7], "x":14.25, "y":4.5}, + {"label": "Num 1", "matrix": [9,8], "x":16.5, "y":4.25}, + {"label": "Num 2", "matrix": [8,8], "x":17.5, "y":4.25}, + {"label": "Num 3", "matrix": [9,9], "x":18.5, "y":4.25}, + {"label": "Enter", "matrix": [8,9], "x":19.5, "y":4.25, "h":2}, + + {"label": "Left Ctrl", "matrix": [11,0], "x":0, "y":5.25, "w":1.25}, + {"label": "Left Win", "matrix": [10,0], "x":1.25, "y":5.25, "w":1.25}, + {"label": "Left Alt", "matrix": [11,1], "x":2.5, "y":5.25, "w":1.25}, + {"label": "Space", "matrix": [10,2], "x":3.75, "y":5.25, "w":6.25}, + {"label": "Right Alt", "matrix": [10,4], "x":10, "y":5.25, "w":1.5}, + {"label": "Right Ctrl", "matrix": [10,5], "x":11.5, "y":5.25, "w":1.5}, + {"label": "Left", "matrix": [10,6], "x":13.25, "y":5.5}, + {"label": "Down", "matrix": [11,7], "x":14.25, "y":5.5}, + {"label": "Right", "matrix": [10,7], "x":15.25, "y":5.5}, + {"label": "Num 0", "matrix": [10,8], "x":16.5, "y":5.25, "w":2}, + {"label": "Num Del", "matrix": [11,9], "x":18.5, "y":5.25} + ] + }, + "LAYOUT_ansi_split_bs": { "layout": [ {"label": "Esc", "matrix": [1,0], "x":0, "y":0}, {"label": "F1", "matrix": [0,0], "x":1.25, "y":0}, @@ -145,6 +258,227 @@ {"label": "Num 0", "matrix": [10,8], "x":16.5, "y":5.25, "w":2}, {"label": "Num Del", "matrix": [11,9], "x":18.5, "y":5.25} ] + }, + "LAYOUT_ansi_wkl": { + "layout": [ + {"label": "Esc", "matrix": [1,0], "x":0, "y":0}, + {"label": "F1", "matrix": [0,0], "x":1.25, "y":0}, + {"label": "F2", "matrix": [1,1], "x":2.25, "y":0}, + {"label": "F3", "matrix": [0,1], "x":3.25, "y":0}, + {"label": "F4", "matrix": [1,2], "x":4.25, "y":0}, + {"label": "F5", "matrix": [0,2], "x":5.5, "y":0}, + {"label": "F6", "matrix": [1,3], "x":6.5, "y":0}, + {"label": "F7", "matrix": [0,3], "x":7.5, "y":0}, + {"label": "F8", "matrix": [1,4], "x":8.5, "y":0}, + {"label": "F9", "matrix": [1,5], "x":9.75, "y":0}, + {"label": "F10", "matrix": [0,5], "x":10.75, "y":0}, + {"label": "F11", "matrix": [1,6], "x":11.75, "y":0}, + {"label": "F12", "matrix": [0,6], "x":12.75, "y":0}, + {"label": "F13", "matrix": [1,7], "x":14, "y":0}, + {"label": "Scroll Lock", "matrix": [0,7], "x":15.25, "y":0}, + {"label": "Pause Break", "matrix": [1,8], "x":16.5, "y":0}, + {"label": "Insert", "matrix": [0,8], "x":17.5, "y":0}, + {"label": "Home", "matrix": [1,9], "x":18.5, "y":0}, + {"label": "Print Screen", "matrix": [0,9], "x":19.5, "y":0}, + + {"label": "~", "matrix": [3,0], "x":0, "y":1.25}, + {"label": "1", "matrix": [2,0], "x":1, "y":1.25}, + {"label": "2", "matrix": [3,1], "x":2, "y":1.25}, + {"label": "3", "matrix": [2,1], "x":3, "y":1.25}, + {"label": "4", "matrix": [3,2], "x":4, "y":1.25}, + {"label": "5", "matrix": [2,2], "x":5, "y":1.25}, + {"label": "6", "matrix": [3,3], "x":6, "y":1.25}, + {"label": "7", "matrix": [2,3], "x":7, "y":1.25}, + {"label": "8", "matrix": [3,4], "x":8, "y":1.25}, + {"label": "9", "matrix": [2,4], "x":9, "y":1.25}, + {"label": "0", "matrix": [3,5], "x":10, "y":1.25}, + {"label": "-", "matrix": [2,5], "x":11, "y":1.25}, + {"label": "=", "matrix": [3,6], "x":12, "y":1.25}, + {"label": "Delete", "matrix": [3,7], "x":13, "y":1.25, "w":2}, + {"label": "Page Up", "matrix": [2,7], "x":15.25, "y":1.25}, + {"label": "Num Lock", "matrix": [3,8], "x":16.5, "y":1.25}, + {"label": "/", "matrix": [2,8], "x":17.5, "y":1.25}, + {"label": "*", "matrix": [3,9], "x":18.5, "y":1.25}, + {"label": "-", "matrix": [2,9], "x":19.5, "y":1.25}, + + {"label": "Tab", "matrix": [5,0], "x":0, "y":2.25, "w":1.5}, + {"label": "Q", "matrix": [4,0], "x":1.5, "y":2.25}, + {"label": "W", "matrix": [5,1], "x":2.5, "y":2.25}, + {"label": "E", "matrix": [4,1], "x":3.5, "y":2.25}, + {"label": "R", "matrix": [5,2], "x":4.5, "y":2.25}, + {"label": "T", "matrix": [4,2], "x":5.5, "y":2.25}, + {"label": "Y", "matrix": [5,3], "x":6.5, "y":2.25}, + {"label": "U", "matrix": [4,3], "x":7.5, "y":2.25}, + {"label": "I", "matrix": [5,4], "x":8.5, "y":2.25}, + {"label": "O", "matrix": [4,4], "x":9.5, "y":2.25}, + {"label": "P", "matrix": [5,5], "x":10.5, "y":2.25}, + {"label": "[", "matrix": [4,5], "x":11.5, "y":2.25}, + {"label": "]", "matrix": [5,6], "x":12.5, "y":2.25}, + {"label": "Backspace", "matrix": [5,7], "x":13.5, "y":2.25, "w":1.5}, + {"label": "Page Down", "matrix": [4,7], "x":15.25, "y":2.25}, + {"label": "Num 7", "matrix": [5,8], "x":16.5, "y":2.25}, + {"label": "Num 8", "matrix": [4,8], "x":17.5, "y":2.25}, + {"label": "Num 9", "matrix": [5,9], "x":18.5, "y":2.25}, + {"label": "Num Plus", "matrix": [4,9], "x":19.5, "y":2.25, "h":2}, + + {"label": "Caps Lock", "matrix": [7,0], "x":0, "y":3.25, "w":1.75}, + {"label": "A", "matrix": [6,0], "x":1.75, "y":3.25}, + {"label": "S", "matrix": [7,1], "x":2.75, "y":3.25}, + {"label": "D", "matrix": [6,1], "x":3.75, "y":3.25}, + {"label": "F", "matrix": [7,2], "x":4.75, "y":3.25}, + {"label": "G", "matrix": [6,2], "x":5.75, "y":3.25}, + {"label": "H", "matrix": [7,3], "x":6.75, "y":3.25}, + {"label": "J", "matrix": [6,3], "x":7.75, "y":3.25}, + {"label": "K", "matrix": [7,4], "x":8.75, "y":3.25}, + {"label": "L", "matrix": [6,4], "x":9.75, "y":3.25}, + {"label": ";", "matrix": [7,5], "x":10.75, "y":3.25}, + {"label": "'", "matrix": [6,5], "x":11.75, "y":3.25}, + {"label": "Enter", "matrix": [6,6], "x":12.75, "y":3.25, "w":2.25}, + {"label": "Delete", "matrix": [6,7], "x":15.25, "y":3.25}, + {"label": "Num 4", "matrix": [7,8], "x":16.5, "y":3.25}, + {"label": "Num 5", "matrix": [6,8], "x":17.5, "y":3.25}, + {"label": "Num 6", "matrix": [7,9], "x":18.5, "y":3.25}, + + {"label": "Left Shift", "matrix": [9,0], "x":0, "y":4.25, "w":2.25}, + {"label": "Z", "matrix": [8,0], "x":2.25, "y":4.25}, + {"label": "X", "matrix": [9,1], "x":3.25, "y":4.25}, + {"label": "C", "matrix": [8,1], "x":4.25, "y":4.25}, + {"label": "V", "matrix": [9,2], "x":5.25, "y":4.25}, + {"label": "B", "matrix": [8,2], "x":6.25, "y":4.25}, + {"label": "N", "matrix": [9,3], "x":7.25, "y":4.25}, + {"label": "M", "matrix": [8,3], "x":8.25, "y":4.25}, + {"label": ",", "matrix": [9,4], "x":9.25, "y":4.25}, + {"label": ".", "matrix": [8,4], "x":10.25, "y":4.25}, + {"label": "/", "matrix": [9,5], "x":11.25, "y":4.25}, + {"label": "Right Shift", "matrix": [9,6], "x":12.25, "y":4.25, "w":1.75}, + {"label": "Up", "matrix": [9,7], "x":14.25, "y":4.5}, + {"label": "Num 1", "matrix": [9,8], "x":16.5, "y":4.25}, + {"label": "Num 2", "matrix": [8,8], "x":17.5, "y":4.25}, + {"label": "Num 3", "matrix": [9,9], "x":18.5, "y":4.25}, + {"label": "Enter", "matrix": [8,9], "x":19.5, "y":4.25, "h":2}, + + {"label": "Left Ctrl", "matrix": [11,0], "x":0, "y":5.25, "w":1.5}, + {"label": "Left Win", "matrix": [10,0], "x":1.5, "y":5.25, "w":1.5}, + {"label": "Space", "matrix": [10,2], "x":3, "y":5.25, "w":7}, + {"label": "Right Alt", "matrix": [10,4], "x":10, "y":5.25, "w":1.5}, + {"label": "Right Ctrl", "matrix": [10,5], "x":11.5, "y":5.25, "w":1.5}, + {"label": "Left", "matrix": [10,6], "x":13.25, "y":5.5}, + {"label": "Down", "matrix": [11,7], "x":14.25, "y":5.5}, + {"label": "Right", "matrix": [10,7], "x":15.25, "y":5.5}, + {"label": "Num 0", "matrix": [10,8], "x":16.5, "y":5.25, "w":2}, + {"label": "Num Del", "matrix": [11,9], "x":18.5, "y":5.25} + ] + }, + "LAYOUT_ansi_wkl_split_bs": { + "layout": [ + {"label": "Esc", "matrix": [1,0], "x":0, "y":0}, + {"label": "F1", "matrix": [0,0], "x":1.25, "y":0}, + {"label": "F2", "matrix": [1,1], "x":2.25, "y":0}, + {"label": "F3", "matrix": [0,1], "x":3.25, "y":0}, + {"label": "F4", "matrix": [1,2], "x":4.25, "y":0}, + {"label": "F5", "matrix": [0,2], "x":5.5, "y":0}, + {"label": "F6", "matrix": [1,3], "x":6.5, "y":0}, + {"label": "F7", "matrix": [0,3], "x":7.5, "y":0}, + {"label": "F8", "matrix": [1,4], "x":8.5, "y":0}, + {"label": "F9", "matrix": [1,5], "x":9.75, "y":0}, + {"label": "F10", "matrix": [0,5], "x":10.75, "y":0}, + {"label": "F11", "matrix": [1,6], "x":11.75, "y":0}, + {"label": "F12", "matrix": [0,6], "x":12.75, "y":0}, + {"label": "F13", "matrix": [1,7], "x":14, "y":0}, + {"label": "Scroll Lock", "matrix": [0,7], "x":15.25, "y":0}, + {"label": "Pause Break", "matrix": [1,8], "x":16.5, "y":0}, + {"label": "Insert", "matrix": [0,8], "x":17.5, "y":0}, + {"label": "Home", "matrix": [1,9], "x":18.5, "y":0}, + {"label": "Print Screen", "matrix": [0,9], "x":19.5, "y":0}, + + {"label": "~", "matrix": [3,0], "x":0, "y":1.25}, + {"label": "1", "matrix": [2,0], "x":1, "y":1.25}, + {"label": "2", "matrix": [3,1], "x":2, "y":1.25}, + {"label": "3", "matrix": [2,1], "x":3, "y":1.25}, + {"label": "4", "matrix": [3,2], "x":4, "y":1.25}, + {"label": "5", "matrix": [2,2], "x":5, "y":1.25}, + {"label": "6", "matrix": [3,3], "x":6, "y":1.25}, + {"label": "7", "matrix": [2,3], "x":7, "y":1.25}, + {"label": "8", "matrix": [3,4], "x":8, "y":1.25}, + {"label": "9", "matrix": [2,4], "x":9, "y":1.25}, + {"label": "0", "matrix": [3,5], "x":10, "y":1.25}, + {"label": "-", "matrix": [2,5], "x":11, "y":1.25}, + {"label": "=", "matrix": [3,6], "x":12, "y":1.25}, + {"label": "|", "matrix": [2,6], "x":13, "y":1.25}, + {"label": "Delete", "matrix": [3,7], "x":14, "y":1.25}, + {"label": "Page Up", "matrix": [2,7], "x":15.25, "y":1.25}, + {"label": "Num Lock", "matrix": [3,8], "x":16.5, "y":1.25}, + {"label": "/", "matrix": [2,8], "x":17.5, "y":1.25}, + {"label": "*", "matrix": [3,9], "x":18.5, "y":1.25}, + {"label": "-", "matrix": [2,9], "x":19.5, "y":1.25}, + + {"label": "Tab", "matrix": [5,0], "x":0, "y":2.25, "w":1.5}, + {"label": "Q", "matrix": [4,0], "x":1.5, "y":2.25}, + {"label": "W", "matrix": [5,1], "x":2.5, "y":2.25}, + {"label": "E", "matrix": [4,1], "x":3.5, "y":2.25}, + {"label": "R", "matrix": [5,2], "x":4.5, "y":2.25}, + {"label": "T", "matrix": [4,2], "x":5.5, "y":2.25}, + {"label": "Y", "matrix": [5,3], "x":6.5, "y":2.25}, + {"label": "U", "matrix": [4,3], "x":7.5, "y":2.25}, + {"label": "I", "matrix": [5,4], "x":8.5, "y":2.25}, + {"label": "O", "matrix": [4,4], "x":9.5, "y":2.25}, + {"label": "P", "matrix": [5,5], "x":10.5, "y":2.25}, + {"label": "[", "matrix": [4,5], "x":11.5, "y":2.25}, + {"label": "]", "matrix": [5,6], "x":12.5, "y":2.25}, + {"label": "Backspace", "matrix": [5,7], "x":13.5, "y":2.25, "w":1.5}, + {"label": "Page Down", "matrix": [4,7], "x":15.25, "y":2.25}, + {"label": "Num 7", "matrix": [5,8], "x":16.5, "y":2.25}, + {"label": "Num 8", "matrix": [4,8], "x":17.5, "y":2.25}, + {"label": "Num 9", "matrix": [5,9], "x":18.5, "y":2.25}, + {"label": "Num Plus", "matrix": [4,9], "x":19.5, "y":2.25, "h":2}, + + {"label": "Caps Lock", "matrix": [7,0], "x":0, "y":3.25, "w":1.75}, + {"label": "A", "matrix": [6,0], "x":1.75, "y":3.25}, + {"label": "S", "matrix": [7,1], "x":2.75, "y":3.25}, + {"label": "D", "matrix": [6,1], "x":3.75, "y":3.25}, + {"label": "F", "matrix": [7,2], "x":4.75, "y":3.25}, + {"label": "G", "matrix": [6,2], "x":5.75, "y":3.25}, + {"label": "H", "matrix": [7,3], "x":6.75, "y":3.25}, + {"label": "J", "matrix": [6,3], "x":7.75, "y":3.25}, + {"label": "K", "matrix": [7,4], "x":8.75, "y":3.25}, + {"label": "L", "matrix": [6,4], "x":9.75, "y":3.25}, + {"label": ";", "matrix": [7,5], "x":10.75, "y":3.25}, + {"label": "'", "matrix": [6,5], "x":11.75, "y":3.25}, + {"label": "Enter", "matrix": [6,6], "x":12.75, "y":3.25, "w":2.25}, + {"label": "Delete", "matrix": [6,7], "x":15.25, "y":3.25}, + {"label": "Num 4", "matrix": [7,8], "x":16.5, "y":3.25}, + {"label": "Num 5", "matrix": [6,8], "x":17.5, "y":3.25}, + {"label": "Num 6", "matrix": [7,9], "x":18.5, "y":3.25}, + + {"label": "Left Shift", "matrix": [9,0], "x":0, "y":4.25, "w":2.25}, + {"label": "Z", "matrix": [8,0], "x":2.25, "y":4.25}, + {"label": "X", "matrix": [9,1], "x":3.25, "y":4.25}, + {"label": "C", "matrix": [8,1], "x":4.25, "y":4.25}, + {"label": "V", "matrix": [9,2], "x":5.25, "y":4.25}, + {"label": "B", "matrix": [8,2], "x":6.25, "y":4.25}, + {"label": "N", "matrix": [9,3], "x":7.25, "y":4.25}, + {"label": "M", "matrix": [8,3], "x":8.25, "y":4.25}, + {"label": ",", "matrix": [9,4], "x":9.25, "y":4.25}, + {"label": ".", "matrix": [8,4], "x":10.25, "y":4.25}, + {"label": "/", "matrix": [9,5], "x":11.25, "y":4.25}, + {"label": "Right Shift", "matrix": [9,6], "x":12.25, "y":4.25, "w":1.75}, + {"label": "Up", "matrix": [9,7], "x":14.25, "y":4.5}, + {"label": "Num 1", "matrix": [9,8], "x":16.5, "y":4.25}, + {"label": "Num 2", "matrix": [8,8], "x":17.5, "y":4.25}, + {"label": "Num 3", "matrix": [9,9], "x":18.5, "y":4.25}, + {"label": "Enter", "matrix": [8,9], "x":19.5, "y":4.25, "h":2}, + + {"label": "Left Ctrl", "matrix": [11,0], "x":0, "y":5.25, "w":1.5}, + {"label": "Left Win", "matrix": [10,0], "x":1.5, "y":5.25, "w":1.5}, + {"label": "Space", "matrix": [10,2], "x":3, "y":5.25, "w":7}, + {"label": "Right Alt", "matrix": [10,4], "x":10, "y":5.25, "w":1.5}, + {"label": "Right Ctrl", "matrix": [10,5], "x":11.5, "y":5.25, "w":1.5}, + {"label": "Left", "matrix": [10,6], "x":13.25, "y":5.5}, + {"label": "Down", "matrix": [11,7], "x":14.25, "y":5.5}, + {"label": "Right", "matrix": [10,7], "x":15.25, "y":5.5}, + {"label": "Num 0", "matrix": [10,8], "x":16.5, "y":5.25, "w":2}, + {"label": "Num Del", "matrix": [11,9], "x":18.5, "y":5.25} + ] } } -} \ No newline at end of file +} diff --git a/keyboards/mazestudio/jocker/keymaps/default/keymap.c b/keyboards/mazestudio/jocker/keymaps/default/keymap.c index b64c4a299f0..4d4f46b2e6e 100644 --- a/keyboards/mazestudio/jocker/keymaps/default/keymap.c +++ b/keyboards/mazestudio/jocker/keymaps/default/keymap.c @@ -4,7 +4,7 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_ansi_split_bs( 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_F13, KC_SCRL, KC_PAUS, KC_INS, KC_HOME, KC_PSCR, 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_BSLS, KC_DEL, KC_PGUP, 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_BSPC, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, diff --git a/keyboards/mazestudio/jocker/keymaps/via/keymap.c b/keyboards/mazestudio/jocker/keymaps/via/keymap.c index b64c4a299f0..4d4f46b2e6e 100644 --- a/keyboards/mazestudio/jocker/keymaps/via/keymap.c +++ b/keyboards/mazestudio/jocker/keymaps/via/keymap.c @@ -4,7 +4,7 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_ansi_split_bs( 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_F13, KC_SCRL, KC_PAUS, KC_INS, KC_HOME, KC_PSCR, 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_BSLS, KC_DEL, KC_PGUP, 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_BSPC, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS, diff --git a/keyboards/mazestudio/jocker/matrix_diagram.md b/keyboards/mazestudio/jocker/matrix_diagram.md new file mode 100644 index 00000000000..d7f37a70f8e --- /dev/null +++ b/keyboards/mazestudio/jocker/matrix_diagram.md @@ -0,0 +1,22 @@ +# Matrix Diagram for Maze Studio Jocker 1800 + +``` +┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┐┌───┬───┬───┬───┐ +│10 ││00 │11 │01 │12 ││02 │13 │03 │14 ││15 │05 │16 │06 ││17 ││07 ││18 │08 │19 │09 │ +└───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┘└───┴───┴───┴───┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┐┌───┬───┬───┬───┐ ┌───────┐ +│30 │20 │31 │21 │32 │22 │33 │23 │34 │24 │35 │25 │36 │26 │37 ││27 ││38 │28 │39 │29 │ │37 │ 2u Backspace +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┤├───┼───┼───┼───┤ └───────┘ +│50 │40 │51 │41 │52 │42 │53 │43 │54 │44 │55 │45 │56 │57 ││47 ││58 │48 │59 │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤├───┤├───┼───┼───┤49 │ +│70 │60 │71 │61 │72 │62 │73 │63 │74 │64 │75 │65 │66 ││67 ││78 │68 │79 │ │ +├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘└───┘├───┼───┼───┼───┤ +│90 │80 │91 │81 │92 │82 │93 │83 │94 │84 │95 │96 │┌───┐ │98 │88 │99 │ │ +├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┘│97 │ ├───┴───┼───┤89 │ +│B0 │A0 │B1 │A2 │A4 │A5 │┌───┼───┼───┐│A8 │B9 │ │ +└────┴────┴────┴────────────────────────┴─────┴─────┘│A6 │B7 │A7 │└───────┴───┴───┘ + └───┴───┴───┘ +┌─────┬─────┬───────────────────────────┬─────┬─────┐ +│B0 │A0 │A2 │A4 │A5 │ WKL +└─────┴─────┴───────────────────────────┴─────┴─────┘ +``` From 269c7b6e5b58aaa260dfa4e7e08884b1f26d598a Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu, 14 Sep 2023 10:57:44 -0700 Subject: [PATCH 037/144] Mechlovin Zed65 910 Layout Standardization (#22018) * Add layout/matrix diagram [docs] * Rename `LAYOUT_65_iso_tsangan_split_bs` to `LAYOUT_iso_split_bs` [refactor] * Rename `LAYOUT_65_ansi_tsangan` to `LAYOUT_ansi` [refactor] * Rename `LAYOUT_65_ansi_blocker_tsangan` to `LAYOUT_ansi_blocker_tsangan` [refactor] * Rename `LAYOUT_65_ansi_tsangan_split_bs` to `LAYOUT_all` [refactor] --- keyboards/mechlovin/zed65/910/info.json | 14 +++++++--- .../zed65/910/keymaps/default/keymap.c | 2 +- .../mechlovin/zed65/910/keymaps/via/keymap.c | 2 +- .../mechlovin/zed65/910/matrix_diagram.md | 27 +++++++++++++++++++ 4 files changed, 39 insertions(+), 6 deletions(-) create mode 100644 keyboards/mechlovin/zed65/910/matrix_diagram.md diff --git a/keyboards/mechlovin/zed65/910/info.json b/keyboards/mechlovin/zed65/910/info.json index 7874c09e2dd..d1de863c039 100644 --- a/keyboards/mechlovin/zed65/910/info.json +++ b/keyboards/mechlovin/zed65/910/info.json @@ -42,8 +42,14 @@ "pin": "A7", "driver": "spi" }, + "layout_aliases": { + "LAYOUT_65_iso_tsangan_split_bs": "LAYOUT_iso_split_bs", + "LAYOUT_65_ansi_tsangan": "LAYOUT_ansi", + "LAYOUT_65_ansi_blocker_tsangan": "LAYOUT_ansi_blocker_tsangan", + "LAYOUT_65_ansi_tsangan_split_bs": "LAYOUT_all" + }, "layouts": { - "LAYOUT_65_iso_tsangan_split_bs": { + "LAYOUT_iso_split_bs": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -120,7 +126,7 @@ {"matrix": [4, 14], "x": 15, "y": 4} ] }, - "LAYOUT_65_ansi_tsangan_split_bs": { + "LAYOUT_all": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -197,7 +203,7 @@ {"matrix": [4, 14], "x": 15, "y": 4} ] }, - "LAYOUT_65_ansi_tsangan": { + "LAYOUT_ansi": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -273,7 +279,7 @@ ] }, - "LAYOUT_65_ansi_blocker_tsangan": { + "LAYOUT_ansi_blocker_tsangan": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/mechlovin/zed65/910/keymaps/default/keymap.c b/keyboards/mechlovin/zed65/910/keymaps/default/keymap.c index 1c530e8420b..f4c829bedd3 100644 --- a/keyboards/mechlovin/zed65/910/keymaps/default/keymap.c +++ b/keyboards/mechlovin/zed65/910/keymaps/default/keymap.c @@ -18,7 +18,7 @@ along with this program. If not, see . #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_65_ansi_tsangan_split_bs( + [0] = LAYOUT_all( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_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_PGUP, 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_PGDN, diff --git a/keyboards/mechlovin/zed65/910/keymaps/via/keymap.c b/keyboards/mechlovin/zed65/910/keymaps/via/keymap.c index d41ff034722..80dee5ced0d 100644 --- a/keyboards/mechlovin/zed65/910/keymaps/via/keymap.c +++ b/keyboards/mechlovin/zed65/910/keymaps/via/keymap.c @@ -18,7 +18,7 @@ along with this program. If not, see . #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_65_ansi_tsangan_split_bs( + [0] = LAYOUT_all( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_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_PGUP, 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_PGDN, diff --git a/keyboards/mechlovin/zed65/910/matrix_diagram.md b/keyboards/mechlovin/zed65/910/matrix_diagram.md new file mode 100644 index 00000000000..5cebdb1748b --- /dev/null +++ b/keyboards/mechlovin/zed65/910/matrix_diagram.md @@ -0,0 +1,27 @@ +# Matrix Diagram for Mechlovin Studio Zed65 910 Rev1 + +``` + ┌───────┐ + 2u Backspace │0D │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │2C │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┐ ┌─────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐2D │ ISO Enter +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │2E │ │1D │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤ +│40 │41 │42 │46 │49 │4A │4B │4C │4D │4E │ +└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘ +┌────────┐ ┌──────────┐ +│30 │ 2.25u LShift 2.75u RShift │3C │ +└────────┘ └──────────┘ +┌────┬────┬────┬────────────────────────┬────┬────┐ +│40 │41 │42 │46 │49 │4A │ Blocker +└────┴────┴────┴────────────────────────┴────┴────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┐ +│40 │41 │42 │46 │4A │ Blocker Tsangan +└─────┴───┴─────┴───────────────────────────┴─────┘ +``` From 294fc6caef704f5bf1eeb70c5176812c1a77adcb Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu, 14 Sep 2023 12:07:22 -0700 Subject: [PATCH 038/144] Mode M256-WS Community Layout Support (#22020) * Add layout/matrix diagram [docs] * Rename `LAYOUT` to `LAYOUT_all` [refactor] * Add `LAYOUT_65_ansi_blocker_split_bs` [enhancement] * Add `LAYOUT_65_ansi_blocker` [enhancement] * Add `LAYOUT_65_ansi_blocker_tsangan_split_bs` [enhancement] * Add `LAYOUT_65_ansi_blocker_tsangan` [enhancement] * Add `LAYOUT_65_iso_blocker_split_bs` [enhancement] * Add `LAYOUT_65_iso_blocker` [enhancement] * patch `LAYOUT_65_iso_blocker_split_bs` * patch `LAYOUT_65_iso_blocker` * Add `LAYOUT_65_iso_blocker_tsangan_split_bs` [enhancement] * Add `LAYOUT_65_iso_blocker_tsangan` [enhancement] * Enable Community Layout support [enhancement] --- keyboards/mode/m256ws/info.json | 619 +++++++++++++++++- .../mode/m256ws/keymaps/default/keymap.c | 4 +- keyboards/mode/m256ws/keymaps/via/keymap.c | 4 +- keyboards/mode/m256ws/matrix_diagram.md | 24 + 4 files changed, 646 insertions(+), 5 deletions(-) create mode 100644 keyboards/mode/m256ws/matrix_diagram.md diff --git a/keyboards/mode/m256ws/info.json b/keyboards/mode/m256ws/info.json index 8f837e316c2..6a36d4af8e4 100644 --- a/keyboards/mode/m256ws/info.json +++ b/keyboards/mode/m256ws/info.json @@ -43,8 +43,21 @@ "ws2812": { "pin": "B15" }, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, + "community_layouts": [ + "65_ansi_blocker", + "65_ansi_blocker_split_bs", + "65_ansi_blocker_tsangan", + "65_ansi_blocker_tsangan_split_bs", + "65_iso_blocker", + "65_iso_blocker_split_bs", + "65_iso_blocker_tsangan", + "65_iso_blocker_tsangan_split_bs" + ], "layouts": { - "LAYOUT": { + "LAYOUT_all": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1!", "matrix": [0, 1], "x": 1, "y": 0}, @@ -117,6 +130,610 @@ {"label": "Page Up", "matrix": [4, 14], "x": 15, "y": 1}, {"label": "Caps Lock", "matrix": [5, 0], "x": 0, "y": 2, "w": 1.75} ] + }, + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0)", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "-_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "=+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"label": "Delete", "matrix": [1, 14], "x": 15, "y": 0}, + + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "\\|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "Page Up", "matrix": [4, 14], "x": 15, "y": 1}, + + {"label": "Caps Lock", "matrix": [5, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Page Down", "matrix": [2, 14], "x": 15, "y": 2}, + + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "\u2191", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "End", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 9], "x": 10, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "\u2190", "matrix": [4, 11], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 12], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 13], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_split_bs": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0)", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "-_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "=+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Backspace", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "Delete", "matrix": [1, 14], "x": 15, "y": 0}, + + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "\\|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "Page Up", "matrix": [4, 14], "x": 15, "y": 1}, + + {"label": "Caps Lock", "matrix": [5, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Page Down", "matrix": [2, 14], "x": 15, "y": 2}, + + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "\u2191", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "End", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 9], "x": 10, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "\u2190", "matrix": [4, 11], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 12], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 13], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0)", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "-_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "=+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"label": "Delete", "matrix": [1, 14], "x": 15, "y": 0}, + + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "\\|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "Page Up", "matrix": [4, 14], "x": 15, "y": 1}, + + {"label": "Caps Lock", "matrix": [5, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Page Down", "matrix": [2, 14], "x": 15, "y": 2}, + + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "\u2191", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "End", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "GUI", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"label": "Ctrl", "matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, + {"label": "\u2190", "matrix": [4, 11], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 12], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 13], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan_split_bs": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0)", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "-_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "=+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Backspace", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "Delete", "matrix": [1, 14], "x": 15, "y": 0}, + + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "\\|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "Page Up", "matrix": [4, 14], "x": 15, "y": 1}, + + {"label": "Caps Lock", "matrix": [5, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Page Down", "matrix": [2, 14], "x": 15, "y": 2}, + + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "\u2191", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "End", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "GUI", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"label": "Ctrl", "matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, + {"label": "\u2190", "matrix": [4, 11], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 12], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 13], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2\"", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3\u00a3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0)", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "-_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "=+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"label": "Delete", "matrix": [1, 14], "x": 15, "y": 0}, + + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "Page Up", "matrix": [4, 14], "x": 15, "y": 1}, + + {"label": "Caps Lock", "matrix": [5, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "'@", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "#~", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "Page Down", "matrix": [2, 14], "x": 15, "y": 2}, + + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "\\|", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "\u2191", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "End", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 9], "x": 10, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "\u2190", "matrix": [4, 11], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 12], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 13], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_split_bs": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2\"", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3\u00a3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0)", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "-_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "=+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Backspace", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "Delete", "matrix": [1, 14], "x": 15, "y": 0}, + + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "Page Up", "matrix": [4, 14], "x": 15, "y": 1}, + + {"label": "Caps Lock", "matrix": [5, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "'@", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "#~", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "Page Down", "matrix": [2, 14], "x": 15, "y": 2}, + + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "\\|", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "\u2191", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "End", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 9], "x": 10, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "\u2190", "matrix": [4, 11], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 12], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 13], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_tsangan": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2\"", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3\u00a3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0)", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "-_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "=+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"label": "Delete", "matrix": [1, 14], "x": 15, "y": 0}, + + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "Page Up", "matrix": [4, 14], "x": 15, "y": 1}, + + {"label": "Caps Lock", "matrix": [5, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "'@", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "#~", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "Page Down", "matrix": [2, 14], "x": 15, "y": 2}, + + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "\\|", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "\u2191", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "End", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "GUI", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"label": "Ctrl", "matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, + {"label": "\u2190", "matrix": [4, 11], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 12], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 13], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_tsangan_split_bs": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2\"", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3\u00a3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0)", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "-_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "=+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Backspace", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "Delete", "matrix": [1, 14], "x": 15, "y": 0}, + + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "Page Up", "matrix": [4, 14], "x": 15, "y": 1}, + + {"label": "Caps Lock", "matrix": [5, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "'@", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "#~", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "Page Down", "matrix": [2, 14], "x": 15, "y": 2}, + + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "\\|", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "\u2191", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "End", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "GUI", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"label": "Ctrl", "matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, + {"label": "\u2190", "matrix": [4, 11], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 12], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 13], "x": 15, "y": 4} + ] } } } diff --git a/keyboards/mode/m256ws/keymaps/default/keymap.c b/keyboards/mode/m256ws/keymaps/default/keymap.c index 03b49aac222..ab77f7af20e 100644 --- a/keyboards/mode/m256ws/keymaps/default/keymap.c +++ b/keyboards/mode/m256ws/keymaps/default/keymap.c @@ -16,14 +16,14 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT( /* Base */ +[0] = LAYOUT_all( /* Base */ 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_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_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_PGDN, 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_END , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(1) , KC_LEFT, KC_DOWN, KC_RGHT, KC_PGUP, KC_CAPS ), -[1] = LAYOUT( +[1] = LAYOUT_all( QK_BOOT, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, diff --git a/keyboards/mode/m256ws/keymaps/via/keymap.c b/keyboards/mode/m256ws/keymaps/via/keymap.c index 03b49aac222..ab77f7af20e 100644 --- a/keyboards/mode/m256ws/keymaps/via/keymap.c +++ b/keyboards/mode/m256ws/keymaps/via/keymap.c @@ -16,14 +16,14 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT( /* Base */ +[0] = LAYOUT_all( /* Base */ 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_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_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_PGDN, 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_END , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(1) , KC_LEFT, KC_DOWN, KC_RGHT, KC_PGUP, KC_CAPS ), -[1] = LAYOUT( +[1] = LAYOUT_all( QK_BOOT, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, diff --git a/keyboards/mode/m256ws/matrix_diagram.md b/keyboards/mode/m256ws/matrix_diagram.md new file mode 100644 index 00000000000..9d30315cdba --- /dev/null +++ b/keyboards/mode/m256ws/matrix_diagram.md @@ -0,0 +1,24 @@ +# Matrix Diagram for Mode Designs M256W-S + +``` + ┌───────┐ + 2u Backspace │0D │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │1E │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ ┌─────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │4E │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐2D │ ISO Enter +│50 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │2E │ │2C │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ +│40 │41 │42 │46 │49 │4A │ │4B │4C │4D │ +└────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ +┌────────┐ +│30 │ 2.25u LShift +└────────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┐ +│40 │41 │42 │46 │4A │ Blocker Tsangan +└─────┴───┴─────┴───────────────────────────┴─────┘ +``` From 58c2dae32e58fbdc1a519aa2cf7b6eb563769193 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu, 14 Sep 2023 12:44:07 -0700 Subject: [PATCH 039/144] Mode M256-WH Community Layout Support (#22019) * Add layout/matrix diagram [docs] * Rename `LAYOUT` to `LAYOUT_65_ansi_blocker` [refactor] * Add `LAYOUT_65_ansi_blocker_tsangan` [enhancement] * Enable Community Layout support [enhancement] --- keyboards/mode/m256wh/info.json | 83 ++++++++++++++++++- .../mode/m256wh/keymaps/default/keymap.c | 4 +- keyboards/mode/m256wh/keymaps/via/keymap.c | 4 +- keyboards/mode/m256wh/matrix_diagram.md | 18 ++++ 4 files changed, 104 insertions(+), 5 deletions(-) create mode 100644 keyboards/mode/m256wh/matrix_diagram.md diff --git a/keyboards/mode/m256wh/info.json b/keyboards/mode/m256wh/info.json index 3e2d0eb2764..6caaa754ed3 100644 --- a/keyboards/mode/m256wh/info.json +++ b/keyboards/mode/m256wh/info.json @@ -40,8 +40,15 @@ "ws2812": { "pin": "B15" }, + "layout_aliases": { + "LAYOUT": "LAYOUT_65_ansi_blocker" + }, + "community_layouts": [ + "65_ansi_blocker", + "65_ansi_blocker_tsangan" + ], "layouts": { - "LAYOUT": { + "LAYOUT_65_ansi_blocker": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1!", "matrix": [0, 1], "x": 1, "y": 0}, @@ -111,6 +118,80 @@ {"label": "\u2193", "matrix": [4, 12], "x": 14, "y": 4}, {"label": "\u2192", "matrix": [4, 13], "x": 15, "y": 4} ] + }, + "LAYOUT_65_ansi_blocker_tsangan": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "1!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "5%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "6^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "7&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "8*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "9(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0)", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "-_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "=+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"label": "Del", "matrix": [0, 14], "x": 15, "y": 0}, + + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "[{", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "]}", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "\\|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "Page Up", "matrix": [1, 14], "x": 15, "y": 1}, + + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ";:", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "'\"", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Page Down", "matrix": [2, 14], "x": 15, "y": 2}, + + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": ",<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ".>", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "/?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "\u2191", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "End", "matrix": [3, 14], "x": 15, "y": 3}, + + {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [5, 1], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [5, 15], "x": 4, "y": 4, "w": 7}, + {"label": "Ctrl", "matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, + {"label": "\u2190", "matrix": [4, 11], "x": 13, "y": 4}, + {"label": "\u2193", "matrix": [4, 12], "x": 14, "y": 4}, + {"label": "\u2192", "matrix": [4, 13], "x": 15, "y": 4} + ] } } } diff --git a/keyboards/mode/m256wh/keymaps/default/keymap.c b/keyboards/mode/m256wh/keymaps/default/keymap.c index fcf35032304..a81d6634506 100644 --- a/keyboards/mode/m256wh/keymaps/default/keymap.c +++ b/keyboards/mode/m256wh/keymaps/default/keymap.c @@ -16,14 +16,14 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT( /* Base */ +[0] = LAYOUT_65_ansi_blocker( /* Base */ KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_DEL , KC_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_PGUP, 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_PGDN, KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_END , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(1) , KC_LEFT, KC_DOWN, KC_RGHT ), -[1] = LAYOUT( +[1] = LAYOUT_65_ansi_blocker( QK_BOOT, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, diff --git a/keyboards/mode/m256wh/keymaps/via/keymap.c b/keyboards/mode/m256wh/keymaps/via/keymap.c index fcf35032304..a81d6634506 100644 --- a/keyboards/mode/m256wh/keymaps/via/keymap.c +++ b/keyboards/mode/m256wh/keymaps/via/keymap.c @@ -16,14 +16,14 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT( /* Base */ +[0] = LAYOUT_65_ansi_blocker( /* Base */ KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_DEL , KC_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_PGUP, 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_PGDN, KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_END , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(1) , KC_LEFT, KC_DOWN, KC_RGHT ), -[1] = LAYOUT( +[1] = LAYOUT_65_ansi_blocker( QK_BOOT, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, diff --git a/keyboards/mode/m256wh/matrix_diagram.md b/keyboards/mode/m256wh/matrix_diagram.md new file mode 100644 index 00000000000..fb7f5f11898 --- /dev/null +++ b/keyboards/mode/m256wh/matrix_diagram.md @@ -0,0 +1,18 @@ +# Matrix Diagram for Mode Designs M256W-H + +``` +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │2E │ +├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ +│30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ +├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ +│50 │51 │52 │5F │49 │4A │ │4B │4C │4D │ +└────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ +┌─────┬───┬─────┬───────────────────────────┬─────┐ +│50 │51 │52 │5F │4A │ Blocker Tsangan +└─────┴───┴─────┴───────────────────────────┴─────┘ +``` From 4f26a8b3082a4874a6e416c18999dd6ba1a240d7 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu, 14 Sep 2023 13:37:24 -0700 Subject: [PATCH 040/144] MonsGeek M1: Correct layout data (#22026) Apply vertical offset to the arrow keys. [chore] --- keyboards/monsgeek/m1/info.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/keyboards/monsgeek/m1/info.json b/keyboards/monsgeek/m1/info.json index 5e772f81f63..4de1803818f 100644 --- a/keyboards/monsgeek/m1/info.json +++ b/keyboards/monsgeek/m1/info.json @@ -246,7 +246,7 @@ { "label": ">", "matrix": [4, 9], "x": 10.25, "y": 4.25 }, { "label": "?", "matrix": [4, 10], "x": 11.25, "y": 4.25 }, { "label": "Shift", "matrix": [4, 13], "w": 1.75, "x": 12.25, "y": 4.25 }, - { "label": "Up", "matrix": [4, 14], "x": 14.25, "y": 4.25 }, + { "label": "Up", "matrix": [4, 14], "x": 14.25, "y": 4.5 }, { "label": "End", "matrix": [4, 15], "x": 15.5, "y": 4.25 }, { "label": "Ctrl", "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.25 }, { "label": "Win", "matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 5.25 }, @@ -255,9 +255,9 @@ { "label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25 }, { "label": "Fn", "matrix": [5, 10], "x": 11, "y": 5.25 }, { "label": "Ctrl", "matrix": [5, 11], "x": 12, "y": 5.25 }, - { "label": "Left", "matrix": [5, 13], "x": 13.25, "y": 5.25 }, - { "label": "Down", "matrix": [5, 14], "x": 14.25, "y": 5.25 }, - { "label": "Right", "matrix": [5, 15], "x": 15.25, "y": 5.25 } + { "label": "Left", "matrix": [5, 13], "x": 13.25, "y": 5.5 }, + { "label": "Down", "matrix": [5, 14], "x": 14.25, "y": 5.5 }, + { "label": "Right", "matrix": [5, 15], "x": 15.25, "y": 5.5 } ] }, "LAYOUT_ansi": { @@ -333,7 +333,7 @@ { "label": ">", "matrix": [4, 9], "x": 10.25, "y": 4.25 }, { "label": "?", "matrix": [4, 10], "x": 11.25, "y": 4.25 }, { "label": "Shift", "matrix": [4, 13], "w": 1.75, "x": 12.25, "y": 4.25 }, - { "label": "Up", "matrix": [4, 14], "x": 14.25, "y": 4.25 }, + { "label": "Up", "matrix": [4, 14], "x": 14.25, "y": 4.5 }, { "label": "End", "matrix": [4, 15], "x": 15.5, "y": 4.25 }, { "label": "Ctrl", "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.25 }, { "label": "Win", "matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 5.25 }, @@ -342,9 +342,9 @@ { "label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25 }, { "label": "Fn", "matrix": [5, 10], "x": 11, "y": 5.25 }, { "label": "Ctrl", "matrix": [5, 11], "x": 12, "y": 5.25 }, - { "label": "Left", "matrix": [5, 13], "x": 13.25, "y": 5.25 }, - { "label": "Down", "matrix": [5, 14], "x": 14.25, "y": 5.25 }, - { "label": "Right", "matrix": [5, 15], "x": 15.25, "y": 5.25 } + { "label": "Left", "matrix": [5, 13], "x": 13.25, "y": 5.5 }, + { "label": "Down", "matrix": [5, 14], "x": 14.25, "y": 5.5 }, + { "label": "Right", "matrix": [5, 15], "x": 15.25, "y": 5.5 } ] }, "LAYOUT_iso": { @@ -421,7 +421,7 @@ { "label": ">", "matrix": [4, 9], "x": 10.25, "y": 4.25 }, { "label": "?", "matrix": [4, 10], "x": 11.25, "y": 4.25 }, { "label": "Shift", "matrix": [4, 13], "w": 1.75, "x": 12.25, "y": 4.25 }, - { "label": "Up", "matrix": [4, 14], "x": 14.25, "y": 4.25 }, + { "label": "Up", "matrix": [4, 14], "x": 14.25, "y": 4.5 }, { "label": "End", "matrix": [4, 15], "x": 15.5, "y": 4.25 }, { "label": "Ctrl", "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.25 }, { "label": "Win", "matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 5.25 }, @@ -430,9 +430,9 @@ { "label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25 }, { "label": "Fn", "matrix": [5, 10], "x": 11, "y": 5.25 }, { "label": "Ctrl", "matrix": [5, 11], "x": 12, "y": 5.25 }, - { "label": "Left", "matrix": [5, 13], "x": 13.25, "y": 5.25 }, - { "label": "Down", "matrix": [5, 14], "x": 14.25, "y": 5.25 }, - { "label": "Right", "matrix": [5, 15], "x": 15.25, "y": 5.25 } + { "label": "Left", "matrix": [5, 13], "x": 13.25, "y": 5.5 }, + { "label": "Down", "matrix": [5, 14], "x": 14.25, "y": 5.5 }, + { "label": "Right", "matrix": [5, 15], "x": 15.25, "y": 5.5 } ] } } From 46d679ab119157d604eb679c2248bd402eebd666 Mon Sep 17 00:00:00 2001 From: Andrew Kannan Date: Thu, 14 Sep 2023 16:38:42 -0400 Subject: [PATCH 041/144] `qmk format-json`: Add an in-place mode to format json command (#21610) --- lib/python/qmk/cli/format/json.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/python/qmk/cli/format/json.py b/lib/python/qmk/cli/format/json.py index 058b6132942..3299a0d8070 100755 --- a/lib/python/qmk/cli/format/json.py +++ b/lib/python/qmk/cli/format/json.py @@ -15,6 +15,8 @@ from qmk.path import normpath @cli.argument('json_file', arg_only=True, type=normpath, help='JSON file to format') @cli.argument('-f', '--format', choices=['auto', 'keyboard', 'keymap'], default='auto', arg_only=True, help='JSON formatter to use (Default: autodetect)') +@cli.argument('-i', '--inplace', action='store_true', arg_only=True, help='If set, will operate in-place on the input file') +@cli.argument('-p', '--print', action='store_true', arg_only=True, help='If set, will print the formatted json to stdout ') @cli.subcommand('Generate an info.json file for a keyboard.', hidden=False if cli.config.user.developer else True) def format_json(cli): """Format a json file. @@ -61,5 +63,14 @@ def format_json(cli): json_file['layers'][layer_num] = current_layer - # Display the results - print(json.dumps(json_file, cls=json_encoder, sort_keys=True)) + output = json.dumps(json_file, cls=json_encoder, sort_keys=True) + + if cli.args.inplace: + with open(cli.args.json_file, 'w+', encoding='utf-8') as outfile: + outfile.write(output) + + # Display the results if print was set + # We don't operate in-place by default, so also display to stdout + # if in-place is not set. + if cli.args.print or not cli.args.inplace: + print(output) From 3d86b925113043759bc9dd1cc73d41e84b5d28bb Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu, 14 Sep 2023 15:47:03 -0700 Subject: [PATCH 042/144] QVEX Tech Lynepad2 Layout Update (#22030) * Add layout/matrix diagram [docs] * Update layout data Update layout data to disambiguate the key/joystick/thumbpad functions in Configurator. [chore] --- keyboards/qvex/lynepad2/info.json | 18 +++++++++++------- keyboards/qvex/lynepad2/matrix_diagram.md | 21 +++++++++++++++++++++ 2 files changed, 32 insertions(+), 7 deletions(-) create mode 100644 keyboards/qvex/lynepad2/matrix_diagram.md diff --git a/keyboards/qvex/lynepad2/info.json b/keyboards/qvex/lynepad2/info.json index 02b6198bcd8..4230fd63e0d 100644 --- a/keyboards/qvex/lynepad2/info.json +++ b/keyboards/qvex/lynepad2/info.json @@ -50,20 +50,24 @@ { "matrix": [0, 1], "x": 1, "y": 0 }, { "matrix": [0, 2], "x": 2, "y": 0 }, { "matrix": [0, 3], "x": 3, "y": 0 }, + { "matrix": [1, 0], "x": 0, "y": 1 }, { "matrix": [1, 1], "x": 1, "y": 1 }, { "matrix": [1, 2], "x": 2, "y": 1 }, { "matrix": [1, 3], "x": 3, "y": 1 }, + { "matrix": [2, 0], "x": 0, "y": 2 }, { "matrix": [2, 1], "x": 1, "y": 2 }, { "matrix": [2, 2], "x": 2, "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": [4, 0], "x": 0, "y": 4 }, - { "matrix": [4, 1], "x": 1, "y": 4 } + + { "matrix": [3, 0], "x": 4.75, "y": 1.3 }, + { "matrix": [3, 1], "x": 4.75, "y": 3.7 }, + { "matrix": [3, 2], "x": 3.55, "y": 2.5 }, + { "matrix": [3, 3], "x": 5.95, "y": 2.5 }, + { "matrix": [4, 0], "x": 4.55, "y": 2.3, "w": 1.4, "h": 1.4 }, + + { "matrix": [4, 1], "x": 3.4, "y": 5.2, "w": 1.6, "h": 1.6 } ] } } -} \ No newline at end of file +} diff --git a/keyboards/qvex/lynepad2/matrix_diagram.md b/keyboards/qvex/lynepad2/matrix_diagram.md new file mode 100644 index 00000000000..29ab7d6d251 --- /dev/null +++ b/keyboards/qvex/lynepad2/matrix_diagram.md @@ -0,0 +1,21 @@ +# Matrix Diagram for QVEX Tech Lynepad + +``` +┌───┬───┬───┬───┐ +│00 │01 │02 │03 │ +├───┼───┼───┼───┤ +│10 │11 │12 │13 │ ┌───┐ +├───┼───┼───┼───┘╱ │30 │ ╲ +│20 │21 │22 │ ┌───┼───┼───┐ +└───┴───┴───┘ │32 │40 │33 │ + └───┼───┼───┘ + ╲ │31 │ ╱ + └───┘ + ┌───┐ + ╱ │ │ ╲ + ┌───┼───┼───┐ + │ │41 │ │ + └───┼───┼───┘ + ╲ │ │ ╱ + └───┘ +``` From 598303fa954ed4c6a4d1076a11b17b7d28bdda38 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu, 14 Sep 2023 18:07:48 -0700 Subject: [PATCH 043/144] OwLab Jelly Evolv Solder Layout Additions (#22029) * Add layout/matrix diagram [docs] * Friendly-format `info.json` [style] * Rename `LAYOUT` to `LAYOUT_all` [refactor] * Add `LAYOUT_ansi_blocker` [enhancement] * Add `LAYOUT_ansi_blocker_split_bs` [enhancement] * Add `LAYOUT_ansi_blocker_tsangan_split_bs` [enhancement] * Add `LAYOUT_ansi_blocker_tsangan` [enhancement] * Add `LAYOUT_iso_blocker` [enhancement] * Add `LAYOUT_iso_blocker_split_bs` [enhancement] * Add `LAYOUT_iso_blocker_tsangan_split_bs` [enhancement] * Add `LAYOUT_iso_blocker_tsangan` [enhancement] --- keyboards/owlab/jelly_evolv/solder/info.json | 890 ++++++++++++++++-- .../solder/keymaps/default/keymap.c | 4 +- .../jelly_evolv/solder/keymaps/via/keymap.c | 4 +- .../jelly_evolv/solder/matrix_diagram.md | 27 + 4 files changed, 838 insertions(+), 87 deletions(-) create mode 100644 keyboards/owlab/jelly_evolv/solder/matrix_diagram.md diff --git a/keyboards/owlab/jelly_evolv/solder/info.json b/keyboards/owlab/jelly_evolv/solder/info.json index 1c31904ecf5..b02be86f3e8 100644 --- a/keyboards/owlab/jelly_evolv/solder/info.json +++ b/keyboards/owlab/jelly_evolv/solder/info.json @@ -4,91 +4,815 @@ "pid": "0x4A56", "device_version": "0.0.1" }, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, "layouts": { - "LAYOUT": { + "LAYOUT_all": { "layout": [ - {"matrix": [0, 0], "x":0, "y":0}, - {"matrix": [0, 1], "x":1.5, "y":0}, - {"matrix": [0, 2], "x":2.5, "y":0}, - {"matrix": [0, 3], "x":3.5, "y":0}, - {"matrix": [0, 4], "x":4.5, "y":0}, - {"matrix": [0, 5], "x":6, "y":0}, - {"matrix": [0, 6], "x":7, "y":0}, - {"matrix": [0, 7], "x":8, "y":0}, - {"matrix": [0, 8], "x":9, "y":0}, - {"matrix": [0, 9], "x":10.5, "y":0}, - {"matrix": [0, 10], "x":11.5, "y":0}, - {"matrix": [0, 11], "x":12.5, "y":0}, - {"matrix": [0, 12], "x":13.5, "y":0}, - {"matrix": [0, 14], "x":15, "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": [1, 5], "x":5, "y":1.5}, - {"matrix": [1, 6], "x":6, "y":1.5}, - {"matrix": [1, 7], "x":7, "y":1.5}, - {"matrix": [1, 8], "x":8, "y":1.5}, - {"matrix": [1, 9], "x":9, "y":1.5}, - {"matrix": [1, 10], "x":10, "y":1.5}, - {"matrix": [1, 11], "x":11, "y":1.5}, - {"matrix": [1, 12], "x":12, "y":1.5}, - {"matrix": [2, 13], "x":13, "y":1.5}, - {"matrix": [1, 13], "x":14, "y":1.5}, - {"matrix": [1, 14], "x":15, "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": [2, 5], "x":5.5, "y":2.5}, - {"matrix": [2, 6], "x":6.5, "y":2.5}, - {"matrix": [2, 7], "x":7.5, "y":2.5}, - {"matrix": [2, 8], "x":8.5, "y":2.5}, - {"matrix": [2, 9], "x":9.5, "y":2.5}, - {"matrix": [2, 10], "x":10.5, "y":2.5}, - {"matrix": [2, 11], "x":11.5, "y":2.5}, - {"matrix": [2, 12], "x":12.5, "y":2.5}, - {"matrix": [3, 12], "x":13.5, "y":2.5, "w":1.5}, - {"matrix": [2, 14], "x":15, "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": [3, 5], "x":5.75, "y":3.5}, - {"matrix": [3, 6], "x":6.75, "y":3.5}, - {"matrix": [3, 7], "x":7.75, "y":3.5}, - {"matrix": [3, 8], "x":8.75, "y":3.5}, - {"matrix": [3, 9], "x":9.75, "y":3.5}, - {"matrix": [3, 10], "x":10.75, "y":3.5}, - {"matrix": [3, 11], "x":11.75, "y":3.5}, - {"matrix": [3, 13], "x":12.75, "y":3.5, "w":2.25}, - {"matrix": [3, 14], "x":15, "y":3.5}, - {"matrix": [4, 0], "x":0, "y":4.5, "w":1.25}, - {"matrix": [5, 3], "x":1.25, "y":4.5}, - {"matrix": [4, 1], "x":2.25, "y":4.5}, - {"matrix": [4, 2], "x":3.25, "y":4.5}, - {"matrix": [4, 3], "x":4.25, "y":4.5}, - {"matrix": [4, 4], "x":5.25, "y":4.5}, - {"matrix": [4, 5], "x":6.25, "y":4.5}, - {"matrix": [4, 6], "x":7.25, "y":4.5}, - {"matrix": [4, 7], "x":8.25, "y":4.5}, - {"matrix": [4, 8], "x":9.25, "y":4.5}, - {"matrix": [4, 9], "x":10.25, "y":4.5}, - {"matrix": [4, 10], "x":11.25, "y":4.5}, - {"matrix": [4, 11], "x":12.25, "y":4.5, "w":1.75}, - {"matrix": [4, 13], "x":14, "y":4.5}, - {"matrix": [5, 0], "x":0, "y":5.5, "w":1.25}, - {"matrix": [5, 1], "x":1.25, "y":5.5, "w":1.25}, - {"matrix": [5, 2], "x":2.5, "y":5.5, "w":1.25}, - {"matrix": [5, 5], "x":3.75, "y":5.5, "w":6.25}, - {"matrix": [5, 9], "x":10, "y":5.5, "w":1.25}, - {"matrix": [5, 10], "x":11.25, "y":5.5, "w":1.25}, - {"matrix": [5, 12], "x":13, "y":5.5}, - {"matrix": [5, 13], "x":14, "y":5.5}, - {"matrix": [5, 14], "x":15, "y":5.5} + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 5], "x": 6, "y": 0}, + {"matrix": [0, 6], "x": 7, "y": 0}, + {"matrix": [0, 7], "x": 8, "y": 0}, + {"matrix": [0, 8], "x": 9, "y": 0}, + {"matrix": [0, 9], "x": 10.5, "y": 0}, + {"matrix": [0, 10], "x": 11.5, "y": 0}, + {"matrix": [0, 11], "x": 12.5, "y": 0}, + {"matrix": [0, 12], "x": 13.5, "y": 0}, + {"matrix": [0, 14], "x": 15, "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": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.5}, + {"matrix": [1, 10], "x": 10, "y": 1.5}, + {"matrix": [1, 11], "x": 11, "y": 1.5}, + {"matrix": [1, 12], "x": 12, "y": 1.5}, + {"matrix": [2, 13], "x": 13, "y": 1.5}, + {"matrix": [1, 13], "x": 14, "y": 1.5}, + {"matrix": [1, 14], "x": 15, "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": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [2, 9], "x": 9.5, "y": 2.5}, + {"matrix": [2, 10], "x": 10.5, "y": 2.5}, + {"matrix": [2, 11], "x": 11.5, "y": 2.5}, + {"matrix": [2, 12], "x": 12.5, "y": 2.5}, + {"matrix": [3, 12], "x": 13.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 14], "x": 15, "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": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [3, 9], "x": 9.75, "y": 3.5}, + {"matrix": [3, 10], "x": 10.75, "y": 3.5}, + {"matrix": [3, 11], "x": 11.75, "y": 3.5}, + {"matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25}, + {"matrix": [3, 14], "x": 15, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, + {"matrix": [5, 3], "x": 1.25, "y": 4.5}, + {"matrix": [4, 1], "x": 2.25, "y": 4.5}, + {"matrix": [4, 2], "x": 3.25, "y": 4.5}, + {"matrix": [4, 3], "x": 4.25, "y": 4.5}, + {"matrix": [4, 4], "x": 5.25, "y": 4.5}, + {"matrix": [4, 5], "x": 6.25, "y": 4.5}, + {"matrix": [4, 6], "x": 7.25, "y": 4.5}, + {"matrix": [4, 7], "x": 8.25, "y": 4.5}, + {"matrix": [4, 8], "x": 9.25, "y": 4.5}, + {"matrix": [4, 9], "x": 10.25, "y": 4.5}, + {"matrix": [4, 10], "x": 11.25, "y": 4.5}, + {"matrix": [4, 11], "x": 12.25, "y": 4.5, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 5], "x": 3.75, "y": 5.5, "w": 6.25}, + {"matrix": [5, 9], "x": 10, "y": 5.5, "w": 1.25}, + {"matrix": [5, 10], "x": 11.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 12], "x": 13, "y": 5.5}, + {"matrix": [5, 13], "x": 14, "y": 5.5}, + {"matrix": [5, 14], "x": 15, "y": 5.5} + ] + }, + "LAYOUT_ansi_blocker": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 5], "x": 6, "y": 0}, + {"matrix": [0, 6], "x": 7, "y": 0}, + {"matrix": [0, 7], "x": 8, "y": 0}, + {"matrix": [0, 8], "x": 9, "y": 0}, + {"matrix": [0, 9], "x": 10.5, "y": 0}, + {"matrix": [0, 10], "x": 11.5, "y": 0}, + {"matrix": [0, 11], "x": 12.5, "y": 0}, + {"matrix": [0, 12], "x": 13.5, "y": 0}, + {"matrix": [0, 14], "x": 15, "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": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.5}, + {"matrix": [1, 10], "x": 10, "y": 1.5}, + {"matrix": [1, 11], "x": 11, "y": 1.5}, + {"matrix": [1, 12], "x": 12, "y": 1.5}, + {"matrix": [1, 13], "x": 13, "y": 1.5, "w": 2}, + {"matrix": [1, 14], "x": 15, "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": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [2, 9], "x": 9.5, "y": 2.5}, + {"matrix": [2, 10], "x": 10.5, "y": 2.5}, + {"matrix": [2, 11], "x": 11.5, "y": 2.5}, + {"matrix": [2, 12], "x": 12.5, "y": 2.5}, + {"matrix": [3, 12], "x": 13.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 14], "x": 15, "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": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [3, 9], "x": 9.75, "y": 3.5}, + {"matrix": [3, 10], "x": 10.75, "y": 3.5}, + {"matrix": [3, 11], "x": 11.75, "y": 3.5}, + {"matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25}, + {"matrix": [3, 14], "x": 15, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [4, 1], "x": 2.25, "y": 4.5}, + {"matrix": [4, 2], "x": 3.25, "y": 4.5}, + {"matrix": [4, 3], "x": 4.25, "y": 4.5}, + {"matrix": [4, 4], "x": 5.25, "y": 4.5}, + {"matrix": [4, 5], "x": 6.25, "y": 4.5}, + {"matrix": [4, 6], "x": 7.25, "y": 4.5}, + {"matrix": [4, 7], "x": 8.25, "y": 4.5}, + {"matrix": [4, 8], "x": 9.25, "y": 4.5}, + {"matrix": [4, 9], "x": 10.25, "y": 4.5}, + {"matrix": [4, 10], "x": 11.25, "y": 4.5}, + {"matrix": [4, 11], "x": 12.25, "y": 4.5, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 5], "x": 3.75, "y": 5.5, "w": 6.25}, + {"matrix": [5, 9], "x": 10, "y": 5.5, "w": 1.25}, + {"matrix": [5, 10], "x": 11.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 12], "x": 13, "y": 5.5}, + {"matrix": [5, 13], "x": 14, "y": 5.5}, + {"matrix": [5, 14], "x": 15, "y": 5.5} + ] + }, + "LAYOUT_ansi_blocker_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 5], "x": 6, "y": 0}, + {"matrix": [0, 6], "x": 7, "y": 0}, + {"matrix": [0, 7], "x": 8, "y": 0}, + {"matrix": [0, 8], "x": 9, "y": 0}, + {"matrix": [0, 9], "x": 10.5, "y": 0}, + {"matrix": [0, 10], "x": 11.5, "y": 0}, + {"matrix": [0, 11], "x": 12.5, "y": 0}, + {"matrix": [0, 12], "x": 13.5, "y": 0}, + {"matrix": [0, 14], "x": 15, "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": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.5}, + {"matrix": [1, 10], "x": 10, "y": 1.5}, + {"matrix": [1, 11], "x": 11, "y": 1.5}, + {"matrix": [1, 12], "x": 12, "y": 1.5}, + {"matrix": [2, 13], "x": 13, "y": 1.5}, + {"matrix": [1, 13], "x": 14, "y": 1.5}, + {"matrix": [1, 14], "x": 15, "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": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [2, 9], "x": 9.5, "y": 2.5}, + {"matrix": [2, 10], "x": 10.5, "y": 2.5}, + {"matrix": [2, 11], "x": 11.5, "y": 2.5}, + {"matrix": [2, 12], "x": 12.5, "y": 2.5}, + {"matrix": [3, 12], "x": 13.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 14], "x": 15, "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": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [3, 9], "x": 9.75, "y": 3.5}, + {"matrix": [3, 10], "x": 10.75, "y": 3.5}, + {"matrix": [3, 11], "x": 11.75, "y": 3.5}, + {"matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25}, + {"matrix": [3, 14], "x": 15, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [4, 1], "x": 2.25, "y": 4.5}, + {"matrix": [4, 2], "x": 3.25, "y": 4.5}, + {"matrix": [4, 3], "x": 4.25, "y": 4.5}, + {"matrix": [4, 4], "x": 5.25, "y": 4.5}, + {"matrix": [4, 5], "x": 6.25, "y": 4.5}, + {"matrix": [4, 6], "x": 7.25, "y": 4.5}, + {"matrix": [4, 7], "x": 8.25, "y": 4.5}, + {"matrix": [4, 8], "x": 9.25, "y": 4.5}, + {"matrix": [4, 9], "x": 10.25, "y": 4.5}, + {"matrix": [4, 10], "x": 11.25, "y": 4.5}, + {"matrix": [4, 11], "x": 12.25, "y": 4.5, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 5], "x": 3.75, "y": 5.5, "w": 6.25}, + {"matrix": [5, 9], "x": 10, "y": 5.5, "w": 1.25}, + {"matrix": [5, 10], "x": 11.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 12], "x": 13, "y": 5.5}, + {"matrix": [5, 13], "x": 14, "y": 5.5}, + {"matrix": [5, 14], "x": 15, "y": 5.5} + ] + }, + "LAYOUT_ansi_blocker_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 5], "x": 6, "y": 0}, + {"matrix": [0, 6], "x": 7, "y": 0}, + {"matrix": [0, 7], "x": 8, "y": 0}, + {"matrix": [0, 8], "x": 9, "y": 0}, + {"matrix": [0, 9], "x": 10.5, "y": 0}, + {"matrix": [0, 10], "x": 11.5, "y": 0}, + {"matrix": [0, 11], "x": 12.5, "y": 0}, + {"matrix": [0, 12], "x": 13.5, "y": 0}, + {"matrix": [0, 14], "x": 15, "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": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.5}, + {"matrix": [1, 10], "x": 10, "y": 1.5}, + {"matrix": [1, 11], "x": 11, "y": 1.5}, + {"matrix": [1, 12], "x": 12, "y": 1.5}, + {"matrix": [1, 13], "x": 13, "y": 1.5, "w": 2}, + {"matrix": [1, 14], "x": 15, "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": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [2, 9], "x": 9.5, "y": 2.5}, + {"matrix": [2, 10], "x": 10.5, "y": 2.5}, + {"matrix": [2, 11], "x": 11.5, "y": 2.5}, + {"matrix": [2, 12], "x": 12.5, "y": 2.5}, + {"matrix": [3, 12], "x": 13.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 14], "x": 15, "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": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [3, 9], "x": 9.75, "y": 3.5}, + {"matrix": [3, 10], "x": 10.75, "y": 3.5}, + {"matrix": [3, 11], "x": 11.75, "y": 3.5}, + {"matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25}, + {"matrix": [3, 14], "x": 15, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [4, 1], "x": 2.25, "y": 4.5}, + {"matrix": [4, 2], "x": 3.25, "y": 4.5}, + {"matrix": [4, 3], "x": 4.25, "y": 4.5}, + {"matrix": [4, 4], "x": 5.25, "y": 4.5}, + {"matrix": [4, 5], "x": 6.25, "y": 4.5}, + {"matrix": [4, 6], "x": 7.25, "y": 4.5}, + {"matrix": [4, 7], "x": 8.25, "y": 4.5}, + {"matrix": [4, 8], "x": 9.25, "y": 4.5}, + {"matrix": [4, 9], "x": 10.25, "y": 4.5}, + {"matrix": [4, 10], "x": 11.25, "y": 4.5}, + {"matrix": [4, 11], "x": 12.25, "y": 4.5, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.5}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 5], "x": 4, "y": 5.5, "w": 7}, + {"matrix": [5, 10], "x": 11, "y": 5.5, "w": 1.5}, + {"matrix": [5, 12], "x": 13, "y": 5.5}, + {"matrix": [5, 13], "x": 14, "y": 5.5}, + {"matrix": [5, 14], "x": 15, "y": 5.5} + ] + }, + "LAYOUT_ansi_blocker_tsangan_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 5], "x": 6, "y": 0}, + {"matrix": [0, 6], "x": 7, "y": 0}, + {"matrix": [0, 7], "x": 8, "y": 0}, + {"matrix": [0, 8], "x": 9, "y": 0}, + {"matrix": [0, 9], "x": 10.5, "y": 0}, + {"matrix": [0, 10], "x": 11.5, "y": 0}, + {"matrix": [0, 11], "x": 12.5, "y": 0}, + {"matrix": [0, 12], "x": 13.5, "y": 0}, + {"matrix": [0, 14], "x": 15, "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": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.5}, + {"matrix": [1, 10], "x": 10, "y": 1.5}, + {"matrix": [1, 11], "x": 11, "y": 1.5}, + {"matrix": [1, 12], "x": 12, "y": 1.5}, + {"matrix": [2, 13], "x": 13, "y": 1.5}, + {"matrix": [1, 13], "x": 14, "y": 1.5}, + {"matrix": [1, 14], "x": 15, "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": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [2, 9], "x": 9.5, "y": 2.5}, + {"matrix": [2, 10], "x": 10.5, "y": 2.5}, + {"matrix": [2, 11], "x": 11.5, "y": 2.5}, + {"matrix": [2, 12], "x": 12.5, "y": 2.5}, + {"matrix": [3, 12], "x": 13.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 14], "x": 15, "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": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [3, 9], "x": 9.75, "y": 3.5}, + {"matrix": [3, 10], "x": 10.75, "y": 3.5}, + {"matrix": [3, 11], "x": 11.75, "y": 3.5}, + {"matrix": [3, 13], "x": 12.75, "y": 3.5, "w": 2.25}, + {"matrix": [3, 14], "x": 15, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [4, 1], "x": 2.25, "y": 4.5}, + {"matrix": [4, 2], "x": 3.25, "y": 4.5}, + {"matrix": [4, 3], "x": 4.25, "y": 4.5}, + {"matrix": [4, 4], "x": 5.25, "y": 4.5}, + {"matrix": [4, 5], "x": 6.25, "y": 4.5}, + {"matrix": [4, 6], "x": 7.25, "y": 4.5}, + {"matrix": [4, 7], "x": 8.25, "y": 4.5}, + {"matrix": [4, 8], "x": 9.25, "y": 4.5}, + {"matrix": [4, 9], "x": 10.25, "y": 4.5}, + {"matrix": [4, 10], "x": 11.25, "y": 4.5}, + {"matrix": [4, 11], "x": 12.25, "y": 4.5, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.5}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 5], "x": 4, "y": 5.5, "w": 7}, + {"matrix": [5, 10], "x": 11, "y": 5.5, "w": 1.5}, + {"matrix": [5, 12], "x": 13, "y": 5.5}, + {"matrix": [5, 13], "x": 14, "y": 5.5}, + {"matrix": [5, 14], "x": 15, "y": 5.5} + ] + }, + "LAYOUT_iso_blocker": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 5], "x": 6, "y": 0}, + {"matrix": [0, 6], "x": 7, "y": 0}, + {"matrix": [0, 7], "x": 8, "y": 0}, + {"matrix": [0, 8], "x": 9, "y": 0}, + {"matrix": [0, 9], "x": 10.5, "y": 0}, + {"matrix": [0, 10], "x": 11.5, "y": 0}, + {"matrix": [0, 11], "x": 12.5, "y": 0}, + {"matrix": [0, 12], "x": 13.5, "y": 0}, + {"matrix": [0, 14], "x": 15, "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": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.5}, + {"matrix": [1, 10], "x": 10, "y": 1.5}, + {"matrix": [1, 11], "x": 11, "y": 1.5}, + {"matrix": [1, 12], "x": 12, "y": 1.5}, + {"matrix": [1, 13], "x": 13, "y": 1.5, "w": 2}, + {"matrix": [1, 14], "x": 15, "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": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [2, 9], "x": 9.5, "y": 2.5}, + {"matrix": [2, 10], "x": 10.5, "y": 2.5}, + {"matrix": [2, 11], "x": 11.5, "y": 2.5}, + {"matrix": [2, 12], "x": 12.5, "y": 2.5}, + {"matrix": [2, 14], "x": 15, "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": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [3, 9], "x": 9.75, "y": 3.5}, + {"matrix": [3, 10], "x": 10.75, "y": 3.5}, + {"matrix": [3, 11], "x": 11.75, "y": 3.5}, + {"matrix": [3, 12], "x": 12.75, "y": 3.5}, + {"matrix": [3, 13], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, + {"matrix": [3, 14], "x": 15, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, + {"matrix": [5, 3], "x": 1.25, "y": 4.5}, + {"matrix": [4, 1], "x": 2.25, "y": 4.5}, + {"matrix": [4, 2], "x": 3.25, "y": 4.5}, + {"matrix": [4, 3], "x": 4.25, "y": 4.5}, + {"matrix": [4, 4], "x": 5.25, "y": 4.5}, + {"matrix": [4, 5], "x": 6.25, "y": 4.5}, + {"matrix": [4, 6], "x": 7.25, "y": 4.5}, + {"matrix": [4, 7], "x": 8.25, "y": 4.5}, + {"matrix": [4, 8], "x": 9.25, "y": 4.5}, + {"matrix": [4, 9], "x": 10.25, "y": 4.5}, + {"matrix": [4, 10], "x": 11.25, "y": 4.5}, + {"matrix": [4, 11], "x": 12.25, "y": 4.5, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 5], "x": 3.75, "y": 5.5, "w": 6.25}, + {"matrix": [5, 9], "x": 10, "y": 5.5, "w": 1.25}, + {"matrix": [5, 10], "x": 11.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 12], "x": 13, "y": 5.5}, + {"matrix": [5, 13], "x": 14, "y": 5.5}, + {"matrix": [5, 14], "x": 15, "y": 5.5} + ] + }, + "LAYOUT_iso_blocker_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 5], "x": 6, "y": 0}, + {"matrix": [0, 6], "x": 7, "y": 0}, + {"matrix": [0, 7], "x": 8, "y": 0}, + {"matrix": [0, 8], "x": 9, "y": 0}, + {"matrix": [0, 9], "x": 10.5, "y": 0}, + {"matrix": [0, 10], "x": 11.5, "y": 0}, + {"matrix": [0, 11], "x": 12.5, "y": 0}, + {"matrix": [0, 12], "x": 13.5, "y": 0}, + {"matrix": [0, 14], "x": 15, "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": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.5}, + {"matrix": [1, 10], "x": 10, "y": 1.5}, + {"matrix": [1, 11], "x": 11, "y": 1.5}, + {"matrix": [1, 12], "x": 12, "y": 1.5}, + {"matrix": [2, 13], "x": 13, "y": 1.5}, + {"matrix": [1, 13], "x": 14, "y": 1.5}, + {"matrix": [1, 14], "x": 15, "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": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [2, 9], "x": 9.5, "y": 2.5}, + {"matrix": [2, 10], "x": 10.5, "y": 2.5}, + {"matrix": [2, 11], "x": 11.5, "y": 2.5}, + {"matrix": [2, 12], "x": 12.5, "y": 2.5}, + {"matrix": [2, 14], "x": 15, "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": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [3, 9], "x": 9.75, "y": 3.5}, + {"matrix": [3, 10], "x": 10.75, "y": 3.5}, + {"matrix": [3, 11], "x": 11.75, "y": 3.5}, + {"matrix": [3, 12], "x": 12.75, "y": 3.5}, + {"matrix": [3, 13], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, + {"matrix": [3, 14], "x": 15, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, + {"matrix": [5, 3], "x": 1.25, "y": 4.5}, + {"matrix": [4, 1], "x": 2.25, "y": 4.5}, + {"matrix": [4, 2], "x": 3.25, "y": 4.5}, + {"matrix": [4, 3], "x": 4.25, "y": 4.5}, + {"matrix": [4, 4], "x": 5.25, "y": 4.5}, + {"matrix": [4, 5], "x": 6.25, "y": 4.5}, + {"matrix": [4, 6], "x": 7.25, "y": 4.5}, + {"matrix": [4, 7], "x": 8.25, "y": 4.5}, + {"matrix": [4, 8], "x": 9.25, "y": 4.5}, + {"matrix": [4, 9], "x": 10.25, "y": 4.5}, + {"matrix": [4, 10], "x": 11.25, "y": 4.5}, + {"matrix": [4, 11], "x": 12.25, "y": 4.5, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 5], "x": 3.75, "y": 5.5, "w": 6.25}, + {"matrix": [5, 9], "x": 10, "y": 5.5, "w": 1.25}, + {"matrix": [5, 10], "x": 11.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 12], "x": 13, "y": 5.5}, + {"matrix": [5, 13], "x": 14, "y": 5.5}, + {"matrix": [5, 14], "x": 15, "y": 5.5} + ] + }, + "LAYOUT_iso_blocker_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 5], "x": 6, "y": 0}, + {"matrix": [0, 6], "x": 7, "y": 0}, + {"matrix": [0, 7], "x": 8, "y": 0}, + {"matrix": [0, 8], "x": 9, "y": 0}, + {"matrix": [0, 9], "x": 10.5, "y": 0}, + {"matrix": [0, 10], "x": 11.5, "y": 0}, + {"matrix": [0, 11], "x": 12.5, "y": 0}, + {"matrix": [0, 12], "x": 13.5, "y": 0}, + {"matrix": [0, 14], "x": 15, "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": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.5}, + {"matrix": [1, 10], "x": 10, "y": 1.5}, + {"matrix": [1, 11], "x": 11, "y": 1.5}, + {"matrix": [1, 12], "x": 12, "y": 1.5}, + {"matrix": [1, 13], "x": 13, "y": 1.5, "w": 2}, + {"matrix": [1, 14], "x": 15, "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": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [2, 9], "x": 9.5, "y": 2.5}, + {"matrix": [2, 10], "x": 10.5, "y": 2.5}, + {"matrix": [2, 11], "x": 11.5, "y": 2.5}, + {"matrix": [2, 12], "x": 12.5, "y": 2.5}, + {"matrix": [2, 14], "x": 15, "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": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [3, 9], "x": 9.75, "y": 3.5}, + {"matrix": [3, 10], "x": 10.75, "y": 3.5}, + {"matrix": [3, 11], "x": 11.75, "y": 3.5}, + {"matrix": [3, 12], "x": 12.75, "y": 3.5}, + {"matrix": [3, 13], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, + {"matrix": [3, 14], "x": 15, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, + {"matrix": [5, 3], "x": 1.25, "y": 4.5}, + {"matrix": [4, 1], "x": 2.25, "y": 4.5}, + {"matrix": [4, 2], "x": 3.25, "y": 4.5}, + {"matrix": [4, 3], "x": 4.25, "y": 4.5}, + {"matrix": [4, 4], "x": 5.25, "y": 4.5}, + {"matrix": [4, 5], "x": 6.25, "y": 4.5}, + {"matrix": [4, 6], "x": 7.25, "y": 4.5}, + {"matrix": [4, 7], "x": 8.25, "y": 4.5}, + {"matrix": [4, 8], "x": 9.25, "y": 4.5}, + {"matrix": [4, 9], "x": 10.25, "y": 4.5}, + {"matrix": [4, 10], "x": 11.25, "y": 4.5}, + {"matrix": [4, 11], "x": 12.25, "y": 4.5, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.5}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 5], "x": 4, "y": 5.5, "w": 7}, + {"matrix": [5, 10], "x": 11, "y": 5.5, "w": 1.5}, + {"matrix": [5, 12], "x": 13, "y": 5.5}, + {"matrix": [5, 13], "x": 14, "y": 5.5}, + {"matrix": [5, 14], "x": 15, "y": 5.5} + ] + }, + "LAYOUT_iso_blocker_tsangan_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 5], "x": 6, "y": 0}, + {"matrix": [0, 6], "x": 7, "y": 0}, + {"matrix": [0, 7], "x": 8, "y": 0}, + {"matrix": [0, 8], "x": 9, "y": 0}, + {"matrix": [0, 9], "x": 10.5, "y": 0}, + {"matrix": [0, 10], "x": 11.5, "y": 0}, + {"matrix": [0, 11], "x": 12.5, "y": 0}, + {"matrix": [0, 12], "x": 13.5, "y": 0}, + {"matrix": [0, 14], "x": 15, "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": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.5}, + {"matrix": [1, 10], "x": 10, "y": 1.5}, + {"matrix": [1, 11], "x": 11, "y": 1.5}, + {"matrix": [1, 12], "x": 12, "y": 1.5}, + {"matrix": [2, 13], "x": 13, "y": 1.5}, + {"matrix": [1, 13], "x": 14, "y": 1.5}, + {"matrix": [1, 14], "x": 15, "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": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [2, 9], "x": 9.5, "y": 2.5}, + {"matrix": [2, 10], "x": 10.5, "y": 2.5}, + {"matrix": [2, 11], "x": 11.5, "y": 2.5}, + {"matrix": [2, 12], "x": 12.5, "y": 2.5}, + {"matrix": [2, 14], "x": 15, "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": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [3, 9], "x": 9.75, "y": 3.5}, + {"matrix": [3, 10], "x": 10.75, "y": 3.5}, + {"matrix": [3, 11], "x": 11.75, "y": 3.5}, + {"matrix": [3, 12], "x": 12.75, "y": 3.5}, + {"matrix": [3, 13], "x": 13.75, "y": 2.5, "w": 1.25, "h": 2}, + {"matrix": [3, 14], "x": 15, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, + {"matrix": [5, 3], "x": 1.25, "y": 4.5}, + {"matrix": [4, 1], "x": 2.25, "y": 4.5}, + {"matrix": [4, 2], "x": 3.25, "y": 4.5}, + {"matrix": [4, 3], "x": 4.25, "y": 4.5}, + {"matrix": [4, 4], "x": 5.25, "y": 4.5}, + {"matrix": [4, 5], "x": 6.25, "y": 4.5}, + {"matrix": [4, 6], "x": 7.25, "y": 4.5}, + {"matrix": [4, 7], "x": 8.25, "y": 4.5}, + {"matrix": [4, 8], "x": 9.25, "y": 4.5}, + {"matrix": [4, 9], "x": 10.25, "y": 4.5}, + {"matrix": [4, 10], "x": 11.25, "y": 4.5}, + {"matrix": [4, 11], "x": 12.25, "y": 4.5, "w": 1.75}, + {"matrix": [4, 13], "x": 14, "y": 4.5}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.5}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 5], "x": 4, "y": 5.5, "w": 7}, + {"matrix": [5, 10], "x": 11, "y": 5.5, "w": 1.5}, + {"matrix": [5, 12], "x": 13, "y": 5.5}, + {"matrix": [5, 13], "x": 14, "y": 5.5}, + {"matrix": [5, 14], "x": 15, "y": 5.5} ] } } diff --git a/keyboards/owlab/jelly_evolv/solder/keymaps/default/keymap.c b/keyboards/owlab/jelly_evolv/solder/keymaps/default/keymap.c index b45d40340a6..a10c76f97f5 100644 --- a/keyboards/owlab/jelly_evolv/solder/keymaps/default/keymap.c +++ b/keyboards/owlab/jelly_evolv/solder/keymaps/default/keymap.c @@ -18,7 +18,7 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_all( 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_PSCR, 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_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_PGUP, @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT( + [1] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/owlab/jelly_evolv/solder/keymaps/via/keymap.c b/keyboards/owlab/jelly_evolv/solder/keymaps/via/keymap.c index b45d40340a6..a10c76f97f5 100644 --- a/keyboards/owlab/jelly_evolv/solder/keymaps/via/keymap.c +++ b/keyboards/owlab/jelly_evolv/solder/keymaps/via/keymap.c @@ -18,7 +18,7 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_all( 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_PSCR, 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_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_PGUP, @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT( + [1] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/owlab/jelly_evolv/solder/matrix_diagram.md b/keyboards/owlab/jelly_evolv/solder/matrix_diagram.md new file mode 100644 index 00000000000..2b0be0a5b8b --- /dev/null +++ b/keyboards/owlab/jelly_evolv/solder/matrix_diagram.md @@ -0,0 +1,27 @@ +# Matrix Diagram for OwLab Jelly Evolv Solder + +``` +┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┐ +│00 │ │01 │02 │03 │04 │ │05 │06 │07 │08 │ │09 │0A │0B │0C │ │0E │ +└───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │2D │1D │1E │ │1D │ 2u Backspace +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ └─┬─────┤ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │3C │2E │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐3D │ ISO Enter +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │3E │ │3C │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┘ └───┴────┘ +│40 │53 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4D │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┐ +│50 │51 │52 │55 │59 │5A │ │5C │5D │5E │ +└────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ +┌────────┐ +│40 │ 2.25u LShift +└────────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┐ +│50 │51 │52 │55 │5A │ Blocker Tsangan +└─────┴───┴─────┴───────────────────────────┴─────┘ +┌─────┬─────┬─┬───┬───────────────────────────┬───┐ +│50 │51 │ │52 │55 │5A │ +└─────┴─────┘ └───┴───────────────────────────┴───┘ +``` From 06dfa1cafcc73befb687b4eabae55862d0555991 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu, 14 Sep 2023 23:18:28 -0700 Subject: [PATCH 044/144] Nix Studio Lilith Layout Additions (#22028) * Add layout/matrix diagram [docs] * Sort keys in `info.json` [style] * Add `LAYOUT_65_ansi_blocker_split_bs` [enhancement] * Add `LAYOUT_65_ansi_blocker_tsangan` [enhancement] * Add `LAYOUT_65_iso_blocker_split_bs` [enhancement] * Add `LAYOUT_65_iso_blocker_tsangan_split_bs` [enhancement] * Extend Community Layout support [enhancement] --- keyboards/nix_studio/lilith/info.json | 1032 +++++++++++------ keyboards/nix_studio/lilith/matrix_diagram.md | 24 + 2 files changed, 706 insertions(+), 350 deletions(-) create mode 100644 keyboards/nix_studio/lilith/matrix_diagram.md diff --git a/keyboards/nix_studio/lilith/info.json b/keyboards/nix_studio/lilith/info.json index e648cf98fbe..7fe03ef8063 100644 --- a/keyboards/nix_studio/lilith/info.json +++ b/keyboards/nix_studio/lilith/info.json @@ -19,370 +19,702 @@ "processor": "STM32F411", "url": "https://www.antipode.no/", "usb": { - "device_version": "1.0.0", + "vid": "0x6E78", "pid": "0x4C49", - "vid": "0x6E78" + "device_version": "1.0.0" }, - "community_layouts": [ "65_ansi_blocker", "65_iso_blocker", "65_ansi_blocker_tsangan_split_bs", "65_iso_blocker_tsangan" ], + "community_layouts": [ + "65_ansi_blocker", + "65_ansi_blocker_split_bs", + "65_ansi_blocker_tsangan", + "65_ansi_blocker_tsangan_split_bs", + "65_iso_blocker", + "65_iso_blocker_split_bs", + "65_iso_blocker_tsangan", + "65_iso_blocker_tsangan_split_bs" + ], "layouts": { "LAYOUT_all": { "layout": [ - { "matrix": [0, 0], "x": 0, "y": 0 }, - { "matrix": [0, 1], "x": 1, "y": 0 }, - { "matrix": [0, 2], "x": 2, "y": 0 }, - { "matrix": [0, 3], "x": 3, "y": 0 }, - { "matrix": [0, 4], "x": 4, "y": 0 }, - { "matrix": [0, 5], "x": 5, "y": 0 }, - { "matrix": [0, 6], "x": 6, "y": 0 }, - { "matrix": [0, 7], "x": 7, "y": 0 }, - { "matrix": [0, 8], "x": 8, "y": 0 }, - { "matrix": [0, 9], "x": 9, "y": 0 }, - { "matrix": [0, 10], "x": 10, "y": 0 }, - { "matrix": [0, 11], "x": 11, "y": 0 }, - { "matrix": [0, 12], "x": 12, "y": 0 }, - { "matrix": [0, 13], "x": 13, "y": 0 }, - { "matrix": [0, 14], "x": 14, "y": 0 }, - { "matrix": [0, 15], "x": 15, "y": 0 }, - { "matrix": [1, 0], "w": 1.5, "x": 0, "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 }, - { "matrix": [1, 5], "x": 5.5, "y": 1 }, - { "matrix": [1, 6], "x": 6.5, "y": 1 }, - { "matrix": [1, 7], "x": 7.5, "y": 1 }, - { "matrix": [1, 8], "x": 8.5, "y": 1 }, - { "matrix": [1, 9], "x": 9.5, "y": 1 }, - { "matrix": [1, 10], "x": 10.5, "y": 1 }, - { "matrix": [1, 11], "x": 11.5, "y": 1 }, - { "matrix": [1, 12], "x": 12.5, "y": 1 }, - { "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 }, - { "matrix": [1, 15], "x": 15, "y": 1 }, - { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, - { "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], "w": 1.25, "x": 13.75, "y": 2 }, - { "matrix": [2, 15], "x": 15, "y": 2 }, - { "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, - { "matrix": [3, 1], "x": 1.25, "y": 3 }, - { "matrix": [3, 2], "x": 2.25, "y": 3 }, - { "matrix": [3, 3], "x": 3.25, "y": 3 }, - { "matrix": [3, 4], "x": 4.25, "y": 3 }, - { "matrix": [3, 5], "x": 5.25, "y": 3 }, - { "matrix": [3, 6], "x": 6.25, "y": 3 }, - { "matrix": [3, 7], "x": 7.25, "y": 3 }, - { "matrix": [3, 8], "x": 8.25, "y": 3 }, - { "matrix": [3, 9], "x": 9.25, "y": 3 }, - { "matrix": [3, 10], "x": 10.25, "y": 3 }, - { "matrix": [3, 11], "x": 11.25, "y": 3 }, - { "matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3 }, - { "matrix": [3, 13], "x": 14, "y": 3 }, - { "matrix": [3, 15], "x": 15, "y": 3 }, - { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, - { "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, - { "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 }, - { "matrix": [4, 7], "w": 6.25, "x": 3.75, "y": 4 }, - { "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, - { "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, - { "matrix": [4, 12], "x": 13, "y": 4 }, - { "matrix": [4, 13], "x": 14, "y": 4 }, - { "matrix": [4, 15], "x": 15, "y": 4 } + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} ] - }, + }, "LAYOUT_65_ansi_blocker": { "layout": [ - { "matrix": [0, 0], "x": 0, "y": 0 }, - { "matrix": [0, 1], "x": 1, "y": 0 }, - { "matrix": [0, 2], "x": 2, "y": 0 }, - { "matrix": [0, 3], "x": 3, "y": 0 }, - { "matrix": [0, 4], "x": 4, "y": 0 }, - { "matrix": [0, 5], "x": 5, "y": 0 }, - { "matrix": [0, 6], "x": 6, "y": 0 }, - { "matrix": [0, 7], "x": 7, "y": 0 }, - { "matrix": [0, 8], "x": 8, "y": 0 }, - { "matrix": [0, 9], "x": 9, "y": 0 }, - { "matrix": [0, 10], "x": 10, "y": 0 }, - { "matrix": [0, 11], "x": 11, "y": 0 }, - { "matrix": [0, 12], "x": 12, "y": 0 }, - { "matrix": [0, 13], "w": 2, "x": 13, "y": 0 }, - { "matrix": [0, 15], "x": 15, "y": 0 }, - { "matrix": [1, 0], "w": 1.5, "x": 0, "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 }, - { "matrix": [1, 5], "x": 5.5, "y": 1 }, - { "matrix": [1, 6], "x": 6.5, "y": 1 }, - { "matrix": [1, 7], "x": 7.5, "y": 1 }, - { "matrix": [1, 8], "x": 8.5, "y": 1 }, - { "matrix": [1, 9], "x": 9.5, "y": 1 }, - { "matrix": [1, 10], "x": 10.5, "y": 1 }, - { "matrix": [1, 11], "x": 11.5, "y": 1 }, - { "matrix": [1, 12], "x": 12.5, "y": 1 }, - { "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 }, - { "matrix": [1, 15], "x": 15, "y": 1 }, - { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, - { "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], "w": 2.25, "x": 12.75, "y": 2 }, - { "matrix": [2, 15], "x": 15, "y": 2 }, - { "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 }, - { "matrix": [3, 2], "x": 2.25, "y": 3 }, - { "matrix": [3, 3], "x": 3.25, "y": 3 }, - { "matrix": [3, 4], "x": 4.25, "y": 3 }, - { "matrix": [3, 5], "x": 5.25, "y": 3 }, - { "matrix": [3, 6], "x": 6.25, "y": 3 }, - { "matrix": [3, 7], "x": 7.25, "y": 3 }, - { "matrix": [3, 8], "x": 8.25, "y": 3 }, - { "matrix": [3, 9], "x": 9.25, "y": 3 }, - { "matrix": [3, 10], "x": 10.25, "y": 3 }, - { "matrix": [3, 11], "x": 11.25, "y": 3 }, - { "matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3 }, - { "matrix": [3, 13], "x": 14, "y": 3 }, - { "matrix": [3, 15], "x": 15, "y": 3 }, - { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, - { "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, - { "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 }, - { "matrix": [4, 7], "w": 6.25, "x": 3.75, "y": 4 }, - { "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, - { "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, - { "matrix": [4, 12], "x": 13, "y": 4 }, - { "matrix": [4, 13], "x": 14, "y": 4 }, - { "matrix": [4, 15], "x": 15, "y": 4 } + {"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, "w": 2}, + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} ] - }, - "LAYOUT_65_iso_blocker": { + }, + "LAYOUT_65_ansi_blocker_split_bs": { "layout": [ - { "matrix": [0, 0], "x": 0, "y": 0 }, - { "matrix": [0, 1], "x": 1, "y": 0 }, - { "matrix": [0, 2], "x": 2, "y": 0 }, - { "matrix": [0, 3], "x": 3, "y": 0 }, - { "matrix": [0, 4], "x": 4, "y": 0 }, - { "matrix": [0, 5], "x": 5, "y": 0 }, - { "matrix": [0, 6], "x": 6, "y": 0 }, - { "matrix": [0, 7], "x": 7, "y": 0 }, - { "matrix": [0, 8], "x": 8, "y": 0 }, - { "matrix": [0, 9], "x": 9, "y": 0 }, - { "matrix": [0, 10], "x": 10, "y": 0 }, - { "matrix": [0, 11], "x": 11, "y": 0 }, - { "matrix": [0, 12], "x": 12, "y": 0 }, - { "matrix": [0, 13], "w": 2, "x": 13, "y": 0 }, - { "matrix": [0, 15], "x": 15, "y": 0 }, - { "matrix": [1, 0], "w": 1.5, "x": 0, "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 }, - { "matrix": [1, 5], "x": 5.5, "y": 1 }, - { "matrix": [1, 6], "x": 6.5, "y": 1 }, - { "matrix": [1, 7], "x": 7.5, "y": 1 }, - { "matrix": [1, 8], "x": 8.5, "y": 1 }, - { "matrix": [1, 9], "x": 9.5, "y": 1 }, - { "matrix": [1, 10], "x": 10.5, "y": 1 }, - { "matrix": [1, 11], "x": 11.5, "y": 1 }, - { "matrix": [1, 12], "x": 12.5, "y": 1 }, - { "matrix": [1, 15], "x": 15, "y": 1 }, - { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, - { "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], "w": 1.25, "h": 2, "x": 13.75, "y": 1 }, - { "matrix": [2, 15], "x": 15, "y": 2 }, - { "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, - { "matrix": [3, 1], "x": 1.25, "y": 3 }, - { "matrix": [3, 2], "x": 2.25, "y": 3 }, - { "matrix": [3, 3], "x": 3.25, "y": 3 }, - { "matrix": [3, 4], "x": 4.25, "y": 3 }, - { "matrix": [3, 5], "x": 5.25, "y": 3 }, - { "matrix": [3, 6], "x": 6.25, "y": 3 }, - { "matrix": [3, 7], "x": 7.25, "y": 3 }, - { "matrix": [3, 8], "x": 8.25, "y": 3 }, - { "matrix": [3, 9], "x": 9.25, "y": 3 }, - { "matrix": [3, 10], "x": 10.25, "y": 3 }, - { "matrix": [3, 11], "x": 11.25, "y": 3 }, - { "matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3 }, - { "matrix": [3, 13], "x": 14, "y": 3 }, - { "matrix": [3, 15], "x": 15, "y": 3 }, - { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, - { "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, - { "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 }, - { "matrix": [4, 7], "w": 6.25, "x": 3.75, "y": 4 }, - { "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, - { "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, - { "matrix": [4, 12], "x": 13, "y": 4 }, - { "matrix": [4, 13], "x": 14, "y": 4 }, - { "matrix": [4, 15], "x": 15, "y": 4 } + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} ] - }, - "LAYOUT_65_ansi_blocker_tsangan_split_bs": { + }, + "LAYOUT_65_ansi_blocker_tsangan": { "layout": [ - { "matrix": [0, 0], "x": 0, "y": 0 }, - { "matrix": [0, 1], "x": 1, "y": 0 }, - { "matrix": [0, 2], "x": 2, "y": 0 }, - { "matrix": [0, 3], "x": 3, "y": 0 }, - { "matrix": [0, 4], "x": 4, "y": 0 }, - { "matrix": [0, 5], "x": 5, "y": 0 }, - { "matrix": [0, 6], "x": 6, "y": 0 }, - { "matrix": [0, 7], "x": 7, "y": 0 }, - { "matrix": [0, 8], "x": 8, "y": 0 }, - { "matrix": [0, 9], "x": 9, "y": 0 }, - { "matrix": [0, 10], "x": 10, "y": 0 }, - { "matrix": [0, 11], "x": 11, "y": 0 }, - { "matrix": [0, 12], "x": 12, "y": 0 }, - { "matrix": [0, 13], "x": 13, "y": 0 }, - { "matrix": [0, 14], "x": 14, "y": 0 }, - { "matrix": [0, 15], "x": 15, "y": 0 }, - { "matrix": [1, 0], "w": 1.5, "x": 0, "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 }, - { "matrix": [1, 5], "x": 5.5, "y": 1 }, - { "matrix": [1, 6], "x": 6.5, "y": 1 }, - { "matrix": [1, 7], "x": 7.5, "y": 1 }, - { "matrix": [1, 8], "x": 8.5, "y": 1 }, - { "matrix": [1, 9], "x": 9.5, "y": 1 }, - { "matrix": [1, 10], "x": 10.5, "y": 1 }, - { "matrix": [1, 11], "x": 11.5, "y": 1 }, - { "matrix": [1, 12], "x": 12.5, "y": 1 }, - { "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 }, - { "matrix": [1, 15], "x": 15, "y": 1 }, - { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, - { "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], "w": 2.25, "x": 12.75, "y": 2 }, - { "matrix": [2, 15], "x": 15, "y": 2 }, - { "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 }, - { "matrix": [3, 2], "x": 2.25, "y": 3 }, - { "matrix": [3, 3], "x": 3.25, "y": 3 }, - { "matrix": [3, 4], "x": 4.25, "y": 3 }, - { "matrix": [3, 5], "x": 5.25, "y": 3 }, - { "matrix": [3, 6], "x": 6.25, "y": 3 }, - { "matrix": [3, 7], "x": 7.25, "y": 3 }, - { "matrix": [3, 8], "x": 8.25, "y": 3 }, - { "matrix": [3, 9], "x": 9.25, "y": 3 }, - { "matrix": [3, 10], "x": 10.25, "y": 3 }, - { "matrix": [3, 11], "x": 11.25, "y": 3 }, - { "matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3 }, - { "matrix": [3, 13], "x": 14, "y": 3 }, - { "matrix": [3, 15], "x": 15, "y": 3 }, - { "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 }, - { "matrix": [4, 1], "w": 1, "x": 1.5, "y": 4 }, - { "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 }, - { "matrix": [4, 7], "w": 7, "x": 4, "y": 4 }, - { "matrix": [4, 11], "w": 1.5, "x": 11, "y": 4 }, - { "matrix": [4, 12], "x": 13, "y": 4 }, - { "matrix": [4, 13], "x": 14, "y": 4 }, - { "matrix": [4, 15], "x": 15, "y": 4 } + {"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, "w": 2}, + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} ] - }, - "LAYOUT_65_iso_blocker_tsangan": { + }, + "LAYOUT_65_ansi_blocker_tsangan_split_bs": { "layout": [ - { "matrix": [0, 0], "x": 0, "y": 0 }, - { "matrix": [0, 1], "x": 1, "y": 0 }, - { "matrix": [0, 2], "x": 2, "y": 0 }, - { "matrix": [0, 3], "x": 3, "y": 0 }, - { "matrix": [0, 4], "x": 4, "y": 0 }, - { "matrix": [0, 5], "x": 5, "y": 0 }, - { "matrix": [0, 6], "x": 6, "y": 0 }, - { "matrix": [0, 7], "x": 7, "y": 0 }, - { "matrix": [0, 8], "x": 8, "y": 0 }, - { "matrix": [0, 9], "x": 9, "y": 0 }, - { "matrix": [0, 10], "x": 10, "y": 0 }, - { "matrix": [0, 11], "x": 11, "y": 0 }, - { "matrix": [0, 12], "x": 12, "y": 0 }, - { "matrix": [0, 13], "w": 2, "x": 13, "y": 0 }, - { "matrix": [0, 15], "x": 15, "y": 0 }, - { "matrix": [1, 0], "w": 1.5, "x": 0, "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 }, - { "matrix": [1, 5], "x": 5.5, "y": 1 }, - { "matrix": [1, 6], "x": 6.5, "y": 1 }, - { "matrix": [1, 7], "x": 7.5, "y": 1 }, - { "matrix": [1, 8], "x": 8.5, "y": 1 }, - { "matrix": [1, 9], "x": 9.5, "y": 1 }, - { "matrix": [1, 10], "x": 10.5, "y": 1 }, - { "matrix": [1, 11], "x": 11.5, "y": 1 }, - { "matrix": [1, 12], "x": 12.5, "y": 1 }, - { "matrix": [1, 15], "x": 15, "y": 1 }, - { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, - { "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], "w": 1.25, "h": 2, "x": 13.75, "y": 1 }, - { "matrix": [2, 15], "x": 15, "y": 2 }, - { "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, - { "matrix": [3, 1], "x": 1.25, "y": 3 }, - { "matrix": [3, 2], "x": 2.25, "y": 3 }, - { "matrix": [3, 3], "x": 3.25, "y": 3 }, - { "matrix": [3, 4], "x": 4.25, "y": 3 }, - { "matrix": [3, 5], "x": 5.25, "y": 3 }, - { "matrix": [3, 6], "x": 6.25, "y": 3 }, - { "matrix": [3, 7], "x": 7.25, "y": 3 }, - { "matrix": [3, 8], "x": 8.25, "y": 3 }, - { "matrix": [3, 9], "x": 9.25, "y": 3 }, - { "matrix": [3, 10], "x": 10.25, "y": 3 }, - { "matrix": [3, 11], "x": 11.25, "y": 3 }, - { "matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3 }, - { "matrix": [3, 13], "x": 14, "y": 3 }, - { "matrix": [3, 15], "x": 15, "y": 3 }, - { "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 }, - { "matrix": [4, 1], "w": 1, "x": 1.5, "y": 4 }, - { "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 }, - { "matrix": [4, 7], "w": 7, "x": 4, "y": 4 }, - { "matrix": [4, 11], "w": 1.5, "x": 11, "y": 4 }, - { "matrix": [4, 12], "x": 13, "y": 4 }, - { "matrix": [4, 13], "x": 14, "y": 4 }, - { "matrix": [4, 15], "x": 15, "y": 4 } + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} ] - } + }, + "LAYOUT_65_iso_blocker": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_tsangan_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + } } } diff --git a/keyboards/nix_studio/lilith/matrix_diagram.md b/keyboards/nix_studio/lilith/matrix_diagram.md new file mode 100644 index 00000000000..a37ebbad567 --- /dev/null +++ b/keyboards/nix_studio/lilith/matrix_diagram.md @@ -0,0 +1,24 @@ +# Matrix Diagram for Nix Studio Lilith + +``` + ┌───────┐ + 2u Backspace │0D │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ ┌─────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1F │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐2D │ ISO Enter +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │2F │ │2C │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3F │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ +│40 │41 │42 │47 │4A │4B │ │4C │4D │4F │ +└────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ +┌────────┐ +│30 │ 2.25u LShift +└────────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┐ +│40 │41 │42 │47 │4B │ Blocker Tsangan +└─────┴───┴─────┴───────────────────────────┴─────┘ +``` From 49f1cbd40eae67cde4c5fb03fe8c0db1e9522956 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri, 15 Sep 2023 00:47:10 -0700 Subject: [PATCH 045/144] Neson Design Nico Layout Additions (#22027) * Add layout/matrix diagram [docs] * Rename `LAYOUT` to `LAYOUT_65_xt_ansi_blocker_split_bs` [refactor] * Add `LAYOUT_65_xt_ansi_blocker` [enhancement] * Add `LAYOUT_65_xt_ansi_blocker_tsangan` [enhancement] * Add `LAYOUT_65_xt_ansi_blocker_tsangan_split_bs` [enhancement] * Touch-up keymaps - grid-align keycodes - use four-space indent - use QMK-native keycode aliases [refactor] * Update `via` keymap Update the `via` keymaps to have the same key assignments as the `default` keymap, which is more fleshed out. [chore] --- keyboards/neson_design/nico/info.json | 274 +++++++++++++++++- .../nico/keymaps/default/keymap.c | 26 +- .../neson_design/nico/keymaps/via/keymap.c | 26 +- keyboards/neson_design/nico/matrix_diagram.md | 21 ++ 4 files changed, 322 insertions(+), 25 deletions(-) create mode 100644 keyboards/neson_design/nico/matrix_diagram.md diff --git a/keyboards/neson_design/nico/info.json b/keyboards/neson_design/nico/info.json index f21b644f569..477ac3ba7cb 100644 --- a/keyboards/neson_design/nico/info.json +++ b/keyboards/neson_design/nico/info.json @@ -34,8 +34,11 @@ "pid": "0x6E65", "vid": "0x4E65" }, + "layout_aliases": { + "LAYOUT": "LAYOUT_65_xt_ansi_blocker_split_bs" + }, "layouts": { - "LAYOUT": { + "LAYOUT_65_xt_ansi_blocker_split_bs": { "layout": [ { "label": "K017", "matrix": [0, 15], "x": 0, "y": 0 }, { "label": "K018", "matrix": [0, 16], "x": 1, "y": 0 }, @@ -116,6 +119,275 @@ { "label": "K4C", "matrix": [4, 12], "x": 16.5, "y": 4 }, { "label": "K4D", "matrix": [4, 13], "x": 17.5, "y": 4 } ] + }, + "LAYOUT_65_xt_ansi_blocker": { + "layout": [ + {"label": "F1", "matrix": [0, 15], "x": 0, "y": 0}, + {"label": "F2", "matrix": [0, 16], "x": 1, "y": 0}, + + {"label": "Esc", "matrix": [0, 0], "x": 2.5, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 3.5, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 4.5, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 5.5, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 6.5, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 7.5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 8.5, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 9.5, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 10.5, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 11.5, "y": 0}, + {"label": "0", "matrix": [0, 10], "x": 12.5, "y": 0}, + {"label": "-", "matrix": [0, 11], "x": 13.5, "y": 0}, + {"label": "=", "matrix": [0, 12], "x": 14.5, "y": 0}, + {"label": "Backspace", "matrix": [0, 14], "x": 15.5, "y": 0, "w": 2}, + {"label": "Print Screen", "matrix": [4, 14], "x": 17.5, "y": 0}, + + {"label": "F3", "matrix": [1, 15], "x": 0, "y": 1}, + {"label": "F4", "matrix": [1, 16], "x": 1, "y": 1}, + + {"label": "Tab", "matrix": [1, 0], "x": 2.5, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 4, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 6, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 7, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 8, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 9, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 10, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 11, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 12, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 13, "y": 1}, + {"label": "[", "matrix": [1, 11], "x": 14, "y": 1}, + {"label": "]", "matrix": [1, 12], "x": 15, "y": 1}, + {"label": "\\", "matrix": [1, 13], "x": 16, "y": 1, "w": 1.5}, + {"label": "Home", "matrix": [1, 14], "x": 17.5, "y": 1}, + + {"label": "F5", "matrix": [2, 15], "x": 0, "y": 2}, + {"label": "F6", "matrix": [2, 16], "x": 1, "y": 2}, + + {"label": "Caps Lock", "matrix": [2, 0], "x": 2.5, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 4.25, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 5.25, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 6.25, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 7.25, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 8.25, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 9.25, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 10.25, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 11.25, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 12.25, "y": 2}, + {"label": ";", "matrix": [2, 10], "x": 13.25, "y": 2}, + {"label": "'", "matrix": [2, 11], "x": 14.25, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 15.25, "y": 2, "w": 2.25}, + {"label": "End", "matrix": [2, 14], "x": 17.5, "y": 2}, + + {"label": "F7", "matrix": [3, 15], "x": 0, "y": 3}, + {"label": "F8", "matrix": [3, 16], "x": 1, "y": 3}, + + {"label": "Shift", "matrix": [3, 0], "x": 2.5, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 4.75, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 5.75, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 6.75, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 7.75, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 8.75, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 9.75, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 10.75, "y": 3}, + {"label": ",", "matrix": [3, 9], "x": 11.75, "y": 3}, + {"label": ".", "matrix": [3, 10], "x": 12.75, "y": 3}, + {"label": "/", "matrix": [3, 11], "x": 13.75, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 14.75, "y": 3, "w": 1.75}, + {"label": "\u2191", "matrix": [3, 13], "x": 16.5, "y": 3}, + {"label": "Fn", "matrix": [3, 14], "x": 17.5, "y": 3}, + + {"label": "F9", "matrix": [4, 15], "x": 0, "y": 4}, + {"label": "F10", "matrix": [4, 16], "x": 1, "y": 4}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [4, 1], "x": 3.75, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 2], "x": 5, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 9], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "GUI", "matrix": [4, 10], "x": 13.75, "y": 4, "w": 1.25}, + {"label": "\u2190", "matrix": [4, 11], "x": 15.5, "y": 4}, + {"label": "\u2193", "matrix": [4, 12], "x": 16.5, "y": 4}, + {"label": "\u2192", "matrix": [4, 13], "x": 17.5, "y": 4} + ] + }, + "LAYOUT_65_xt_ansi_blocker_tsangan_split_bs": { + "layout": [ + {"label": "F1", "matrix": [0, 15], "x": 0, "y": 0}, + {"label": "F2", "matrix": [0, 16], "x": 1, "y": 0}, + + {"label": "Esc", "matrix": [0, 0], "x": 2.5, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 3.5, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 4.5, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 5.5, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 6.5, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 7.5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 8.5, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 9.5, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 10.5, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 11.5, "y": 0}, + {"label": "0", "matrix": [0, 10], "x": 12.5, "y": 0}, + {"label": "-", "matrix": [0, 11], "x": 13.5, "y": 0}, + {"label": "=", "matrix": [0, 12], "x": 14.5, "y": 0}, + {"label": "Delete", "matrix": [0, 13], "x": 15.5, "y": 0}, + {"label": "Backspace", "matrix": [0, 14], "x": 16.5, "y": 0}, + {"label": "Print Screen", "matrix": [4, 14], "x": 17.5, "y": 0}, + + {"label": "F3", "matrix": [1, 15], "x": 0, "y": 1}, + {"label": "F4", "matrix": [1, 16], "x": 1, "y": 1}, + + {"label": "Tab", "matrix": [1, 0], "x": 2.5, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 4, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 6, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 7, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 8, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 9, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 10, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 11, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 12, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 13, "y": 1}, + {"label": "[", "matrix": [1, 11], "x": 14, "y": 1}, + {"label": "]", "matrix": [1, 12], "x": 15, "y": 1}, + {"label": "\\", "matrix": [1, 13], "x": 16, "y": 1, "w": 1.5}, + {"label": "Home", "matrix": [1, 14], "x": 17.5, "y": 1}, + + {"label": "F5", "matrix": [2, 15], "x": 0, "y": 2}, + {"label": "F6", "matrix": [2, 16], "x": 1, "y": 2}, + + {"label": "Caps Lock", "matrix": [2, 0], "x": 2.5, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 4.25, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 5.25, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 6.25, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 7.25, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 8.25, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 9.25, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 10.25, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 11.25, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 12.25, "y": 2}, + {"label": ";", "matrix": [2, 10], "x": 13.25, "y": 2}, + {"label": "'", "matrix": [2, 11], "x": 14.25, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 15.25, "y": 2, "w": 2.25}, + {"label": "End", "matrix": [2, 14], "x": 17.5, "y": 2}, + + {"label": "F7", "matrix": [3, 15], "x": 0, "y": 3}, + {"label": "F8", "matrix": [3, 16], "x": 1, "y": 3}, + + {"label": "Shift", "matrix": [3, 0], "x": 2.5, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 4.75, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 5.75, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 6.75, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 7.75, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 8.75, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 9.75, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 10.75, "y": 3}, + {"label": ",", "matrix": [3, 9], "x": 11.75, "y": 3}, + {"label": ".", "matrix": [3, 10], "x": 12.75, "y": 3}, + {"label": "/", "matrix": [3, 11], "x": 13.75, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 14.75, "y": 3, "w": 1.75}, + {"label": "\u2191", "matrix": [3, 13], "x": 16.5, "y": 3}, + {"label": "Fn", "matrix": [3, 14], "x": 17.5, "y": 3}, + + {"label": "F9", "matrix": [4, 15], "x": 0, "y": 4}, + {"label": "F10", "matrix": [4, 16], "x": 1, "y": 4}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "GUI", "matrix": [4, 1], "x": 4, "y": 4}, + {"label": "Alt", "matrix": [4, 2], "x": 5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 8], "x": 6.5, "y": 4, "w": 7}, + {"label": "GUI", "matrix": [4, 10], "x": 13.5, "y": 4, "w": 1.5}, + {"label": "\u2190", "matrix": [4, 11], "x": 15.5, "y": 4}, + {"label": "\u2193", "matrix": [4, 12], "x": 16.5, "y": 4}, + {"label": "\u2192", "matrix": [4, 13], "x": 17.5, "y": 4} + ] + }, + "LAYOUT_65_xt_ansi_blocker_tsangan": { + "layout": [ + {"label": "F1", "matrix": [0, 15], "x": 0, "y": 0}, + {"label": "F2", "matrix": [0, 16], "x": 1, "y": 0}, + + {"label": "Esc", "matrix": [0, 0], "x": 2.5, "y": 0}, + {"label": "1", "matrix": [0, 1], "x": 3.5, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 4.5, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 5.5, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 6.5, "y": 0}, + {"label": "5", "matrix": [0, 5], "x": 7.5, "y": 0}, + {"label": "6", "matrix": [0, 6], "x": 8.5, "y": 0}, + {"label": "7", "matrix": [0, 7], "x": 9.5, "y": 0}, + {"label": "8", "matrix": [0, 8], "x": 10.5, "y": 0}, + {"label": "9", "matrix": [0, 9], "x": 11.5, "y": 0}, + {"label": "0", "matrix": [0, 10], "x": 12.5, "y": 0}, + {"label": "-", "matrix": [0, 11], "x": 13.5, "y": 0}, + {"label": "=", "matrix": [0, 12], "x": 14.5, "y": 0}, + {"label": "Backspace", "matrix": [0, 14], "x": 15.5, "y": 0, "w": 2}, + {"label": "Print Screen", "matrix": [4, 14], "x": 17.5, "y": 0}, + + {"label": "F3", "matrix": [1, 15], "x": 0, "y": 1}, + {"label": "F4", "matrix": [1, 16], "x": 1, "y": 1}, + + {"label": "Tab", "matrix": [1, 0], "x": 2.5, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 4, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 6, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 7, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 8, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 9, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 10, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 11, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 12, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 13, "y": 1}, + {"label": "[", "matrix": [1, 11], "x": 14, "y": 1}, + {"label": "]", "matrix": [1, 12], "x": 15, "y": 1}, + {"label": "\\", "matrix": [1, 13], "x": 16, "y": 1, "w": 1.5}, + {"label": "Home", "matrix": [1, 14], "x": 17.5, "y": 1}, + + {"label": "F5", "matrix": [2, 15], "x": 0, "y": 2}, + {"label": "F6", "matrix": [2, 16], "x": 1, "y": 2}, + + {"label": "Caps Lock", "matrix": [2, 0], "x": 2.5, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 4.25, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 5.25, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 6.25, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 7.25, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 8.25, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 9.25, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 10.25, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 11.25, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 12.25, "y": 2}, + {"label": ";", "matrix": [2, 10], "x": 13.25, "y": 2}, + {"label": "'", "matrix": [2, 11], "x": 14.25, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 15.25, "y": 2, "w": 2.25}, + {"label": "End", "matrix": [2, 14], "x": 17.5, "y": 2}, + + {"label": "F7", "matrix": [3, 15], "x": 0, "y": 3}, + {"label": "F8", "matrix": [3, 16], "x": 1, "y": 3}, + + {"label": "Shift", "matrix": [3, 0], "x": 2.5, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 4.75, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 5.75, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 6.75, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 7.75, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 8.75, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 9.75, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 10.75, "y": 3}, + {"label": ",", "matrix": [3, 9], "x": 11.75, "y": 3}, + {"label": ".", "matrix": [3, 10], "x": 12.75, "y": 3}, + {"label": "/", "matrix": [3, 11], "x": 13.75, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 14.75, "y": 3, "w": 1.75}, + {"label": "\u2191", "matrix": [3, 13], "x": 16.5, "y": 3}, + {"label": "Fn", "matrix": [3, 14], "x": 17.5, "y": 3}, + + {"label": "F9", "matrix": [4, 15], "x": 0, "y": 4}, + {"label": "F10", "matrix": [4, 16], "x": 1, "y": 4}, + + {"label": "Ctrl", "matrix": [4, 0], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "GUI", "matrix": [4, 1], "x": 4, "y": 4}, + {"label": "Alt", "matrix": [4, 2], "x": 5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [4, 8], "x": 6.5, "y": 4, "w": 7}, + {"label": "GUI", "matrix": [4, 10], "x": 13.5, "y": 4, "w": 1.5}, + {"label": "\u2190", "matrix": [4, 11], "x": 15.5, "y": 4}, + {"label": "\u2193", "matrix": [4, 12], "x": 16.5, "y": 4}, + {"label": "\u2192", "matrix": [4, 13], "x": 17.5, "y": 4} + ] } } } diff --git a/keyboards/neson_design/nico/keymaps/default/keymap.c b/keyboards/neson_design/nico/keymaps/default/keymap.c index d481379e210..845d7fdc4fb 100644 --- a/keyboards/neson_design/nico/keymaps/default/keymap.c +++ b/keyboards/neson_design/nico/keymaps/default/keymap.c @@ -18,17 +18,19 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_F1, KC_F2, 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_DEL, KC_BSPC, KC_PSCR, - KC_F3, KC_F4, 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_F5, KC_F6, 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_END, - KC_F7, KC_F8, 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, MO(1), - KC_F9,KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT,KC_RGUI, KC_LEFT,KC_DOWN, KC_RIGHT), + [0] = LAYOUT_65_xt_ansi_blocker_split_bs( + KC_F1, KC_F2, 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_DEL, KC_BSPC, KC_PSCR, + KC_F3, KC_F4, 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_F5, KC_F6, 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_END, + KC_F7, KC_F8, 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, MO(1), + KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT + ), - [1] = LAYOUT( - _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,KC_PSCR,_______, - _______, _______, QK_BOOT, RGB_TOG,RGB_MOD,_______, KC_F16, KC_F17,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______,_______, - _______, _______, _______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN, KC_UP,KC_RIGHT,KC_HOME, KC_END, _______,_______, - _______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, - _______, _______, _______,_______,_______, _______, _______,_______, _______,_______,_______), + [1] = LAYOUT_65_xt_ansi_blocker_split_bs( + _______, _______, _______, 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, _______, + _______, _______, QK_BOOT, RGB_TOG, RGB_MOD, _______, KC_F16, KC_F17, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_HOME, KC_END, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), }; diff --git a/keyboards/neson_design/nico/keymaps/via/keymap.c b/keyboards/neson_design/nico/keymaps/via/keymap.c index 9de688505e4..845d7fdc4fb 100644 --- a/keyboards/neson_design/nico/keymaps/via/keymap.c +++ b/keyboards/neson_design/nico/keymaps/via/keymap.c @@ -18,17 +18,19 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - KC_F1, KC_F2, 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_DEL, KC_BSPC, KC_PSCR, - KC_F3, KC_F4, 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_F5, KC_F6, 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_END, - KC_F7, KC_F8, 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, MO(1), - KC_F9,KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT,KC_RGUI, KC_LEFT,KC_DOWN, KC_RIGHT), + [0] = LAYOUT_65_xt_ansi_blocker_split_bs( + KC_F1, KC_F2, 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_DEL, KC_BSPC, KC_PSCR, + KC_F3, KC_F4, 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_F5, KC_F6, 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_END, + KC_F7, KC_F8, 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, MO(1), + KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT + ), - [1] = LAYOUT( - _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, - _______, _______, QK_BOOT, RGB_TOG,RGB_MOD,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, - _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______, - _______, _______, _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, - _______, _______, _______,_______,_______, _______, _______,_______, _______,_______,_______) + [1] = LAYOUT_65_xt_ansi_blocker_split_bs( + _______, _______, _______, 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, _______, + _______, _______, QK_BOOT, RGB_TOG, RGB_MOD, _______, KC_F16, KC_F17, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_HOME, KC_END, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), }; diff --git a/keyboards/neson_design/nico/matrix_diagram.md b/keyboards/neson_design/nico/matrix_diagram.md new file mode 100644 index 00000000000..b761512be73 --- /dev/null +++ b/keyboards/neson_design/nico/matrix_diagram.md @@ -0,0 +1,21 @@ +# Matrix Diagram for Neson Design Nico + +``` + ┌───────┐ + 2u Backspace │0E │ + └───────┘ +┌───┬───┐ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│0F │0G │ │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │4E │ +├───┼───┤ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ +│1F │1G │ │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │ +├───┼───┤ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ +│2F │2G │ │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │2E │ +├───┼───┤ ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ +│3F │3G │ │30 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ +├───┼───┤ ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤ +│4F │4G │ │40 │41 │42 │48 │49 │4A │ │4B │4C │4D │ +└───┴───┘ └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘ + ┌─────┬───┬─────┬───────────────────────────┬─────┐ + │40 │41 │42 │48 │4A │ Blocker Tsangan + └─────┴───┴─────┴───────────────────────────┴─────┘ +``` From e7ae5ec07c7655e0087c6a4cfcb2cbfec4713536 Mon Sep 17 00:00:00 2001 From: harveysch <126267034+harveysch@users.noreply.github.com> Date: Fri, 15 Sep 2023 20:34:21 +0200 Subject: [PATCH 046/144] [Keyboard] Add splitkb.com's Aurora Helix (#21871) Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com> Co-authored-by: Ryan --- keyboards/splitkb/aurora/helix/config.h | 21 ++ keyboards/splitkb/aurora/helix/glcdfont.c | 250 ++++++++++++++ keyboards/splitkb/aurora/helix/helix.c | 304 ++++++++++++++++++ keyboards/splitkb/aurora/helix/info.json | 16 + .../aurora/helix/keymaps/debug/config.h | 19 ++ .../aurora/helix/keymaps/debug/keymap.c | 68 ++++ .../aurora/helix/keymaps/debug/readme.md | 24 ++ .../aurora/helix/keymaps/debug/rules.mk | 8 + .../aurora/helix/keymaps/default/config.h | 24 ++ .../aurora/helix/keymaps/default/keymap.json | 52 +++ .../aurora/helix/keymaps/default/readme.md | 88 +++++ keyboards/splitkb/aurora/helix/readme.md | 48 +++ keyboards/splitkb/aurora/helix/rev1/config.h | 24 ++ keyboards/splitkb/aurora/helix/rev1/info.json | 206 ++++++++++++ keyboards/splitkb/aurora/helix/rev1/rev1.c | 56 ++++ keyboards/splitkb/aurora/helix/rev1/rules.mk | 0 keyboards/splitkb/aurora/helix/rules.mk | 1 + 17 files changed, 1209 insertions(+) create mode 100644 keyboards/splitkb/aurora/helix/config.h create mode 100644 keyboards/splitkb/aurora/helix/glcdfont.c create mode 100644 keyboards/splitkb/aurora/helix/helix.c create mode 100644 keyboards/splitkb/aurora/helix/info.json create mode 100644 keyboards/splitkb/aurora/helix/keymaps/debug/config.h create mode 100644 keyboards/splitkb/aurora/helix/keymaps/debug/keymap.c create mode 100644 keyboards/splitkb/aurora/helix/keymaps/debug/readme.md create mode 100644 keyboards/splitkb/aurora/helix/keymaps/debug/rules.mk create mode 100644 keyboards/splitkb/aurora/helix/keymaps/default/config.h create mode 100644 keyboards/splitkb/aurora/helix/keymaps/default/keymap.json create mode 100644 keyboards/splitkb/aurora/helix/keymaps/default/readme.md create mode 100644 keyboards/splitkb/aurora/helix/readme.md create mode 100644 keyboards/splitkb/aurora/helix/rev1/config.h create mode 100644 keyboards/splitkb/aurora/helix/rev1/info.json create mode 100644 keyboards/splitkb/aurora/helix/rev1/rev1.c create mode 100644 keyboards/splitkb/aurora/helix/rev1/rules.mk create mode 100644 keyboards/splitkb/aurora/helix/rules.mk diff --git a/keyboards/splitkb/aurora/helix/config.h b/keyboards/splitkb/aurora/helix/config.h new file mode 100644 index 00000000000..0212d8e9aff --- /dev/null +++ b/keyboards/splitkb/aurora/helix/config.h @@ -0,0 +1,21 @@ +/* Copyright 2023 splitkb.com + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#ifdef OLED_ENABLE +# define OLED_FONT_H "keyboards/splitkb/aurora/helix/glcdfont.c" +#endif \ No newline at end of file diff --git a/keyboards/splitkb/aurora/helix/glcdfont.c b/keyboards/splitkb/aurora/helix/glcdfont.c new file mode 100644 index 00000000000..e75b1b4df6a --- /dev/null +++ b/keyboards/splitkb/aurora/helix/glcdfont.c @@ -0,0 +1,250 @@ +/* Copyright 2023 splitkb.com + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "progmem.h" + +// NOTE: This file is a copy of `crkbd/soundmonster/glcdfont.c` + +// Corne 8x6 font with QMK Firmware Logo +// Online editor: https://helixfonteditor.netlify.com/ +// See also: https://github.com/soundmonster/glcdfont_converter + +const unsigned char font[] PROGMEM = { +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, +0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, +0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, +0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, +0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, +0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, +0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, +0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, +0x00, 0x18, 0x24, 0x18, 0x00, 0x00, +0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, +0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, +0x26, 0x29, 0x79, 0x29, 0x26, 0x00, +0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, +0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, +0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, +0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, +0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, +0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, +0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, +0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, +0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, +0x60, 0x60, 0x60, 0x60, 0x60, 0x00, +0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, +0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, +0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, +0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, +0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, +0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, +0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, +0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, +0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, +0x00, 0x07, 0x00, 0x07, 0x00, 0x00, +0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, +0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, +0x23, 0x13, 0x08, 0x64, 0x62, 0x00, +0x36, 0x49, 0x56, 0x20, 0x50, 0x00, +0x00, 0x08, 0x07, 0x03, 0x00, 0x00, +0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, +0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, +0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, +0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, +0x00, 0x80, 0x70, 0x30, 0x00, 0x00, +0x08, 0x08, 0x08, 0x08, 0x08, 0x00, +0x00, 0x00, 0x60, 0x60, 0x00, 0x00, +0x20, 0x10, 0x08, 0x04, 0x02, 0x00, +0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, +0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, +0x72, 0x49, 0x49, 0x49, 0x46, 0x00, +0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, +0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, +0x27, 0x45, 0x45, 0x45, 0x39, 0x00, +0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, +0x41, 0x21, 0x11, 0x09, 0x07, 0x00, +0x36, 0x49, 0x49, 0x49, 0x36, 0x00, +0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, +0x00, 0x00, 0x14, 0x00, 0x00, 0x00, +0x00, 0x40, 0x34, 0x00, 0x00, 0x00, +0x00, 0x08, 0x14, 0x22, 0x41, 0x00, +0x14, 0x14, 0x14, 0x14, 0x14, 0x00, +0x00, 0x41, 0x22, 0x14, 0x08, 0x00, +0x02, 0x01, 0x59, 0x09, 0x06, 0x00, +0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, +0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, +0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, +0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, +0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, +0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, +0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, +0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, +0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, +0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, +0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, +0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, +0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, +0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, +0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, +0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, +0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, +0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, +0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, +0x26, 0x49, 0x49, 0x49, 0x32, 0x00, +0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, +0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, +0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, +0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, +0x63, 0x14, 0x08, 0x14, 0x63, 0x00, +0x03, 0x04, 0x78, 0x04, 0x03, 0x00, +0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, +0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, +0x02, 0x04, 0x08, 0x10, 0x20, 0x00, +0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, +0x04, 0x02, 0x01, 0x02, 0x04, 0x00, +0x40, 0x40, 0x40, 0x40, 0x40, 0x00, +0x00, 0x03, 0x07, 0x08, 0x00, 0x00, +0x20, 0x54, 0x54, 0x78, 0x40, 0x00, +0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, +0x38, 0x44, 0x44, 0x44, 0x28, 0x00, +0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, +0x38, 0x54, 0x54, 0x54, 0x18, 0x00, +0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, +0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, +0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, +0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, +0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, +0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, +0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, +0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, +0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, +0x38, 0x44, 0x44, 0x44, 0x38, 0x00, +0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, +0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, +0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, +0x48, 0x54, 0x54, 0x54, 0x24, 0x00, +0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, +0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, +0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, +0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, +0x44, 0x28, 0x10, 0x28, 0x44, 0x00, +0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, +0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, +0x00, 0x08, 0x36, 0x41, 0x00, 0x00, +0x00, 0x00, 0x77, 0x00, 0x00, 0x00, +0x00, 0x41, 0x36, 0x08, 0x00, 0x00, +0x02, 0x01, 0x02, 0x04, 0x02, 0x00, +0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, +0xF8, 0x18, 0x00, 0xC0, 0xF0, 0xFC, +0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0x7E, 0x00, 0x00, 0x00, +0x00, 0xF8, 0x04, 0x22, 0x52, 0xE2, +0x42, 0x42, 0x42, 0xE2, 0x52, 0x22, +0x22, 0x22, 0x42, 0x82, 0x02, 0x02, +0x22, 0x22, 0x02, 0x04, 0xF8, 0x00, +0x00, 0xF8, 0x04, 0x02, 0x02, 0x82, +0x42, 0x22, 0x42, 0x82, 0x02, 0x02, +0x02, 0x82, 0x42, 0x22, 0x12, 0x22, +0x42, 0x82, 0x02, 0x04, 0xF8, 0x00, +0x00, 0xF8, 0xFC, 0xDE, 0xAE, 0x1E, +0xBE, 0xBE, 0xBE, 0x1E, 0xAE, 0xDE, +0xDE, 0xDE, 0xBE, 0x7E, 0xFE, 0xFE, +0xDE, 0xDE, 0xFE, 0xFC, 0xF8, 0x00, +0x00, 0xF8, 0xFC, 0xFE, 0xFE, 0x7E, +0xBE, 0xDE, 0xBE, 0x7E, 0xFE, 0xFE, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x80, 0x80, 0x40, 0x40, 0x20, 0x20, +0x10, 0x10, 0x08, 0x08, 0x10, 0x10, +0x20, 0x20, 0x40, 0x40, 0x80, 0x80, +0x80, 0x80, 0xC0, 0xC0, 0xE0, 0xE0, +0xF0, 0xF0, 0xF8, 0xF8, 0xF0, 0xF0, +0xE0, 0xE0, 0xC0, 0xC0, 0x80, 0x80, +0x80, 0x80, 0x40, 0x40, 0x20, 0x20, +0x10, 0x10, 0x08, 0x08, 0x10, 0x10, +0x20, 0x20, 0x40, 0x40, 0x80, 0x80, +0x80, 0x80, 0x40, 0xC0, 0x60, 0xA0, +0x50, 0xB0, 0x58, 0xA8, 0x50, 0xB0, +0x60, 0xA0, 0x40, 0xC0, 0x80, 0x80, +0x00, 0xF8, 0xFC, 0xFE, 0xFF, 0xE0, +0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, +0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, +0x07, 0x01, 0x00, 0x00, 0x00, 0x00, +0x00, 0x1F, 0x20, 0x44, 0x4A, 0x47, +0x42, 0x42, 0x42, 0x47, 0x4A, 0x44, +0x40, 0x40, 0x40, 0x40, 0x41, 0x42, +0x44, 0x44, 0x40, 0x20, 0x1F, 0x00, +0x00, 0x1F, 0x20, 0x40, 0x41, 0x40, +0x40, 0x40, 0x40, 0x40, 0x41, 0x40, +0x41, 0x41, 0x4F, 0x48, 0x48, 0x48, +0x4F, 0x41, 0x41, 0x20, 0x1F, 0x00, +0x00, 0x1F, 0x3F, 0x7B, 0x75, 0x78, +0x7D, 0x7D, 0x7D, 0x78, 0x75, 0x7B, +0x7F, 0x7F, 0x7F, 0x7F, 0x7E, 0x7D, +0x7B, 0x7B, 0x7F, 0x3F, 0x1F, 0x00, +0x00, 0x1F, 0x3F, 0x7F, 0x7E, 0x7F, +0x7F, 0x7F, 0x7F, 0x7F, 0x7E, 0x7F, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x88, 0x88, 0x5D, 0x5D, 0x3E, 0x3E, +0x7C, 0x7C, 0xF8, 0xF8, 0x7C, 0x7C, +0x3E, 0x3E, 0x5D, 0x5D, 0x88, 0x88, +0x88, 0x88, 0x55, 0x55, 0x23, 0x23, +0x47, 0x47, 0x8F, 0x8F, 0x47, 0x47, +0x23, 0x23, 0x55, 0x55, 0x88, 0x88, +0x88, 0x88, 0xD5, 0xD5, 0xE2, 0xE2, +0xC4, 0xC4, 0x88, 0x88, 0xC4, 0xC4, +0xE2, 0xE2, 0xD5, 0xD5, 0x88, 0x88, +0x88, 0x88, 0x5D, 0xD5, 0x6B, 0xB6, +0x6D, 0xD6, 0xAD, 0xDA, 0x6D, 0xD6, +0x6B, 0xB6, 0x5D, 0xD5, 0x88, 0x88, +0x00, 0x03, 0x0F, 0x1F, 0x3F, 0x3F, +0x3F, 0x3F, 0x1F, 0x1F, 0x3F, 0x3F, +0x7F, 0x7F, 0x7F, 0x3F, 0x3F, 0x1F, +0x3F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7C, +0x78, 0x78, 0x38, 0x1C, 0x0F, 0x00, +0x04, 0xF8, 0x00, 0x00, 0xF8, 0x04, +0x20, 0x1F, 0x00, 0x00, 0x1F, 0x20, +0xFC, 0xF8, 0x00, 0x00, 0xF8, 0x04, +0x3F, 0x1F, 0x00, 0x00, 0x1F, 0x20, +0x04, 0xF8, 0x00, 0x00, 0xF8, 0xFC, +0x20, 0x1F, 0x00, 0x00, 0x1F, 0x3F, +0xFC, 0xF8, 0x00, 0x00, 0xF8, 0xFC, +0x3F, 0x1F, 0x00, 0x00, 0x1F, 0x3F, +0xFE, 0x7E, 0xBE, 0xDE, 0xEE, 0xDE, +0xBE, 0x7E, 0xFE, 0xFC, 0xF8, 0x00, +0x7E, 0x7E, 0x70, 0x77, 0x77, 0x77, +0x70, 0x7E, 0x7E, 0x3F, 0x1F, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +0x00, 0x00, 0x01, 0x01, 0x02, 0x02, +0x04, 0x04, 0x08, 0x08, 0x04, 0x04, +0x02, 0x02, 0x01, 0x01, 0x00, 0x00, +0x00, 0x00, 0x01, 0x01, 0x02, 0x02, +0x04, 0x04, 0x08, 0x08, 0x04, 0x04, +0x02, 0x02, 0x01, 0x01, 0x00, 0x00, +0x00, 0x00, 0x01, 0x01, 0x03, 0x03, +0x07, 0x07, 0x0F, 0x0F, 0x07, 0x07, +0x03, 0x03, 0x01, 0x01, 0x00, 0x00, +0x00, 0x00, 0x01, 0x01, 0x03, 0x02, +0x05, 0x06, 0x0D, 0x0A, 0x05, 0x06, +0x03, 0x02, 0x01, 0x01, 0x00, 0x00 +}; diff --git a/keyboards/splitkb/aurora/helix/helix.c b/keyboards/splitkb/aurora/helix/helix.c new file mode 100644 index 00000000000..a6ba65aeb5b --- /dev/null +++ b/keyboards/splitkb/aurora/helix/helix.c @@ -0,0 +1,304 @@ +/* Copyright 2023 splitkb.com + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +// The first four layers gets a name for readability, which is then used in the OLED below. +enum layers { + _DEFAULT, + _LOWER, + _RAISE, + _ADJUST +}; + +#ifdef OLED_ENABLE +// NOTE: Most of the OLED code was originally written by Soundmonster for the Corne, +// and has been copied directly from `crkbd/soundmonster/keymap.c` + +oled_rotation_t oled_init_kb(oled_rotation_t rotation) { + return OLED_ROTATION_270; +} + +void render_mod_status_gui_alt(uint8_t modifiers) { + static const char PROGMEM gui_off_1[] = {0x85, 0x86, 0}; + static const char PROGMEM gui_off_2[] = {0xa5, 0xa6, 0}; + static const char PROGMEM gui_on_1[] = {0x8d, 0x8e, 0}; + static const char PROGMEM gui_on_2[] = {0xad, 0xae, 0}; + + static const char PROGMEM alt_off_1[] = {0x87, 0x88, 0}; + static const char PROGMEM alt_off_2[] = {0xa7, 0xa8, 0}; + static const char PROGMEM alt_on_1[] = {0x8f, 0x90, 0}; + static const char PROGMEM alt_on_2[] = {0xaf, 0xb0, 0}; + + // fillers between the modifier icons bleed into the icon frames + static const char PROGMEM off_off_1[] = {0xc5, 0}; + static const char PROGMEM off_off_2[] = {0xc6, 0}; + static const char PROGMEM on_off_1[] = {0xc7, 0}; + static const char PROGMEM on_off_2[] = {0xc8, 0}; + static const char PROGMEM off_on_1[] = {0xc9, 0}; + static const char PROGMEM off_on_2[] = {0xca, 0}; + static const char PROGMEM on_on_1[] = {0xcb, 0}; + static const char PROGMEM on_on_2[] = {0xcc, 0}; + + if(modifiers & MOD_MASK_GUI) { + oled_write_P(gui_on_1, false); + } else { + oled_write_P(gui_off_1, false); + } + + if ((modifiers & MOD_MASK_GUI) && (modifiers & MOD_MASK_ALT)) { + oled_write_P(on_on_1, false); + } else if(modifiers & MOD_MASK_GUI) { + oled_write_P(on_off_1, false); + } else if(modifiers & MOD_MASK_ALT) { + oled_write_P(off_on_1, false); + } else { + oled_write_P(off_off_1, false); + } + + if(modifiers & MOD_MASK_ALT) { + oled_write_P(alt_on_1, false); + } else { + oled_write_P(alt_off_1, false); + } + + if(modifiers & MOD_MASK_GUI) { + oled_write_P(gui_on_2, false); + } else { + oled_write_P(gui_off_2, false); + } + + if (modifiers & MOD_MASK_GUI & MOD_MASK_ALT) { + oled_write_P(on_on_2, false); + } else if(modifiers & MOD_MASK_GUI) { + oled_write_P(on_off_2, false); + } else if(modifiers & MOD_MASK_ALT) { + oled_write_P(off_on_2, false); + } else { + oled_write_P(off_off_2, false); + } + + if(modifiers & MOD_MASK_ALT) { + oled_write_P(alt_on_2, false); + } else { + oled_write_P(alt_off_2, false); + } +} + +void render_mod_status_ctrl_shift(uint8_t modifiers) { + static const char PROGMEM ctrl_off_1[] = {0x89, 0x8a, 0}; + static const char PROGMEM ctrl_off_2[] = {0xa9, 0xaa, 0}; + static const char PROGMEM ctrl_on_1[] = {0x91, 0x92, 0}; + static const char PROGMEM ctrl_on_2[] = {0xb1, 0xb2, 0}; + + static const char PROGMEM shift_off_1[] = {0x8b, 0x8c, 0}; + static const char PROGMEM shift_off_2[] = {0xab, 0xac, 0}; + static const char PROGMEM shift_on_1[] = {0xcd, 0xce, 0}; + static const char PROGMEM shift_on_2[] = {0xcf, 0xd0, 0}; + + // fillers between the modifier icons bleed into the icon frames + static const char PROGMEM off_off_1[] = {0xc5, 0}; + static const char PROGMEM off_off_2[] = {0xc6, 0}; + static const char PROGMEM on_off_1[] = {0xc7, 0}; + static const char PROGMEM on_off_2[] = {0xc8, 0}; + static const char PROGMEM off_on_1[] = {0xc9, 0}; + static const char PROGMEM off_on_2[] = {0xca, 0}; + static const char PROGMEM on_on_1[] = {0xcb, 0}; + static const char PROGMEM on_on_2[] = {0xcc, 0}; + + if(modifiers & MOD_MASK_CTRL) { + oled_write_P(ctrl_on_1, false); + } else { + oled_write_P(ctrl_off_1, false); + } + + if ((modifiers & MOD_MASK_CTRL) && (modifiers & MOD_MASK_SHIFT)) { + oled_write_P(on_on_1, false); + } else if(modifiers & MOD_MASK_CTRL) { + oled_write_P(on_off_1, false); + } else if(modifiers & MOD_MASK_SHIFT) { + oled_write_P(off_on_1, false); + } else { + oled_write_P(off_off_1, false); + } + + if(modifiers & MOD_MASK_SHIFT) { + oled_write_P(shift_on_1, false); + } else { + oled_write_P(shift_off_1, false); + } + + if(modifiers & MOD_MASK_CTRL) { + oled_write_P(ctrl_on_2, false); + } else { + oled_write_P(ctrl_off_2, false); + } + + if (modifiers & MOD_MASK_CTRL & MOD_MASK_SHIFT) { + oled_write_P(on_on_2, false); + } else if(modifiers & MOD_MASK_CTRL) { + oled_write_P(on_off_2, false); + } else if(modifiers & MOD_MASK_SHIFT) { + oled_write_P(off_on_2, false); + } else { + oled_write_P(off_off_2, false); + } + + if(modifiers & MOD_MASK_SHIFT) { + oled_write_P(shift_on_2, false); + } else { + oled_write_P(shift_off_2, false); + } +} + +void render_logo(void) { + static const char PROGMEM aurora_logo[] = { + 0x00, 0x00, 0x00, 0xe0, 0x00, 0xf8, 0xc0, 0xf8, 0xe0, 0xc0, 0xfc, 0x00, 0x7e, 0x18, 0x00, 0x80, + 0x00, 0x02, 0x80, 0xf0, 0x00, 0xc0, 0x80, 0xf8, 0xc0, 0xe0, 0x70, 0x60, 0x3c, 0x38, 0x3c, 0x1c, + 0x00, 0x3f, 0x0c, 0x0f, 0x1f, 0x03, 0x07, 0x01, 0xc3, 0x00, 0xe0, 0x80, 0x00, 0xe0, 0x80, 0xf8, + 0x80, 0xc0, 0xf7, 0xc7, 0x6f, 0x7b, 0x39, 0x30, 0x00, 0x80, 0x00, 0xc0, 0x00, 0xc0, 0xc2, 0xe0, + 0x00, 0x40, 0x38, 0x30, 0x38, 0x1e, 0x18, 0x1e, 0x0f, 0x0c, 0x07, 0x07, 0x07, 0x03, 0x03, 0x21, + 0x21, 0x31, 0x30, 0x18, 0x18, 0x1c, 0x08, 0x0c, 0x0e, 0x07, 0x06, 0x07, 0x03, 0xc3, 0x03, 0x01, + 0x4c, 0xcc, 0xc2, 0xc2, 0x41, 0x49, 0x09, 0x2b, 0x2a, 0x6a, 0x6e, 0x24, 0x24, 0x04, 0x92, 0x92, + 0xb1, 0xf1, 0xf1, 0xf2, 0xe6, 0xa4, 0xa4, 0x04, 0x04, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28, 0x28 + }; + oled_write_raw_P(aurora_logo, sizeof(aurora_logo)); + oled_set_cursor(0, 4); +} + +void render_logo_text(void) { + oled_write_P(PSTR("helix"), false); +} + +void render_kb_LED_state(void) { + // Host Keyboard LED Status + led_t led_state = host_keyboard_led_state(); + oled_write_P(led_state.num_lock ? PSTR("N ") : PSTR(" "), false); + oled_write_P(led_state.caps_lock ? PSTR("C ") : PSTR(" "), false); + oled_write_P(led_state.scroll_lock ? PSTR("S ") : PSTR(" "), false); +} + +void render_layer_state(void) { + static const char PROGMEM default_layer[] = { + 0x20, 0x94, 0x95, 0x96, 0x20, + 0x20, 0xb4, 0xb5, 0xb6, 0x20, + 0x20, 0xd4, 0xd5, 0xd6, 0x20, 0}; + static const char PROGMEM raise_layer[] = { + 0x20, 0x97, 0x98, 0x99, 0x20, + 0x20, 0xb7, 0xb8, 0xb9, 0x20, + 0x20, 0xd7, 0xd8, 0xd9, 0x20, 0}; + static const char PROGMEM lower_layer[] = { + 0x20, 0x9a, 0x9b, 0x9c, 0x20, + 0x20, 0xba, 0xbb, 0xbc, 0x20, + 0x20, 0xda, 0xdb, 0xdc, 0x20, 0}; + static const char PROGMEM adjust_layer[] = { + 0x20, 0x9d, 0x9e, 0x9f, 0x20, + 0x20, 0xbd, 0xbe, 0xbf, 0x20, + 0x20, 0xdd, 0xde, 0xdf, 0x20, 0}; + if(layer_state_is(_LOWER)) { + oled_write_P(lower_layer, false); + } else if(layer_state_is(_RAISE)) { + oled_write_P(raise_layer, false); + } else if(layer_state_is(_DEFAULT)) { + oled_write_P(default_layer, false); + } else { + oled_write_P(adjust_layer, false); + } +} + + +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + if (is_keyboard_master()) { + // Renders the current keyboard state (layers and mods) + render_logo(); + render_logo_text(); + oled_advance_page(false); + render_layer_state(); + oled_advance_page(false); + render_mod_status_gui_alt(get_mods()|get_oneshot_mods()); + render_mod_status_ctrl_shift(get_mods()|get_oneshot_mods()); + render_kb_LED_state(); + } else { + // clang-format off + static const char PROGMEM aurora_art[] = { + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x1c, 0x08, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x40, + 0xe0, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x80, + 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x80, 0x00, 0xf0, 0x00, 0x00, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x81, 0x00, 0xc0, 0x00, 0xfe, 0x00, 0xfc, 0x00, 0xff, 0x20, 0xff, 0xf0, 0x0f, 0xf0, 0x00, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0xf8, 0x00, 0x00, 0xf8, + 0xff, 0x10, 0xff, 0x84, 0xff, 0x60, 0xff, 0x36, 0xff, 0x0f, 0xff, 0x3f, 0x00, 0x5f, 0x00, 0x05, + 0x80, 0x00, 0x80, 0x00, 0xc0, 0x38, 0x00, 0xec, 0xf0, 0x00, 0xfb, 0x80, 0xff, 0xf0, 0xff, 0xef, + 0xff, 0xe8, 0xff, 0x03, 0xff, 0x0c, 0xff, 0x00, 0xff, 0x00, 0x03, 0x00, 0x00, 0xf8, 0x00, 0x80, + 0xff, 0x20, 0xff, 0xd0, 0xff, 0xe0, 0xfe, 0xf8, 0xff, 0xfc, 0xff, 0xff, 0x0f, 0xff, 0x01, 0x3f, + 0xff, 0x00, 0x0f, 0x00, 0x01, 0x00, 0x03, 0x00, 0xfe, 0x80, 0xfe, 0x00, 0xc0, 0xff, 0xc4, 0xfb, + 0xff, 0xfe, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0x07, 0xff, 0x03, 0x3f, 0x00, 0x0f, 0xc0, 0x00, + 0x00, 0x00, 0xb8, 0x00, 0xff, 0x40, 0xbe, 0xf0, 0xff, 0xf1, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, + 0x1f, 0xff, 0x67, 0x00, 0xef, 0x00, 0x1f, 0x00, 0x00, 0x07, 0x00, 0x00, 0xe0, 0x00, 0xff, 0xf0, + 0xff, 0x88, 0xff, 0xc4, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0x7f, 0x0f, 0xff, + 0x00, 0x07, 0xfe, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0xc0, 0x3f, 0xf8, 0xe7, 0xff, + 0xff, 0xff, 0xff, 0x1f, 0xff, 0xff, 0x1f, 0x3f, 0x01, 0xff, 0x0b, 0x00, 0xff, 0x00, 0x00, 0x05, + 0x00, 0x00, 0x00, 0xe0, 0x00, 0xf8, 0x60, 0x80, 0xfe, 0xe3, 0xfc, 0xff, 0x1e, 0xff, 0xff, 0x23, + 0xff, 0x09, 0xff, 0x20, 0x00, 0x3f, 0x02, 0x00, 0x00, 0x0f, 0x00, 0x40, 0x00, 0xc0, 0x00, 0xfc, + 0xe0, 0xfc, 0xf0, 0xff, 0xff, 0x7f, 0xfc, 0xff, 0x0f, 0xff, 0x07, 0x1f, 0x00, 0x01, 0x0f, 0x00, + 0x0f, 0x00, 0x81, 0x70, 0x0c, 0xf0, 0x80, 0x00, 0x00, 0xe4, 0xf8, 0xe6, 0x70, 0x3f, 0xcf, 0xff, + 0x1f, 0xff, 0x48, 0xff, 0x0f, 0x00, 0x07, 0x00, 0x00, 0x43, 0x60, 0xf8, 0xf0, 0xfe, 0x38, 0xfe, + 0x00, 0xfc, 0x03, 0x00, 0xc8, 0x72, 0xcf, 0xfc, 0x00, 0x03, 0x0f, 0x01, 0xe0, 0x1c, 0xe0, 0x03, + 0x00, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x06, 0xf9, 0x00, 0x03, 0x00, 0x07, + 0xff, 0x00, 0x10, 0x12, 0xc9, 0xf0, 0xcf, 0xb4, 0x7f, 0x80, 0xe0, 0x1e, 0x01, 0x40, 0x65, 0x5e, + 0xe0, 0x00, 0x00, 0xf0, 0x0c, 0xf0, 0x00, 0x80, 0x7e, 0x01, 0x80, 0x93, 0xfc, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x89, 0x18, 0x2c, 0x46, 0x00, 0x07, 0x21, 0x10, 0x10, 0x80, 0x09, 0x13, + 0x31, 0xbf, 0xff, 0x00, 0x08, 0x1a, 0xf7, 0x0f, 0x00, 0x00, 0x44, 0x45, 0x34, 0xbf, 0xb8, 0x00, + 0x10, 0xf0, 0x08, 0xf4, 0x18, 0x11, 0xfc, 0x18, 0xfb, 0x0e, 0x10, 0xf8, 0x04, 0xf8, 0x10, 0x20, + 0x18, 0x09, 0xff, 0x0c, 0xea, 0x1f, 0x28, 0x60, 0x30, 0xf8, 0x20, 0xc0, 0x42, 0x33, 0x21, 0x00 + }; + // clang-format on + oled_write_raw_P(aurora_art, sizeof(aurora_art)); + } + return false; +} +#endif + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { + return false; + } + // 0 is left-half encoder, + // 1 is right-half encoder + if (index == 0) { + // Volume control + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else if (index == 1) { + // Page up/Page down + if (clockwise) { + tap_code(KC_PGDN); + } else { + tap_code(KC_PGUP); + } + } + return true; +} +#endif \ No newline at end of file diff --git a/keyboards/splitkb/aurora/helix/info.json b/keyboards/splitkb/aurora/helix/info.json new file mode 100644 index 00000000000..5729b002078 --- /dev/null +++ b/keyboards/splitkb/aurora/helix/info.json @@ -0,0 +1,16 @@ +{ + "manufacturer": "splitkb.com", + "maintainer": "splitkb", + "build": { + "lto": true + }, + "development_board": "elite_c", + "split": { + "enabled": true + }, + "url": "https://splitkb.com", + "usb": { + "device_version": "1.0.0", + "vid": "0x8D1D" + } +} \ No newline at end of file diff --git a/keyboards/splitkb/aurora/helix/keymaps/debug/config.h b/keyboards/splitkb/aurora/helix/keymaps/debug/config.h new file mode 100644 index 00000000000..a15def3fb91 --- /dev/null +++ b/keyboards/splitkb/aurora/helix/keymaps/debug/config.h @@ -0,0 +1,19 @@ +/* Copyright 2023 splitkb.com + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define RGBLIGHT_EFFECT_BREATHING \ No newline at end of file diff --git a/keyboards/splitkb/aurora/helix/keymaps/debug/keymap.c b/keyboards/splitkb/aurora/helix/keymaps/debug/keymap.c new file mode 100644 index 00000000000..2c99ef94298 --- /dev/null +++ b/keyboards/splitkb/aurora/helix/keymaps/debug/keymap.c @@ -0,0 +1,68 @@ +/* Copyright 2023 splitkb.com + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum layers { + _DEFAULT = 0, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_DEFAULT] = LAYOUT( + KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, S(KC_F), S(KC_E), S(KC_D), S(KC_C), S(KC_B), S(KC_A), + KC_G, KC_H, KC_I, KC_J, KC_K, KC_L, S(KC_L), S(KC_K), S(KC_J), S(KC_I), S(KC_H), S(KC_G), + KC_M, KC_N, KC_O, KC_P, KC_Q, KC_R, S(KC_R), S(KC_Q), S(KC_P), S(KC_O), S(KC_N), S(KC_M), + KC_S, KC_T, KC_U, KC_V, KC_W, KC_X, KC_Y, S(KC_Y), S(KC_X), S(KC_W), S(KC_V), S(KC_U), S(KC_T), S(KC_S), + KC_Z, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, S(KC_6), S(KC_5), S(KC_4), S(KC_3), S(KC_2), S(KC_1), S(KC_Z) + ) +}; + +#ifdef RGBLIGHT_ENABLE +void keyboard_post_init_user(void) { + rgblight_enable_noeeprom(); // enables RGB, without saving settings + rgblight_sethsv_noeeprom(HSV_RED); // sets the color to red without saving + rgblight_mode_noeeprom(RGBLIGHT_MODE_BREATHING + 3); // sets mode to Fast breathing without saving +} +#endif + +#ifdef ENCODER_ENABLE +bool encoder_update_user(uint8_t index, bool clockwise) { + // 0 is left-half encoder + // 1 is right-half encoder + if (index == 0) { + tap_code(KC_0); + } else if (index == 1) { + tap_code(KC_1); + } + + if (clockwise) { + tap_code16(KC_PLUS); + } else { + tap_code(KC_MINUS); + } + + return false; +} +#endif + +#ifdef OLED_ENABLE +bool oled_task_user(void) { + // A 128x32 OLED rotated 90 degrees is 5 characters wide and 16 characters tall + // This example string should fill that neatly + oled_write_P(PSTR("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789!@#$%^&*()[]{}-=_+?"), false); + return false; +} +#endif \ No newline at end of file diff --git a/keyboards/splitkb/aurora/helix/keymaps/debug/readme.md b/keyboards/splitkb/aurora/helix/keymaps/debug/readme.md new file mode 100644 index 00000000000..827235e447f --- /dev/null +++ b/keyboards/splitkb/aurora/helix/keymaps/debug/readme.md @@ -0,0 +1,24 @@ +# Aurora Helix's Debug Keymap + +To make debugging your build as easy as possible, we have provided a special debugging keymap. It is not intended to actually type on, it is just here to make sure that your hardware is working correctly. + +## Keys + +![Keys](https://raw.githubusercontent.com/splitkb/qmk_firmware/assets/aurora/keymaps/debug/keys.png) + +The left side uses lowercase letters, the right side uses uppercase ones. + +## Encoders + +Encoders output a number of 0 or 1, depending on the installed position. +These correspond to the index used for custom encoder code: the left half uses index 0, the right half uses index 1. + +The number is followed by either a `+` or a `-`, depending on the direction turned. + +## LEDs + +Both underglow and per-key RGB should be fading between red and off. + +## OLEDs + +Both the primary and secondary side should be filled with characters. \ No newline at end of file diff --git a/keyboards/splitkb/aurora/helix/keymaps/debug/rules.mk b/keyboards/splitkb/aurora/helix/keymaps/debug/rules.mk new file mode 100644 index 00000000000..9c9df9b126e --- /dev/null +++ b/keyboards/splitkb/aurora/helix/keymaps/debug/rules.mk @@ -0,0 +1,8 @@ +# NOTE: These are already enabled by default at the revision level +#ENCODER_ENABLE = yes +#OLED_ENABLE = yes + +# RGB Matrix is enabled at the revision level, +# while we use the regular RGB underglow for testing +RGB_MATRIX_ENABLE = no +RGBLIGHT_ENABLE = yes \ No newline at end of file diff --git a/keyboards/splitkb/aurora/helix/keymaps/default/config.h b/keyboards/splitkb/aurora/helix/keymaps/default/config.h new file mode 100644 index 00000000000..869e99b779d --- /dev/null +++ b/keyboards/splitkb/aurora/helix/keymaps/default/config.h @@ -0,0 +1,24 @@ +/* Copyright 2023 splitkb.com + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_KEYPRESSES +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +#define ENABLE_RGB_MATRIX_SOLID_SPLASH +#define ENABLE_RGB_MATRIX_RAINBOW_BEACON +#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT \ No newline at end of file diff --git a/keyboards/splitkb/aurora/helix/keymaps/default/keymap.json b/keyboards/splitkb/aurora/helix/keymaps/default/keymap.json new file mode 100644 index 00000000000..bc818a73224 --- /dev/null +++ b/keyboards/splitkb/aurora/helix/keymaps/default/keymap.json @@ -0,0 +1,52 @@ +{ + "config": { + "features": { + "oled": true, + "rgb_matrix": true, + "rgblight": false + }, + "encoder": { + "enabled": true + }, + "rgblight": { + "hue_steps": 8, + "saturation_steps": 8, + "brightness_steps": 8, + "sleep": true + } + }, + "keyboard": "splitkb/aurora/helix", + "keymap": "default", + "layers": [ + [ + "KC_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "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_BSPC", + "KC_LCTL", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", + "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_LBRC", "KC_RBRC", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_ENT" , + "MO(3)", "KC_ESC", "KC_LALT", "KC_LGUI", "LALT(KC_GRV)", "MO(1)", "KC_SPC", "KC_SPC", "MO(2)", "LALT(KC_GRV)", "KC_LEFT", "KC_DOWN", "KC_UP", "KC_RGHT" + ], + [ + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", + "KC_TILD", "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "_______", + "_______", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_UNDS", "KC_PLUS", "KC_LCBR", "KC_RCBR", "KC_PIPE", + "KC_CAPS", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_LPRN", "KC_RPRN", "KC_F12", "_______", "_______", "KC_HOME", "KC_END", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "MO(3)", "_______", "KC_MNXT", "KC_VOLD", "KC_VOLU", "KC_MPLY" + ], + [ + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "KC_BSPC", + "KC_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_DEL", + "_______", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_MINS", "KC_EQL", "KC_LBRC", "KC_RBRC", "KC_BSLS", + "KC_CAPS", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "_______", "_______", "KC_F12", "_______", "_______", "KC_PGDN", "KC_PGUP", "_______", + "_______", "_______", "_______", "_______", "_______", "MO(3)", "_______", "_______", "_______", "_______", "KC_MNXT", "KC_VOLD", "KC_VOLU", "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", + "_______", "QK_BOOT", "_______", "EE_CLR", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "KC_DEL", + "_______", "_______", "_______", "_______", "_______", "AG_NORM", "AG_SWAP", "_______", "_______", "_______", "_______", "_______", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "RGB_TOG", "RGB_HUI", "RGB_SAI", "RGB_VAI", + "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "RGB_MOD", "RGB_HUD", "RGB_SAD", "RGB_VAD" + ] + ], + "layout": "LAYOUT", + "version": 1 +} \ No newline at end of file diff --git a/keyboards/splitkb/aurora/helix/keymaps/default/readme.md b/keyboards/splitkb/aurora/helix/keymaps/default/readme.md new file mode 100644 index 00000000000..2f0aa63ca7c --- /dev/null +++ b/keyboards/splitkb/aurora/helix/keymaps/default/readme.md @@ -0,0 +1,88 @@ +# Aurora Helix's Default Keymap +_This keymap is a copy of the [Helix default keymap](https://github.com/qmk/qmk_firmware/tree/master/keyboards/helix/rev3_5rows/keymaps/default), with slight modifications._ + +A simple default keymap for the Aurora Helix +============================================= + +Keymaps in general are quite personal, so it is difficult to come up with a default that will suit every user. We hope this keymap serves as a good starting point for your own - although it should be fairly usable out-of-the-box. + +What do all these layers do? +---------------------------- + +### Layer 0: Base layer + +![Layer 0](https://i.imgur.com/2E4hHxw.png) + +This is where your basic letters live. + +The homing thumb fingers are used to access the different layers. + +* The homing second to left thumb finger gives access to the Symbols (or lower) layer +* The homing second to right thumb finger gives access to the Navigation (or raise) layer +* Pressing both homing thumb fingers gives access to the Adjust layer + +### Layer 1: Lower + +![Layer 1](https://i.imgur.com/p68qrBz.png) + +The Lower layer gives access to the F keys, symbols and media control. + +### Layer 2: Raise + +![Layer 2](https://i.imgur.com/7T4KSW6.png) + +The Raise layer gives access to additional numbers keys, F keys. + +### Layer 3: Adjust + +![Layer 3](https://i.imgur.com/YbbwHSD.png) + +The Adjust layer exposes RGB adjustment keys on the right hand and additional configuration keys. + +Where is the keymap.c? +---------------------- + +The keymap.c file is not published to the repository. It is generated from `keymap.json` by the build system. + +This avoids duplicating information and allow users to edit their keymap from the QMK Configurator web interface. + +How do I edit and update the keymap? +------------------------------------ + +The `keymap.json` file is generated from the QMK Configurator interface and formatted for better readability in the context of the Ferris keyboard. + +To edit it, you may: +* Edit it directly from a text editor. +* Edit it from the QMK Configurator. + +If you decide to use the latter workflow, here are the steps to follow: + +* From the [QMK Configurator](https://config.qmk.fm/#/splitkb/aurora/helix/rev1/LAYOUT), hit the "import QMK keymap json file" button (it has a drawing with an up arrow on it). +* Browse to the location of your keymap (for example, `/keyboards/splitkb/aurora/helix/keymaps/default/keymap.json`) +* Perform any modification to the keymap in the web UI +* Export the keymap to your downloads folder, by hitting the "Export QMK keymap json file" button (it has a drawing with a down arrow on it) +* Replace your original keymap with the one you just downloaded + +_**Note:** At the time of writing (the 24th of October 2022), not every feature used in the default keymap is supported by the QMK Configurator. You cannot yet upload the default `keymap.json` due to a file format mismatch - use the "Load Default" button to load the default keymap instead. Additionally, custom configuration options are still being worked on: if your keymap depends on them, please compile your firmware offline for now._ + +I want to do more than the JSON format supports! +------------------------------------------------- + +While the `json` format is easy to use, it does lack certain functionality - most notably custom OLED or encoder behaviour. + +To add this, you need to convert it to the `c` format. Do keep in mind that this is generally a one-way operation. + +First, from the root of your qmk repo, move to your keymap folder + +```bash +cd ./keyboards/splitkb/aurora/helix/keymaps/my_personal_keymap +``` + +Next, convert your `keymap.json` to a `keymap.c` + +```bash +qmk json2c -o keymap.c keymap.json +``` + +You can add custom C code to the newly generated `keymap.c` file. Do note that you have to use **either** a C file **or** a JSON file - you cannot do both! +**If a JSON file is present, the C file is ignored.** \ No newline at end of file diff --git a/keyboards/splitkb/aurora/helix/readme.md b/keyboards/splitkb/aurora/helix/readme.md new file mode 100644 index 00000000000..fc7727f1450 --- /dev/null +++ b/keyboards/splitkb/aurora/helix/readme.md @@ -0,0 +1,48 @@ +![Aurora Helix](https://i.imgur.com/zzzW8Tu.jpg) + +# Aurora Helix +The Aurora Helix is a redesign by splitkb.com of the popular Helix by Yushakobo. + +Keyboard Maintainer: [splitkb.com](https://github.com/splitkb) +Hardware Supported: Pro Micro 5V/16MHz and compatible. +Hardware Availability: [splitkb.com](https://splitkb.com). + +Make example for this keyboard (after setting up your build environment): + + make splitkb/aurora/helix/rev1:default + +Example of flashing this keyboard: + + make splitkb/aurora/helix/rev1: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 +You can enter the bootloader in 3 ways: + +* **Physical reset button**: Briefly press the button on the side of the PCB, next to the TRRS socket. +* **Bootmagic reset**: Hold down the bootmagic key and plug in the keyboard. For the left half, this is the top-left button. For the right half, this is the top-right button. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. + +# Assembly +A build guide for the entire Aurora series is available at [https://splitkb.com/aurora-build](https://splitkb.com/aurora-build). + +# Features +The Aurora Helix supports the following features: + +- Support for MX or Kailh Choc switches; +- Top mounted controllers for a lower profile; +- Up to two 128×32 pixel OLED displays; +- Up to one EC11 rotary encoder per half in one of three possible positions; +- Per-key RGB backlight by individual RGB LEDs; +- Underglow by individual RGB LEDs; +- Support for a power switch for wireless controllers; +- Support for the splitkb.com tenting puck. + +# What is the Aurora Series? + +The Aurora series were designed as a homage to open source keyboard kits that have carved their space into the community. Kits that provided something new and unique, kits that resonated with the community and that have both received and have given a lot of love in return. + +With the Aurora series, we aim to make these kits available to the community in a way that both honors the original, while also offering the best possible feature set and a consistent, well-documented build experience. + +For each kit sold, we give back to the community by donating €1 across [the firmware projects we support](https://opencollective.com/splitkb). This way we support open source projects and benefit everyone using keyboards, whether they use our kits or their own. \ No newline at end of file diff --git a/keyboards/splitkb/aurora/helix/rev1/config.h b/keyboards/splitkb/aurora/helix/rev1/config.h new file mode 100644 index 00000000000..bbf6c500735 --- /dev/null +++ b/keyboards/splitkb/aurora/helix/rev1/config.h @@ -0,0 +1,24 @@ +/* Copyright 2023 splitkb.com + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define SPLIT_HAND_PIN D3 + +#define OLED_DISPLAY_128X32 +#define SPLIT_OLED_ENABLE + +#define RGB_MATRIX_LED_COUNT 76 \ No newline at end of file diff --git a/keyboards/splitkb/aurora/helix/rev1/info.json b/keyboards/splitkb/aurora/helix/rev1/info.json new file mode 100644 index 00000000000..7c6acf00701 --- /dev/null +++ b/keyboards/splitkb/aurora/helix/rev1/info.json @@ -0,0 +1,206 @@ +{ + "keyboard_name": "Aurora Helix rev1", + "diode_direction": "COL2ROW", + "encoder": { + "enabled": true, + "rotary": [ + {"pin_a": "E6", "pin_b": "B4"} + ] + }, + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "oled": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["F6", "F7", "B1", "B3", "B2", "B6", "B5"], + "rows": ["F4", "F5", "D4", "C6", "D7"] + }, + "rgb_matrix": { + "driver": "ws2812", + "layout": [ + {"x": 72, "y": 16, "flags": 2}, + {"x": 40, "y": 16, "flags": 2}, + {"x": 8, "y": 16, "flags": 2}, + {"x": 8, "y": 48, "flags": 2}, + {"x": 40, "y": 48, "flags": 2}, + {"x": 72, "y": 48, "flags": 2}, + {"matrix": [0, 5], "x": 80, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 48, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 32, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 16, "y": 0, "flags": 4}, + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, + {"matrix": [1, 5], "x": 80, "y": 16, "flags": 4}, + {"matrix": [1, 4], "x": 64, "y": 16, "flags": 4}, + {"matrix": [1, 3], "x": 48, "y": 16, "flags": 4}, + {"matrix": [1, 2], "x": 32, "y": 16, "flags": 4}, + {"matrix": [1, 1], "x": 16, "y": 16, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 16, "flags": 4}, + {"matrix": [2, 5], "x": 80, "y": 32, "flags": 4}, + {"matrix": [2, 4], "x": 64, "y": 32, "flags": 4}, + {"matrix": [2, 3], "x": 48, "y": 32, "flags": 4}, + {"matrix": [2, 2], "x": 32, "y": 32, "flags": 4}, + {"matrix": [2, 1], "x": 16, "y": 32, "flags": 4}, + {"matrix": [2, 0], "x": 0, "y": 32, "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, 1], "x": 16, "y": 48, "flags": 4}, + {"matrix": [3, 0], "x": 0, "y": 48, "flags": 4}, + {"matrix": [4, 6], "x": 96, "y": 64, "flags": 4}, + {"matrix": [4, 5], "x": 80, "y": 64, "flags": 4}, + {"matrix": [4, 4], "x": 64, "y": 64, "flags": 4}, + {"matrix": [4, 3], "x": 48, "y": 64, "flags": 4}, + {"matrix": [4, 2], "x": 32, "y": 64, "flags": 4}, + {"matrix": [4, 1], "x": 16, "y": 64, "flags": 4}, + {"matrix": [4, 0], "x": 0, "y": 64, "flags": 4}, + {"x": 152, "y": 16, "flags": 2}, + {"x": 184, "y": 16, "flags": 2}, + {"x": 216, "y": 16, "flags": 2}, + {"x": 216, "y": 48, "flags": 2}, + {"x": 184, "y": 48, "flags": 2}, + {"x": 152, "y": 48, "flags": 2}, + {"matrix": [5, 5], "x": 144, "y": 0, "flags": 4}, + {"matrix": [5, 4], "x": 160, "y": 0, "flags": 4}, + {"matrix": [5, 3], "x": 176, "y": 0, "flags": 4}, + {"matrix": [5, 2], "x": 192, "y": 0, "flags": 4}, + {"matrix": [5, 1], "x": 208, "y": 0, "flags": 4}, + {"matrix": [5, 0], "x": 224, "y": 0, "flags": 4}, + {"matrix": [6, 5], "x": 144, "y": 16, "flags": 4}, + {"matrix": [6, 4], "x": 160, "y": 16, "flags": 4}, + {"matrix": [6, 3], "x": 176, "y": 16, "flags": 4}, + {"matrix": [6, 2], "x": 192, "y": 16, "flags": 4}, + {"matrix": [6, 1], "x": 208, "y": 16, "flags": 4}, + {"matrix": [6, 0], "x": 224, "y": 16, "flags": 4}, + {"matrix": [7, 5], "x": 144, "y": 32, "flags": 4}, + {"matrix": [7, 4], "x": 160, "y": 32, "flags": 4}, + {"matrix": [7, 3], "x": 176, "y": 32, "flags": 4}, + {"matrix": [7, 2], "x": 192, "y": 32, "flags": 4}, + {"matrix": [7, 1], "x": 208, "y": 32, "flags": 4}, + {"matrix": [7, 0], "x": 224, "y": 32, "flags": 4}, + {"matrix": [8, 6], "x": 128, "y": 48, "flags": 4}, + {"matrix": [8, 5], "x": 144, "y": 48, "flags": 4}, + {"matrix": [8, 4], "x": 160, "y": 48, "flags": 4}, + {"matrix": [8, 3], "x": 176, "y": 48, "flags": 4}, + {"matrix": [8, 2], "x": 192, "y": 48, "flags": 4}, + {"matrix": [8, 1], "x": 208, "y": 48, "flags": 4}, + {"matrix": [8, 0], "x": 224, "y": 48, "flags": 4}, + {"matrix": [9, 6], "x": 128, "y": 64, "flags": 4}, + {"matrix": [9, 5], "x": 144, "y": 64, "flags": 4}, + {"matrix": [9, 4], "x": 160, "y": 64, "flags": 4}, + {"matrix": [9, 3], "x": 176, "y": 64, "flags": 4}, + {"matrix": [9, 2], "x": 192, "y": 64, "flags": 4}, + {"matrix": [9, 1], "x": 208, "y": 64, "flags": 4}, + {"matrix": [9, 0], "x": 224, "y": 64, "flags": 4} + ], + "max_brightness": 128, + "split_count": [38, 38] + }, + "rgblight": { + "led_count": 76, + "max_brightness": 128, + "split": true, + "split_count": [38, 38] + }, + "split": { + "bootmagic": { + "matrix": [7, 0] + }, + "encoder": { + "right": { + "rotary": [ + {"pin_a": "B2", "pin_b": "B3"} + ] + } + }, + "main": "matrix_grid", + "matrix_pins": { + "right": { + "cols": ["D4", "C6", "D7", "E6", "B4", "B5", "B6"], + "rows": ["F4", "F5", "F6", "F7", "B1"] + } + }, + "soft_serial_pin": "D2" + }, + "usb": { + "pid": "0xB4C4" + }, + "ws2812": { + "pin": "D3" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "L01", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "L02", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "L03", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "L04", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "L05", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "L06", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "R06", "matrix": [5, 5], "x": 9, "y": 0}, + {"label": "R05", "matrix": [5, 4], "x": 10, "y": 0}, + {"label": "R04", "matrix": [5, 3], "x": 11, "y": 0}, + {"label": "R03", "matrix": [5, 2], "x": 12, "y": 0}, + {"label": "R02", "matrix": [5, 1], "x": 13, "y": 0}, + {"label": "R01", "matrix": [5, 0], "x": 14, "y": 0}, + {"label": "L07", "matrix": [1, 0], "x": 0, "y": 1}, + {"label": "L08", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "L09", "matrix": [1, 2], "x": 2, "y": 1}, + {"label": "L10", "matrix": [1, 3], "x": 3, "y": 1}, + {"label": "L11", "matrix": [1, 4], "x": 4, "y": 1}, + {"label": "L12", "matrix": [1, 5], "x": 5, "y": 1}, + {"label": "R12", "matrix": [6, 5], "x": 9, "y": 1}, + {"label": "R11", "matrix": [6, 4], "x": 10, "y": 1}, + {"label": "R10", "matrix": [6, 3], "x": 11, "y": 1}, + {"label": "R09", "matrix": [6, 2], "x": 12, "y": 1}, + {"label": "R08", "matrix": [6, 1], "x": 13, "y": 1}, + {"label": "R07", "matrix": [6, 0], "x": 14, "y": 1}, + {"label": "L13", "matrix": [2, 0], "x": 0, "y": 2}, + {"label": "L14", "matrix": [2, 1], "x": 1, "y": 2}, + {"label": "L15", "matrix": [2, 2], "x": 2, "y": 2}, + {"label": "L16", "matrix": [2, 3], "x": 3, "y": 2}, + {"label": "L17", "matrix": [2, 4], "x": 4, "y": 2}, + {"label": "L18", "matrix": [2, 5], "x": 5, "y": 2}, + {"label": "R18", "matrix": [7, 5], "x": 9, "y": 2}, + {"label": "R17", "matrix": [7, 4], "x": 10, "y": 2}, + {"label": "R16", "matrix": [7, 3], "x": 11, "y": 2}, + {"label": "R15", "matrix": [7, 2], "x": 12, "y": 2}, + {"label": "R14", "matrix": [7, 1], "x": 13, "y": 2}, + {"label": "R13", "matrix": [7, 0], "x": 14, "y": 2}, + {"label": "L19", "matrix": [3, 0], "x": 0, "y": 3}, + {"label": "L20", "matrix": [3, 1], "x": 1, "y": 3}, + {"label": "L21", "matrix": [3, 2], "x": 2, "y": 3}, + {"label": "L22", "matrix": [3, 3], "x": 3, "y": 3}, + {"label": "L23", "matrix": [3, 4], "x": 4, "y": 3}, + {"label": "L24", "matrix": [3, 5], "x": 5, "y": 3}, + {"label": "L25", "matrix": [3, 6], "x": 6, "y": 3}, + {"label": "R25", "matrix": [8, 6], "x": 8, "y": 3}, + {"label": "R24", "matrix": [8, 5], "x": 9, "y": 3}, + {"label": "R23", "matrix": [8, 4], "x": 10, "y": 3}, + {"label": "R22", "matrix": [8, 3], "x": 11, "y": 3}, + {"label": "R21", "matrix": [8, 2], "x": 12, "y": 3}, + {"label": "R20", "matrix": [8, 1], "x": 13, "y": 3}, + {"label": "R19", "matrix": [8, 0], "x": 14, "y": 3}, + {"label": "L26", "matrix": [4, 0], "x": 0, "y": 4}, + {"label": "L27", "matrix": [4, 1], "x": 1, "y": 4}, + {"label": "L28", "matrix": [4, 2], "x": 2, "y": 4}, + {"label": "L29", "matrix": [4, 3], "x": 3, "y": 4}, + {"label": "L30", "matrix": [4, 4], "x": 4, "y": 4}, + {"label": "L31", "matrix": [4, 5], "x": 5, "y": 4}, + {"label": "L32", "matrix": [4, 6], "x": 6, "y": 4}, + {"label": "R32", "matrix": [9, 6], "x": 8, "y": 4}, + {"label": "R31", "matrix": [9, 5], "x": 9, "y": 4}, + {"label": "R30", "matrix": [9, 4], "x": 10, "y": 4}, + {"label": "R29", "matrix": [9, 3], "x": 11, "y": 4}, + {"label": "R28", "matrix": [9, 2], "x": 12, "y": 4}, + {"label": "R27", "matrix": [9, 1], "x": 13, "y": 4}, + {"label": "R26", "matrix": [9, 0], "x": 14, "y": 4} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/splitkb/aurora/helix/rev1/rev1.c b/keyboards/splitkb/aurora/helix/rev1/rev1.c new file mode 100644 index 00000000000..da24934eef7 --- /dev/null +++ b/keyboards/splitkb/aurora/helix/rev1/rev1.c @@ -0,0 +1,56 @@ +/* Copyright 2023 splitkb.com + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +// Overriding is_keyboard_left() in qmk_firmware/quantum/split_common/split_util.c to limit the handedness check only once. +// reason: SPLIT_HAND_PIN is shared with the RGB pin so we don't want to keep reusing the pin for handedness checks. +bool is_keyboard_left(void) { +static enum { UNKNOWN, LEFT, RIGHT } hand_side = UNKNOWN; + // only check once, as this is called often + if (hand_side == UNKNOWN) { + #if defined(SPLIT_HAND_PIN) + // Test pin SPLIT_HAND_PIN for High/Low, if low it's right hand + setPinInput(SPLIT_HAND_PIN); + hand_side = readPin(SPLIT_HAND_PIN) ? LEFT : RIGHT; + return (hand_side == LEFT); + #endif + hand_side = is_keyboard_master() ? LEFT : RIGHT; + return (hand_side == LEFT); + } else { + return (hand_side == LEFT); + } +} + +#ifdef SWAP_HANDS_ENABLE +// clang-format off + __attribute__ ((weak)) const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { + {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}, {6, 5}}, + {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}, {6, 6}}, + {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}, {6, 7}}, + {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}}, + {{0, 9}, {1, 9}, {2, 9}, {3, 9}, {4, 9}, {5, 9}, {6, 9}}, + {{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {6, 0}}, + {{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}, {6, 1}}, + {{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}, {6, 2}}, + {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}, {6, 3}}, + {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {6, 4}} + }; +// clang-format on +# ifdef ENCODER_MAP_ENABLE + const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {1,0}; +# endif +#endif diff --git a/keyboards/splitkb/aurora/helix/rev1/rules.mk b/keyboards/splitkb/aurora/helix/rev1/rules.mk new file mode 100644 index 00000000000..e69de29bb2d diff --git a/keyboards/splitkb/aurora/helix/rules.mk b/keyboards/splitkb/aurora/helix/rules.mk new file mode 100644 index 00000000000..8130273c1f9 --- /dev/null +++ b/keyboards/splitkb/aurora/helix/rules.mk @@ -0,0 +1 @@ +DEFAULT_FOLDER = splitkb/aurora/helix/rev1 \ No newline at end of file From 29d1a2cc510f29f9a703038490856a881a9156e9 Mon Sep 17 00:00:00 2001 From: ziptyze Date: Fri, 15 Sep 2023 14:56:41 -0400 Subject: [PATCH 047/144] [Keyboard] add 1upkeyboards 1upslider8 (#21546) Co-authored-by: Duncan Sutherland Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Drashna Jaelre --- .../1upkeyboards/1upslider8/1upslider8.c | 400 ++++++++++++++++++ keyboards/1upkeyboards/1upslider8/config.h | 29 ++ keyboards/1upkeyboards/1upslider8/halconf.h | 9 + keyboards/1upkeyboards/1upslider8/info.json | 115 +++++ .../1upslider8/keymaps/default/keymap.c | 31 ++ .../1upslider8/keymaps/default/rules.mk | 1 + .../1upslider8/keymaps/via/keymap.c | 31 ++ .../1upslider8/keymaps/via/rules.mk | 3 + keyboards/1upkeyboards/1upslider8/mcuconf.h | 11 + keyboards/1upkeyboards/1upslider8/readme.md | 27 ++ keyboards/1upkeyboards/1upslider8/rules.mk | 1 + 11 files changed, 658 insertions(+) create mode 100644 keyboards/1upkeyboards/1upslider8/1upslider8.c create mode 100644 keyboards/1upkeyboards/1upslider8/config.h create mode 100644 keyboards/1upkeyboards/1upslider8/halconf.h create mode 100644 keyboards/1upkeyboards/1upslider8/info.json create mode 100644 keyboards/1upkeyboards/1upslider8/keymaps/default/keymap.c create mode 100644 keyboards/1upkeyboards/1upslider8/keymaps/default/rules.mk create mode 100644 keyboards/1upkeyboards/1upslider8/keymaps/via/keymap.c create mode 100644 keyboards/1upkeyboards/1upslider8/keymaps/via/rules.mk create mode 100644 keyboards/1upkeyboards/1upslider8/mcuconf.h create mode 100644 keyboards/1upkeyboards/1upslider8/readme.md create mode 100644 keyboards/1upkeyboards/1upslider8/rules.mk diff --git a/keyboards/1upkeyboards/1upslider8/1upslider8.c b/keyboards/1upkeyboards/1upslider8/1upslider8.c new file mode 100644 index 00000000000..e6d6698ee9b --- /dev/null +++ b/keyboards/1upkeyboards/1upslider8/1upslider8.c @@ -0,0 +1,400 @@ +/* Copyright 2022 ziptyze + * + * 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 "analog.h" +#include "qmk_midi.h" + +#include "quantum.h" +#include "quantum/midi/midi.h" +#include "quantum/midi/midi_device.h" + +uint8_t divisor = 0; +void slider(void) { + if (divisor++) { // only run the slider function 1/256 times it's called + return; + } + midi_send_cc(&midi_device, 2, 0x3E, 0x7F - (analogReadPin(SLIDER_PIN) >> 3)); + uprintf("%d string", analogReadPin(SLIDER_PIN)); +} + +void housekeeping_task_kb(void) { + slider(); + housekeeping_task_user(); +} + +static uint32_t oled_logo_timer = 0; +static bool clear_logo = true; +static const char PROGMEM my_logo[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, + 0xE0, 0xF0, 0x70, 0x70, 0x70, 0x70, + 0xF0, 0xE0, 0xC0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x63, 0xE7, 0xE7, 0xCE, 0xCE, + 0xCE, 0xCE, 0xFC, 0xFC, 0x78, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC1, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x07, 0x07, 0x07, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1F, 0x1F, 0x1F, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFC, 0xFC, 0xFC, 0x1C, 0x1C, 0x1C, + 0x1C, 0x3C, 0xF8, 0xF8, 0xE0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7F, 0x7F, 0x7F, 0x70, + 0x70, 0x70, 0x70, 0x78, 0x3F, 0x3F, + 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, + 0xF0, 0xF0, 0x70, 0x70, 0x70, 0x70, + 0x70, 0x70, 0x70, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xCE, 0xCE, + 0xCE, 0xCE, 0xCE, 0xCE, 0xCE, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xC0, 0xC1, 0xC1, 0xC1, + 0xC1, 0xC1, 0xC1, 0xC1, 0xC1, 0x81, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, + 0xFF, 0x39, 0x39, 0x79, 0xF9, 0xF9, + 0xDF, 0x9F, 0x0F, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x07, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x03, 0x07, 0x07, 0x06, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1C, 0xBE, + 0xFF, 0x63, 0x63, 0xFF, 0xBE, 0x1C, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x0F, 0x1F, 0x18, 0x18, 0x1F, + 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00 + }; + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + return OLED_ROTATION_270; +} + + +static const char PROGMEM ou_logo[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xFC, 0xFC, 0xCF, 0xCF, + 0x03, 0x03, 0x03, 0x03, 0xFF, 0xFF, + 0x03, 0x03, 0xFF, 0xFF, 0x03, 0x03, + 0x03, 0x03, 0xFF, 0xFF, 0x03, 0x03, + 0x03, 0x03, 0xF3, 0xF3, 0x03, 0x03, + 0x0C, 0x0C, 0xFC, 0xFC, 0x00, 0x00, + 0xFF, 0xFF, 0xC0, 0xC0, 0xC0, 0xC0, + 0xFF, 0xFF, 0xF0, 0xF0, 0xC3, 0xC3, + 0xC0, 0xC0, 0xF0, 0xF0, 0xFF, 0xFF, + 0xC0, 0xC0, 0xC0, 0xC0, 0xFC, 0xFC, + 0x0C, 0x0C, 0x0F, 0x0F, 0x03, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00 + }; + + +static char PROGMEM caps_on[] = { + 0x00, 0x00, 0x00, 0xF8, 0x04, 0x04, + 0x04, 0x88, 0x00, 0x00, 0xE0, 0x58, + 0x44, 0x58, 0xE0, 0x00, 0x00, 0xFC, + 0x24, 0x24, 0x24, 0x18, 0x00, 0x00, + 0x98, 0x24, 0x24, 0x24, 0xC8, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x81, + 0xC0, 0xE0, 0xF0, 0xF0, 0xF0, 0xF1, + 0xF0, 0xF1, 0xF0, 0xF0, 0xE0, 0xC0, + 0x80, 0x00, 0x00, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x07, 0x0F, 0x1F, + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, + 0x3F, 0x3F, 0x1F, 0x0F, 0x07, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00 + }; + +static char PROGMEM caps_off[] = { + 0x00, 0x00, 0x00, 0xF8, 0x04, 0x04, + 0x04, 0x88, 0x00, 0x00, 0xE0, 0x58, + 0x44, 0x58, 0xE0, 0x00, 0x00, 0xFC, + 0x24, 0x24, 0x24, 0x18, 0x00, 0x00, + 0x98, 0x24, 0x24, 0x24, 0xC8, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x81, + 0xC0, 0xE0, 0xF0, 0x70, 0x30, 0x31, + 0x30, 0x31, 0x70, 0xF0, 0xE0, 0xC0, + 0x80, 0x00, 0x00, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0x03, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x03, 0xFF, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x07, 0x0F, 0x1E, + 0x3C, 0x38, 0x30, 0x30, 0x30, 0x30, + 0x38, 0x3C, 0x1E, 0x0F, 0x07, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00 + }; + +static const char PROGMEM num_on[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, + 0x18, 0x20, 0xC0, 0xFC, 0x00, 0x00, + 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, + 0x00, 0x00, 0xFC, 0x18, 0x60, 0x80, + 0x60, 0x18, 0xFC, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x81, + 0xC0, 0xE0, 0xF0, 0xF0, 0xF1, 0xF1, + 0xF1, 0xF0, 0xF0, 0xF0, 0xE1, 0xC0, + 0x80, 0x01, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x07, 0x0F, 0x1F, + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, + 0x3F, 0x3F, 0x1F, 0x0F, 0x07, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00 + }; + +static const char PROGMEM num_off[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, + 0x18, 0x20, 0xC0, 0xFC, 0x00, 0x00, + 0x00, 0xFC, 0x00, 0x00, 0x00, 0xFC, + 0x00, 0x00, 0xFC, 0x18, 0x60, 0x80, + 0x60, 0x18, 0xFC, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x81, + 0xC0, 0xE0, 0xF0, 0x70, 0x31, 0x31, + 0x31, 0x30, 0x70, 0xF0, 0xE1, 0xC0, + 0x80, 0x01, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0x03, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x03, 0xFF, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x07, 0x0F, 0x1E, + 0x3C, 0x38, 0x30, 0x30, 0x30, 0x30, + 0x38, 0x3C, 0x1E, 0x0F, 0x07, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00 + }; + +static const char PROGMEM scrl_on[] = { + 0x00, 0x00, 0x00, 0x98, 0x24, 0x24, + 0x24, 0xC8, 0x00, 0x00, 0xF8, 0x04, + 0x04, 0x04, 0x88, 0x00, 0x00, 0xFC, + 0x24, 0x24, 0xE4, 0x18, 0x00, 0x00, + 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x80, + 0xC0, 0xE1, 0xF1, 0xF1, 0xF0, 0xF0, + 0xF0, 0xF1, 0xF0, 0xF0, 0xE0, 0xC1, + 0x80, 0x00, 0x00, 0x01, 0x01, 0x01, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x07, 0x0F, 0x1F, + 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, + 0x3F, 0x3F, 0x1F, 0x0F, 0x07, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00 + }; + +static const char PROGMEM scrl_off[] = { + 0x00, 0x00, 0x00, 0x98, 0x24, 0x24, + 0x24, 0xC8, 0x00, 0x00, 0xF8, 0x04, + 0x04, 0x04, 0x88, 0x00, 0x00, 0xFC, + 0x24, 0x24, 0xE4, 0x18, 0x00, 0x00, + 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x80, + 0xC0, 0xE1, 0xF1, 0x71, 0x30, 0x30, + 0x30, 0x31, 0x70, 0xF0, 0xE0, 0xC1, + 0x80, 0x00, 0x00, 0x01, 0x01, 0x01, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0x03, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x03, 0xFF, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x07, 0x0F, 0x1E, + 0x3C, 0x38, 0x30, 0x30, 0x30, 0x30, + 0x38, 0x3C, 0x1E, 0x0F, 0x07, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00 + }; + +static void render_oled(void) { + const int combined_size = sizeof(ou_logo) + sizeof(caps_off) + sizeof(num_off) + sizeof(scrl_off); + char combined[combined_size]; + led_t led_state = host_keyboard_led_state(); + + memcpy_P(combined, ou_logo, sizeof(ou_logo)); + + if (led_state.caps_lock) { + memcpy_P(combined + sizeof(ou_logo), caps_on, sizeof(caps_off)); + } + else { + memcpy_P(combined + sizeof(ou_logo), caps_off, sizeof(caps_off)); + } + + if (led_state.num_lock) { + memcpy_P(combined + sizeof(ou_logo) + sizeof(caps_off), num_on, sizeof(num_off)); + } + else { + memcpy_P(combined + sizeof(ou_logo) + sizeof(caps_off), num_off, sizeof(num_off)); + } + + if (led_state.scroll_lock) { + memcpy_P(combined + sizeof(ou_logo) + sizeof(caps_off) + sizeof(num_off), scrl_on, sizeof(scrl_off)); + } + else { + memcpy_P(combined + sizeof(ou_logo) + sizeof(caps_off) + sizeof(num_off), scrl_off, sizeof(scrl_off)); + } + + oled_write_raw_P(combined, sizeof(combined)); +} + +void render_logo(void) { + oled_write_raw_P(my_logo, sizeof(my_logo)); +} + +void clear_screen(void) { + if (clear_logo){ + for (uint8_t i = 0; i < OLED_DISPLAY_HEIGHT; ++i) { + for (uint8_t j = 0; j < OLED_DISPLAY_WIDTH; ++j) { + oled_write_raw_byte(0x0, i*OLED_DISPLAY_WIDTH + j); + } + } + clear_logo = false; + } +} + +#define MIDI_CONTROL_CHANGE 0xB0 + +MidiDevice _midi_device; + +void midi_callback(uint8_t cable, uint8_t *midi_data, uint16_t length) { + // Check if this is a MIDI CC message on channel 2 + if ((midi_data[0] & 0xF0) == MIDI_CONTROL_CHANGE && midi_data[0] & (0x0F == 1)) { + uprintf("%s string", midi_data ); + // ... + } +} + +void slider8_cc_callback(struct _midi_device *dev, uint8_t cable, uint8_t code_index, uint8_t value) { + midi_callback(MIDI_CONTROL_CHANGE, &value, 1); +} + +void init_timer(void){ + oled_logo_timer = timer_read32(); +}; + +void keyboard_post_init_kb(void) { + init_timer(); + + keyboard_post_init_user(); +} + +void matrix_init_kb(void) { + midi_register_cc_callback(&_midi_device, slider8_cc_callback); + matrix_init_user(); +} + +#ifndef SHOW_LOGO +# define SHOW_LOGO 5000 +#endif +bool oled_task_kb(void) { + if (!oled_task_user()) { return false; } + if ((timer_elapsed32(oled_logo_timer) < SHOW_LOGO)){ + render_logo(); + }else{ + clear_screen(); + render_oled(); + } + return false; +} diff --git a/keyboards/1upkeyboards/1upslider8/config.h b/keyboards/1upkeyboards/1upslider8/config.h new file mode 100644 index 00000000000..059d16f3fab --- /dev/null +++ b/keyboards/1upkeyboards/1upslider8/config.h @@ -0,0 +1,29 @@ +/* Copyright 2023 Ziptyze + * + * 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 I2C1_SCL_PIN GP11 +#define I2C1_SDA_PIN GP10 +#define OLED_BRIGHTNESS 128 + +#define SLIDER_PIN GP28 +#define MIDI_ADVANCED + +#define RGB_MATRIX_LED_COUNT 8 +#define RGB_MATRIX_KEYPRESSES // reacts to keypresses +#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/1upkeyboards/1upslider8/halconf.h b/keyboards/1upkeyboards/1upslider8/halconf.h new file mode 100644 index 00000000000..bc09e4db56d --- /dev/null +++ b/keyboards/1upkeyboards/1upslider8/halconf.h @@ -0,0 +1,9 @@ +// Copyright 2023 ziptyze +// SPDX-License-Identifier: GPL-2.0-or-later#pragma once + +#pragma once + +#define HAL_USE_I2C TRUE +#define HAL_USE_ADC TRUE + +#include_next diff --git a/keyboards/1upkeyboards/1upslider8/info.json b/keyboards/1upkeyboards/1upslider8/info.json new file mode 100644 index 00000000000..f2fe6510607 --- /dev/null +++ b/keyboards/1upkeyboards/1upslider8/info.json @@ -0,0 +1,115 @@ +{ + "manufacturer": "1upkeyboards", + "keyboard_name": "1upslider8", + "maintainer": "ziptyze", + "processor": "RP2040", + "bootloader": "rp2040", + "usb": { + "device_version": "1.0.0", + "pid": "0x5611", + "vid": "0x6F75" + }, + "dynamic_keymap": { + "layer_count": 10 + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": false, + "oled": true, + "midi":true, + "rgb_matrix": true, + "encoder": true + }, + "encoder": { + "rotary": [ + { + "pin_a": "GP21", + "pin_b": "GP22" + } + ] + }, + "matrix_pins": { + "direct": [ + ["GP27", "GP17", "GP18", "GP19", "GP20", "GP15", "GP14", "GP13", "GP16"] + ] + }, + "bootmagic": { + "matrix": [0, 1] + }, + "ws2812": { + "pin": "GP26", + "driver": "vendor" + }, + "rgb_matrix": { + "animations": { + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "rainbow_moving_chevron":true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "typing_heatmap": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_wide": true, + "solid_reactive_multiwide": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_nexus": true, + "solid_reactive_multinexus": true, + "splash": true, + "multisplash": true, + "solid_splash": true, + "solid_multisplash": true + }, + "driver": "ws2812", + "layout": [ + { "flags": 4, "matrix": [0, 1], "x": 28, "y": 16 }, + { "flags": 4, "matrix": [0, 2], "x": 84, "y": 16 }, + { "flags": 4, "matrix": [0, 3], "x": 140, "y": 16 }, + { "flags": 4, "matrix": [0, 4], "x": 196, "y": 16 }, + { "flags": 4, "matrix": [0, 5], "x": 28, "y": 48 }, + { "flags": 4, "matrix": [0, 6], "x": 84, "y": 48 }, + { "flags": 4, "matrix": [0, 7], "x": 140, "y": 48 }, + { "flags": 4, "matrix": [0, 8], "x": 196, "y": 48 } + ] + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "enc", "matrix": [0, 0], "x": 3, "y": 0 }, + { "label": "1", "matrix": [0, 1], "x": 0, "y": 1 }, + { "label": "2", "matrix": [0, 2], "x": 1, "y": 1 }, + { "label": "3", "matrix": [0, 3], "x": 2, "y": 1 }, + { "label": "4", "matrix": [0, 4], "x": 3, "y": 1 }, + { "label": "5", "matrix": [0, 5], "x": 0, "y": 2 }, + { "label": "6", "matrix": [0, 6], "x": 1, "y": 2 }, + { "label": "7", "matrix": [0, 7], "x": 2, "y": 2 }, + { "label": "8", "matrix": [0, 8], "x": 3, "y": 2 } + ] + } + } +} diff --git a/keyboards/1upkeyboards/1upslider8/keymaps/default/keymap.c b/keyboards/1upkeyboards/1upslider8/keymaps/default/keymap.c new file mode 100644 index 00000000000..9e39f9d3e38 --- /dev/null +++ b/keyboards/1upkeyboards/1upslider8/keymaps/default/keymap.c @@ -0,0 +1,31 @@ +/* Copyright 2022 ziptyze + * + * 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( + RGB_TOG, + KC_1, KC_2, KC_3, KC_4, + KC_5, KC_6, KC_7, KC_8 + ) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD)} +}; +#endif diff --git a/keyboards/1upkeyboards/1upslider8/keymaps/default/rules.mk b/keyboards/1upkeyboards/1upslider8/keymaps/default/rules.mk new file mode 100644 index 00000000000..a40474b4d5c --- /dev/null +++ b/keyboards/1upkeyboards/1upslider8/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/1upkeyboards/1upslider8/keymaps/via/keymap.c b/keyboards/1upkeyboards/1upslider8/keymaps/via/keymap.c new file mode 100644 index 00000000000..4178e7de58d --- /dev/null +++ b/keyboards/1upkeyboards/1upslider8/keymaps/via/keymap.c @@ -0,0 +1,31 @@ +/* Copyright 2023 ziptyze + * + * 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( + RGB_TOG, + KC_1, KC_2, KC_3, KC_4, + KC_5, KC_6, KC_7, KC_8 + ) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD)} +}; +#endif diff --git a/keyboards/1upkeyboards/1upslider8/keymaps/via/rules.mk b/keyboards/1upkeyboards/1upslider8/keymaps/via/rules.mk new file mode 100644 index 00000000000..15a5eaf11a1 --- /dev/null +++ b/keyboards/1upkeyboards/1upslider8/keymaps/via/rules.mk @@ -0,0 +1,3 @@ +VIA_ENABLE = yes + +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/1upkeyboards/1upslider8/mcuconf.h b/keyboards/1upkeyboards/1upslider8/mcuconf.h new file mode 100644 index 00000000000..df9ddc79ad6 --- /dev/null +++ b/keyboards/1upkeyboards/1upslider8/mcuconf.h @@ -0,0 +1,11 @@ +// Copyright 2023 ziptyze +// SPDX-License-Identifier: GPL-2.0-or-later#pragma once + +#pragma once + +#include_next + +#undef RP_I2C_USE_I2C1 +#undef RP_ADC_USE_ADC1 +#define RP_I2C_USE_I2C1 TRUE +#define RP_ADC_USE_ADC1 TRUE diff --git a/keyboards/1upkeyboards/1upslider8/readme.md b/keyboards/1upkeyboards/1upslider8/readme.md new file mode 100644 index 00000000000..d1ad304b463 --- /dev/null +++ b/keyboards/1upkeyboards/1upslider8/readme.md @@ -0,0 +1,27 @@ +# slider8 + +![slider8](https://i.imgur.com/AiVQySnh.jpg) + + +This keyboard is the slider8 from 1upkeyboards.com, a small macropad with an oled, slide potentiometer, rotary encoder, and 8 switches in a 2x4 ortholinear arrangement with per-key in-switch rgb leds. + +The slide potentiometer presents to the computer as a midi device and will need a seperate program to map to device control. + +* Keyboard Maintainer: [ziptyze](https://github.com/ziptyze) + +Make example for this keyboard (after setting up your build environment): + + make 1upkeyboards/1upslider8:default + +Flashing example for this keyboard: + + make 1upkeyboards/1upslider8:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 2 ways: + +* **Bootmagic reset**: Hold down the top left key and plug in the keyboard +* **Physical reset button**: Hold down the button on the pi pico and plug in the keyboard diff --git a/keyboards/1upkeyboards/1upslider8/rules.mk b/keyboards/1upkeyboards/1upslider8/rules.mk new file mode 100644 index 00000000000..8515c3fae02 --- /dev/null +++ b/keyboards/1upkeyboards/1upslider8/rules.mk @@ -0,0 +1 @@ +SRC += analog.c From d83ac7a1247ccde863234e71b4c55b2e0d87c41a Mon Sep 17 00:00:00 2001 From: TreasureTypes <73436366+TreasureTypes@users.noreply.github.com> Date: Fri, 15 Sep 2023 23:44:41 +0200 Subject: [PATCH 048/144] [Keyboard] Adding Treasure TYPE-9 series III (#21748) Co-authored-by: Duncan Sutherland Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre --- keyboards/treasure/type9s3/config.h | 30 +++++++++ keyboards/treasure/type9s3/info.json | 65 +++++++++++++++++++ .../treasure/type9s3/keymaps/default/keymap.c | 31 +++++++++ .../treasure/type9s3/keymaps/via/keymap.c | 31 +++++++++ .../treasure/type9s3/keymaps/via/rules.mk | 1 + keyboards/treasure/type9s3/readme.md | 22 +++++++ keyboards/treasure/type9s3/rules.mk | 1 + 7 files changed, 181 insertions(+) create mode 100644 keyboards/treasure/type9s3/config.h create mode 100644 keyboards/treasure/type9s3/info.json create mode 100644 keyboards/treasure/type9s3/keymaps/default/keymap.c create mode 100644 keyboards/treasure/type9s3/keymaps/via/keymap.c create mode 100644 keyboards/treasure/type9s3/keymaps/via/rules.mk create mode 100644 keyboards/treasure/type9s3/readme.md create mode 100644 keyboards/treasure/type9s3/rules.mk diff --git a/keyboards/treasure/type9s3/config.h b/keyboards/treasure/type9s3/config.h new file mode 100644 index 00000000000..b87cd59b2f2 --- /dev/null +++ b/keyboards/treasure/type9s3/config.h @@ -0,0 +1,30 @@ +// Copyright 2023 Treasure +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define RGB_MATRIX_LED_COUNT 9 + +#define RGB_MATRIX_DEFAULT_SPD 40 // Sets the default animation speed, if none has been set +#define RGB_MATRIX_DEFAULT_VAL 120 + +#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_DISABLE_WHEN_USB_SUSPENDED + +#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +#define ENABLE_RGB_MATRIX_BREATHING +#define ENABLE_RGB_MATRIX_CYCLE_ALL +#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN +#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL +#define ENABLE_RGB_MATRIX_PIXEL_RAIN +#define ENABLE_RGB_MATRIX_TYPING_HEATMAP +#define ENABLE_RGB_MATRIX_DIGITAL_RAIN +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +#define ENABLE_RGB_MATRIX_SPLASH +#define ENABLE_RGB_MATRIX_SOLID_SPLASH diff --git a/keyboards/treasure/type9s3/info.json b/keyboards/treasure/type9s3/info.json new file mode 100644 index 00000000000..8e9c9fa38f1 --- /dev/null +++ b/keyboards/treasure/type9s3/info.json @@ -0,0 +1,65 @@ +{ + "manufacturer": "Treasure", + "keyboard_name": "Type-9 Series III", + "maintainer": "arnstadm", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": false, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "direct": [ + ["C7", "C6", "D3"], + ["B7", "C5", "D2"], + ["B5", "B4", "D4"] + ] + }, + "processor": "atmega32u2", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x5493", + "vid": "0x5452" + }, + "ws2812": { + "pin": "B6" + }, + "rgb_matrix": { + "driver": "ws2812", + "layout": [ + { "matrix": [2, 0],"flags": 4, "x": 0, "y": 20 }, + { "matrix": [2, 1],"flags": 4, "x": 10, "y": 20 }, + { "matrix": [2, 2],"flags": 4, "x": 20, "y": 20 }, + { "matrix": [1, 2],"flags": 4, "x": 20, "y": 10 }, + { "matrix": [1, 1],"flags": 4, "x": 10, "y": 10 }, + { "matrix": [1, 0],"flags": 4, "x": 0, "y": 10 }, + { "matrix": [0, 0],"flags": 4, "x": 0, "y": 0 }, + { "matrix": [0, 1],"flags": 4, "x": 10, "y": 0 }, + { "matrix": [0, 2],"flags": 4, "x": 20, "y": 0 } + ] + }, + "community_layouts": ["ortho_3x3"], + "layouts": { + "LAYOUT_ortho_3x3": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 1], "x": 1, "y": 0 }, + { "matrix": [0, 2], "x": 2, "y": 0 }, + + { "matrix": [1, 0], "x": 0, "y": 1 }, + { "matrix": [1, 1], "x": 1, "y": 1 }, + { "matrix": [1, 2], "x": 2, "y": 1 }, + + { "matrix": [2, 0], "x": 0, "y": 2 }, + { "matrix": [2, 1], "x": 1, "y": 2 }, + { "matrix": [2, 2], "x": 2, "y": 2 } + ] + } + } +} diff --git a/keyboards/treasure/type9s3/keymaps/default/keymap.c b/keyboards/treasure/type9s3/keymaps/default/keymap.c new file mode 100644 index 00000000000..166062f649b --- /dev/null +++ b/keyboards/treasure/type9s3/keymaps/default/keymap.c @@ -0,0 +1,31 @@ +// Copyright 2023 Treasure +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_ortho_3x3( + MO(1), KC_MPLY, RGB_TOG, + KC_VOLD, KC_MUTE, KC_VOLU, + KC_KP_1, KC_KP_2, KC_KP_3 + ), + + [1] = LAYOUT_ortho_3x3( + KC_TRNS, RGB_M_P, MO(2), + RGB_MOD, RGB_HUI, RGB_VAI, + RGB_RMOD, RGB_HUD, RGB_VAD + ), + + [2] = LAYOUT_ortho_3x3( + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, MO(3) + ), + + [3] = LAYOUT_ortho_3x3( + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/treasure/type9s3/keymaps/via/keymap.c b/keyboards/treasure/type9s3/keymaps/via/keymap.c new file mode 100644 index 00000000000..166062f649b --- /dev/null +++ b/keyboards/treasure/type9s3/keymaps/via/keymap.c @@ -0,0 +1,31 @@ +// Copyright 2023 Treasure +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_ortho_3x3( + MO(1), KC_MPLY, RGB_TOG, + KC_VOLD, KC_MUTE, KC_VOLU, + KC_KP_1, KC_KP_2, KC_KP_3 + ), + + [1] = LAYOUT_ortho_3x3( + KC_TRNS, RGB_M_P, MO(2), + RGB_MOD, RGB_HUI, RGB_VAI, + RGB_RMOD, RGB_HUD, RGB_VAD + ), + + [2] = LAYOUT_ortho_3x3( + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, MO(3) + ), + + [3] = LAYOUT_ortho_3x3( + KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/treasure/type9s3/keymaps/via/rules.mk b/keyboards/treasure/type9s3/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/treasure/type9s3/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/treasure/type9s3/readme.md b/keyboards/treasure/type9s3/readme.md new file mode 100644 index 00000000000..354b63b04a3 --- /dev/null +++ b/keyboards/treasure/type9s3/readme.md @@ -0,0 +1,22 @@ +# Treasure TYPE-9 Series III + +![TYPE9SIII](https://i.imgur.com/lohJ0Dalh.png) + +Treasure TYPE-9 Series III is a 3x3 Macropad. + +* Keyboard Maintainer: [Treasure](https://github.com/TreasureTypes) +* Hardware Supported: Treasure TYPE-9 Series III PCB +* Hardware Availability: [Treasure Store](http://treasuretypes.com) + +Make example for this keyboard (after setting up your build environment): + + make treasure/type9s3:default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader : + +* **Physical reset button**: Briefly press the button on the back of the PCB +* **Bootmagic reset**: Hold down the top left key and plug in the keyboard diff --git a/keyboards/treasure/type9s3/rules.mk b/keyboards/treasure/type9s3/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/treasure/type9s3/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From 47675545629ebb14647960ed083b9b80e7a64c89 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri, 15 Sep 2023 15:25:52 -0700 Subject: [PATCH 049/144] Raindrop Layout Updates (#22032) * Add layout/matrix diagram [docs] * Rename `LAYOUT_all` to `LAYOUT_64_ansi_split_bs` [refactor] * Add `LAYOUT_60_ansi_split_bs_rshift` [enhancement] --- keyboards/raindrop/info.json | 76 +++++++++++++++++++++++++++- keyboards/raindrop/matrix_diagram.md | 30 +++++++++++ 2 files changed, 105 insertions(+), 1 deletion(-) create mode 100644 keyboards/raindrop/matrix_diagram.md diff --git a/keyboards/raindrop/info.json b/keyboards/raindrop/info.json index 738e1719ea9..bc67d437fa3 100644 --- a/keyboards/raindrop/info.json +++ b/keyboards/raindrop/info.json @@ -27,6 +27,9 @@ "rgblight": false, "sleep_led": false }, + "layout_aliases": { + "LAYOUT_all": "LAYOUT_64_ansi_split_bs" + }, "community_layouts": ["60_hhkb", "60_ansi", "64_ansi"], "layouts": { "LAYOUT_60_ansi": { @@ -98,6 +101,77 @@ {"matrix": [4, 7], "x":13.75, "y":4, "w":1.25} ] }, + "LAYOUT_60_ansi_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x":0, "y":0}, + {"matrix": [0, 1], "x":1, "y":0}, + {"matrix": [0, 2], "x":2, "y":0}, + {"matrix": [0, 3], "x":3, "y":0}, + {"matrix": [0, 4], "x":4, "y":0}, + {"matrix": [0, 5], "x":5, "y":0}, + {"matrix": [0, 6], "x":6, "y":0}, + {"matrix": [0, 7], "x":7, "y":0}, + {"matrix": [0, 8], "x":8, "y":0}, + {"matrix": [0, 9], "x":9, "y":0}, + {"matrix": [0, 10], "x":10, "y":0}, + {"matrix": [0, 11], "x":11, "y":0}, + {"matrix": [0, 12], "x":12, "y":0}, + {"matrix": [0, 13], "x":13, "y":0}, + {"matrix": [0, 14], "x":14, "y":0}, + + {"matrix": [1, 0], "x":0, "y":1, "w":1.5}, + {"matrix": [1, 1], "x":1.5, "y":1}, + {"matrix": [1, 2], "x":2.5, "y":1}, + {"matrix": [1, 3], "x":3.5, "y":1}, + {"matrix": [1, 4], "x":4.5, "y":1}, + {"matrix": [1, 5], "x":5.5, "y":1}, + {"matrix": [1, 6], "x":6.5, "y":1}, + {"matrix": [1, 7], "x":7.5, "y":1}, + {"matrix": [1, 8], "x":8.5, "y":1}, + {"matrix": [1, 9], "x":9.5, "y":1}, + {"matrix": [1, 10], "x":10.5, "y":1}, + {"matrix": [1, 11], "x":11.5, "y":1}, + {"matrix": [1, 12], "x":12.5, "y":1}, + {"matrix": [1, 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, 12], "x":12.75, "y":2, "w":2.25}, + + {"matrix": [3, 0], "x":0, "y":3, "w":2.25}, + {"matrix": [3, 1], "x":2.25, "y":3}, + {"matrix": [3, 2], "x":3.25, "y":3}, + {"matrix": [3, 3], "x":4.25, "y":3}, + {"matrix": [3, 4], "x":5.25, "y":3}, + {"matrix": [3, 5], "x":6.25, "y":3}, + {"matrix": [3, 6], "x":7.25, "y":3}, + {"matrix": [3, 7], "x":8.25, "y":3}, + {"matrix": [3, 8], "x":9.25, "y":3}, + {"matrix": [3, 9], "x":10.25, "y":3}, + {"matrix": [3, 10], "x":11.25, "y":3}, + {"matrix": [3, 11], "x":12.25, "y":3, "w":1.75}, + {"matrix": [3, 13], "x":14, "y":3}, + + {"matrix": [4, 0], "x":0, "y":4, "w":1.25}, + {"matrix": [4, 1], "x":1.25, "y":4, "w":1.25}, + {"matrix": [4, 2], "x":2.5, "y":4, "w":1.25}, + {"matrix": [4, 3], "x":3.75, "y":4, "w":6.25}, + {"matrix": [4, 4], "x":10, "y":4, "w":1.25}, + {"matrix": [4, 5], "x":11.25, "y":4, "w":1.25}, + {"matrix": [4, 6], "x":12.5, "y":4, "w":1.25}, + {"matrix": [4, 7], "x":13.75, "y":4, "w":1.25} + ] + }, "LAYOUT_60_hhkb": { "layout": [ {"matrix": [0, 0], "x":0, "y":0}, @@ -238,7 +312,7 @@ {"matrix": [4, 8], "x": 14, "y": 4} ] }, - "LAYOUT_all": { + "LAYOUT_64_ansi_split_bs": { "layout": [ {"matrix": [0, 0], "x":0, "y":0}, {"matrix": [0, 1], "x":1, "y":0}, diff --git a/keyboards/raindrop/matrix_diagram.md b/keyboards/raindrop/matrix_diagram.md new file mode 100644 index 00000000000..4ba15ecabc1 --- /dev/null +++ b/keyboards/raindrop/matrix_diagram.md @@ -0,0 +1,30 @@ +# Matrix Diagram for Laneware Peripherals Raindrop + +``` + ┌───────┐ + 2u Backspace │0D │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │ +├──────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬───┬───┤ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ +├────┬──┴─┬─┴──┬┴───┴───┴───┴───┴───┴───┼───┼───┼───┼───┼───┤ +│40 │41 │42 │43 │44 │45 │46 │47 │48 │ +└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘ +┌────────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬──────┬───┐ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │ 2.25u LShift + 1.75u/1u RShift +└────────┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴──────┴───┘ + ┌──────────┐ + │3B │ 2.25u LShift + 2.75u RShift + └──────────┘ +┌────┬────┬────┬────────────────────────┬────┬────┬────┬────┐ +│40 │41 │42 │43 │44 │45 │46 │47 │ Standard +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ +└──────┬───┬─────┬─────────────────────────┬─────┬───┬──────┘ + │41 │42 │43 │45 │46 │ HHKB (1u/1.5u/6.25u/1.5u/1u) + └───┴─────┴─────────────────────────┴─────┴───┘ +``` From 71d5d14c139cb9c5e0103aa701ca8bce4be1cd7a Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri, 15 Sep 2023 16:39:34 -0700 Subject: [PATCH 050/144] Rico Phoenix Project No. 1 Layout Additions (#22035) * Add layout/matrix diagram [docs] * Rename `LAYOUT` to `LAYOUT_all` [refactor] * Add `LAYOUT_65_ansi_rwkl_split_bs` [enhancement] * Add `LAYOUT_65_ansi_rwkl` [enhancement] * Add `LAYOUT_65_ansi_wkl_split_bs` [enhancement] * Add `LAYOUT_65_ansi_wkl` [enhancement] * Add `LAYOUT_65_iso_rwkl_split_bs` [enhancement] * Add `LAYOUT_65_iso_rwkl` [enhancement] * Add `LAYOUT_65_iso_wkl_split_bs` [enhancement] * Add `LAYOUT_65_iso_wkl` [enhancement] --- keyboards/rico/phoenix_project_no1/info.json | 609 +++++++++++++++++- .../keymaps/default/keymap.c | 6 +- .../phoenix_project_no1/keymaps/via/keymap.c | 6 +- .../phoenix_project_no1/matrix_diagram.md | 24 + 4 files changed, 638 insertions(+), 7 deletions(-) create mode 100644 keyboards/rico/phoenix_project_no1/matrix_diagram.md diff --git a/keyboards/rico/phoenix_project_no1/info.json b/keyboards/rico/phoenix_project_no1/info.json index 7b13e4a0dfa..4d354ce0af7 100644 --- a/keyboards/rico/phoenix_project_no1/info.json +++ b/keyboards/rico/phoenix_project_no1/info.json @@ -44,8 +44,11 @@ "driver": "vendor", "pin": "GP28" }, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, "layouts": { - "LAYOUT": { + "LAYOUT_all": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -118,6 +121,610 @@ {"matrix": [4, 14], "x": 14, "y": 4}, {"matrix": [4, 15], "x": 15, "y": 4} ] + }, + "LAYOUT_65_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, 14], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [2, 14], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 11.5, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_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, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [2, 14], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 11.5, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_wkl": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 14], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [2, 14], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 1.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 3, "y": 4, "w": 7}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 11.5, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_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, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [2, 14], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 1.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 3, "y": 4, "w": 7}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 11.5, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_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, 14], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 11.5, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_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, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 11.5, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_wkl": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 14], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 1.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 3, "y": 4, "w": 7}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 11.5, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_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, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 1.75, "y": 2}, + {"matrix": [2, 3], "x": 2.75, "y": 2}, + {"matrix": [2, 4], "x": 3.75, "y": 2}, + {"matrix": [2, 5], "x": 4.75, "y": 2}, + {"matrix": [2, 6], "x": 5.75, "y": 2}, + {"matrix": [2, 7], "x": 6.75, "y": 2}, + {"matrix": [2, 8], "x": 7.75, "y": 2}, + {"matrix": [2, 9], "x": 8.75, "y": 2}, + {"matrix": [2, 10], "x": 9.75, "y": 2}, + {"matrix": [2, 11], "x": 10.75, "y": 2}, + {"matrix": [2, 12], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 1.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 3, "y": 4, "w": 7}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 11.5, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13, "y": 4}, + {"matrix": [4, 14], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] } } } diff --git a/keyboards/rico/phoenix_project_no1/keymaps/default/keymap.c b/keyboards/rico/phoenix_project_no1/keymaps/default/keymap.c index a4d58d9097e..41426011258 100644 --- a/keyboards/rico/phoenix_project_no1/keymaps/default/keymap.c +++ b/keyboards/rico/phoenix_project_no1/keymaps/default/keymap.c @@ -25,21 +25,21 @@ enum layer_names { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT( + [_BASE] = LAYOUT_all( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_NO, 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_PGUP, 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_NO, KC_ENT, KC_PGDN, KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(_FN), KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT ), - [_FN] = LAYOUT( + [_FN] = LAYOUT_all( RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FN2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - [_FN2] = LAYOUT( + [_FN2] = LAYOUT_all( QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/rico/phoenix_project_no1/keymaps/via/keymap.c b/keyboards/rico/phoenix_project_no1/keymaps/via/keymap.c index a4d58d9097e..41426011258 100644 --- a/keyboards/rico/phoenix_project_no1/keymaps/via/keymap.c +++ b/keyboards/rico/phoenix_project_no1/keymaps/via/keymap.c @@ -25,21 +25,21 @@ enum layer_names { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT( + [_BASE] = LAYOUT_all( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_NO, 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_PGUP, 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_NO, KC_ENT, KC_PGDN, KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(_FN), KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT ), - [_FN] = LAYOUT( + [_FN] = LAYOUT_all( RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FN2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), - [_FN2] = LAYOUT( + [_FN2] = LAYOUT_all( QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/rico/phoenix_project_no1/matrix_diagram.md b/keyboards/rico/phoenix_project_no1/matrix_diagram.md new file mode 100644 index 00000000000..0a13aecc838 --- /dev/null +++ b/keyboards/rico/phoenix_project_no1/matrix_diagram.md @@ -0,0 +1,24 @@ +# Matrix Diagram for Rico Phoenix Project No 1 + +``` + ┌───────┐ + 2u Backspace │0E │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│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 │1E │1F │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐2E │ ISO Enter +│20 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2E │2F │ │2D │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │3E │3F │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┤ +│40 │41 │42 │46 │4A │4C │4D │4E │4F │ +└────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┴───┘ +┌────────┐ +│30 │ 2.25u LShift +└────────┘ +┌─────┬─────┬───────────────────────────┬─────┬─────┐ +│40 │42 │46 │4A │4C │ WKL +└─────┴─────┴───────────────────────────┴─────┴─────┘ +``` From 6b1b746f666cef65e3cf9727f807ceac09cadc4f Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat, 16 Sep 2023 13:41:40 -0700 Subject: [PATCH 051/144] RuckerMachine RM Fullsize Layout Additions (#22036) * Add layout/matrix diagram [docs] * Rename `LAYOUT` to `LAYOUT_all` [refactor] * Add `LAYOUT_fullsize_108_ansi` [enhancement] * Add `LAYOUT_fullsize_108_ansi_tsangan` [enhancement] --- keyboards/rmkeebs/rm_fullsize/info.json | 238 +++++++++++++++++- .../rm_fullsize/keymaps/default/keymap.c | 2 +- .../rmkeebs/rm_fullsize/matrix_diagram.md | 24 ++ 3 files changed, 262 insertions(+), 2 deletions(-) create mode 100644 keyboards/rmkeebs/rm_fullsize/matrix_diagram.md diff --git a/keyboards/rmkeebs/rm_fullsize/info.json b/keyboards/rmkeebs/rm_fullsize/info.json index 4b02137ad3e..f9ff4dd5b86 100644 --- a/keyboards/rmkeebs/rm_fullsize/info.json +++ b/keyboards/rmkeebs/rm_fullsize/info.json @@ -29,8 +29,11 @@ { "pin_a": "GP11", "pin_b": "GP10" } ] }, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, "layouts": { - "LAYOUT": { + "LAYOUT_all": { "layout": [ { "matrix": [0, 0], "x": 0, "y": 0.25 }, { "matrix": [0, 2], "x": 2, "y": 0.25 }, @@ -150,6 +153,239 @@ { "matrix": [5, 18], "x": 20.5, "y": 5.5 }, { "matrix": [5, 19], "x": 21.5, "y": 5.5 } ] + }, + "LAYOUT_fullsize_108_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.25}, + {"matrix": [0, 2], "x": 2, "y": 0.25}, + {"matrix": [0, 3], "x": 3, "y": 0.25}, + {"matrix": [0, 4], "x": 4, "y": 0.25}, + {"matrix": [0, 5], "x": 5, "y": 0.25}, + {"matrix": [0, 6], "x": 6.5, "y": 0.25}, + {"matrix": [0, 7], "x": 7.5, "y": 0.25}, + {"matrix": [0, 8], "x": 8.5, "y": 0.25}, + {"matrix": [0, 9], "x": 9.5, "y": 0.25}, + {"matrix": [0, 10], "x": 11, "y": 0.25}, + {"matrix": [0, 11], "x": 12, "y": 0.25}, + {"matrix": [0, 12], "x": 13, "y": 0.25}, + {"matrix": [0, 13], "x": 14, "y": 0.25}, + {"matrix": [0, 14], "x": 15.25, "y": 0.25}, + {"matrix": [0, 15], "x": 16.25, "y": 0.25}, + {"matrix": [3, 15], "x": 17.25, "y": 0.25}, + {"matrix": [0, 16], "x": 18.5, "y": 0.25}, + {"matrix": [0, 17], "x": 19.5, "y": 0.25}, + {"matrix": [0, 18], "x": 20.5, "y": 0.25}, + {"matrix": [0, 19], "x": 21.75, "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": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.5}, + {"matrix": [1, 10], "x": 10, "y": 1.5}, + {"matrix": [1, 11], "x": 11, "y": 1.5}, + {"matrix": [1, 12], "x": 12, "y": 1.5}, + {"matrix": [2, 13], "x": 13, "y": 1.5, "w": 2}, + {"matrix": [1, 14], "x": 15.25, "y": 1.5}, + {"matrix": [1, 15], "x": 16.25, "y": 1.5}, + {"matrix": [4, 15], "x": 17.25, "y": 1.5}, + {"matrix": [1, 16], "x": 18.5, "y": 1.5}, + {"matrix": [1, 17], "x": 19.5, "y": 1.5}, + {"matrix": [1, 18], "x": 20.5, "y": 1.5}, + {"matrix": [1, 19], "x": 21.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": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [2, 9], "x": 9.5, "y": 2.5}, + {"matrix": [2, 10], "x": 10.5, "y": 2.5}, + {"matrix": [2, 11], "x": 11.5, "y": 2.5}, + {"matrix": [2, 12], "x": 12.5, "y": 2.5}, + {"matrix": [3, 13], "x": 13.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 14], "x": 15.25, "y": 2.5}, + {"matrix": [2, 15], "x": 16.25, "y": 2.5}, + {"matrix": [5, 15], "x": 17.25, "y": 2.5}, + {"matrix": [2, 16], "x": 18.5, "y": 2.5}, + {"matrix": [2, 17], "x": 19.5, "y": 2.5}, + {"matrix": [2, 18], "x": 20.5, "y": 2.5}, + {"matrix": [3, 19], "x": 21.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": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [3, 9], "x": 9.75, "y": 3.5}, + {"matrix": [3, 10], "x": 10.75, "y": 3.5}, + {"matrix": [3, 11], "x": 11.75, "y": 3.5}, + {"matrix": [3, 12], "x": 12.75, "y": 3.5, "w": 2.25}, + {"matrix": [3, 16], "x": 18.5, "y": 3.5}, + {"matrix": [3, 17], "x": 19.5, "y": 3.5}, + {"matrix": [3, 18], "x": 20.5, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [4, 1], "x": 2.25, "y": 4.5}, + {"matrix": [4, 2], "x": 3.25, "y": 4.5}, + {"matrix": [4, 3], "x": 4.25, "y": 4.5}, + {"matrix": [4, 4], "x": 5.25, "y": 4.5}, + {"matrix": [4, 5], "x": 6.25, "y": 4.5}, + {"matrix": [4, 6], "x": 7.25, "y": 4.5}, + {"matrix": [4, 7], "x": 8.25, "y": 4.5}, + {"matrix": [4, 8], "x": 9.25, "y": 4.5}, + {"matrix": [4, 9], "x": 10.25, "y": 4.5}, + {"matrix": [4, 10], "x": 11.25, "y": 4.5}, + {"matrix": [4, 11], "x": 12.25, "y": 4.5, "w": 2.75}, + {"matrix": [3, 14], "x": 16.25, "y": 4.5}, + {"matrix": [4, 16], "x": 18.5, "y": 4.5}, + {"matrix": [4, 17], "x": 19.5, "y": 4.5}, + {"matrix": [4, 18], "x": 20.5, "y": 4.5}, + {"matrix": [5, 19], "x": 21.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, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 6], "x": 3.75, "y": 5.5, "w": 6.25}, + {"matrix": [5, 9], "x": 10, "y": 5.5, "w": 1.25}, + {"matrix": [5, 10], "x": 11.25, "y": 5.5, "w": 1.25}, + {"matrix": [5, 11], "x": 12.5, "y": 5.5, "w": 1.25}, + {"matrix": [5, 12], "x": 13.75, "y": 5.5, "w": 1.25}, + {"matrix": [5, 13], "x": 15.25, "y": 5.5}, + {"matrix": [4, 14], "x": 16.25, "y": 5.5}, + {"matrix": [5, 14], "x": 17.25, "y": 5.5}, + {"matrix": [5, 16], "x": 18.5, "y": 5.5, "w": 2}, + {"matrix": [5, 18], "x": 20.5, "y": 5.5} + ] + }, + "LAYOUT_fullsize_108_ansi_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.25}, + {"matrix": [0, 2], "x": 2, "y": 0.25}, + {"matrix": [0, 3], "x": 3, "y": 0.25}, + {"matrix": [0, 4], "x": 4, "y": 0.25}, + {"matrix": [0, 5], "x": 5, "y": 0.25}, + {"matrix": [0, 6], "x": 6.5, "y": 0.25}, + {"matrix": [0, 7], "x": 7.5, "y": 0.25}, + {"matrix": [0, 8], "x": 8.5, "y": 0.25}, + {"matrix": [0, 9], "x": 9.5, "y": 0.25}, + {"matrix": [0, 10], "x": 11, "y": 0.25}, + {"matrix": [0, 11], "x": 12, "y": 0.25}, + {"matrix": [0, 12], "x": 13, "y": 0.25}, + {"matrix": [0, 13], "x": 14, "y": 0.25}, + {"matrix": [0, 14], "x": 15.25, "y": 0.25}, + {"matrix": [0, 15], "x": 16.25, "y": 0.25}, + {"matrix": [3, 15], "x": 17.25, "y": 0.25}, + {"matrix": [0, 16], "x": 18.5, "y": 0.25}, + {"matrix": [0, 17], "x": 19.5, "y": 0.25}, + {"matrix": [0, 18], "x": 20.5, "y": 0.25}, + {"matrix": [0, 19], "x": 21.75, "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": [1, 5], "x": 5, "y": 1.5}, + {"matrix": [1, 6], "x": 6, "y": 1.5}, + {"matrix": [1, 7], "x": 7, "y": 1.5}, + {"matrix": [1, 8], "x": 8, "y": 1.5}, + {"matrix": [1, 9], "x": 9, "y": 1.5}, + {"matrix": [1, 10], "x": 10, "y": 1.5}, + {"matrix": [1, 11], "x": 11, "y": 1.5}, + {"matrix": [1, 12], "x": 12, "y": 1.5}, + {"matrix": [2, 13], "x": 13, "y": 1.5, "w": 2}, + {"matrix": [1, 14], "x": 15.25, "y": 1.5}, + {"matrix": [1, 15], "x": 16.25, "y": 1.5}, + {"matrix": [4, 15], "x": 17.25, "y": 1.5}, + {"matrix": [1, 16], "x": 18.5, "y": 1.5}, + {"matrix": [1, 17], "x": 19.5, "y": 1.5}, + {"matrix": [1, 18], "x": 20.5, "y": 1.5}, + {"matrix": [1, 19], "x": 21.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": [2, 5], "x": 5.5, "y": 2.5}, + {"matrix": [2, 6], "x": 6.5, "y": 2.5}, + {"matrix": [2, 7], "x": 7.5, "y": 2.5}, + {"matrix": [2, 8], "x": 8.5, "y": 2.5}, + {"matrix": [2, 9], "x": 9.5, "y": 2.5}, + {"matrix": [2, 10], "x": 10.5, "y": 2.5}, + {"matrix": [2, 11], "x": 11.5, "y": 2.5}, + {"matrix": [2, 12], "x": 12.5, "y": 2.5}, + {"matrix": [3, 13], "x": 13.5, "y": 2.5, "w": 1.5}, + {"matrix": [2, 14], "x": 15.25, "y": 2.5}, + {"matrix": [2, 15], "x": 16.25, "y": 2.5}, + {"matrix": [5, 15], "x": 17.25, "y": 2.5}, + {"matrix": [2, 16], "x": 18.5, "y": 2.5}, + {"matrix": [2, 17], "x": 19.5, "y": 2.5}, + {"matrix": [2, 18], "x": 20.5, "y": 2.5}, + {"matrix": [3, 19], "x": 21.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": [3, 5], "x": 5.75, "y": 3.5}, + {"matrix": [3, 6], "x": 6.75, "y": 3.5}, + {"matrix": [3, 7], "x": 7.75, "y": 3.5}, + {"matrix": [3, 8], "x": 8.75, "y": 3.5}, + {"matrix": [3, 9], "x": 9.75, "y": 3.5}, + {"matrix": [3, 10], "x": 10.75, "y": 3.5}, + {"matrix": [3, 11], "x": 11.75, "y": 3.5}, + {"matrix": [3, 12], "x": 12.75, "y": 3.5, "w": 2.25}, + {"matrix": [3, 16], "x": 18.5, "y": 3.5}, + {"matrix": [3, 17], "x": 19.5, "y": 3.5}, + {"matrix": [3, 18], "x": 20.5, "y": 3.5}, + + {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 2.25}, + {"matrix": [4, 1], "x": 2.25, "y": 4.5}, + {"matrix": [4, 2], "x": 3.25, "y": 4.5}, + {"matrix": [4, 3], "x": 4.25, "y": 4.5}, + {"matrix": [4, 4], "x": 5.25, "y": 4.5}, + {"matrix": [4, 5], "x": 6.25, "y": 4.5}, + {"matrix": [4, 6], "x": 7.25, "y": 4.5}, + {"matrix": [4, 7], "x": 8.25, "y": 4.5}, + {"matrix": [4, 8], "x": 9.25, "y": 4.5}, + {"matrix": [4, 9], "x": 10.25, "y": 4.5}, + {"matrix": [4, 10], "x": 11.25, "y": 4.5}, + {"matrix": [4, 11], "x": 12.25, "y": 4.5, "w": 2.75}, + {"matrix": [3, 14], "x": 16.25, "y": 4.5}, + {"matrix": [4, 16], "x": 18.5, "y": 4.5}, + {"matrix": [4, 17], "x": 19.5, "y": 4.5}, + {"matrix": [4, 18], "x": 20.5, "y": 4.5}, + {"matrix": [5, 19], "x": 21.5, "y": 4.5, "h": 2}, + + {"matrix": [5, 0], "x": 0, "y": 5.5, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.5}, + {"matrix": [5, 2], "x": 2.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 5.5, "w": 7}, + {"matrix": [5, 10], "x": 11, "y": 5.5, "w": 1.5}, + {"matrix": [5, 11], "x": 12.5, "y": 5.5}, + {"matrix": [5, 12], "x": 13.5, "y": 5.5, "w": 1.5}, + {"matrix": [5, 13], "x": 15.25, "y": 5.5}, + {"matrix": [4, 14], "x": 16.25, "y": 5.5}, + {"matrix": [5, 14], "x": 17.25, "y": 5.5}, + {"matrix": [5, 16], "x": 18.5, "y": 5.5, "w": 2}, + {"matrix": [5, 18], "x": 20.5, "y": 5.5} + ] } } } diff --git a/keyboards/rmkeebs/rm_fullsize/keymaps/default/keymap.c b/keyboards/rmkeebs/rm_fullsize/keymaps/default/keymap.c index c94cc2e526e..8f9f2356e99 100644 --- a/keyboards/rmkeebs/rm_fullsize/keymaps/default/keymap.c +++ b/keyboards/rmkeebs/rm_fullsize/keymaps/default/keymap.c @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │ │ 0 │ 00│ . │Del│ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───┴───┴───┴───┘ */ - [0] = LAYOUT( + [0] = LAYOUT_all( 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_PSCR, KC_SCRL, KC_PAUS, KC_MPLY, KC_MPRV, KC_MNXT, 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, C(KC_Z), KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, diff --git a/keyboards/rmkeebs/rm_fullsize/matrix_diagram.md b/keyboards/rmkeebs/rm_fullsize/matrix_diagram.md new file mode 100644 index 00000000000..32c62990bca --- /dev/null +++ b/keyboards/rmkeebs/rm_fullsize/matrix_diagram.md @@ -0,0 +1,24 @@ +# Matrix Diagram for RuckerMachine rm_fullsize + +``` + ┌───────┐ + 2u Backspace │2D │ + └───────┘ ┌───┐ +┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐┌───┬───┬───┐┌───┬───┬───┐ │0J │ +│00 │ │02 │03 │04 │05 │ │06 │07 │08 │09 │ │0A │0B │0C │0D ││0E │0F │3F ││0G │0H │0I │ └───┘ +└───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘└───┴───┴───┘└───┴───┴───┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐┌───┬───┬───┬───┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │2D ││1E │1F │4F ││1G │1H │1I │1J │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤├───┼───┼───┼───┤ ┌───┐ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │3D ││2E │2F │5F ││2G │2H │2I │2J │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘├───┼───┼───┼───┤ │3J │ 2u Numpad Plus +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │ │3G │3H │3I │3J │ │ │ +├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ ├───┼───┼───┼───┤ ├───┤ +│40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │ │3E │ │4G │4H │4I │4J │ │ │ +├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤┌───┼───┼───┐├───┼───┼───┼───┤ │5J │ 2u Numpad Enter +│50 │51 │52 │56 │59 │5A │5B │5C ││5D │4E │5E ││5G │5H │5I │5J │ │ │ +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘└───┴───┴───┴───┘ └───┘ +┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ ┌───────┐ +│50 │51 │52 │56 │5A │5B │5C │ Tsangan │5G │ 2u Numpad Zero +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───────┘ +``` From 4162d1f0568c012bf3068cd8cdd2ec718fb58dbe Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sat, 16 Sep 2023 14:19:09 -0700 Subject: [PATCH 052/144] Sho Studios ARC Layout Addition (#22037) * Add layout/matrix diagram [docs] * Format `info.json` Apply four-space indent. [style] * Add `LAYOUT_ansi_split_bs` [enhancement] --- keyboards/shostudio/arc/info.json | 432 +++++++++++++--------- keyboards/shostudio/arc/matrix_diagram.md | 22 ++ 2 files changed, 282 insertions(+), 172 deletions(-) create mode 100644 keyboards/shostudio/arc/matrix_diagram.md diff --git a/keyboards/shostudio/arc/info.json b/keyboards/shostudio/arc/info.json index 0e7f2146496..33f9deb866a 100644 --- a/keyboards/shostudio/arc/info.json +++ b/keyboards/shostudio/arc/info.json @@ -29,181 +29,269 @@ "bootloader": "stm32duino", "layouts": { "LAYOUT_all": { - "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "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": [4, 7], "x": 8.25, "y": 0}, - {"matrix": [0, 8], "x": 10.75, "y": 0}, - {"matrix": [0, 9], "x": 11.75, "y": 0}, - {"matrix": [0, 10], "x": 12.75, "y": 0}, - {"matrix": [0, 11], "x": 13.75, "y": 0}, - {"matrix": [0, 12], "x": 14.75, "y": 0}, - {"matrix": [0, 13], "x": 15.75, "y": 0}, - {"matrix": [0, 14], "x": 16.75, "y": 0}, - {"matrix": [0, 15], "x": 17.75, "y": 0}, - {"matrix": [0, 16], "x": 18.75, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5}, - {"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": 10.25, "y": 1}, - {"matrix": [1, 9], "x": 11.25, "y": 1}, - {"matrix": [1, 10], "x": 12.25, "y": 1}, - {"matrix": [1, 11], "x": 13.25, "y": 1}, - {"matrix": [1, 12], "x": 14.25, "y": 1}, - {"matrix": [1, 13], "x": 15.25, "y": 1}, - {"matrix": [1, 14], "x": 16.25, "y": 1}, - {"matrix": [1, 15], "x": 17.25, "y": 1, "w": 1.5}, - {"matrix": [1, 16], "x": 18.75, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75}, - {"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": 10.5, "y": 2}, - {"matrix": [2, 9], "x": 11.5, "y": 2}, - {"matrix": [2, 10], "x": 12.5, "y": 2}, - {"matrix": [2, 11], "x": 13.5, "y": 2}, - {"matrix": [2, 12], "x": 14.5, "y": 2}, - {"matrix": [2, 13], "x": 15.5, "y": 2}, - {"matrix": [2, 14], "x": 16.5, "y": 2}, - {"matrix": [2, 15], "x": 17.5, "y": 2, "w": 1.25}, - {"matrix": [2, 16], "x": 18.75, "y": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3}, - {"matrix": [3, 1], "x": 1, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 1.25}, - {"matrix": [4, 3], "x": 3.5, "y": 3}, - {"matrix": [3, 3], "x": 4.5, "y": 3}, - {"matrix": [3, 4], "x": 5.5, "y": 3}, - {"matrix": [3, 5], "x": 6.5, "y": 3}, - {"matrix": [3, 6], "x": 7.5, "y": 3}, - {"matrix": [3, 7], "x": 8.5, "y": 3}, - {"matrix": [3, 8], "x": 10, "y": 3}, - {"matrix": [3, 9], "x": 11, "y": 3}, - {"matrix": [3, 10], "x": 12, "y": 3}, - {"matrix": [3, 11], "x": 13, "y": 3}, - {"matrix": [3, 12], "x": 14, "y": 3}, - {"matrix": [3, 13], "x": 15, "y": 3}, - {"matrix": [3, 14], "x": 16, "y": 3, "w": 1.75}, - {"matrix": [3, 15], "x": 17.75, "y": 3}, - {"matrix": [3, 16], "x": 18.75, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4}, - {"matrix": [4, 1], "x": 1, "y": 4}, - {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, - {"matrix": [4, 4], "x": 5, "y": 4, "w": 1.5}, - {"matrix": [4, 5], "x": 6.5, "y": 4, "w": 2.25}, - {"matrix": [4, 6], "x": 8.75, "y": 4}, - {"matrix": [4, 9], "x": 10, "y": 4, "w": 2.75}, - {"matrix": [4, 11], "x": 12.75, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 14, "y": 4, "w": 1.25}, - {"matrix": [4, 14], "x": 16.75, "y": 4}, - {"matrix": [4, 15], "x": 17.75, "y": 4}, - {"matrix": [4, 16], "x": 18.75, "y": 4} - ] + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "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": [4, 7], "x": 8.25, "y": 0}, + {"matrix": [0, 8], "x": 10.75, "y": 0}, + {"matrix": [0, 9], "x": 11.75, "y": 0}, + {"matrix": [0, 10], "x": 12.75, "y": 0}, + {"matrix": [0, 11], "x": 13.75, "y": 0}, + {"matrix": [0, 12], "x": 14.75, "y": 0}, + {"matrix": [0, 13], "x": 15.75, "y": 0}, + {"matrix": [0, 14], "x": 16.75, "y": 0}, + {"matrix": [0, 15], "x": 17.75, "y": 0}, + {"matrix": [0, 16], "x": 18.75, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5}, + {"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": 10.25, "y": 1}, + {"matrix": [1, 9], "x": 11.25, "y": 1}, + {"matrix": [1, 10], "x": 12.25, "y": 1}, + {"matrix": [1, 11], "x": 13.25, "y": 1}, + {"matrix": [1, 12], "x": 14.25, "y": 1}, + {"matrix": [1, 13], "x": 15.25, "y": 1}, + {"matrix": [1, 14], "x": 16.25, "y": 1}, + {"matrix": [1, 15], "x": 17.25, "y": 1, "w": 1.5}, + {"matrix": [1, 16], "x": 18.75, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75}, + {"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": 10.5, "y": 2}, + {"matrix": [2, 9], "x": 11.5, "y": 2}, + {"matrix": [2, 10], "x": 12.5, "y": 2}, + {"matrix": [2, 11], "x": 13.5, "y": 2}, + {"matrix": [2, 12], "x": 14.5, "y": 2}, + {"matrix": [2, 13], "x": 15.5, "y": 2}, + {"matrix": [2, 14], "x": 16.5, "y": 2}, + {"matrix": [2, 15], "x": 17.5, "y": 2, "w": 1.25}, + {"matrix": [2, 16], "x": 18.75, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 1.25}, + {"matrix": [4, 3], "x": 3.5, "y": 3}, + {"matrix": [3, 3], "x": 4.5, "y": 3}, + {"matrix": [3, 4], "x": 5.5, "y": 3}, + {"matrix": [3, 5], "x": 6.5, "y": 3}, + {"matrix": [3, 6], "x": 7.5, "y": 3}, + {"matrix": [3, 7], "x": 8.5, "y": 3}, + {"matrix": [3, 8], "x": 10, "y": 3}, + {"matrix": [3, 9], "x": 11, "y": 3}, + {"matrix": [3, 10], "x": 12, "y": 3}, + {"matrix": [3, 11], "x": 13, "y": 3}, + {"matrix": [3, 12], "x": 14, "y": 3}, + {"matrix": [3, 13], "x": 15, "y": 3}, + {"matrix": [3, 14], "x": 16, "y": 3, "w": 1.75}, + {"matrix": [3, 15], "x": 17.75, "y": 3}, + {"matrix": [3, 16], "x": 18.75, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4}, + {"matrix": [4, 1], "x": 1, "y": 4}, + {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, + {"matrix": [4, 4], "x": 5, "y": 4, "w": 1.5}, + {"matrix": [4, 5], "x": 6.5, "y": 4, "w": 2.25}, + {"matrix": [4, 6], "x": 8.75, "y": 4}, + {"matrix": [4, 9], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [4, 11], "x": 12.75, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 14, "y": 4, "w": 1.25}, + {"matrix": [4, 14], "x": 16.75, "y": 4}, + {"matrix": [4, 15], "x": 17.75, "y": 4}, + {"matrix": [4, 16], "x": 18.75, "y": 4} + ] }, "LAYOUT_ansi": { "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0}, - {"matrix": [0, 1], "x": 1, "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": [4, 7], "x": 8.25, "y": 0}, - {"matrix": [0, 8], "x": 10.75, "y": 0}, - {"matrix": [0, 9], "x": 11.75, "y": 0}, - {"matrix": [0, 10], "x": 12.75, "y": 0}, - {"matrix": [0, 11], "x": 13.75, "y": 0}, - {"matrix": [0, 12], "x": 14.75, "y": 0}, - {"matrix": [0, 13], "x": 15.75, "y": 0}, - {"matrix": [0, 14], "x": 16.75, "y": 0, "w": 2}, - {"matrix": [0, 16], "x": 18.75, "y": 0}, - - {"matrix": [1, 0], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5}, - {"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": 10.25, "y": 1}, - {"matrix": [1, 9], "x": 11.25, "y": 1}, - {"matrix": [1, 10], "x": 12.25, "y": 1}, - {"matrix": [1, 11], "x": 13.25, "y": 1}, - {"matrix": [1, 12], "x": 14.25, "y": 1}, - {"matrix": [1, 13], "x": 15.25, "y": 1}, - {"matrix": [1, 14], "x": 16.25, "y": 1}, - {"matrix": [1, 15], "x": 17.25, "y": 1, "w": 1.5}, - {"matrix": [1, 16], "x": 18.75, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75}, - {"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": 10.5, "y": 2}, - {"matrix": [2, 9], "x": 11.5, "y": 2}, - {"matrix": [2, 10], "x": 12.5, "y": 2}, - {"matrix": [2, 11], "x": 13.5, "y": 2}, - {"matrix": [2, 12], "x": 14.5, "y": 2}, - {"matrix": [2, 13], "x": 15.5, "y": 2}, - {"matrix": [2, 15], "x": 16.5, "y": 2, "w": 2.25}, - {"matrix": [2, 16], "x": 18.75, "y": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3}, - {"matrix": [3, 1], "x": 1, "y": 3}, - {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25}, - {"matrix": [3, 3], "x": 4.5, "y": 3}, - {"matrix": [3, 4], "x": 5.5, "y": 3}, - {"matrix": [3, 5], "x": 6.5, "y": 3}, - {"matrix": [3, 6], "x": 7.5, "y": 3}, - {"matrix": [3, 7], "x": 8.5, "y": 3}, - {"matrix": [3, 8], "x": 10, "y": 3}, - {"matrix": [3, 9], "x": 11, "y": 3}, - {"matrix": [3, 10], "x": 12, "y": 3}, - {"matrix": [3, 11], "x": 13, "y": 3}, - {"matrix": [3, 12], "x": 14, "y": 3}, - {"matrix": [3, 13], "x": 15, "y": 3}, - {"matrix": [3, 14], "x": 16, "y": 3, "w": 1.75}, - {"matrix": [3, 15], "x": 17.75, "y": 3}, - {"matrix": [3, 16], "x": 18.75, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4}, - {"matrix": [4, 1], "x": 1, "y": 4}, - {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, - {"matrix": [4, 4], "x": 5, "y": 4, "w": 1.5}, - {"matrix": [4, 5], "x": 6.5, "y": 4, "w": 2.25}, - {"matrix": [4, 6], "x": 8.75, "y": 4}, - {"matrix": [4, 9], "x": 10, "y": 4, "w": 2.75}, - {"matrix": [4, 11], "x": 12.75, "y": 4, "w": 1.25}, - {"matrix": [4, 12], "x": 14, "y": 4, "w": 1.25}, - {"matrix": [4, 14], "x": 16.75, "y": 4}, - {"matrix": [4, 15], "x": 17.75, "y": 4}, - {"matrix": [4, 16], "x": 18.75, "y": 4} - ] + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "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": [4, 7], "x": 8.25, "y": 0}, + {"matrix": [0, 8], "x": 10.75, "y": 0}, + {"matrix": [0, 9], "x": 11.75, "y": 0}, + {"matrix": [0, 10], "x": 12.75, "y": 0}, + {"matrix": [0, 11], "x": 13.75, "y": 0}, + {"matrix": [0, 12], "x": 14.75, "y": 0}, + {"matrix": [0, 13], "x": 15.75, "y": 0}, + {"matrix": [0, 14], "x": 16.75, "y": 0, "w": 2}, + {"matrix": [0, 16], "x": 18.75, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5}, + {"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": 10.25, "y": 1}, + {"matrix": [1, 9], "x": 11.25, "y": 1}, + {"matrix": [1, 10], "x": 12.25, "y": 1}, + {"matrix": [1, 11], "x": 13.25, "y": 1}, + {"matrix": [1, 12], "x": 14.25, "y": 1}, + {"matrix": [1, 13], "x": 15.25, "y": 1}, + {"matrix": [1, 14], "x": 16.25, "y": 1}, + {"matrix": [1, 15], "x": 17.25, "y": 1, "w": 1.5}, + {"matrix": [1, 16], "x": 18.75, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75}, + {"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": 10.5, "y": 2}, + {"matrix": [2, 9], "x": 11.5, "y": 2}, + {"matrix": [2, 10], "x": 12.5, "y": 2}, + {"matrix": [2, 11], "x": 13.5, "y": 2}, + {"matrix": [2, 12], "x": 14.5, "y": 2}, + {"matrix": [2, 13], "x": 15.5, "y": 2}, + {"matrix": [2, 15], "x": 16.5, "y": 2, "w": 2.25}, + {"matrix": [2, 16], "x": 18.75, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25}, + {"matrix": [3, 3], "x": 4.5, "y": 3}, + {"matrix": [3, 4], "x": 5.5, "y": 3}, + {"matrix": [3, 5], "x": 6.5, "y": 3}, + {"matrix": [3, 6], "x": 7.5, "y": 3}, + {"matrix": [3, 7], "x": 8.5, "y": 3}, + {"matrix": [3, 8], "x": 10, "y": 3}, + {"matrix": [3, 9], "x": 11, "y": 3}, + {"matrix": [3, 10], "x": 12, "y": 3}, + {"matrix": [3, 11], "x": 13, "y": 3}, + {"matrix": [3, 12], "x": 14, "y": 3}, + {"matrix": [3, 13], "x": 15, "y": 3}, + {"matrix": [3, 14], "x": 16, "y": 3, "w": 1.75}, + {"matrix": [3, 15], "x": 17.75, "y": 3}, + {"matrix": [3, 16], "x": 18.75, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4}, + {"matrix": [4, 1], "x": 1, "y": 4}, + {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, + {"matrix": [4, 4], "x": 5, "y": 4, "w": 1.5}, + {"matrix": [4, 5], "x": 6.5, "y": 4, "w": 2.25}, + {"matrix": [4, 6], "x": 8.75, "y": 4}, + {"matrix": [4, 9], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [4, 11], "x": 12.75, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 14, "y": 4, "w": 1.25}, + {"matrix": [4, 14], "x": 16.75, "y": 4}, + {"matrix": [4, 15], "x": 17.75, "y": 4}, + {"matrix": [4, 16], "x": 18.75, "y": 4} + ] + }, + "LAYOUT_ansi_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "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": [4, 7], "x": 8.25, "y": 0}, + {"matrix": [0, 8], "x": 10.75, "y": 0}, + {"matrix": [0, 9], "x": 11.75, "y": 0}, + {"matrix": [0, 10], "x": 12.75, "y": 0}, + {"matrix": [0, 11], "x": 13.75, "y": 0}, + {"matrix": [0, 12], "x": 14.75, "y": 0}, + {"matrix": [0, 13], "x": 15.75, "y": 0}, + {"matrix": [0, 14], "x": 16.75, "y": 0}, + {"matrix": [0, 15], "x": 17.75, "y": 0}, + {"matrix": [0, 16], "x": 18.75, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5}, + {"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": 10.25, "y": 1}, + {"matrix": [1, 9], "x": 11.25, "y": 1}, + {"matrix": [1, 10], "x": 12.25, "y": 1}, + {"matrix": [1, 11], "x": 13.25, "y": 1}, + {"matrix": [1, 12], "x": 14.25, "y": 1}, + {"matrix": [1, 13], "x": 15.25, "y": 1}, + {"matrix": [1, 14], "x": 16.25, "y": 1}, + {"matrix": [1, 15], "x": 17.25, "y": 1, "w": 1.5}, + {"matrix": [1, 16], "x": 18.75, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75}, + {"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": 10.5, "y": 2}, + {"matrix": [2, 9], "x": 11.5, "y": 2}, + {"matrix": [2, 10], "x": 12.5, "y": 2}, + {"matrix": [2, 11], "x": 13.5, "y": 2}, + {"matrix": [2, 12], "x": 14.5, "y": 2}, + {"matrix": [2, 13], "x": 15.5, "y": 2}, + {"matrix": [2, 15], "x": 16.5, "y": 2, "w": 2.25}, + {"matrix": [2, 16], "x": 18.75, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25}, + {"matrix": [3, 3], "x": 4.5, "y": 3}, + {"matrix": [3, 4], "x": 5.5, "y": 3}, + {"matrix": [3, 5], "x": 6.5, "y": 3}, + {"matrix": [3, 6], "x": 7.5, "y": 3}, + {"matrix": [3, 7], "x": 8.5, "y": 3}, + {"matrix": [3, 8], "x": 10, "y": 3}, + {"matrix": [3, 9], "x": 11, "y": 3}, + {"matrix": [3, 10], "x": 12, "y": 3}, + {"matrix": [3, 11], "x": 13, "y": 3}, + {"matrix": [3, 12], "x": 14, "y": 3}, + {"matrix": [3, 13], "x": 15, "y": 3}, + {"matrix": [3, 14], "x": 16, "y": 3, "w": 1.75}, + {"matrix": [3, 15], "x": 17.75, "y": 3}, + {"matrix": [3, 16], "x": 18.75, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4}, + {"matrix": [4, 1], "x": 1, "y": 4}, + {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, + {"matrix": [4, 4], "x": 5, "y": 4, "w": 1.5}, + {"matrix": [4, 5], "x": 6.5, "y": 4, "w": 2.25}, + {"matrix": [4, 6], "x": 8.75, "y": 4}, + {"matrix": [4, 9], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [4, 11], "x": 12.75, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 14, "y": 4, "w": 1.25}, + {"matrix": [4, 14], "x": 16.75, "y": 4}, + {"matrix": [4, 15], "x": 17.75, "y": 4}, + {"matrix": [4, 16], "x": 18.75, "y": 4} + ] }, "LAYOUT_iso": { "layout": [ diff --git a/keyboards/shostudio/arc/matrix_diagram.md b/keyboards/shostudio/arc/matrix_diagram.md new file mode 100644 index 00000000000..f0df7ca89f6 --- /dev/null +++ b/keyboards/shostudio/arc/matrix_diagram.md @@ -0,0 +1,22 @@ +# Matrix Diagram for shostudios ARC + + +``` +┌───┬───┐┌───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───────┐ +│00 │01 ││02 │03 │04 │05 │06 │07 │47 │ │08 │09 │0A │0B │0C │0D │0E │0F │0G │ │0E │ 2u Backspace +├───┼───┤├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┘ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ └─┬─────┤ +│10 │11 ││12 │13 │14 │15 │16 │17 │ │18 │19 │1A │1B │1C │1D │1E │1F │1G │ │ │ +├───┼───┤├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ └┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐2F │ ISO Enter +│20 │21 ││22 │23 │24 │25 │26 │27 │ │28 │29 │2A │2B │2C │2D │2F │2G │ │2E │ │ +├───┼───┤├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┐ ┌─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘ +│30 │31 ││32 │43 │33 │34 │35 │36 │37 │ │38 │39 │3A │3B │3C │3D │3E │3F │3G │ +├───┼───┤├────┴┬──┴─┬─┴───┼───┴───┴┬──┴┐ ├───┴───┴──┬┴───┼───┴┬──┴──┬───┼───┼───┤ +│40 │41 ││42 │ │44 │45 │46 │ │49 │4B │4C │ │4E │4F │4G │ +└───┴───┘└─────┘ └─────┴────────┴───┘ └──────────┴────┴────┘ └───┴───┴───┘ + ┌────────┐ ┌───┬────────┐ ┌───┬─────┐ + │32 │ │45 │46 │ │4B │4C │ + └────────┘ └───┴────────┘ └───┴─────┘ + 2.25u ┌─────┬───┐ + LShift │4B │4C │ + └─────┴───┘ +``` From 39fafdac0f7d53cd83077bb4a5e90828c5186c55 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 17 Sep 2023 08:11:32 +0100 Subject: [PATCH 053/144] Move Digitizer to "Software Features" (#22031) --- docs/_summary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/_summary.md b/docs/_summary.md index d7dbd38c988..26a543aee42 100644 --- a/docs/_summary.md +++ b/docs/_summary.md @@ -80,6 +80,7 @@ * [Caps Word](feature_caps_word.md) * [Combos](feature_combo.md) * [Debounce API](feature_debounce_type.md) + * [Digitizer](feature_digitizer.md) * [EEPROM](feature_eeprom.md) * [Key Lock](feature_key_lock.md) * [Key Overrides](feature_key_overrides.md) @@ -115,7 +116,6 @@ * [Bootmagic Lite](feature_bootmagic.md) * [Converters](feature_converters.md) * [Custom Matrix](custom_matrix.md) - * [Digitizer](feature_digitizer.md) * [DIP Switch](feature_dip_switch.md) * [Encoders](feature_encoders.md) * [Haptic Feedback](feature_haptic_feedback.md) From 1fbd45a5949acc6bc51c4bbd80ad2d4c249e7805 Mon Sep 17 00:00:00 2001 From: Constantine Karos <36245370+karosc@users.noreply.github.com> Date: Sun, 17 Sep 2023 08:18:26 -0400 Subject: [PATCH 054/144] Add missing gpio and chibios defs to uart.h (#22033) --- platforms/chibios/drivers/uart.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/platforms/chibios/drivers/uart.h b/platforms/chibios/drivers/uart.h index d1917bfc800..16983072cec 100644 --- a/platforms/chibios/drivers/uart.h +++ b/platforms/chibios/drivers/uart.h @@ -21,6 +21,9 @@ #include +#include "gpio.h" +#include "chibios_config.h" + #ifndef SERIAL_DRIVER # define SERIAL_DRIVER SD1 #endif From 9f9ad95fb40a31a89f71ba85f846f6adb60d2e11 Mon Sep 17 00:00:00 2001 From: Yak <68242321+yakMM@users.noreply.github.com> Date: Sun, 17 Sep 2023 19:32:44 +0200 Subject: [PATCH 055/144] Fix paragon encoder pinout for soldered version (#22043) --- keyboards/artemis/paragon/hotswap/info.json | 5 +++++ keyboards/artemis/paragon/info.json | 5 ----- keyboards/artemis/paragon/soldered/info.json | 5 +++++ 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/keyboards/artemis/paragon/hotswap/info.json b/keyboards/artemis/paragon/hotswap/info.json index d70625c1d6c..0882579dec1 100644 --- a/keyboards/artemis/paragon/hotswap/info.json +++ b/keyboards/artemis/paragon/hotswap/info.json @@ -3,6 +3,11 @@ "cols": ["F7", "F6", "F5", "F4", "F1", "F0", "C7", "E6", "B0", "B3", "B6", "B5", "B4", "D7", "D4", "D6"], "rows": ["D2", "D1", "D0", "B2", "B1", "C6"] }, + "encoder": { + "rotary": [ + { "pin_a": "D3", "pin_b": "D5", "resolution": 2 } + ] + }, "layouts": { "LAYOUT_ansi_rwkl": { "layout": [ diff --git a/keyboards/artemis/paragon/info.json b/keyboards/artemis/paragon/info.json index b18b3b28db2..63fefe8c55c 100644 --- a/keyboards/artemis/paragon/info.json +++ b/keyboards/artemis/paragon/info.json @@ -18,11 +18,6 @@ }, "processor": "atmega32u4", "url": "", - "encoder": { - "rotary": [ - { "pin_a": "D3", "pin_b": "D5", "resolution": 2 } - ] - }, "usb": { "device_version": "1.0.0", "pid": "0x3449", diff --git a/keyboards/artemis/paragon/soldered/info.json b/keyboards/artemis/paragon/soldered/info.json index b531b22f807..169acb4fb4d 100644 --- a/keyboards/artemis/paragon/soldered/info.json +++ b/keyboards/artemis/paragon/soldered/info.json @@ -3,6 +3,11 @@ "cols": ["E6", "F0", "F1", "F4", "F5", "F6", "F7", "B0", "B1", "B3", "D0", "D1", "D2", "D3", "D7", "D5"], "rows": ["B2", "C7", "C6", "B6", "B5", "B4"] }, + "encoder": { + "rotary": [ + { "pin_a": "D4", "pin_b": "D6", "resolution": 2 } + ] + }, "layouts": { "LAYOUT_ansi_rwkl": { "layout": [ From 652c5a941099a6778b3d6a6eef703582c124e383 Mon Sep 17 00:00:00 2001 From: Moritz Plattner Date: Sun, 17 Sep 2023 19:35:29 +0200 Subject: [PATCH 056/144] geistmaschine/macropod: fix issues waking up after suspend on apple devices (#22023) --- keyboards/geistmaschine/macropod/config.h | 3 +++ keyboards/geistmaschine/macropod/info.json | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/keyboards/geistmaschine/macropod/config.h b/keyboards/geistmaschine/macropod/config.h index f6dad6ebe03..e12d3b94fa4 100644 --- a/keyboards/geistmaschine/macropod/config.h +++ b/keyboards/geistmaschine/macropod/config.h @@ -19,3 +19,6 @@ IO expander setup would allow up to 1x16 + 1 from the MCU */ #define MATRIX_ROWS 1 #define MATRIX_COLS 17 + +/* Fix for Apple Silicon Macs struggling to detect board after suspend/sleep */ +#define USB_SUSPEND_WAKEUP_DELAY 200 \ No newline at end of file diff --git a/keyboards/geistmaschine/macropod/info.json b/keyboards/geistmaschine/macropod/info.json index 886ed5acaf0..333e7c0a509 100644 --- a/keyboards/geistmaschine/macropod/info.json +++ b/keyboards/geistmaschine/macropod/info.json @@ -15,7 +15,7 @@ "command": false, "console": false, "extrakey": true, - "mousekey": false, + "mousekey": true, "nkro": false, "encoder": true }, From 6129f5f68b404ed79c9f0902fb0c8dbb192ba284 Mon Sep 17 00:00:00 2001 From: Controller Works <103382872+controller-works@users.noreply.github.com> Date: Sun, 17 Sep 2023 13:41:26 -0400 Subject: [PATCH 057/144] Add all RGB Matrix Animations to city42 (#21992) --- keyboards/controllerworks/city42/info.json | 42 +++++++++++++++------- 1 file changed, 30 insertions(+), 12 deletions(-) diff --git a/keyboards/controllerworks/city42/info.json b/keyboards/controllerworks/city42/info.json index 914b716f111..2976021b11a 100644 --- a/keyboards/controllerworks/city42/info.json +++ b/keyboards/controllerworks/city42/info.json @@ -23,32 +23,50 @@ "processor": "RP2040", "rgb_matrix": { "animations": { + "solid_color": true, "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": 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_up_down": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "rainbow_moving_chevron": true, "cycle_pinwheel": true, "cycle_spiral": true, - "cycle_up_down": true, - "gradient_left_right": true, - "gradient_up_down": true, + "dual_beacon": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, "hue_breathing": true, "hue_pendulum": true, "hue_wave": true, - "rainbow_moving_chevron": true, - "raindrops": true, - "solid_reactive": true, - "solid_reactive_multinexus": true, + "pixel_fractal": true, + "pixel_flow": true, + "pixel_rain": true, + "typing_heatmap": true, + "digital_rain": true, "solid_reactive_simple": true, - "solid_splash": true, + "solid_reactive": true, + "solid_reactive_wide": true, + "solid_reactive_multiwide": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_nexus": true, + "solid_reactive_multinexus": true, "splash": true, - "typing_heatmap": true + "multisplash": true, + "solid_splash": true, + "solid_multisplash": true }, "driver": "ws2812", "layout": [ From b5181e3d0633bfa891c1dd7d4967a131847baa3b Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun, 17 Sep 2023 20:17:51 -0700 Subject: [PATCH 058/144] Viktus Styrka Topre Layout Standardization and Touch-Up (#22044) * Add layout/matrix diagram [docs] * Alias `LAYOUT_all` to `LAYOUT_split_6u` `LAYOUT_all` and `LAYOUT_split_6u` represent the same matrix positions and sequence, so implement the former as an alias. [refactor] * Touch-up keymaps - grid-align keycodes - use QMK-native keycode aliases [chore] * Friendly-format `info.json` [style] * Correct layout data Correct key sizes/positioning on the bottom row. [chore] * Rename `LAYOUT_2u_6u` to `LAYOUT_65_xt_ansi_blocker` [refactor] * Rename `LAYOUT_2u_7u` to `LAYOUT_65_xt_ansi_blocker_tsangan` [refactor] * Rename `LAYOUT_split_6u` to `LAYOUT_65_xt_ansi_blocker_split_bs` [refactor] * Rename `LAYOUT_split_7u` to `LAYOUT_65_xt_ansi_blocker_tsangan_split_bs` [refactor] --- keyboards/viktus/styrka_topre/info.json | 158 +++++++----------- .../styrka_topre/keymaps/default/keymap.c | 12 +- .../viktus/styrka_topre/keymaps/via/keymap.c | 12 +- .../viktus/styrka_topre/matrix_diagram.md | 21 +++ 4 files changed, 92 insertions(+), 111 deletions(-) create mode 100644 keyboards/viktus/styrka_topre/matrix_diagram.md diff --git a/keyboards/viktus/styrka_topre/info.json b/keyboards/viktus/styrka_topre/info.json index f6d3560985f..7095a8f4849 100644 --- a/keyboards/viktus/styrka_topre/info.json +++ b/keyboards/viktus/styrka_topre/info.json @@ -26,93 +26,19 @@ "cols": ["B5", "B4", "D7", "D6", "F6", "F5", "F4", "C7", "C6", "B6", "F7", "B1", "B2", "B3", "B7", "F1", "F0", "E6"], "rows": ["A7", "A6", "A4", "A5", "A3"] }, + "layout_aliases": { + "LAYOUT_all": "LAYOUT_65_xt_ansi_blocker_split_bs", + "LAYOUT_2u_6u": "LAYOUT_65_xt_ansi_blocker", + "LAYOUT_2u_7u": "LAYOUT_65_xt_ansi_blocker_tsangan", + "LAYOUT_split_6u": "LAYOUT_65_xt_ansi_blocker_split_bs", + "LAYOUT_split_7u": "LAYOUT_65_xt_ansi_blocker_tsangan_split_bs" + }, "layouts": { - "LAYOUT_all": { - "layout": [ - {"label": "K000", "matrix": [0, 0], "x": 0, "y": 0}, - {"label": "K001", "matrix": [0, 1], "x": 1, "y": 0}, - {"label": "K002", "matrix": [0, 2], "x": 2, "y": 0}, - {"label": "K003", "matrix": [0, 3], "x": 3, "y": 0}, - {"label": "K004", "matrix": [0, 4], "x": 4, "y": 0}, - {"label": "K005", "matrix": [0, 5], "x": 5, "y": 0}, - {"label": "K006", "matrix": [0, 6], "x": 6, "y": 0}, - {"label": "K007", "matrix": [0, 7], "x": 7, "y": 0}, - {"label": "K008", "matrix": [0, 8], "x": 8, "y": 0}, - {"label": "K009", "matrix": [0, 9], "x": 9, "y": 0}, - {"label": "K00A", "matrix": [0, 10], "x": 10, "y": 0}, - {"label": "K00B", "matrix": [0, 11], "x": 11, "y": 0}, - {"label": "K00C", "matrix": [0, 12], "x": 12, "y": 0}, - {"label": "K00D", "matrix": [0, 13], "x": 13, "y": 0}, - {"label": "K00E", "matrix": [0, 14], "x": 14, "y": 0}, - {"label": "K00F", "matrix": [0, 15], "x": 15, "y": 0}, - {"label": "K010", "matrix": [0, 16], "x": 16, "y": 0}, - {"label": "K011", "matrix": [0, 17], "x": 17, "y": 0}, - {"label": "K100", "matrix": [1, 0], "x": 18, "y": 0}, - {"label": "K101", "matrix": [1, 1], "x": 19, "y": 0}, - {"label": "K102", "matrix": [1, 2], "x": 20, "y": 0}, - {"label": "K103", "matrix": [1, 3], "x": 21, "y": 0}, - {"label": "K104", "matrix": [1, 4], "x": 22, "y": 0}, - {"label": "K105", "matrix": [1, 5], "x": 23, "y": 0}, - {"label": "K106", "matrix": [1, 6], "x": 24, "y": 0}, - {"label": "K107", "matrix": [1, 7], "x": 25, "y": 0}, - {"label": "K108", "matrix": [1, 8], "x": 26, "y": 0}, - {"label": "K109", "matrix": [1, 9], "x": 27, "y": 0}, - {"label": "K10A", "matrix": [1, 10], "x": 28, "y": 0}, - {"label": "K10B", "matrix": [1, 11], "x": 29, "y": 0}, - {"label": "K10C", "matrix": [1, 12], "x": 30, "y": 0}, - {"label": "K10D", "matrix": [1, 13], "x": 31, "y": 0}, - {"label": "K10E", "matrix": [1, 14], "x": 32, "y": 0}, - {"label": "K110", "matrix": [1, 16], "x": 33, "y": 0}, - {"label": "K111", "matrix": [1, 17], "x": 34, "y": 0}, - {"label": "K200", "matrix": [2, 0], "x": 35, "y": 0}, - {"label": "K201", "matrix": [2, 1], "x": 36, "y": 0}, - {"label": "K202", "matrix": [2, 2], "x": 37, "y": 0}, - {"label": "K203", "matrix": [2, 3], "x": 38, "y": 0}, - {"label": "K204", "matrix": [2, 4], "x": 39, "y": 0}, - {"label": "K205", "matrix": [2, 5], "x": 40, "y": 0}, - {"label": "K206", "matrix": [2, 6], "x": 41, "y": 0}, - {"label": "K207", "matrix": [2, 7], "x": 42, "y": 0}, - {"label": "K208", "matrix": [2, 8], "x": 43, "y": 0}, - {"label": "K209", "matrix": [2, 9], "x": 44, "y": 0}, - {"label": "K20A", "matrix": [2, 10], "x": 45, "y": 0}, - {"label": "K20B", "matrix": [2, 11], "x": 46, "y": 0}, - {"label": "K20C", "matrix": [2, 12], "x": 47, "y": 0}, - {"label": "K20D", "matrix": [2, 13], "x": 48, "y": 0}, - {"label": "K20F", "matrix": [2, 15], "x": 49, "y": 0}, - {"label": "K211", "matrix": [2, 17], "x": 50, "y": 0}, - {"label": "K300", "matrix": [3, 0], "x": 51, "y": 0}, - {"label": "K301", "matrix": [3, 1], "x": 52, "y": 0}, - {"label": "K302", "matrix": [3, 2], "x": 53, "y": 0}, - {"label": "K304", "matrix": [3, 4], "x": 54, "y": 0}, - {"label": "K305", "matrix": [3, 5], "x": 55, "y": 0}, - {"label": "K306", "matrix": [3, 6], "x": 56, "y": 0}, - {"label": "K307", "matrix": [3, 7], "x": 57, "y": 0}, - {"label": "K308", "matrix": [3, 8], "x": 58, "y": 0}, - {"label": "K309", "matrix": [3, 9], "x": 59, "y": 0}, - {"label": "K30A", "matrix": [3, 10], "x": 60, "y": 0}, - {"label": "K30B", "matrix": [3, 11], "x": 61, "y": 0}, - {"label": "K30C", "matrix": [3, 12], "x": 62, "y": 0}, - {"label": "K30D", "matrix": [3, 13], "x": 63, "y": 0}, - {"label": "K30E", "matrix": [3, 14], "x": 64, "y": 0}, - {"label": "K310", "matrix": [3, 16], "x": 65, "y": 0}, - {"label": "K311", "matrix": [3, 17], "x": 66, "y": 0}, - {"label": "K400", "matrix": [4, 0], "x": 67, "y": 0}, - {"label": "K401", "matrix": [4, 1], "x": 68, "y": 0}, - {"label": "K402", "matrix": [4, 2], "x": 69, "y": 0}, - {"label": "K403", "matrix": [4, 3], "x": 70, "y": 0}, - {"label": "K404", "matrix": [4, 4], "x": 71, "y": 0}, - {"label": "K408", "matrix": [4, 8], "x": 72, "y": 0}, - {"label": "K40C", "matrix": [4, 12], "x": 73, "y": 0}, - {"label": "K40D", "matrix": [4, 13], "x": 74, "y": 0}, - {"label": "K40E", "matrix": [4, 14], "x": 75, "y": 0}, - {"label": "K410", "matrix": [4, 16], "x": 76, "y": 0}, - {"label": "K411", "matrix": [4, 17], "x": 77, "y": 0} - ] - }, - "LAYOUT_2u_6u": { + "LAYOUT_65_xt_ansi_blocker": { "layout": [ {"label": "K000", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "K001", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "K002", "matrix": [0, 2], "x": 2.25, "y": 0}, {"label": "K003", "matrix": [0, 3], "x": 3.25, "y": 0}, {"label": "K004", "matrix": [0, 4], "x": 4.25, "y": 0}, @@ -128,8 +54,10 @@ {"label": "K00E", "matrix": [0, 14], "x": 14.25, "y": 0}, {"label": "K010", "matrix": [0, 16], "x": 15.25, "y": 0, "w": 2}, {"label": "K011", "matrix": [0, 17], "x": 17.25, "y": 0}, + {"label": "K100", "matrix": [1, 0], "x": 0, "y": 1}, {"label": "K101", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "K102", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5}, {"label": "K103", "matrix": [1, 3], "x": 3.75, "y": 1}, {"label": "K104", "matrix": [1, 4], "x": 4.75, "y": 1}, @@ -145,8 +73,10 @@ {"label": "K10E", "matrix": [1, 14], "x": 14.75, "y": 1}, {"label": "K110", "matrix": [1, 16], "x": 15.75, "y": 1, "w": 1.5}, {"label": "K111", "matrix": [1, 17], "x": 17.25, "y": 1}, + {"label": "K200", "matrix": [2, 0], "x": 0, "y": 2}, {"label": "K201", "matrix": [2, 1], "x": 1, "y": 2}, + {"label": "K202", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75}, {"label": "K203", "matrix": [2, 3], "x": 4, "y": 2}, {"label": "K204", "matrix": [2, 4], "x": 5, "y": 2}, @@ -161,8 +91,10 @@ {"label": "K20D", "matrix": [2, 13], "x": 14, "y": 2}, {"label": "K20F", "matrix": [2, 15], "x": 15, "y": 2, "w": 2.25}, {"label": "K211", "matrix": [2, 17], "x": 17.25, "y": 2}, + {"label": "K300", "matrix": [3, 0], "x": 0, "y": 3}, {"label": "K301", "matrix": [3, 1], "x": 1, "y": 3}, + {"label": "K302", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25}, {"label": "K304", "matrix": [3, 4], "x": 4.5, "y": 3}, {"label": "K305", "matrix": [3, 5], "x": 5.5, "y": 3}, @@ -177,23 +109,26 @@ {"label": "K30E", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75}, {"label": "K310", "matrix": [3, 16], "x": 16.25, "y": 3}, {"label": "K311", "matrix": [3, 17], "x": 17.25, "y": 3}, + {"label": "K400", "matrix": [4, 0], "x": 0, "y": 4}, {"label": "K401", "matrix": [4, 1], "x": 1, "y": 4}, - {"label": "K402", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.25}, - {"label": "K403", "matrix": [4, 3], "x": 3.5, "y": 4, "w": 1.25}, - {"label": "K404", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.25}, - {"label": "K408", "matrix": [4, 8], "x": 6, "y": 4, "w": 6.25}, - {"label": "K40C", "matrix": [4, 12], "x": 12.25, "y": 4}, - {"label": "K40D", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5}, + + {"label": "K402", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, + {"label": "K403", "matrix": [4, 3], "x": 3.75, "y": 4}, + {"label": "K404", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5}, + {"label": "K408", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 6}, + {"label": "K40C", "matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.5}, + {"label": "K40D", "matrix": [4, 13], "x": 13.75, "y": 4}, {"label": "K40E", "matrix": [4, 14], "x": 15.25, "y": 4}, {"label": "K410", "matrix": [4, 16], "x": 16.25, "y": 4}, {"label": "K411", "matrix": [4, 17], "x": 17.25, "y": 4} ] }, - "LAYOUT_2u_7u": { + "LAYOUT_65_xt_ansi_blocker_tsangan": { "layout": [ {"label": "K000", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "K001", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "K002", "matrix": [0, 2], "x": 2.25, "y": 0}, {"label": "K003", "matrix": [0, 3], "x": 3.25, "y": 0}, {"label": "K004", "matrix": [0, 4], "x": 4.25, "y": 0}, @@ -209,8 +144,10 @@ {"label": "K00E", "matrix": [0, 14], "x": 14.25, "y": 0}, {"label": "K010", "matrix": [0, 16], "x": 15.25, "y": 0, "w": 2}, {"label": "K011", "matrix": [0, 17], "x": 17.25, "y": 0}, + {"label": "K100", "matrix": [1, 0], "x": 0, "y": 1}, {"label": "K101", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "K102", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5}, {"label": "K103", "matrix": [1, 3], "x": 3.75, "y": 1}, {"label": "K104", "matrix": [1, 4], "x": 4.75, "y": 1}, @@ -226,8 +163,10 @@ {"label": "K10E", "matrix": [1, 14], "x": 14.75, "y": 1}, {"label": "K110", "matrix": [1, 16], "x": 15.75, "y": 1, "w": 1.5}, {"label": "K111", "matrix": [1, 17], "x": 17.25, "y": 1}, + {"label": "K200", "matrix": [2, 0], "x": 0, "y": 2}, {"label": "K201", "matrix": [2, 1], "x": 1, "y": 2}, + {"label": "K202", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75}, {"label": "K203", "matrix": [2, 3], "x": 4, "y": 2}, {"label": "K204", "matrix": [2, 4], "x": 5, "y": 2}, @@ -242,8 +181,10 @@ {"label": "K20D", "matrix": [2, 13], "x": 14, "y": 2}, {"label": "K20F", "matrix": [2, 15], "x": 15, "y": 2, "w": 2.25}, {"label": "K211", "matrix": [2, 17], "x": 17.25, "y": 2}, + {"label": "K300", "matrix": [3, 0], "x": 0, "y": 3}, {"label": "K301", "matrix": [3, 1], "x": 1, "y": 3}, + {"label": "K302", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25}, {"label": "K304", "matrix": [3, 4], "x": 4.5, "y": 3}, {"label": "K305", "matrix": [3, 5], "x": 5.5, "y": 3}, @@ -258,8 +199,10 @@ {"label": "K30E", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75}, {"label": "K310", "matrix": [3, 16], "x": 16.25, "y": 3}, {"label": "K311", "matrix": [3, 17], "x": 17.25, "y": 3}, + {"label": "K400", "matrix": [4, 0], "x": 0, "y": 4}, {"label": "K401", "matrix": [4, 1], "x": 1, "y": 4}, + {"label": "K402", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, {"label": "K403", "matrix": [4, 3], "x": 3.75, "y": 4}, {"label": "K404", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5}, @@ -270,11 +213,11 @@ {"label": "K411", "matrix": [4, 17], "x": 17.25, "y": 4} ] }, - - "LAYOUT_split_6u": { + "LAYOUT_65_xt_ansi_blocker_split_bs": { "layout": [ {"label": "K000", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "K001", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "K002", "matrix": [0, 2], "x": 2.25, "y": 0}, {"label": "K003", "matrix": [0, 3], "x": 3.25, "y": 0}, {"label": "K004", "matrix": [0, 4], "x": 4.25, "y": 0}, @@ -291,8 +234,10 @@ {"label": "K00F", "matrix": [0, 15], "x": 15.25, "y": 0}, {"label": "K010", "matrix": [0, 16], "x": 16.25, "y": 0}, {"label": "K011", "matrix": [0, 17], "x": 17.25, "y": 0}, + {"label": "K100", "matrix": [1, 0], "x": 0, "y": 1}, {"label": "K101", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "K102", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5}, {"label": "K103", "matrix": [1, 3], "x": 3.75, "y": 1}, {"label": "K104", "matrix": [1, 4], "x": 4.75, "y": 1}, @@ -308,8 +253,10 @@ {"label": "K10E", "matrix": [1, 14], "x": 14.75, "y": 1}, {"label": "K110", "matrix": [1, 16], "x": 15.75, "y": 1, "w": 1.5}, {"label": "K111", "matrix": [1, 17], "x": 17.25, "y": 1}, + {"label": "K200", "matrix": [2, 0], "x": 0, "y": 2}, {"label": "K201", "matrix": [2, 1], "x": 1, "y": 2}, + {"label": "K202", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75}, {"label": "K203", "matrix": [2, 3], "x": 4, "y": 2}, {"label": "K204", "matrix": [2, 4], "x": 5, "y": 2}, @@ -324,8 +271,10 @@ {"label": "K20D", "matrix": [2, 13], "x": 14, "y": 2}, {"label": "K20F", "matrix": [2, 15], "x": 15, "y": 2, "w": 2.25}, {"label": "K211", "matrix": [2, 17], "x": 17.25, "y": 2}, + {"label": "K300", "matrix": [3, 0], "x": 0, "y": 3}, {"label": "K301", "matrix": [3, 1], "x": 1, "y": 3}, + {"label": "K302", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25}, {"label": "K304", "matrix": [3, 4], "x": 4.5, "y": 3}, {"label": "K305", "matrix": [3, 5], "x": 5.5, "y": 3}, @@ -340,23 +289,26 @@ {"label": "K30E", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75}, {"label": "K310", "matrix": [3, 16], "x": 16.25, "y": 3}, {"label": "K311", "matrix": [3, 17], "x": 17.25, "y": 3}, + {"label": "K400", "matrix": [4, 0], "x": 0, "y": 4}, {"label": "K401", "matrix": [4, 1], "x": 1, "y": 4}, - {"label": "K402", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.25}, - {"label": "K403", "matrix": [4, 3], "x": 3.5, "y": 4, "w": 1.25}, - {"label": "K404", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.25}, - {"label": "K408", "matrix": [4, 8], "x": 6, "y": 4, "w": 6.25}, - {"label": "K40C", "matrix": [4, 12], "x": 12.25, "y": 4}, - {"label": "K40D", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5}, + + {"label": "K402", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, + {"label": "K403", "matrix": [4, 3], "x": 3.75, "y": 4}, + {"label": "K404", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5}, + {"label": "K408", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 6}, + {"label": "K40C", "matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.5}, + {"label": "K40D", "matrix": [4, 13], "x": 13.75, "y": 4}, {"label": "K40E", "matrix": [4, 14], "x": 15.25, "y": 4}, {"label": "K410", "matrix": [4, 16], "x": 16.25, "y": 4}, {"label": "K411", "matrix": [4, 17], "x": 17.25, "y": 4} ] }, - "LAYOUT_split_7u": { + "LAYOUT_65_xt_ansi_blocker_tsangan_split_bs": { "layout": [ {"label": "K000", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "K001", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "K002", "matrix": [0, 2], "x": 2.25, "y": 0}, {"label": "K003", "matrix": [0, 3], "x": 3.25, "y": 0}, {"label": "K004", "matrix": [0, 4], "x": 4.25, "y": 0}, @@ -373,8 +325,10 @@ {"label": "K00F", "matrix": [0, 15], "x": 15.25, "y": 0}, {"label": "K010", "matrix": [0, 16], "x": 16.25, "y": 0}, {"label": "K011", "matrix": [0, 17], "x": 17.25, "y": 0}, + {"label": "K100", "matrix": [1, 0], "x": 0, "y": 1}, {"label": "K101", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "K102", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5}, {"label": "K103", "matrix": [1, 3], "x": 3.75, "y": 1}, {"label": "K104", "matrix": [1, 4], "x": 4.75, "y": 1}, @@ -390,8 +344,10 @@ {"label": "K10E", "matrix": [1, 14], "x": 14.75, "y": 1}, {"label": "K110", "matrix": [1, 16], "x": 15.75, "y": 1, "w": 1.5}, {"label": "K111", "matrix": [1, 17], "x": 17.25, "y": 1}, + {"label": "K200", "matrix": [2, 0], "x": 0, "y": 2}, {"label": "K201", "matrix": [2, 1], "x": 1, "y": 2}, + {"label": "K202", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75}, {"label": "K203", "matrix": [2, 3], "x": 4, "y": 2}, {"label": "K204", "matrix": [2, 4], "x": 5, "y": 2}, @@ -406,8 +362,10 @@ {"label": "K20D", "matrix": [2, 13], "x": 14, "y": 2}, {"label": "K20F", "matrix": [2, 15], "x": 15, "y": 2, "w": 2.25}, {"label": "K211", "matrix": [2, 17], "x": 17.25, "y": 2}, + {"label": "K300", "matrix": [3, 0], "x": 0, "y": 3}, {"label": "K301", "matrix": [3, 1], "x": 1, "y": 3}, + {"label": "K302", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25}, {"label": "K304", "matrix": [3, 4], "x": 4.5, "y": 3}, {"label": "K305", "matrix": [3, 5], "x": 5.5, "y": 3}, @@ -422,8 +380,10 @@ {"label": "K30E", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75}, {"label": "K310", "matrix": [3, 16], "x": 16.25, "y": 3}, {"label": "K311", "matrix": [3, 17], "x": 17.25, "y": 3}, + {"label": "K400", "matrix": [4, 0], "x": 0, "y": 4}, {"label": "K401", "matrix": [4, 1], "x": 1, "y": 4}, + {"label": "K402", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, {"label": "K403", "matrix": [4, 3], "x": 3.75, "y": 4}, {"label": "K404", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5}, diff --git a/keyboards/viktus/styrka_topre/keymaps/default/keymap.c b/keyboards/viktus/styrka_topre/keymaps/default/keymap.c index 5c3f8fa0310..38a45309052 100644 --- a/keyboards/viktus/styrka_topre/keymaps/default/keymap.c +++ b/keyboards/viktus/styrka_topre/keymaps/default/keymap.c @@ -17,11 +17,11 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_2u_7u( - KC_F1, KC_F2, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, - KC_F3, KC_F4, 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_PGUP, - KC_F5, KC_F6, 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_PGDN, - KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, - KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT + [0] = LAYOUT_65_xt_ansi_blocker_tsangan( + KC_F1, KC_F2, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, + KC_F3, KC_F4, 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_PGUP, + KC_F5, KC_F6, 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_PGDN, + KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ) }; diff --git a/keyboards/viktus/styrka_topre/keymaps/via/keymap.c b/keyboards/viktus/styrka_topre/keymaps/via/keymap.c index 5c3f8fa0310..38a45309052 100644 --- a/keyboards/viktus/styrka_topre/keymaps/via/keymap.c +++ b/keyboards/viktus/styrka_topre/keymaps/via/keymap.c @@ -17,11 +17,11 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_2u_7u( - KC_F1, KC_F2, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, - KC_F3, KC_F4, 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_PGUP, - KC_F5, KC_F6, 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_PGDN, - KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, - KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT + [0] = LAYOUT_65_xt_ansi_blocker_tsangan( + KC_F1, KC_F2, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, + KC_F3, KC_F4, 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_PGUP, + KC_F5, KC_F6, 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_PGDN, + KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ) }; diff --git a/keyboards/viktus/styrka_topre/matrix_diagram.md b/keyboards/viktus/styrka_topre/matrix_diagram.md new file mode 100644 index 00000000000..6289d2387ab --- /dev/null +++ b/keyboards/viktus/styrka_topre/matrix_diagram.md @@ -0,0 +1,21 @@ +# Matrix Diagram for Viktus Design LLC Styrka - Topre + +``` + ┌───────┐ + 2u Backspace │0G │ + └───────┘ +┌───┬───┐┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 ││02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │0G │0H │ +├───┼───┤├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ +│10 │11 ││12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │1G │1H │ +├───┼───┤├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ +│20 │21 ││22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │2F │2H │ +├───┼───┤├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ +│30 │31 ││32 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │3G │3H │ +├───┼───┤├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴┬─┬───┼───┼───┤ +│40 │41 ││42 │43 │44 │48 │4C │4D │ │4E │4G │4H │ +└───┴───┘└─────┴───┴─────┴───────────────────────┴─────┴───┘ └───┴───┴───┘ + ┌─────┬───┬─────┬───────────────────────────┬─────┐ + │42 │43 │44 │48 │4D │ Blocker Tsangan + └─────┴───┴─────┴───────────────────────────┴─────┘ +``` From 25df4ba6bdcbfe76d74682d5e2a3ea3400fd7496 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun, 17 Sep 2023 20:50:14 -0700 Subject: [PATCH 059/144] Wolf Neely65 Touch-Up (#22045) * Add layout/matrix diagram [docs] * Friendly-format `info.json` [style] * Touch-up keymaps - grid-align keycodes - use QMK-native keycode aliases [refactor] * Fix keymaps Fix keycodes being assigned out of order with respect to `info.json`. - move XT function keys to left side - move keycodes for position [2, 14] from Home Row to Number Row [bugfix] * Rename `LAYOUT` to `LAYOUT_65_xt_ansi_blocker_tsangan_wkl_split_bs` [refactor] * Add `LAYOUT_65_xt_ansi_blocker_tsangan_wkl` [enhancement] --- keyboards/wolf/neely65/info.json | 256 ++++++++++++------ .../wolf/neely65/keymaps/default/keymap.c | 26 +- keyboards/wolf/neely65/keymaps/via/keymap.c | 26 +- keyboards/wolf/neely65/matrix_diagram.md | 18 ++ 4 files changed, 222 insertions(+), 104 deletions(-) create mode 100644 keyboards/wolf/neely65/matrix_diagram.md diff --git a/keyboards/wolf/neely65/info.json b/keyboards/wolf/neely65/info.json index 5535036f376..9a90105b968 100644 --- a/keyboards/wolf/neely65/info.json +++ b/keyboards/wolf/neely65/info.json @@ -23,86 +23,186 @@ "pid": "0x0071", "vid": "0x5453" }, + "layout_aliases": { + "LAYOUT": "LAYOUT_65_xt_ansi_blocker_tsangan_wkl_split_bs" + }, "layouts": { - "LAYOUT": { + "LAYOUT_65_xt_ansi_blocker_tsangan_wkl": { "layout": [ - { "matrix": [0, 0], "x": 0, "y": 0 }, - { "matrix": [0, 1], "x": 1, "y": 0 }, - { "matrix": [0, 2], "x": 2.5, "y": 0 }, - { "matrix": [0, 3], "x": 3.5, "y": 0 }, - { "matrix": [0, 4], "x": 4.5, "y": 0 }, - { "matrix": [0, 5], "x": 5.5, "y": 0 }, - { "matrix": [0, 6], "x": 6.5, "y": 0 }, - { "matrix": [0, 7], "x": 7.5, "y": 0 }, - { "matrix": [0, 8], "x": 8.5, "y": 0 }, - { "matrix": [0, 9], "x": 9.5, "y": 0 }, - { "matrix": [0, 10], "x": 10.5, "y": 0 }, - { "matrix": [0, 11], "x": 11.5, "y": 0 }, - { "matrix": [0, 12], "x": 12.5, "y": 0 }, - { "matrix": [0, 13], "x": 13.5, "y": 0 }, - { "matrix": [0, 14], "x": 14.5, "y": 0 }, - { "matrix": [0, 15], "x": 15.5, "y": 0 }, - { "matrix": [2, 14], "x": 16.5, "y": 0 }, - { "matrix": [0, 16], "x": 17.5, "y": 0 }, - { "matrix": [1, 0], "x": 0, "y": 1 }, - { "matrix": [1, 1], "x": 1, "y": 1 }, - { "matrix": [1, 2], "w": 1.5, "x": 2.5, "y": 1 }, - { "matrix": [1, 3], "x": 4, "y": 1 }, - { "matrix": [1, 4], "x": 5, "y": 1 }, - { "matrix": [1, 5], "x": 6, "y": 1 }, - { "matrix": [1, 6], "x": 7, "y": 1 }, - { "matrix": [1, 7], "x": 8, "y": 1 }, - { "matrix": [1, 8], "x": 9, "y": 1 }, - { "matrix": [1, 9], "x": 10, "y": 1 }, - { "matrix": [1, 10], "x": 11, "y": 1 }, - { "matrix": [1, 11], "x": 12, "y": 1 }, - { "matrix": [1, 12], "x": 13, "y": 1 }, - { "matrix": [1, 13], "x": 14, "y": 1 }, - { "matrix": [1, 14], "x": 15, "y": 1 }, - { "matrix": [1, 15], "w": 1.5, "x": 16, "y": 1 }, - { "matrix": [1, 16], "x": 17.5, "y": 1 }, - { "matrix": [2, 0], "x": 0, "y": 2 }, - { "matrix": [2, 1], "x": 1, "y": 2 }, - { "matrix": [2, 2], "w": 1.75, "x": 2.5, "y": 2 }, - { "matrix": [2, 3], "x": 4.25, "y": 2 }, - { "matrix": [2, 4], "x": 5.25, "y": 2 }, - { "matrix": [2, 5], "x": 6.25, "y": 2 }, - { "matrix": [2, 6], "x": 7.25, "y": 2 }, - { "matrix": [2, 7], "x": 8.25, "y": 2 }, - { "matrix": [2, 8], "x": 9.25, "y": 2 }, - { "matrix": [2, 9], "x": 10.25, "y": 2 }, - { "matrix": [2, 10], "x": 11.25, "y": 2 }, - { "matrix": [2, 11], "x": 12.25, "y": 2 }, - { "matrix": [2, 12], "x": 13.25, "y": 2 }, - { "matrix": [2, 13], "x": 14.25, "y": 2 }, - { "matrix": [2, 15], "w": 2.25, "x": 15.25, "y": 2 }, - { "matrix": [2, 16], "x": 17.5, "y": 2 }, - { "matrix": [3, 0], "x": 0, "y": 3 }, - { "matrix": [3, 1], "x": 1, "y": 3 }, - { "matrix": [3, 2], "w": 2.25, "x": 2.5, "y": 3 }, - { "matrix": [3, 3], "x": 4.75, "y": 3 }, - { "matrix": [3, 4], "x": 5.75, "y": 3 }, - { "matrix": [3, 5], "x": 6.75, "y": 3 }, - { "matrix": [3, 6], "x": 7.75, "y": 3 }, - { "matrix": [3, 7], "x": 8.75, "y": 3 }, - { "matrix": [3, 8], "x": 9.75, "y": 3 }, - { "matrix": [3, 9], "x": 10.75, "y": 3 }, - { "matrix": [3, 10], "x": 11.75, "y": 3 }, - { "matrix": [3, 11], "x": 12.75, "y": 3 }, - { "matrix": [3, 12], "x": 13.75, "y": 3 }, - { "matrix": [3, 14], "w": 1.75, "x": 14.75, "y": 3 }, - { "matrix": [3, 15], "x": 16.5, "y": 3 }, - { "matrix": [3, 16], "x": 17.5, "y": 3 }, - { "matrix": [4, 0], "x": 0, "y": 4 }, - { "matrix": [4, 1], "x": 1, "y": 4 }, - { "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 }, - { "matrix": [4, 4], "w": 1.5, "x": 4.75, "y": 4 }, - { "matrix": [4, 7], "w": 7, "x": 6.25, "y": 4 }, - { "matrix": [4, 12], "w": 1.5, "x": 13.25, "y": 4 }, - { "matrix": [4, 14], "x": 15.5, "y": 4 }, - { "matrix": [4, 15], "x": 16.5, "y": 4 }, - { "matrix": [4, 16], "x": 17.5, "y": 4 } + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.5, "y": 0}, + {"matrix": [0, 10], "x": 10.5, "y": 0}, + {"matrix": [0, 11], "x": 11.5, "y": 0}, + {"matrix": [0, 12], "x": 12.5, "y": 0}, + {"matrix": [0, 13], "x": 13.5, "y": 0}, + {"matrix": [0, 14], "x": 14.5, "y": 0}, + {"matrix": [0, 15], "x": 15.5, "y": 0, "w": 2}, + {"matrix": [0, 16], "x": 17.5, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + + {"matrix": [1, 2], "x": 2.5, "y": 1, "w": 1.5}, + {"matrix": [1, 3], "x": 4, "y": 1}, + {"matrix": [1, 4], "x": 5, "y": 1}, + {"matrix": [1, 5], "x": 6, "y": 1}, + {"matrix": [1, 6], "x": 7, "y": 1}, + {"matrix": [1, 7], "x": 8, "y": 1}, + {"matrix": [1, 8], "x": 9, "y": 1}, + {"matrix": [1, 9], "x": 10, "y": 1}, + {"matrix": [1, 10], "x": 11, "y": 1}, + {"matrix": [1, 11], "x": 12, "y": 1}, + {"matrix": [1, 12], "x": 13, "y": 1}, + {"matrix": [1, 13], "x": 14, "y": 1}, + {"matrix": [1, 14], "x": 15, "y": 1}, + {"matrix": [1, 15], "x": 16, "y": 1, "w": 1.5}, + {"matrix": [1, 16], "x": 17.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + + {"matrix": [2, 2], "x": 2.5, "y": 2, "w": 1.75}, + {"matrix": [2, 3], "x": 4.25, "y": 2}, + {"matrix": [2, 4], "x": 5.25, "y": 2}, + {"matrix": [2, 5], "x": 6.25, "y": 2}, + {"matrix": [2, 6], "x": 7.25, "y": 2}, + {"matrix": [2, 7], "x": 8.25, "y": 2}, + {"matrix": [2, 8], "x": 9.25, "y": 2}, + {"matrix": [2, 9], "x": 10.25, "y": 2}, + {"matrix": [2, 10], "x": 11.25, "y": 2}, + {"matrix": [2, 11], "x": 12.25, "y": 2}, + {"matrix": [2, 12], "x": 13.25, "y": 2}, + {"matrix": [2, 13], "x": 14.25, "y": 2}, + {"matrix": [2, 15], "x": 15.25, "y": 2, "w": 2.25}, + {"matrix": [2, 16], "x": 17.5, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + + {"matrix": [3, 2], "x": 2.5, "y": 3, "w": 2.25}, + {"matrix": [3, 3], "x": 4.75, "y": 3}, + {"matrix": [3, 4], "x": 5.75, "y": 3}, + {"matrix": [3, 5], "x": 6.75, "y": 3}, + {"matrix": [3, 6], "x": 7.75, "y": 3}, + {"matrix": [3, 7], "x": 8.75, "y": 3}, + {"matrix": [3, 8], "x": 9.75, "y": 3}, + {"matrix": [3, 9], "x": 10.75, "y": 3}, + {"matrix": [3, 10], "x": 11.75, "y": 3}, + {"matrix": [3, 11], "x": 12.75, "y": 3}, + {"matrix": [3, 12], "x": 13.75, "y": 3}, + {"matrix": [3, 14], "x": 14.75, "y": 3, "w": 1.75}, + {"matrix": [3, 15], "x": 16.5, "y": 3}, + {"matrix": [3, 16], "x": 17.5, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4}, + {"matrix": [4, 1], "x": 1, "y": 4}, + + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 6.25, "y": 4, "w": 7}, + {"matrix": [4, 12], "x": 13.25, "y": 4, "w": 1.5}, + {"matrix": [4, 14], "x": 15.5, "y": 4}, + {"matrix": [4, 15], "x": 16.5, "y": 4}, + {"matrix": [4, 16], "x": 17.5, "y": 4} + ] + }, + "LAYOUT_65_xt_ansi_blocker_tsangan_wkl_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [0, 8], "x": 8.5, "y": 0}, + {"matrix": [0, 9], "x": 9.5, "y": 0}, + {"matrix": [0, 10], "x": 10.5, "y": 0}, + {"matrix": [0, 11], "x": 11.5, "y": 0}, + {"matrix": [0, 12], "x": 12.5, "y": 0}, + {"matrix": [0, 13], "x": 13.5, "y": 0}, + {"matrix": [0, 14], "x": 14.5, "y": 0}, + {"matrix": [0, 15], "x": 15.5, "y": 0}, + {"matrix": [2, 14], "x": 16.5, "y": 0}, + {"matrix": [0, 16], "x": 17.5, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + + {"matrix": [1, 2], "x": 2.5, "y": 1, "w": 1.5}, + {"matrix": [1, 3], "x": 4, "y": 1}, + {"matrix": [1, 4], "x": 5, "y": 1}, + {"matrix": [1, 5], "x": 6, "y": 1}, + {"matrix": [1, 6], "x": 7, "y": 1}, + {"matrix": [1, 7], "x": 8, "y": 1}, + {"matrix": [1, 8], "x": 9, "y": 1}, + {"matrix": [1, 9], "x": 10, "y": 1}, + {"matrix": [1, 10], "x": 11, "y": 1}, + {"matrix": [1, 11], "x": 12, "y": 1}, + {"matrix": [1, 12], "x": 13, "y": 1}, + {"matrix": [1, 13], "x": 14, "y": 1}, + {"matrix": [1, 14], "x": 15, "y": 1}, + {"matrix": [1, 15], "x": 16, "y": 1, "w": 1.5}, + {"matrix": [1, 16], "x": 17.5, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + + {"matrix": [2, 2], "x": 2.5, "y": 2, "w": 1.75}, + {"matrix": [2, 3], "x": 4.25, "y": 2}, + {"matrix": [2, 4], "x": 5.25, "y": 2}, + {"matrix": [2, 5], "x": 6.25, "y": 2}, + {"matrix": [2, 6], "x": 7.25, "y": 2}, + {"matrix": [2, 7], "x": 8.25, "y": 2}, + {"matrix": [2, 8], "x": 9.25, "y": 2}, + {"matrix": [2, 9], "x": 10.25, "y": 2}, + {"matrix": [2, 10], "x": 11.25, "y": 2}, + {"matrix": [2, 11], "x": 12.25, "y": 2}, + {"matrix": [2, 12], "x": 13.25, "y": 2}, + {"matrix": [2, 13], "x": 14.25, "y": 2}, + {"matrix": [2, 15], "x": 15.25, "y": 2, "w": 2.25}, + {"matrix": [2, 16], "x": 17.5, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + + {"matrix": [3, 2], "x": 2.5, "y": 3, "w": 2.25}, + {"matrix": [3, 3], "x": 4.75, "y": 3}, + {"matrix": [3, 4], "x": 5.75, "y": 3}, + {"matrix": [3, 5], "x": 6.75, "y": 3}, + {"matrix": [3, 6], "x": 7.75, "y": 3}, + {"matrix": [3, 7], "x": 8.75, "y": 3}, + {"matrix": [3, 8], "x": 9.75, "y": 3}, + {"matrix": [3, 9], "x": 10.75, "y": 3}, + {"matrix": [3, 10], "x": 11.75, "y": 3}, + {"matrix": [3, 11], "x": 12.75, "y": 3}, + {"matrix": [3, 12], "x": 13.75, "y": 3}, + {"matrix": [3, 14], "x": 14.75, "y": 3, "w": 1.75}, + {"matrix": [3, 15], "x": 16.5, "y": 3}, + {"matrix": [3, 16], "x": 17.5, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4}, + {"matrix": [4, 1], "x": 1, "y": 4}, + + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 6.25, "y": 4, "w": 7}, + {"matrix": [4, 12], "x": 13.25, "y": 4, "w": 1.5}, + {"matrix": [4, 14], "x": 15.5, "y": 4}, + {"matrix": [4, 15], "x": 16.5, "y": 4}, + {"matrix": [4, 16], "x": 17.5, "y": 4} ] } } -} \ No newline at end of file +} diff --git a/keyboards/wolf/neely65/keymaps/default/keymap.c b/keyboards/wolf/neely65/keymaps/default/keymap.c index 3e1350a75e7..ea14c0b4c0b 100644 --- a/keyboards/wolf/neely65/keymaps/default/keymap.c +++ b/keyboards/wolf/neely65/keymaps/default/keymap.c @@ -5,19 +5,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, KC_F1, 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_PGUP, KC_F3, KC_F4, - 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_DEL, KC_ENT, KC_PGDN, KC_F5, KC_F6, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_END, KC_F7, KC_F8, - KC_LCTL, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_APP, KC_F9, KC_F10 + [0] = LAYOUT_65_xt_ansi_blocker_tsangan_wkl_split_bs( + KC_F1, KC_F2, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME, + KC_F3, KC_F4, 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_PGUP, + KC_F5, KC_F6, 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_PGDN, + KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_END, + KC_F9, KC_F10, KC_LCTL, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_APP ), - [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_AUDIO_VOL_UP, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_DOWN, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_NEXT_TRACK, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_MUTE, KC_TRNS, KC_TRNS + [1] = LAYOUT_65_xt_ansi_blocker_tsangan_wkl_split_bs( + KC_TRNS, KC_TRNS, 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_TRNS, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE ) -}; \ No newline at end of file +}; diff --git a/keyboards/wolf/neely65/keymaps/via/keymap.c b/keyboards/wolf/neely65/keymaps/via/keymap.c index 3e1350a75e7..ea14c0b4c0b 100644 --- a/keyboards/wolf/neely65/keymaps/via/keymap.c +++ b/keyboards/wolf/neely65/keymaps/via/keymap.c @@ -5,19 +5,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( - QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, KC_F1, 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_PGUP, KC_F3, KC_F4, - 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_DEL, KC_ENT, KC_PGDN, KC_F5, KC_F6, - KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_END, KC_F7, KC_F8, - KC_LCTL, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_APP, KC_F9, KC_F10 + [0] = LAYOUT_65_xt_ansi_blocker_tsangan_wkl_split_bs( + KC_F1, KC_F2, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME, + KC_F3, KC_F4, 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_PGUP, + KC_F5, KC_F6, 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_PGDN, + KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_END, + KC_F9, KC_F10, KC_LCTL, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_APP ), - [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_AUDIO_VOL_UP, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_VOL_DOWN, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_PREV_TRACK, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MEDIA_NEXT_TRACK, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_AUDIO_MUTE, KC_TRNS, KC_TRNS + [1] = LAYOUT_65_xt_ansi_blocker_tsangan_wkl_split_bs( + KC_TRNS, KC_TRNS, 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_TRNS, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MNXT, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE ) -}; \ No newline at end of file +}; diff --git a/keyboards/wolf/neely65/matrix_diagram.md b/keyboards/wolf/neely65/matrix_diagram.md new file mode 100644 index 00000000000..111cb05a089 --- /dev/null +++ b/keyboards/wolf/neely65/matrix_diagram.md @@ -0,0 +1,18 @@ +# Matrix Diagram for Neely Neely65 + +``` + ┌───────┐ + 2u Backspace │0F │ + └───────┘ +┌───┬───┐ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 │ │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │2E │0G │ +├───┼───┤ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ +│10 │11 │ │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │1F │1G │ +├───┼───┤ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ +│20 │21 │ │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │2F │2G │ +├───┼───┤ ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ +│30 │31 │ │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3E │3F │3G │ +├───┼───┤ ├─────┬──┼───┴─┬─┴───┴───┴───┴───┴───┴───┴─┬─┴───┼──┬───┼───┼───┤ +│40 │41 │ │42 │ │44 │47 │4C │ │4E │4F │4G │ +└───┴───┘ └─────┘ └─────┴───────────────────────────┴─────┘ └───┴───┴───┘ +``` From 6ba53f661a343ae2513985c60706bcbc70c25b99 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun, 17 Sep 2023 21:26:13 -0700 Subject: [PATCH 060/144] Wolf Silhouette Community Layout Support (#22052) * Add layout/matrix diagram [docs] * Friendly-format `info.json` [style] * Touch-up layout data Move the ISO Hash key to the main key area. [chore] * Rename `LAYOUT` to `LAYOUT_all` [refactor] * Add `LAYOUT_tkl_nofrow_ansi_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi_tsangan_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi_tsangan` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi_wkl_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi_wkl` [enhancement] * Add `LAYOUT_tkl_nofrow_iso_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_iso` [enhancement] * Add `LAYOUT_tkl_nofrow_iso_tsangan_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_iso_tsangan` [enhancement] * Add `LAYOUT_tkl_nofrow_iso_wkl_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_iso_wkl` [enhancement] * Enable Community Layout support [enhancement] --- keyboards/wolf/silhouette/info.json | 1167 +++++++++++++++-- .../wolf/silhouette/keymaps/default/keymap.c | 4 +- .../wolf/silhouette/keymaps/via/keymap.c | 4 +- keyboards/wolf/silhouette/matrix_diagram.md | 21 + 4 files changed, 1115 insertions(+), 81 deletions(-) create mode 100644 keyboards/wolf/silhouette/matrix_diagram.md diff --git a/keyboards/wolf/silhouette/info.json b/keyboards/wolf/silhouette/info.json index fa52666b2a0..548a89aa19d 100644 --- a/keyboards/wolf/silhouette/info.json +++ b/keyboards/wolf/silhouette/info.json @@ -26,85 +26,1098 @@ "pid": "0x0080", "vid": "0x5453" }, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, + "community_layouts": [ + "tkl_nofrow_ansi", + "tkl_nofrow_iso" + ], "layouts": { - "LAYOUT": { + "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": [2, 14], "x": 14, "y": 0 }, - { "matrix": [0, 14], "x": 15.25, "y": 0 }, - { "matrix": [0, 15], "x": 16.25, "y": 0 }, - { "matrix": [0, 16], "x": 17.25, "y": 0 }, - { "matrix": [1, 0], "w": 1.5, "x": 0, "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 }, - { "matrix": [1, 5], "x": 5.5, "y": 1 }, - { "matrix": [1, 6], "x": 6.5, "y": 1 }, - { "matrix": [1, 7], "x": 7.5, "y": 1 }, - { "matrix": [1, 8], "x": 8.5, "y": 1 }, - { "matrix": [1, 9], "x": 9.5, "y": 1 }, - { "matrix": [1, 10], "x": 10.5, "y": 1 }, - { "matrix": [1, 11], "x": 11.5, "y": 1 }, - { "matrix": [1, 12], "x": 12.5, "y": 1 }, - { "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 }, - { "matrix": [1, 14], "x": 15.25, "y": 1 }, - { "matrix": [1, 15], "x": 16.25, "y": 1 }, - { "matrix": [1, 16], "x": 17.25, "y": 1 }, - { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, - { "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": 19.5, "y": 2 }, - { "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, - { "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, - { "matrix": [3, 1], "x": 1.25, "y": 3 }, - { "matrix": [3, 2], "x": 2.25, "y": 3 }, - { "matrix": [3, 3], "x": 3.25, "y": 3 }, - { "matrix": [3, 4], "x": 4.25, "y": 3 }, - { "matrix": [3, 5], "x": 5.25, "y": 3 }, - { "matrix": [3, 6], "x": 6.25, "y": 3 }, - { "matrix": [3, 7], "x": 7.25, "y": 3 }, - { "matrix": [3, 8], "x": 8.25, "y": 3 }, - { "matrix": [3, 9], "x": 9.25, "y": 3 }, - { "matrix": [3, 10], "x": 10.25, "y": 3 }, - { "matrix": [3, 11], "x": 11.25, "y": 3 }, - { "matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3 }, - { "matrix": [3, 13], "x": 14, "y": 3 }, - { "matrix": [3, 15], "x": 16.25, "y": 3 }, - { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, - { "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, - { "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 }, - { "matrix": [4, 7], "w": 6.25, "x": 3.75, "y": 4 }, - { "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, - { "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, - { "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 }, - { "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 }, - { "matrix": [4, 14], "x": 15.25, "y": 4 }, - { "matrix": [4, 15], "x": 16.25, "y": 4 }, - { "matrix": [4, 16], "x": 17.25, "y": 4 } + {"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": [2, 14], "x": 14, "y": 0}, + + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.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, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [1, 14], "x": 15.25, "y": 1}, + {"matrix": [1, 15], "x": 16.25, "y": 1}, + {"matrix": [1, 16], "x": 17.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, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + + {"matrix": [3, 15], "x": 16.25, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}, + + {"matrix": [4, 14], "x": 15.25, "y": 4}, + {"matrix": [4, 15], "x": 16.25, "y": 4}, + {"matrix": [4, 16], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_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, "w": 2}, + + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.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, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [1, 14], "x": 15.25, "y": 1}, + {"matrix": [1, 15], "x": 16.25, "y": 1}, + {"matrix": [1, 16], "x": 17.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": 2.75}, + + {"matrix": [3, 15], "x": 16.25, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}, + + {"matrix": [4, 14], "x": 15.25, "y": 4}, + {"matrix": [4, 15], "x": 16.25, "y": 4}, + {"matrix": [4, 16], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_ansi_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [2, 14], "x": 14, "y": 0}, + + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.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, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [1, 14], "x": 15.25, "y": 1}, + {"matrix": [1, 15], "x": 16.25, "y": 1}, + {"matrix": [1, 16], "x": 17.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, 13], "x": 14, "y": 3}, + + {"matrix": [3, 15], "x": 16.25, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}, + + {"matrix": [4, 14], "x": 15.25, "y": 4}, + {"matrix": [4, 15], "x": 16.25, "y": 4}, + {"matrix": [4, 16], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_ansi_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.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, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [1, 14], "x": 15.25, "y": 1}, + {"matrix": [1, 15], "x": 16.25, "y": 1}, + {"matrix": [1, 16], "x": 17.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": 2.75}, + + {"matrix": [3, 15], "x": 16.25, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}, + + {"matrix": [4, 14], "x": 15.25, "y": 4}, + {"matrix": [4, 15], "x": 16.25, "y": 4}, + {"matrix": [4, 16], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_ansi_tsangan_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [2, 14], "x": 14, "y": 0}, + + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.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, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [1, 14], "x": 15.25, "y": 1}, + {"matrix": [1, 15], "x": 16.25, "y": 1}, + {"matrix": [1, 16], "x": 17.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, 13], "x": 14, "y": 3}, + + {"matrix": [3, 15], "x": 16.25, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}, + + {"matrix": [4, 14], "x": 15.25, "y": 4}, + {"matrix": [4, 15], "x": 16.25, "y": 4}, + {"matrix": [4, 16], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_ansi_wkl": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.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, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [1, 14], "x": 15.25, "y": 1}, + {"matrix": [1, 15], "x": 16.25, "y": 1}, + {"matrix": [1, 16], "x": 17.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": 2.75}, + + {"matrix": [3, 15], "x": 16.25, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}, + + {"matrix": [4, 14], "x": 15.25, "y": 4}, + {"matrix": [4, 15], "x": 16.25, "y": 4}, + {"matrix": [4, 16], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_ansi_wkl_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [2, 14], "x": 14, "y": 0}, + + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.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, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [1, 14], "x": 15.25, "y": 1}, + {"matrix": [1, 15], "x": 16.25, "y": 1}, + {"matrix": [1, 16], "x": 17.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, 13], "x": 14, "y": 3}, + + {"matrix": [3, 15], "x": 16.25, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}, + + {"matrix": [4, 14], "x": 15.25, "y": 4}, + {"matrix": [4, 15], "x": 16.25, "y": 4}, + {"matrix": [4, 16], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_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, "w": 2}, + + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.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": 15.25, "y": 1}, + {"matrix": [1, 15], "x": 16.25, "y": 1}, + {"matrix": [1, 16], "x": 17.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, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, + + {"matrix": [3, 15], "x": 16.25, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}, + + {"matrix": [4, 14], "x": 15.25, "y": 4}, + {"matrix": [4, 15], "x": 16.25, "y": 4}, + {"matrix": [4, 16], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_iso_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [2, 14], "x": 14, "y": 0}, + + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.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": 15.25, "y": 1}, + {"matrix": [1, 15], "x": 16.25, "y": 1}, + {"matrix": [1, 16], "x": 17.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, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + + {"matrix": [3, 15], "x": 16.25, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}, + + {"matrix": [4, 14], "x": 15.25, "y": 4}, + {"matrix": [4, 15], "x": 16.25, "y": 4}, + {"matrix": [4, 16], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_iso_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.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": 15.25, "y": 1}, + {"matrix": [1, 15], "x": 16.25, "y": 1}, + {"matrix": [1, 16], "x": 17.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, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, + + {"matrix": [3, 15], "x": 16.25, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}, + + {"matrix": [4, 14], "x": 15.25, "y": 4}, + {"matrix": [4, 15], "x": 16.25, "y": 4}, + {"matrix": [4, 16], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_iso_tsangan_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [2, 14], "x": 14, "y": 0}, + + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.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": 15.25, "y": 1}, + {"matrix": [1, 15], "x": 16.25, "y": 1}, + {"matrix": [1, 16], "x": 17.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, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + + {"matrix": [3, 15], "x": 16.25, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}, + + {"matrix": [4, 14], "x": 15.25, "y": 4}, + {"matrix": [4, 15], "x": 16.25, "y": 4}, + {"matrix": [4, 16], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_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, "w": 2}, + + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.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": 15.25, "y": 1}, + {"matrix": [1, 15], "x": 16.25, "y": 1}, + {"matrix": [1, 16], "x": 17.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, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, + + {"matrix": [3, 15], "x": 16.25, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}, + + {"matrix": [4, 14], "x": 15.25, "y": 4}, + {"matrix": [4, 15], "x": 16.25, "y": 4}, + {"matrix": [4, 16], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_iso_wkl_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [2, 14], "x": 14, "y": 0}, + + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.25, "y": 0}, + {"matrix": [0, 16], "x": 17.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": 15.25, "y": 1}, + {"matrix": [1, 15], "x": 16.25, "y": 1}, + {"matrix": [1, 16], "x": 17.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, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + + {"matrix": [3, 15], "x": 16.25, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}, + + {"matrix": [4, 14], "x": 15.25, "y": 4}, + {"matrix": [4, 15], "x": 16.25, "y": 4}, + {"matrix": [4, 16], "x": 17.25, "y": 4} ] } } -} \ No newline at end of file +} diff --git a/keyboards/wolf/silhouette/keymaps/default/keymap.c b/keyboards/wolf/silhouette/keymaps/default/keymap.c index 9a5e5b24d76..b49f1ea8e4a 100644 --- a/keyboards/wolf/silhouette/keymaps/default/keymap.c +++ b/keyboards/wolf/silhouette/keymaps/default/keymap.c @@ -5,7 +5,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_all( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, 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_BSLS, 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_NUHS, KC_ENT, @@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT( + [1] = LAYOUT_all( KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/wolf/silhouette/keymaps/via/keymap.c b/keyboards/wolf/silhouette/keymaps/via/keymap.c index 9a5e5b24d76..b49f1ea8e4a 100644 --- a/keyboards/wolf/silhouette/keymaps/via/keymap.c +++ b/keyboards/wolf/silhouette/keymaps/via/keymap.c @@ -5,7 +5,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_all( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, 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_BSLS, 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_NUHS, KC_ENT, @@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT( + [1] = LAYOUT_all( KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/wolf/silhouette/matrix_diagram.md b/keyboards/wolf/silhouette/matrix_diagram.md new file mode 100644 index 00000000000..2128e99716d --- /dev/null +++ b/keyboards/wolf/silhouette/matrix_diagram.md @@ -0,0 +1,21 @@ +# Matrix Diagram for 4GT Silhouette + +``` +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ ┌───────┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │2E ││0E │0F │0G │ │0D │ 2u Backspace +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ └─┬─────┤ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D ││1E │1F │1G │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ ┌──┴┐2D │ ISO Enter +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │ │2C │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ └───┴────┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ │3F │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───┐ +│40 │41 │42 │47 │4A │4B │4C │4D ││4E │4F │4G │ +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ +┌────────┐ ┌──────────┐ +│30 │ 2.25u LShift 2.75u RShift │3C │ +└────────┘ └──────────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ +│40 │41 │42 │47 │4B │4C │4D │ Tsangan/WKL +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +``` From cd095c817e4b496ec8749f2536ced6ad8b085311 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun, 17 Sep 2023 21:57:03 -0700 Subject: [PATCH 061/144] Wolf Ziggurat Layout Additions (#22053) * Add layout/matrix diagram [docs] * Friendly-format `info.json` [style] * Touch-up layout data Move the ISO Hash key to the main key area. [chore] * Rename `LAYOUT` to `LAYOUT_all` [refactor] * Add `LAYOUT_65_xt_ansi_blocker_tsangan_split_bs` [enhancement] * Add `LAYOUT_65_xt_ansi_blocker_tsangan` [enhancement] * Add `LAYOUT_65_xt_iso_blocker_tsangan_split_bs` [enhancement] * Add `LAYOUT_65_xt_iso_blocker_tsangan` [enhancement] --- keyboards/wolf/ziggurat/info.json | 539 +++++++++++++++--- .../wolf/ziggurat/keymaps/default/keymap.c | 4 +- keyboards/wolf/ziggurat/keymaps/via/keymap.c | 4 +- keyboards/wolf/ziggurat/matrix_diagram.md | 21 + 4 files changed, 483 insertions(+), 85 deletions(-) create mode 100644 keyboards/wolf/ziggurat/matrix_diagram.md diff --git a/keyboards/wolf/ziggurat/info.json b/keyboards/wolf/ziggurat/info.json index 2e8d39dacba..bb12d5ab2f2 100644 --- a/keyboards/wolf/ziggurat/info.json +++ b/keyboards/wolf/ziggurat/info.json @@ -23,89 +23,466 @@ "pid": "0x0084", "vid": "0x5453" }, + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, "layouts": { - "LAYOUT": { + "LAYOUT_all": { "layout": [ - { "matrix": [0, 0], "x": 0, "y": 0 }, - { "matrix": [1, 0], "x": 1, "y": 0 }, - { "matrix": [0, 1], "x": 2.25, "y": 0 }, - { "matrix": [1, 1], "x": 3.25, "y": 0 }, - { "matrix": [0, 2], "x": 4.25, "y": 0 }, - { "matrix": [1, 2], "x": 5.25, "y": 0 }, - { "matrix": [0, 3], "x": 6.25, "y": 0 }, - { "matrix": [1, 3], "x": 7.25, "y": 0 }, - { "matrix": [0, 4], "x": 8.25, "y": 0 }, - { "matrix": [1, 4], "x": 9.25, "y": 0 }, - { "matrix": [0, 5], "x": 10.25, "y": 0 }, - { "matrix": [1, 5], "x": 11.25, "y": 0 }, - { "matrix": [0, 6], "x": 12.25, "y": 0 }, - { "matrix": [1, 6], "x": 13.25, "y": 0 }, - { "matrix": [7, 6], "x": 14.25, "y": 0 }, - { "matrix": [0, 7], "x": 15.25, "y": 0 }, - { "matrix": [1, 7], "x": 16.25, "y": 0 }, - { "matrix": [0, 8], "x": 17.25, "y": 0 }, - { "matrix": [2, 0], "x": 0, "y": 1 }, - { "matrix": [3, 0], "x": 1, "y": 1 }, - { "matrix": [2, 1], "w": 1.5, "x": 2.25, "y": 1 }, - { "matrix": [3, 1], "x": 3.75, "y": 1 }, - { "matrix": [2, 2], "x": 4.75, "y": 1 }, - { "matrix": [3, 2], "x": 5.75, "y": 1 }, - { "matrix": [2, 3], "x": 6.75, "y": 1 }, - { "matrix": [3, 3], "x": 7.75, "y": 1 }, - { "matrix": [2, 4], "x": 8.75, "y": 1 }, - { "matrix": [3, 4], "x": 9.75, "y": 1 }, - { "matrix": [2, 5], "x": 10.75, "y": 1 }, - { "matrix": [3, 5], "x": 11.75, "y": 1 }, - { "matrix": [2, 6], "x": 12.75, "y": 1 }, - { "matrix": [3, 6], "x": 13.75, "y": 1 }, - { "matrix": [2, 7], "x": 14.75, "y": 1 }, - { "matrix": [3, 7], "w": 1.5, "x": 15.75, "y": 1 }, - { "matrix": [2, 8], "x": 17.25, "y": 1 }, - { "matrix": [4, 0], "x": 0, "y": 2 }, - { "matrix": [5, 0], "x": 1, "y": 2 }, - { "matrix": [4, 1], "w": 1.75, "x": 2.25, "y": 2 }, - { "matrix": [5, 1], "x": 4, "y": 2 }, - { "matrix": [4, 2], "x": 5, "y": 2 }, - { "matrix": [5, 2], "x": 6, "y": 2 }, - { "matrix": [4, 3], "x": 7, "y": 2 }, - { "matrix": [5, 3], "x": 8, "y": 2 }, - { "matrix": [4, 4], "x": 9, "y": 2 }, - { "matrix": [5, 4], "x": 10, "y": 2 }, - { "matrix": [4, 5], "x": 11, "y": 2 }, - { "matrix": [5, 5], "x": 12, "y": 2 }, - { "matrix": [4, 6], "x": 13, "y": 2 }, - { "matrix": [5, 6], "x": 14, "y": 2 }, - { "matrix": [4, 7], "x": 19, "y": 2 }, - { "matrix": [5, 7], "w": 2.25, "x": 15, "y": 2 }, - { "matrix": [4, 8], "x": 17.25, "y": 2 }, - { "matrix": [6, 0], "x": 0, "y": 3 }, - { "matrix": [7, 0], "x": 1, "y": 3 }, - { "matrix": [6, 1], "w": 1.25, "x": 2.25, "y": 3 }, - { "matrix": [7, 1], "x": 3.5, "y": 3 }, - { "matrix": [9, 2], "x": 4.5, "y": 3 }, - { "matrix": [6, 2], "x": 5.5, "y": 3 }, - { "matrix": [7, 2], "x": 6.5, "y": 3 }, - { "matrix": [6, 3], "x": 7.5, "y": 3 }, - { "matrix": [7, 3], "x": 8.5, "y": 3 }, - { "matrix": [6, 4], "x": 9.5, "y": 3 }, - { "matrix": [7, 4], "x": 10.5, "y": 3 }, - { "matrix": [6, 5], "x": 11.5, "y": 3 }, - { "matrix": [7, 5], "x": 12.5, "y": 3 }, - { "matrix": [6, 6], "x": 13.5, "y": 3 }, - { "matrix": [6, 7], "w": 1.75, "x": 14.5, "y": 3 }, - { "matrix": [7, 7], "x": 16.25, "y": 3 }, - { "matrix": [6, 8], "x": 17.25, "y": 3 }, - { "matrix": [8, 0], "x": 0, "y": 4 }, - { "matrix": [9, 0], "x": 1, "y": 4 }, - { "matrix": [8, 1], "w": 1.5, "x": 2.25, "y": 4 }, - { "matrix": [9, 1], "x": 3.75, "y": 4 }, - { "matrix": [8, 2], "w": 1.5, "x": 4.75, "y": 4 }, - { "matrix": [8, 4], "w": 7, "x": 6.25, "y": 4 }, - { "matrix": [8, 6], "w": 1.5, "x": 13.25, "y": 4 }, - { "matrix": [8, 7], "x": 15.25, "y": 4 }, - { "matrix": [9, 7], "x": 16.25, "y": 4 }, - { "matrix": [8, 8], "x": 17.25, "y": 4 } + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + + {"matrix": [0, 1], "x": 2.25, "y": 0}, + {"matrix": [1, 1], "x": 3.25, "y": 0}, + {"matrix": [0, 2], "x": 4.25, "y": 0}, + {"matrix": [1, 2], "x": 5.25, "y": 0}, + {"matrix": [0, 3], "x": 6.25, "y": 0}, + {"matrix": [1, 3], "x": 7.25, "y": 0}, + {"matrix": [0, 4], "x": 8.25, "y": 0}, + {"matrix": [1, 4], "x": 9.25, "y": 0}, + {"matrix": [0, 5], "x": 10.25, "y": 0}, + {"matrix": [1, 5], "x": 11.25, "y": 0}, + {"matrix": [0, 6], "x": 12.25, "y": 0}, + {"matrix": [1, 6], "x": 13.25, "y": 0}, + {"matrix": [7, 6], "x": 14.25, "y": 0}, + {"matrix": [0, 7], "x": 15.25, "y": 0}, + {"matrix": [1, 7], "x": 16.25, "y": 0}, + {"matrix": [0, 8], "x": 17.25, "y": 0}, + + {"matrix": [2, 0], "x": 0, "y": 1}, + {"matrix": [3, 0], "x": 1, "y": 1}, + + {"matrix": [2, 1], "x": 2.25, "y": 1, "w": 1.5}, + {"matrix": [3, 1], "x": 3.75, "y": 1}, + {"matrix": [2, 2], "x": 4.75, "y": 1}, + {"matrix": [3, 2], "x": 5.75, "y": 1}, + {"matrix": [2, 3], "x": 6.75, "y": 1}, + {"matrix": [3, 3], "x": 7.75, "y": 1}, + {"matrix": [2, 4], "x": 8.75, "y": 1}, + {"matrix": [3, 4], "x": 9.75, "y": 1}, + {"matrix": [2, 5], "x": 10.75, "y": 1}, + {"matrix": [3, 5], "x": 11.75, "y": 1}, + {"matrix": [2, 6], "x": 12.75, "y": 1}, + {"matrix": [3, 6], "x": 13.75, "y": 1}, + {"matrix": [2, 7], "x": 14.75, "y": 1}, + {"matrix": [3, 7], "x": 15.75, "y": 1, "w": 1.5}, + {"matrix": [2, 8], "x": 17.25, "y": 1}, + + {"matrix": [4, 0], "x": 0, "y": 2}, + {"matrix": [5, 0], "x": 1, "y": 2}, + + {"matrix": [4, 1], "x": 2.25, "y": 2, "w": 1.75}, + {"matrix": [5, 1], "x": 4, "y": 2}, + {"matrix": [4, 2], "x": 5, "y": 2}, + {"matrix": [5, 2], "x": 6, "y": 2}, + {"matrix": [4, 3], "x": 7, "y": 2}, + {"matrix": [5, 3], "x": 8, "y": 2}, + {"matrix": [4, 4], "x": 9, "y": 2}, + {"matrix": [5, 4], "x": 10, "y": 2}, + {"matrix": [4, 5], "x": 11, "y": 2}, + {"matrix": [5, 5], "x": 12, "y": 2}, + {"matrix": [4, 6], "x": 13, "y": 2}, + {"matrix": [5, 6], "x": 14, "y": 2}, + {"matrix": [4, 7], "x": 15, "y": 2}, + {"matrix": [5, 7], "x": 16, "y": 2, "w": 1.25}, + {"matrix": [4, 8], "x": 17.25, "y": 2}, + + {"matrix": [6, 0], "x": 0, "y": 3}, + {"matrix": [7, 0], "x": 1, "y": 3}, + + {"matrix": [6, 1], "x": 2.25, "y": 3, "w": 1.25}, + {"matrix": [7, 1], "x": 3.5, "y": 3}, + {"matrix": [9, 2], "x": 4.5, "y": 3}, + {"matrix": [6, 2], "x": 5.5, "y": 3}, + {"matrix": [7, 2], "x": 6.5, "y": 3}, + {"matrix": [6, 3], "x": 7.5, "y": 3}, + {"matrix": [7, 3], "x": 8.5, "y": 3}, + {"matrix": [6, 4], "x": 9.5, "y": 3}, + {"matrix": [7, 4], "x": 10.5, "y": 3}, + {"matrix": [6, 5], "x": 11.5, "y": 3}, + {"matrix": [7, 5], "x": 12.5, "y": 3}, + {"matrix": [6, 6], "x": 13.5, "y": 3}, + {"matrix": [6, 7], "x": 14.5, "y": 3, "w": 1.75}, + {"matrix": [7, 7], "x": 16.25, "y": 3}, + {"matrix": [6, 8], "x": 17.25, "y": 3}, + + {"matrix": [8, 0], "x": 0, "y": 4}, + {"matrix": [9, 0], "x": 1, "y": 4}, + + {"matrix": [8, 1], "x": 2.25, "y": 4, "w": 1.5}, + {"matrix": [9, 1], "x": 3.75, "y": 4}, + {"matrix": [8, 2], "x": 4.75, "y": 4, "w": 1.5}, + {"matrix": [8, 4], "x": 6.25, "y": 4, "w": 7}, + {"matrix": [8, 6], "x": 13.25, "y": 4, "w": 1.5}, + + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 7], "x": 16.25, "y": 4}, + {"matrix": [8, 8], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_65_xt_ansi_blocker_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + + {"matrix": [0, 1], "x": 2.25, "y": 0}, + {"matrix": [1, 1], "x": 3.25, "y": 0}, + {"matrix": [0, 2], "x": 4.25, "y": 0}, + {"matrix": [1, 2], "x": 5.25, "y": 0}, + {"matrix": [0, 3], "x": 6.25, "y": 0}, + {"matrix": [1, 3], "x": 7.25, "y": 0}, + {"matrix": [0, 4], "x": 8.25, "y": 0}, + {"matrix": [1, 4], "x": 9.25, "y": 0}, + {"matrix": [0, 5], "x": 10.25, "y": 0}, + {"matrix": [1, 5], "x": 11.25, "y": 0}, + {"matrix": [0, 6], "x": 12.25, "y": 0}, + {"matrix": [1, 6], "x": 13.25, "y": 0}, + {"matrix": [7, 6], "x": 14.25, "y": 0}, + {"matrix": [1, 7], "x": 15.25, "y": 0, "w": 2}, + {"matrix": [0, 8], "x": 17.25, "y": 0}, + + {"matrix": [2, 0], "x": 0, "y": 1}, + {"matrix": [3, 0], "x": 1, "y": 1}, + + {"matrix": [2, 1], "x": 2.25, "y": 1, "w": 1.5}, + {"matrix": [3, 1], "x": 3.75, "y": 1}, + {"matrix": [2, 2], "x": 4.75, "y": 1}, + {"matrix": [3, 2], "x": 5.75, "y": 1}, + {"matrix": [2, 3], "x": 6.75, "y": 1}, + {"matrix": [3, 3], "x": 7.75, "y": 1}, + {"matrix": [2, 4], "x": 8.75, "y": 1}, + {"matrix": [3, 4], "x": 9.75, "y": 1}, + {"matrix": [2, 5], "x": 10.75, "y": 1}, + {"matrix": [3, 5], "x": 11.75, "y": 1}, + {"matrix": [2, 6], "x": 12.75, "y": 1}, + {"matrix": [3, 6], "x": 13.75, "y": 1}, + {"matrix": [2, 7], "x": 14.75, "y": 1}, + {"matrix": [3, 7], "x": 15.75, "y": 1, "w": 1.5}, + {"matrix": [2, 8], "x": 17.25, "y": 1}, + + {"matrix": [4, 0], "x": 0, "y": 2}, + {"matrix": [5, 0], "x": 1, "y": 2}, + + {"matrix": [4, 1], "x": 2.25, "y": 2, "w": 1.75}, + {"matrix": [5, 1], "x": 4, "y": 2}, + {"matrix": [4, 2], "x": 5, "y": 2}, + {"matrix": [5, 2], "x": 6, "y": 2}, + {"matrix": [4, 3], "x": 7, "y": 2}, + {"matrix": [5, 3], "x": 8, "y": 2}, + {"matrix": [4, 4], "x": 9, "y": 2}, + {"matrix": [5, 4], "x": 10, "y": 2}, + {"matrix": [4, 5], "x": 11, "y": 2}, + {"matrix": [5, 5], "x": 12, "y": 2}, + {"matrix": [4, 6], "x": 13, "y": 2}, + {"matrix": [5, 6], "x": 14, "y": 2}, + {"matrix": [5, 7], "x": 15, "y": 2, "w": 2.25}, + {"matrix": [4, 8], "x": 17.25, "y": 2}, + + {"matrix": [6, 0], "x": 0, "y": 3}, + {"matrix": [7, 0], "x": 1, "y": 3}, + + {"matrix": [6, 1], "x": 2.25, "y": 3, "w": 2.25}, + {"matrix": [9, 2], "x": 4.5, "y": 3}, + {"matrix": [6, 2], "x": 5.5, "y": 3}, + {"matrix": [7, 2], "x": 6.5, "y": 3}, + {"matrix": [6, 3], "x": 7.5, "y": 3}, + {"matrix": [7, 3], "x": 8.5, "y": 3}, + {"matrix": [6, 4], "x": 9.5, "y": 3}, + {"matrix": [7, 4], "x": 10.5, "y": 3}, + {"matrix": [6, 5], "x": 11.5, "y": 3}, + {"matrix": [7, 5], "x": 12.5, "y": 3}, + {"matrix": [6, 6], "x": 13.5, "y": 3}, + {"matrix": [6, 7], "x": 14.5, "y": 3, "w": 1.75}, + {"matrix": [7, 7], "x": 16.25, "y": 3}, + {"matrix": [6, 8], "x": 17.25, "y": 3}, + + {"matrix": [8, 0], "x": 0, "y": 4}, + {"matrix": [9, 0], "x": 1, "y": 4}, + + {"matrix": [8, 1], "x": 2.25, "y": 4, "w": 1.5}, + {"matrix": [9, 1], "x": 3.75, "y": 4}, + {"matrix": [8, 2], "x": 4.75, "y": 4, "w": 1.5}, + {"matrix": [8, 4], "x": 6.25, "y": 4, "w": 7}, + {"matrix": [8, 6], "x": 13.25, "y": 4, "w": 1.5}, + + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 7], "x": 16.25, "y": 4}, + {"matrix": [8, 8], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_65_xt_ansi_blocker_tsangan_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + + {"matrix": [0, 1], "x": 2.25, "y": 0}, + {"matrix": [1, 1], "x": 3.25, "y": 0}, + {"matrix": [0, 2], "x": 4.25, "y": 0}, + {"matrix": [1, 2], "x": 5.25, "y": 0}, + {"matrix": [0, 3], "x": 6.25, "y": 0}, + {"matrix": [1, 3], "x": 7.25, "y": 0}, + {"matrix": [0, 4], "x": 8.25, "y": 0}, + {"matrix": [1, 4], "x": 9.25, "y": 0}, + {"matrix": [0, 5], "x": 10.25, "y": 0}, + {"matrix": [1, 5], "x": 11.25, "y": 0}, + {"matrix": [0, 6], "x": 12.25, "y": 0}, + {"matrix": [1, 6], "x": 13.25, "y": 0}, + {"matrix": [7, 6], "x": 14.25, "y": 0}, + {"matrix": [0, 7], "x": 15.25, "y": 0}, + {"matrix": [1, 7], "x": 16.25, "y": 0}, + {"matrix": [0, 8], "x": 17.25, "y": 0}, + + {"matrix": [2, 0], "x": 0, "y": 1}, + {"matrix": [3, 0], "x": 1, "y": 1}, + + {"matrix": [2, 1], "x": 2.25, "y": 1, "w": 1.5}, + {"matrix": [3, 1], "x": 3.75, "y": 1}, + {"matrix": [2, 2], "x": 4.75, "y": 1}, + {"matrix": [3, 2], "x": 5.75, "y": 1}, + {"matrix": [2, 3], "x": 6.75, "y": 1}, + {"matrix": [3, 3], "x": 7.75, "y": 1}, + {"matrix": [2, 4], "x": 8.75, "y": 1}, + {"matrix": [3, 4], "x": 9.75, "y": 1}, + {"matrix": [2, 5], "x": 10.75, "y": 1}, + {"matrix": [3, 5], "x": 11.75, "y": 1}, + {"matrix": [2, 6], "x": 12.75, "y": 1}, + {"matrix": [3, 6], "x": 13.75, "y": 1}, + {"matrix": [2, 7], "x": 14.75, "y": 1}, + {"matrix": [3, 7], "x": 15.75, "y": 1, "w": 1.5}, + {"matrix": [2, 8], "x": 17.25, "y": 1}, + + {"matrix": [4, 0], "x": 0, "y": 2}, + {"matrix": [5, 0], "x": 1, "y": 2}, + + {"matrix": [4, 1], "x": 2.25, "y": 2, "w": 1.75}, + {"matrix": [5, 1], "x": 4, "y": 2}, + {"matrix": [4, 2], "x": 5, "y": 2}, + {"matrix": [5, 2], "x": 6, "y": 2}, + {"matrix": [4, 3], "x": 7, "y": 2}, + {"matrix": [5, 3], "x": 8, "y": 2}, + {"matrix": [4, 4], "x": 9, "y": 2}, + {"matrix": [5, 4], "x": 10, "y": 2}, + {"matrix": [4, 5], "x": 11, "y": 2}, + {"matrix": [5, 5], "x": 12, "y": 2}, + {"matrix": [4, 6], "x": 13, "y": 2}, + {"matrix": [5, 6], "x": 14, "y": 2}, + {"matrix": [5, 7], "x": 15, "y": 2, "w": 2.25}, + {"matrix": [4, 8], "x": 17.25, "y": 2}, + + {"matrix": [6, 0], "x": 0, "y": 3}, + {"matrix": [7, 0], "x": 1, "y": 3}, + + {"matrix": [6, 1], "x": 2.25, "y": 3, "w": 2.25}, + {"matrix": [9, 2], "x": 4.5, "y": 3}, + {"matrix": [6, 2], "x": 5.5, "y": 3}, + {"matrix": [7, 2], "x": 6.5, "y": 3}, + {"matrix": [6, 3], "x": 7.5, "y": 3}, + {"matrix": [7, 3], "x": 8.5, "y": 3}, + {"matrix": [6, 4], "x": 9.5, "y": 3}, + {"matrix": [7, 4], "x": 10.5, "y": 3}, + {"matrix": [6, 5], "x": 11.5, "y": 3}, + {"matrix": [7, 5], "x": 12.5, "y": 3}, + {"matrix": [6, 6], "x": 13.5, "y": 3}, + {"matrix": [6, 7], "x": 14.5, "y": 3, "w": 1.75}, + {"matrix": [7, 7], "x": 16.25, "y": 3}, + {"matrix": [6, 8], "x": 17.25, "y": 3}, + + {"matrix": [8, 0], "x": 0, "y": 4}, + {"matrix": [9, 0], "x": 1, "y": 4}, + + {"matrix": [8, 1], "x": 2.25, "y": 4, "w": 1.5}, + {"matrix": [9, 1], "x": 3.75, "y": 4}, + {"matrix": [8, 2], "x": 4.75, "y": 4, "w": 1.5}, + {"matrix": [8, 4], "x": 6.25, "y": 4, "w": 7}, + {"matrix": [8, 6], "x": 13.25, "y": 4, "w": 1.5}, + + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 7], "x": 16.25, "y": 4}, + {"matrix": [8, 8], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_65_xt_iso_blocker_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + + {"matrix": [0, 1], "x": 2.25, "y": 0}, + {"matrix": [1, 1], "x": 3.25, "y": 0}, + {"matrix": [0, 2], "x": 4.25, "y": 0}, + {"matrix": [1, 2], "x": 5.25, "y": 0}, + {"matrix": [0, 3], "x": 6.25, "y": 0}, + {"matrix": [1, 3], "x": 7.25, "y": 0}, + {"matrix": [0, 4], "x": 8.25, "y": 0}, + {"matrix": [1, 4], "x": 9.25, "y": 0}, + {"matrix": [0, 5], "x": 10.25, "y": 0}, + {"matrix": [1, 5], "x": 11.25, "y": 0}, + {"matrix": [0, 6], "x": 12.25, "y": 0}, + {"matrix": [1, 6], "x": 13.25, "y": 0}, + {"matrix": [7, 6], "x": 14.25, "y": 0}, + {"matrix": [1, 7], "x": 15.25, "y": 0, "w": 2}, + {"matrix": [0, 8], "x": 17.25, "y": 0}, + + {"matrix": [2, 0], "x": 0, "y": 1}, + {"matrix": [3, 0], "x": 1, "y": 1}, + + {"matrix": [2, 1], "x": 2.25, "y": 1, "w": 1.5}, + {"matrix": [3, 1], "x": 3.75, "y": 1}, + {"matrix": [2, 2], "x": 4.75, "y": 1}, + {"matrix": [3, 2], "x": 5.75, "y": 1}, + {"matrix": [2, 3], "x": 6.75, "y": 1}, + {"matrix": [3, 3], "x": 7.75, "y": 1}, + {"matrix": [2, 4], "x": 8.75, "y": 1}, + {"matrix": [3, 4], "x": 9.75, "y": 1}, + {"matrix": [2, 5], "x": 10.75, "y": 1}, + {"matrix": [3, 5], "x": 11.75, "y": 1}, + {"matrix": [2, 6], "x": 12.75, "y": 1}, + {"matrix": [3, 6], "x": 13.75, "y": 1}, + {"matrix": [2, 7], "x": 14.75, "y": 1}, + {"matrix": [2, 8], "x": 17.25, "y": 1}, + + {"matrix": [4, 0], "x": 0, "y": 2}, + {"matrix": [5, 0], "x": 1, "y": 2}, + + {"matrix": [4, 1], "x": 2.25, "y": 2, "w": 1.75}, + {"matrix": [5, 1], "x": 4, "y": 2}, + {"matrix": [4, 2], "x": 5, "y": 2}, + {"matrix": [5, 2], "x": 6, "y": 2}, + {"matrix": [4, 3], "x": 7, "y": 2}, + {"matrix": [5, 3], "x": 8, "y": 2}, + {"matrix": [4, 4], "x": 9, "y": 2}, + {"matrix": [5, 4], "x": 10, "y": 2}, + {"matrix": [4, 5], "x": 11, "y": 2}, + {"matrix": [5, 5], "x": 12, "y": 2}, + {"matrix": [4, 6], "x": 13, "y": 2}, + {"matrix": [5, 6], "x": 14, "y": 2}, + {"matrix": [4, 7], "x": 15, "y": 2}, + {"matrix": [5, 7], "x": 16, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [4, 8], "x": 17.25, "y": 2}, + + {"matrix": [6, 0], "x": 0, "y": 3}, + {"matrix": [7, 0], "x": 1, "y": 3}, + + {"matrix": [6, 1], "x": 2.25, "y": 3, "w": 1.25}, + {"matrix": [7, 1], "x": 3.5, "y": 3}, + {"matrix": [9, 2], "x": 4.5, "y": 3}, + {"matrix": [6, 2], "x": 5.5, "y": 3}, + {"matrix": [7, 2], "x": 6.5, "y": 3}, + {"matrix": [6, 3], "x": 7.5, "y": 3}, + {"matrix": [7, 3], "x": 8.5, "y": 3}, + {"matrix": [6, 4], "x": 9.5, "y": 3}, + {"matrix": [7, 4], "x": 10.5, "y": 3}, + {"matrix": [6, 5], "x": 11.5, "y": 3}, + {"matrix": [7, 5], "x": 12.5, "y": 3}, + {"matrix": [6, 6], "x": 13.5, "y": 3}, + {"matrix": [6, 7], "x": 14.5, "y": 3, "w": 1.75}, + {"matrix": [7, 7], "x": 16.25, "y": 3}, + {"matrix": [6, 8], "x": 17.25, "y": 3}, + + {"matrix": [8, 0], "x": 0, "y": 4}, + {"matrix": [9, 0], "x": 1, "y": 4}, + + {"matrix": [8, 1], "x": 2.25, "y": 4, "w": 1.5}, + {"matrix": [9, 1], "x": 3.75, "y": 4}, + {"matrix": [8, 2], "x": 4.75, "y": 4, "w": 1.5}, + {"matrix": [8, 4], "x": 6.25, "y": 4, "w": 7}, + {"matrix": [8, 6], "x": 13.25, "y": 4, "w": 1.5}, + + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 7], "x": 16.25, "y": 4}, + {"matrix": [8, 8], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_65_xt_iso_blocker_tsangan_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + + {"matrix": [0, 1], "x": 2.25, "y": 0}, + {"matrix": [1, 1], "x": 3.25, "y": 0}, + {"matrix": [0, 2], "x": 4.25, "y": 0}, + {"matrix": [1, 2], "x": 5.25, "y": 0}, + {"matrix": [0, 3], "x": 6.25, "y": 0}, + {"matrix": [1, 3], "x": 7.25, "y": 0}, + {"matrix": [0, 4], "x": 8.25, "y": 0}, + {"matrix": [1, 4], "x": 9.25, "y": 0}, + {"matrix": [0, 5], "x": 10.25, "y": 0}, + {"matrix": [1, 5], "x": 11.25, "y": 0}, + {"matrix": [0, 6], "x": 12.25, "y": 0}, + {"matrix": [1, 6], "x": 13.25, "y": 0}, + {"matrix": [7, 6], "x": 14.25, "y": 0}, + {"matrix": [0, 7], "x": 15.25, "y": 0}, + {"matrix": [1, 7], "x": 16.25, "y": 0}, + {"matrix": [0, 8], "x": 17.25, "y": 0}, + + {"matrix": [2, 0], "x": 0, "y": 1}, + {"matrix": [3, 0], "x": 1, "y": 1}, + + {"matrix": [2, 1], "x": 2.25, "y": 1, "w": 1.5}, + {"matrix": [3, 1], "x": 3.75, "y": 1}, + {"matrix": [2, 2], "x": 4.75, "y": 1}, + {"matrix": [3, 2], "x": 5.75, "y": 1}, + {"matrix": [2, 3], "x": 6.75, "y": 1}, + {"matrix": [3, 3], "x": 7.75, "y": 1}, + {"matrix": [2, 4], "x": 8.75, "y": 1}, + {"matrix": [3, 4], "x": 9.75, "y": 1}, + {"matrix": [2, 5], "x": 10.75, "y": 1}, + {"matrix": [3, 5], "x": 11.75, "y": 1}, + {"matrix": [2, 6], "x": 12.75, "y": 1}, + {"matrix": [3, 6], "x": 13.75, "y": 1}, + {"matrix": [2, 7], "x": 14.75, "y": 1}, + {"matrix": [2, 8], "x": 17.25, "y": 1}, + + {"matrix": [4, 0], "x": 0, "y": 2}, + {"matrix": [5, 0], "x": 1, "y": 2}, + + {"matrix": [4, 1], "x": 2.25, "y": 2, "w": 1.75}, + {"matrix": [5, 1], "x": 4, "y": 2}, + {"matrix": [4, 2], "x": 5, "y": 2}, + {"matrix": [5, 2], "x": 6, "y": 2}, + {"matrix": [4, 3], "x": 7, "y": 2}, + {"matrix": [5, 3], "x": 8, "y": 2}, + {"matrix": [4, 4], "x": 9, "y": 2}, + {"matrix": [5, 4], "x": 10, "y": 2}, + {"matrix": [4, 5], "x": 11, "y": 2}, + {"matrix": [5, 5], "x": 12, "y": 2}, + {"matrix": [4, 6], "x": 13, "y": 2}, + {"matrix": [5, 6], "x": 14, "y": 2}, + {"matrix": [4, 7], "x": 15, "y": 2}, + {"matrix": [5, 7], "x": 16, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [4, 8], "x": 17.25, "y": 2}, + + {"matrix": [6, 0], "x": 0, "y": 3}, + {"matrix": [7, 0], "x": 1, "y": 3}, + + {"matrix": [6, 1], "x": 2.25, "y": 3, "w": 1.25}, + {"matrix": [7, 1], "x": 3.5, "y": 3}, + {"matrix": [9, 2], "x": 4.5, "y": 3}, + {"matrix": [6, 2], "x": 5.5, "y": 3}, + {"matrix": [7, 2], "x": 6.5, "y": 3}, + {"matrix": [6, 3], "x": 7.5, "y": 3}, + {"matrix": [7, 3], "x": 8.5, "y": 3}, + {"matrix": [6, 4], "x": 9.5, "y": 3}, + {"matrix": [7, 4], "x": 10.5, "y": 3}, + {"matrix": [6, 5], "x": 11.5, "y": 3}, + {"matrix": [7, 5], "x": 12.5, "y": 3}, + {"matrix": [6, 6], "x": 13.5, "y": 3}, + {"matrix": [6, 7], "x": 14.5, "y": 3, "w": 1.75}, + {"matrix": [7, 7], "x": 16.25, "y": 3}, + {"matrix": [6, 8], "x": 17.25, "y": 3}, + + {"matrix": [8, 0], "x": 0, "y": 4}, + {"matrix": [9, 0], "x": 1, "y": 4}, + + {"matrix": [8, 1], "x": 2.25, "y": 4, "w": 1.5}, + {"matrix": [9, 1], "x": 3.75, "y": 4}, + {"matrix": [8, 2], "x": 4.75, "y": 4, "w": 1.5}, + {"matrix": [8, 4], "x": 6.25, "y": 4, "w": 7}, + {"matrix": [8, 6], "x": 13.25, "y": 4, "w": 1.5}, + + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [9, 7], "x": 16.25, "y": 4}, + {"matrix": [8, 8], "x": 17.25, "y": 4} ] } } -} \ No newline at end of file +} diff --git a/keyboards/wolf/ziggurat/keymaps/default/keymap.c b/keyboards/wolf/ziggurat/keymaps/default/keymap.c index e26689efa71..3e005d83699 100644 --- a/keyboards/wolf/ziggurat/keymaps/default/keymap.c +++ b/keyboards/wolf/ziggurat/keymaps/default/keymap.c @@ -6,7 +6,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_all( KC_F1, KC_F6, 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_HOME, KC_F2, KC_F7, 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_PGUP, KC_F3, KC_F8, 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_PGDN, @@ -14,7 +14,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F5, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT( + [1] = LAYOUT_all( KC_F1, KC_F6, 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_DEL, _______, KC_F2, KC_F7, _______, _______, _______, _______, _______, _______, KC_INS, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, KC_F3, KC_F8, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/wolf/ziggurat/keymaps/via/keymap.c b/keyboards/wolf/ziggurat/keymaps/via/keymap.c index e26689efa71..3e005d83699 100644 --- a/keyboards/wolf/ziggurat/keymaps/via/keymap.c +++ b/keyboards/wolf/ziggurat/keymaps/via/keymap.c @@ -6,7 +6,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_all( KC_F1, KC_F6, 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_HOME, KC_F2, KC_F7, 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_PGUP, KC_F3, KC_F8, 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_PGDN, @@ -14,7 +14,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_F5, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT( + [1] = LAYOUT_all( KC_F1, KC_F6, 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_DEL, _______, KC_F2, KC_F7, _______, _______, _______, _______, _______, _______, KC_INS, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, KC_F3, KC_F8, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/wolf/ziggurat/matrix_diagram.md b/keyboards/wolf/ziggurat/matrix_diagram.md new file mode 100644 index 00000000000..4f0c10b9b9f --- /dev/null +++ b/keyboards/wolf/ziggurat/matrix_diagram.md @@ -0,0 +1,21 @@ +# Matrix Diagram for Laminar Ziggurat + +``` + ┌───────┐ + 2u Backspace │17 │ + └───────┘ +┌───┬───┐┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │10 ││01 │11 │02 │12 │03 │13 │04 │14 │05 │15 │06 │16 │76 │07 │17 │08 │ +├───┼───┤├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ ┌─────┐ +│20 │30 ││21 │31 │22 │32 │23 │33 │24 │34 │25 │35 │26 │36 │27 │37 │28 │ │ │ +├───┼───┤├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐57 │ ISO Enter +│40 │50 ││41 │51 │42 │52 │43 │53 │44 │54 │45 │55 │46 │56 │57 │48 │ │47 │ │ +├───┼───┤├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘ +│60 │70 ││61 │71 │92 │62 │72 │63 │73 │64 │74 │65 │75 │66 │67 │77 │68 │ +├───┼───┤├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤ +│80 │90 ││81 │91 │82 │84 │86 │ │87 │97 │88 │ +└───┴───┘└─────┴───┴─────┴───────────────────────────┴─────┘ └───┴───┴───┘ + ┌────────┐ + │61 │ 2.25u LShift + └────────┘ +``` From 48b4ce6ddbd63722e185e4592af1d07b1c99dbd4 Mon Sep 17 00:00:00 2001 From: Filip Sund Date: Mon, 18 Sep 2023 14:52:48 +0200 Subject: [PATCH 062/144] Adding support for the Pteron56 (PCB) keyboard (#21731) --- keyboards/kraken_jones/pteron56/info.json | 96 +++++++++++++++++++ .../pteron56/keymaps/default/keymap.c | 36 +++++++ .../pteron56/keymaps/via/keymap.c | 36 +++++++ .../pteron56/keymaps/via/rules.mk | 2 + keyboards/kraken_jones/pteron56/readme.md | 31 ++++++ keyboards/kraken_jones/pteron56/rules.mk | 1 + 6 files changed, 202 insertions(+) create mode 100644 keyboards/kraken_jones/pteron56/info.json create mode 100644 keyboards/kraken_jones/pteron56/keymaps/default/keymap.c create mode 100644 keyboards/kraken_jones/pteron56/keymaps/via/keymap.c create mode 100644 keyboards/kraken_jones/pteron56/keymaps/via/rules.mk create mode 100644 keyboards/kraken_jones/pteron56/readme.md create mode 100644 keyboards/kraken_jones/pteron56/rules.mk diff --git a/keyboards/kraken_jones/pteron56/info.json b/keyboards/kraken_jones/pteron56/info.json new file mode 100644 index 00000000000..0af1f6b7356 --- /dev/null +++ b/keyboards/kraken_jones/pteron56/info.json @@ -0,0 +1,96 @@ +{ + "keyboard_name": "pteron56", + "manufacturer": "Kraken-jokes", + "url": "https://github.com/kraken-jokes/pteron-pcb", + "maintainer": "Kraken-jokes", + "usb": { + "vid": "0x6D4B", + "pid": "0x7056", + "device_version": "0.2.0" + }, + "development_board": "promicro", + "matrix_pins": { + "rows": ["D3", "D2", "F4", "D4", "B5"], + "cols": ["E6", "B4", "D7", "C6", "D0", "D1", "F6", "F7", "B1", "B3", "B6", "B2"] + }, + "diode_direction": "ROW2COL", + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "console": false, + "command": false, + "nkro": true + }, + "layouts": { + "LAYOUT":{ + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.75}, + {"matrix": [0, 1], "x": 1, "y": 0.75}, + {"matrix": [0, 2], "x": 2, "y": 0.25}, + {"matrix": [0, 3], "x": 3, "y": 0.0}, + {"matrix": [0, 4], "x": 4, "y": 0.25}, + {"matrix": [0, 5], "x": 5, "y": 0.5}, + + {"matrix": [0, 6], "x": 9.8, "y": 0.5}, + {"matrix": [0, 7], "x": 10.8, "y": 0.25}, + {"matrix": [0, 8], "x": 11.8, "y": 0}, + {"matrix": [0, 9], "x": 12.8, "y": 0.25}, + {"matrix": [0, 10], "x": 13.8, "y": 0.75}, + {"matrix": [0, 11], "x": 14.8, "y": 0.75}, + + {"matrix": [1, 0], "x": 0, "y": 1.75}, + {"matrix": [1, 1], "x": 1, "y": 1.75}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.5}, + + {"matrix": [1, 6], "x": 9.8, "y": 1.5}, + {"matrix": [1, 7], "x": 10.8, "y": 1.25}, + {"matrix": [1, 8], "x": 11.8, "y": 1}, + {"matrix": [1, 9], "x": 12.8, "y": 1.25}, + {"matrix": [1, 10], "x": 13.8, "y": 1.75}, + {"matrix": [1, 11], "x": 14.8, "y": 1.75}, + + {"matrix": [2, 0], "x": 0, "y": 2.75}, + {"matrix": [2, 1], "x": 1, "y": 2.75}, + {"matrix": [2, 2], "x": 2, "y": 2.25}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2.25}, + {"matrix": [2, 5], "x": 5, "y": 2.5}, + + {"matrix": [2, 6], "x": 9.8, "y": 2.5}, + {"matrix": [2, 7], "x": 10.8, "y": 2.25}, + {"matrix": [2, 8], "x": 11.8, "y": 2}, + {"matrix": [2, 9], "x": 12.8, "y": 2.25}, + {"matrix": [2, 10], "x": 13.8, "y": 2.75}, + {"matrix": [2, 11], "x": 14.8, "y": 2.75}, + + {"matrix": [3, 0], "x": 0, "y": 3.75}, + {"matrix": [3, 1], "x": 1, "y": 3.75}, + {"matrix": [3, 2], "x": 2, "y": 3.25}, + {"matrix": [3, 3], "x": 3, "y": 3}, + {"matrix": [3, 4], "x": 4, "y": 3.25}, + {"matrix": [3, 5], "x": 5, "y": 3.5}, + + {"matrix": [3, 6], "x": 9.8, "y": 3.5}, + {"matrix": [3, 7], "x": 10.8, "y": 3.25}, + {"matrix": [3, 8], "x": 11.8, "y": 3}, + {"matrix": [3, 9], "x": 12.8, "y": 3.25}, + {"matrix": [3, 10], "x": 13.8, "y": 3.75}, + {"matrix": [3, 11], "x": 14.8, "y": 3.75}, + + {"matrix": [4, 0], "x": 3.9, "y": 4.5}, + {"matrix": [4, 1], "x": 4.9, "y": 4.6}, + {"matrix": [4, 2], "x": 5.9, "y": 4.85}, + {"matrix": [4, 3], "x": 6.9, "y": 5.35}, + + {"matrix": [4, 8], "x": 7.9, "y": 5.35}, + {"matrix": [4, 9], "x": 8.9, "y": 4.85}, + {"matrix": [4, 10], "x": 9.9, "y": 4.6}, + {"matrix": [4, 11], "x": 10.9, "y": 4.5} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/kraken_jones/pteron56/keymaps/default/keymap.c b/keyboards/kraken_jones/pteron56/keymaps/default/keymap.c new file mode 100644 index 00000000000..e9e7e0dd909 --- /dev/null +++ b/keyboards/kraken_jones/pteron56/keymaps/default/keymap.c @@ -0,0 +1,36 @@ +// Copyright (C) 2023 @kraken-jokes +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +#define L1_GUI LT(1,KC_LGUI) +#define L1_DEL LT(1,KC_DEL) +#define L2_APP LT(2,KC_APP) +#define L2_ALT LT(2,KC_LALT) +#define PRTSC LGUI(LSFT(KC_S)) + +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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_EQL, + KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_RBRC, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + L1_GUI, KC_LCTL, KC_LSFT, L2_ALT, L1_DEL, KC_SPC, L2_APP, KC_TAB + ), + + [1] = LAYOUT( + KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + 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_VOLU, KC_HOME, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_PGUP, KC_UP, KC_PGDN, KC_MENU, KC_RBRC, KC_TRNS, + KC_VOLD, KC_END, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, KC_LEFT, KC_DOWN, KC_RGHT, KC_LBRC, KC_BSLS, KC_TRNS, + KC_TRNS, KC_LCTL, KC_LSFT, KC_LALT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT( + QK_BOOT, KC_SLEP, KC_WAKE, KC_TRNS, KC_PWR, KC_TRNS, KC_TRNS, KC_PSLS, KC_PAST, KC_PMNS, KC_TRNS, KC_BSPC, + KC_GRV, KC_WBAK, KC_WFWD, KC_WSCH, KC_FIND, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_PSLS, KC_PAST, + KC_DEL, KC_CALC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_TRNS, KC_TRNS, KC_TRNS, + KC_LBRC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PDOT, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, PRTSC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P0 + ), +}; diff --git a/keyboards/kraken_jones/pteron56/keymaps/via/keymap.c b/keyboards/kraken_jones/pteron56/keymaps/via/keymap.c new file mode 100644 index 00000000000..3a1da6324e8 --- /dev/null +++ b/keyboards/kraken_jones/pteron56/keymaps/via/keymap.c @@ -0,0 +1,36 @@ +// Copyright (C) 2023 @kraken-jokes +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +#define L1_GUI LT(1,KC_LGUI) +#define L1_DEL LT(1,KC_DEL) +#define L2_APP LT(2,KC_APP) +#define L2_ALT LT(2,KC_LALT) + +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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_EQL, + KC_BSPC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_SPC, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + L1_GUI, KC_LCTL, KC_LSFT, L2_ALT, L1_DEL, KC_SPC, L2_APP, KC_TAB + ), + + [1] = LAYOUT( + KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + 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_VOLU, KC_HOME, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, KC_PGUP, KC_UP, KC_PGDN, KC_MENU, KC_RBRC, KC_TRNS, + KC_VOLD, KC_END, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, KC_LEFT, KC_DOWN, KC_RGHT, KC_LBRC, KC_BSLS, KC_TRNS, + KC_TRNS, KC_LCTL, KC_LSFT, KC_LALT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [2] = LAYOUT( + QK_BOOT, KC_SLEP, KC_WAKE, KC_TRNS, KC_PWR, KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_DEL, RGB_HUI, RGB_SAI, RGB_VAI, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSEL, KC_MYCM, KC_PSLS, KC_PAST, + RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, RGB_RMOD, RGB_M_P, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PDOT + ), + +}; diff --git a/keyboards/kraken_jones/pteron56/keymaps/via/rules.mk b/keyboards/kraken_jones/pteron56/keymaps/via/rules.mk new file mode 100644 index 00000000000..43061db1dd4 --- /dev/null +++ b/keyboards/kraken_jones/pteron56/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/kraken_jones/pteron56/readme.md b/keyboards/kraken_jones/pteron56/readme.md new file mode 100644 index 00000000000..aa5c97539b5 --- /dev/null +++ b/keyboards/kraken_jones/pteron56/readme.md @@ -0,0 +1,31 @@ +# Pteron56 + +![Pteron56](https://i.imgur.com/kt1RSi9h.jpg) + +The Pteron56 is a 56-key vertically staggered ortholinear keyboard with a 15 degree inward tilt per hand. + +Initially developed by [FSund](https://github.com/fsund), this keyboard was designed to potentially reduce wrist and typing strain by offsetting the keys in a manner that mimics the natural stagger of the human hand with 4 thumb keys per side arranged around an ~85mm arc to mimic the swimg of one's mighty thumbs. + +Users have reported reduced finger movement, reduced wrist movement, and better typing comfort and swiftness with the Pteron layouts compared to a standard keyboard. + +* Keyboard Maintainer: [Alex Moore](https://github.com/kraken-jokes) +* Hardware Supported: + * PCB: Pteron56v0.2, Pteron56v0.2hsu, Pteron56v0.3, Pteron56v0.4e + * MCU: Pro-Micro, Elite-C +* Hardware Availability: moorekeys.etsy.com. Open source though so it varies. + +Make example for this keyboard (after setting up your build environment): + + make pteron56:default + +Flashing example for this keyboard: + + make pteron56: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 thusly: +* **Keycode in layout**: Press and hold the right most thumb key on the left side (LT(2(KC_ALT)) and while that is held, hit the top left key on the left side of the keyboard (KC_ESC) which will reset the board and enter bootloader mode. +Thumb and pinky is my method, but do what you will. diff --git a/keyboards/kraken_jones/pteron56/rules.mk b/keyboards/kraken_jones/pteron56/rules.mk new file mode 100644 index 00000000000..876618b9d13 --- /dev/null +++ b/keyboards/kraken_jones/pteron56/rules.mk @@ -0,0 +1 @@ +# File is intentionally blank From 16f2a3e2f8235b8325fb3acf77801de088782150 Mon Sep 17 00:00:00 2001 From: Dasky <32983009+daskygit@users.noreply.github.com> Date: Mon, 18 Sep 2023 19:55:51 +0100 Subject: [PATCH 063/144] Add missing gpio include to ps2 vendor (#22063) --- platforms/chibios/drivers/vendor/RP/RP2040/ps2_vendor.c | 1 + 1 file changed, 1 insertion(+) diff --git a/platforms/chibios/drivers/vendor/RP/RP2040/ps2_vendor.c b/platforms/chibios/drivers/vendor/RP/RP2040/ps2_vendor.c index d775ec29d59..119c6354b06 100644 --- a/platforms/chibios/drivers/vendor/RP/RP2040/ps2_vendor.c +++ b/platforms/chibios/drivers/vendor/RP/RP2040/ps2_vendor.c @@ -1,6 +1,7 @@ // Copyright 2022 Marek Kraus (@gamelaster) // SPDX-License-Identifier: GPL-2.0-or-later +#include "gpio.h" #include "hardware/pio.h" #include "hardware/clocks.h" #include "ps2.h" From ef31109ad2e70d0f037d8902eb61496d490eba73 Mon Sep 17 00:00:00 2001 From: Shandon Anderson Date: Mon, 18 Sep 2023 21:00:11 -0400 Subject: [PATCH 064/144] [Keyboard] Add riot pad (#22060) Co-authored-by: ShandonCodes --- keyboards/riot_pad/config.h | 8 +++ keyboards/riot_pad/halconf.h | 7 +++ keyboards/riot_pad/info.json | 56 +++++++++++++++++++++ keyboards/riot_pad/keymaps/default/keymap.c | 22 ++++++++ keyboards/riot_pad/keymaps/via/keymap.c | 22 ++++++++ keyboards/riot_pad/keymaps/via/rules.mk | 1 + keyboards/riot_pad/mcuconf.h | 8 +++ keyboards/riot_pad/readme.md | 25 +++++++++ keyboards/riot_pad/rules.mk | 1 + 9 files changed, 150 insertions(+) create mode 100644 keyboards/riot_pad/config.h create mode 100644 keyboards/riot_pad/halconf.h create mode 100644 keyboards/riot_pad/info.json create mode 100644 keyboards/riot_pad/keymaps/default/keymap.c create mode 100644 keyboards/riot_pad/keymaps/via/keymap.c create mode 100644 keyboards/riot_pad/keymaps/via/rules.mk create mode 100644 keyboards/riot_pad/mcuconf.h create mode 100644 keyboards/riot_pad/readme.md create mode 100644 keyboards/riot_pad/rules.mk diff --git a/keyboards/riot_pad/config.h b/keyboards/riot_pad/config.h new file mode 100644 index 00000000000..97dcb1de3c7 --- /dev/null +++ b/keyboards/riot_pad/config.h @@ -0,0 +1,8 @@ +// Copyright 2023 ShandonCodes (@ShandonCodes) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define WS2812_SPI SPID1 +#define WS2812_SPI_MOSI_PAL_MODE 0 +#define WS2812_SPI_SCK_PAL_MODE 0 +#define WS2812_SPI_SCK_PIN A5 diff --git a/keyboards/riot_pad/halconf.h b/keyboards/riot_pad/halconf.h new file mode 100644 index 00000000000..555a6090295 --- /dev/null +++ b/keyboards/riot_pad/halconf.h @@ -0,0 +1,7 @@ +// Copyright 2023 ShandonCodes (@ShandonCodes) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define HAL_USE_SPI TRUE + +#include_next \ No newline at end of file diff --git a/keyboards/riot_pad/info.json b/keyboards/riot_pad/info.json new file mode 100644 index 00000000000..0798a4de60c --- /dev/null +++ b/keyboards/riot_pad/info.json @@ -0,0 +1,56 @@ +{ + "manufacturer": "ShandonCodes", + "keyboard_name": "RiotPad", + "maintainer": "ShandonCodes", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "nkro": true, + "rgblight": true + }, + "matrix_pins": { + "cols": ["B14", "A8", "A9"], + "rows": ["B13", "B15"] + }, + "processor": "STM32F072", + "rgblight": { + "animations": { + "alternating": true, + "breathing": true, + "christmas": true, + "knight": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "static_gradient": true, + "twinkle": true + }, + "led_count": 12 + }, + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x1000", + "vid": "0x7877" + }, + "ws2812": { + "driver": "spi", + "pin": "A7" + }, + "community_layouts": ["ortho_2x3"], + "layouts": { + "LAYOUT_ortho_2x3": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1} + ] + } + } +} diff --git a/keyboards/riot_pad/keymaps/default/keymap.c b/keyboards/riot_pad/keymaps/default/keymap.c new file mode 100644 index 00000000000..0e6eda839e4 --- /dev/null +++ b/keyboards/riot_pad/keymaps/default/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2023 ShandonCodes (@ShandonCodes) +// 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 │ Fn │ + * └───┴───┴────┘ + */ + [0] = LAYOUT_ortho_2x3( + KC_A, KC_B, KC_C, + KC_D, KC_E, MO(1) + ), + [1] = LAYOUT_ortho_2x3( + RGB_MOD, RGB_RMOD, RGB_TOG, + RGB_VAI, RGB_VAD, KC_TRNS + ) +}; diff --git a/keyboards/riot_pad/keymaps/via/keymap.c b/keyboards/riot_pad/keymaps/via/keymap.c new file mode 100644 index 00000000000..0e6eda839e4 --- /dev/null +++ b/keyboards/riot_pad/keymaps/via/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2023 ShandonCodes (@ShandonCodes) +// 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 │ Fn │ + * └───┴───┴────┘ + */ + [0] = LAYOUT_ortho_2x3( + KC_A, KC_B, KC_C, + KC_D, KC_E, MO(1) + ), + [1] = LAYOUT_ortho_2x3( + RGB_MOD, RGB_RMOD, RGB_TOG, + RGB_VAI, RGB_VAD, KC_TRNS + ) +}; diff --git a/keyboards/riot_pad/keymaps/via/rules.mk b/keyboards/riot_pad/keymaps/via/rules.mk new file mode 100644 index 00000000000..036bd6d1c3e --- /dev/null +++ b/keyboards/riot_pad/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/riot_pad/mcuconf.h b/keyboards/riot_pad/mcuconf.h new file mode 100644 index 00000000000..7c3eec48021 --- /dev/null +++ b/keyboards/riot_pad/mcuconf.h @@ -0,0 +1,8 @@ +// Copyright 2023 ShandonCodes (@ShandonCodes) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include_next + +#undef STM32_SPI_USE_SPI1 +#define STM32_SPI_USE_SPI1 TRUE \ No newline at end of file diff --git a/keyboards/riot_pad/readme.md b/keyboards/riot_pad/readme.md new file mode 100644 index 00000000000..c2c3ffd4be5 --- /dev/null +++ b/keyboards/riot_pad/readme.md @@ -0,0 +1,25 @@ +# riot_pad + +![riot_pad](https://i.imgur.com/zH6H3pSh.png) + +A RGB lovin', 6 key macropad. + +* Keyboard Maintainer: [ShandonCodes](https://github.com/ShandonCodes) +* Hardware Supported: RiotPad PCB +* Hardware Availability: [Limited Groupbuy](https://store.shandon.codes/) + +Make example for this keyboard (after setting up your build environment): + + make riot_pad:default + +Flashing example for this keyboard: + + make riot_pad: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 (top left key) and plug in the keyboard diff --git a/keyboards/riot_pad/rules.mk b/keyboards/riot_pad/rules.mk new file mode 100644 index 00000000000..7ff128fa692 --- /dev/null +++ b/keyboards/riot_pad/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file From 56a87efbac9a41e8b26d3fa816d5d6265f519a5e Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue, 19 Sep 2023 14:32:16 -0700 Subject: [PATCH 065/144] DZTech Pluto Community Layout support (#22069) * Add layout/matrix diagram [docs] * Friendly-format `info.json` - apply four-space indent - sort JSON keys in layout objects [style] * Correct `LAYOUT_all` data Correct key sizes/positions of: - ANSI Backslash [1, 13] - ANSI Enter [1, 14] - Fn [3, 13] [chore] * Correct `LAYOUT_iso` data Correct position of Fn key [3, 13]. [chore] * Add `LAYOUT_tkl_nofrow_ansi_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi_tsangan_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi_tsangan` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi_wkl_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_ansi_wkl` [enhancement] * Add `LAYOUT_tkl_nofrow_iso_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_iso` [enhancement] * Add `LAYOUT_tkl_nofrow_iso_tsangan_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_iso_tsangan` [enhancement] * Add `LAYOUT_tkl_nofrow_iso_wkl_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_nofrow_iso_wkl` [enhancement] * Enable Community Layout support [enhancement] * Touch-up keymaps Update keycode grid alignment. [style] --- keyboards/dztech/pluto/info.json | 1311 ++++++++++++++--- .../dztech/pluto/keymaps/default/keymap.c | 10 +- keyboards/dztech/pluto/keymaps/via/keymap.c | 10 +- keyboards/dztech/pluto/matrix_diagram.md | 24 + 4 files changed, 1165 insertions(+), 190 deletions(-) create mode 100644 keyboards/dztech/pluto/matrix_diagram.md diff --git a/keyboards/dztech/pluto/info.json b/keyboards/dztech/pluto/info.json index ab201befa31..d64e941346e 100644 --- a/keyboards/dztech/pluto/info.json +++ b/keyboards/dztech/pluto/info.json @@ -1,191 +1,1142 @@ { - "manufacturer": "DZTECH", - "keyboard_name": "PLUTO", - "maintainer": "moyi4681", - "bootloader": "rp2040", - "diode_direction": "COL2ROW", - "features": { - "bootmagic": true, - "command": false, - "console": false, - "extrakey": true, - "mousekey": true, - "nkro": true - }, - "matrix_pins": { - "cols": ["GP29", "GP28", "GP27", "GP26", "GP25", "GP24", "GP23", "GP22", "GP21", "GP20", "GP19", "GP16", "GP15", "GP14", "GP13", "GP0"], - "rows": ["GP1", "GP18", "GP17", "GP12", "GP11"] - }, - "processor": "RP2040", - "usb": { - "device_version": "1.0.0", - "pid": "0x0006", - "vid": "0x445A" - }, - "layouts": { - "LAYOUT_all": { - "layout": [ - { "matrix": [0, 0], "x": 0, "y": 0 }, - { "matrix": [0, 1], "x": 1, "y": 0 }, - { "matrix": [0, 2], "x": 2, "y": 0 }, - { "matrix": [0, 3], "x": 3, "y": 0 }, - { "matrix": [0, 4], "x": 4, "y": 0 }, - { "matrix": [0, 5], "x": 5, "y": 0 }, - { "matrix": [0, 6], "x": 6, "y": 0 }, - { "matrix": [0, 7], "x": 7, "y": 0 }, - { "matrix": [0, 8], "x": 8, "y": 0 }, - { "matrix": [0, 9], "x": 9, "y": 0 }, - { "matrix": [0, 10], "x": 10, "y": 0 }, - { "matrix": [0, 11], "x": 11, "y": 0 }, - { "matrix": [0, 12], "x": 12, "y": 0 }, - { "matrix": [0, 13], "x": 13, "y": 0 }, - { "matrix": [0, 14], "x": 14, "y": 0 }, - { "matrix": [0, 15], "x": 15.25, "y": 0 }, - { "matrix": [2, 12], "x": 16.25, "y": 0 }, - { "matrix": [2, 13], "x": 17.25, "y": 0 }, + "manufacturer": "DZTECH", + "keyboard_name": "PLUTO", + "maintainer": "moyi4681", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP29", "GP28", "GP27", "GP26", "GP25", "GP24", "GP23", "GP22", "GP21", "GP20", "GP19", "GP16", "GP15", "GP14", "GP13", "GP0"], + "rows": ["GP1", "GP18", "GP17", "GP12", "GP11"] + }, + "processor": "RP2040", + "usb": { + "device_version": "1.0.0", + "pid": "0x0006", + "vid": "0x445A" + }, + "community_layouts": ["tkl_nofrow_ansi", "tkl_nofrow_iso"], + "layouts": { + "LAYOUT_all": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 12], "x": 16.25, "y": 0}, + {"matrix": [2, 13], "x": 17.25, "y": 0}, - { "matrix": [1, 0], "w": 1.5, "x": 0, "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 }, - { "matrix": [1, 5], "x": 5.5, "y": 1 }, - { "matrix": [1, 6], "x": 6.5, "y": 1 }, - { "matrix": [1, 7], "x": 7.5, "y": 1 }, - { "matrix": [1, 8], "x": 8.5, "y": 1 }, - { "matrix": [1, 9], "x": 9.5, "y": 1 }, - { "matrix": [1, 10], "x": 10.5, "y": 1 }, - { "matrix": [1, 11], "x": 11.5, "y": 1 }, - { "matrix": [1, 12], "x": 12.5, "y": 1 }, - { "matrix": [1, 13], "x": 12.75, "y": 2 }, - { "matrix": [1, 15], "x": 15.25, "y": 1 }, - { "matrix": [2, 14], "x": 16.25, "y": 1 }, - { "matrix": [2, 15], "x": 17.25, "y": 1 }, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15.25, "y": 1}, + {"matrix": [2, 14], "x": 16.25, "y": 1}, + {"matrix": [2, 15], "x": 17.25, "y": 1}, - { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, - { "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": [1, 14], "w": 1.25, "x": 12.75, "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": [1, 14], "x": 12.75, "y": 2, "w": 2.25}, - { "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, - { "matrix": [3, 1], "x": 1.25, "y": 3 }, - { "matrix": [3, 2], "x": 2.25, "y": 3 }, - { "matrix": [3, 3], "x": 3.25, "y": 3 }, - { "matrix": [3, 4], "x": 4.25, "y": 3 }, - { "matrix": [3, 5], "x": 5.25, "y": 3 }, - { "matrix": [3, 6], "x": 6.25, "y": 3 }, - { "matrix": [3, 7], "x": 7.25, "y": 3 }, - { "matrix": [3, 8], "x": 8.25, "y": 3 }, - { "matrix": [3, 9], "x": 9.25, "y": 3 }, - { "matrix": [3, 10], "x": 10.25, "y": 3 }, - { "matrix": [3, 11], "x": 11.25, "y": 3 }, - { "matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3 }, - { "matrix": [3, 13], "x": 15.25, "y": 3 }, - { "matrix": [3, 14], "x": 16.25, "y": 3 }, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 16.25, "y": 3}, - { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, - { "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, - { "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 }, - { "matrix": [4, 7], "w": 6.25, "x": 3.75, "y": 4 }, - { "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, - { "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, - { "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 }, - { "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 }, - { "matrix": [3, 15], "x": 15.25, "y": 4 }, - { "matrix": [4, 14], "x": 16.25, "y": 4 }, - { "matrix": [4, 15], "x": 17.25, "y": 4 } - ] - }, - "LAYOUT_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": [0, 14], "x": 14, "y": 0 }, - { "matrix": [0, 15], "x": 15.25, "y": 0 }, - { "matrix": [2, 12], "x": 16.25, "y": 0 }, - { "matrix": [2, 13], "x": 17.25, "y": 0 }, + {"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, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}, + {"matrix": [3, 15], "x": 15.25, "y": 4}, + {"matrix": [4, 14], "x": 16.25, "y": 4}, + {"matrix": [4, 15], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_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, "w": 2}, + {"matrix": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 12], "x": 16.25, "y": 0}, + {"matrix": [2, 13], "x": 17.25, "y": 0}, - { "matrix": [1, 0], "w": 1.5, "x": 0, "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 }, - { "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 }, - { "h": 2, "matrix": [1, 14], "w": 1.25, "x": 13.75, "y": 1 }, - { "matrix": [1, 15], "x": 15.25, "y": 1 }, - { "matrix": [2, 14], "x": 16.25, "y": 1 }, - { "matrix": [2, 15], "x": 17.25, "y": 1 }, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15.25, "y": 1}, + {"matrix": [2, 14], "x": 16.25, "y": 1}, + {"matrix": [2, 15], "x": 17.25, "y": 1}, - { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, - { "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": [1, 13], "x": 12.75, "y": 2 }, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [1, 14], "x": 12.75, "y": 2, "w": 2.25}, - { "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, - { "matrix": [3, 1], "x": 1.25, "y": 3 }, - { "matrix": [3, 2], "x": 2.25, "y": 3 }, - { "matrix": [3, 3], "x": 3.25, "y": 3 }, - { "matrix": [3, 4], "x": 4.25, "y": 3 }, - { "matrix": [3, 5], "x": 5.25, "y": 3 }, - { "matrix": [3, 6], "x": 6.25, "y": 3 }, - { "matrix": [3, 7], "x": 7.25, "y": 3 }, - { "matrix": [3, 8], "x": 8.25, "y": 3 }, - { "matrix": [3, 9], "x": 9.25, "y": 3 }, - { "matrix": [3, 10], "x": 10.25, "y": 3 }, - { "matrix": [3, 11], "x": 11.25, "y": 3 }, - { "matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3 }, - { "matrix": [3, 13], "x": 15.25, "y": 3 }, - { "matrix": [3, 14], "x": 16.25, "y": 3 }, + {"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": 2.75}, + {"matrix": [3, 14], "x": 16.25, "y": 3}, - { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, - { "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, - { "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 }, - { "matrix": [4, 7], "w": 6.25, "x": 3.75, "y": 4 }, - { "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, - { "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, - { "matrix": [4, 12], "w": 1.25, "x": 12.5, "y": 4 }, - { "matrix": [4, 13], "w": 1.25, "x": 13.75, "y": 4 }, - { "matrix": [3, 15], "x": 15.25, "y": 4 }, - { "matrix": [4, 14], "x": 16.25, "y": 4 }, - { "matrix": [4, 15], "x": 17.25, "y": 4 } - ] + {"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, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}, + {"matrix": [3, 15], "x": 15.25, "y": 4}, + {"matrix": [4, 14], "x": 16.25, "y": 4}, + {"matrix": [4, 15], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_ansi_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 12], "x": 16.25, "y": 0}, + {"matrix": [2, 13], "x": 17.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, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15.25, "y": 1}, + {"matrix": [2, 14], "x": 16.25, "y": 1}, + {"matrix": [2, 15], "x": 17.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": [1, 14], "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, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 16.25, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}, + {"matrix": [3, 15], "x": 15.25, "y": 4}, + {"matrix": [4, 14], "x": 16.25, "y": 4}, + {"matrix": [4, 15], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_ansi_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 12], "x": 16.25, "y": 0}, + {"matrix": [2, 13], "x": 17.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, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15.25, "y": 1}, + {"matrix": [2, 14], "x": 16.25, "y": 1}, + {"matrix": [2, 15], "x": 17.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": [1, 14], "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": 2.75}, + {"matrix": [3, 14], "x": 16.25, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}, + {"matrix": [3, 15], "x": 15.25, "y": 4}, + {"matrix": [4, 14], "x": 16.25, "y": 4}, + {"matrix": [4, 15], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_ansi_tsangan_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 12], "x": 16.25, "y": 0}, + {"matrix": [2, 13], "x": 17.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, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15.25, "y": 1}, + {"matrix": [2, 14], "x": 16.25, "y": 1}, + {"matrix": [2, 15], "x": 17.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": [1, 14], "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, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 16.25, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}, + {"matrix": [3, 15], "x": 15.25, "y": 4}, + {"matrix": [4, 14], "x": 16.25, "y": 4}, + {"matrix": [4, 15], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_ansi_wkl": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 12], "x": 16.25, "y": 0}, + {"matrix": [2, 13], "x": 17.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, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15.25, "y": 1}, + {"matrix": [2, 14], "x": 16.25, "y": 1}, + {"matrix": [2, 15], "x": 17.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": [1, 14], "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": 2.75}, + {"matrix": [3, 14], "x": 16.25, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}, + {"matrix": [3, 15], "x": 15.25, "y": 4}, + {"matrix": [4, 14], "x": 16.25, "y": 4}, + {"matrix": [4, 15], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_ansi_wkl_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 12], "x": 16.25, "y": 0}, + {"matrix": [2, 13], "x": 17.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, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 15], "x": 15.25, "y": 1}, + {"matrix": [2, 14], "x": 16.25, "y": 1}, + {"matrix": [2, 15], "x": 17.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": [1, 14], "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, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 16.25, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}, + {"matrix": [3, 15], "x": 15.25, "y": 4}, + {"matrix": [4, 14], "x": 16.25, "y": 4}, + {"matrix": [4, 15], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_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, "w": 2}, + {"matrix": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 12], "x": 16.25, "y": 0}, + {"matrix": [2, 13], "x": 17.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, 15], "x": 15.25, "y": 1}, + {"matrix": [2, 14], "x": 16.25, "y": 1}, + {"matrix": [2, 15], "x": 17.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": [1, 13], "x": 12.75, "y": 2}, + {"matrix": [1, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [3, 14], "x": 16.25, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}, + {"matrix": [3, 15], "x": 15.25, "y": 4}, + {"matrix": [4, 14], "x": 16.25, "y": 4}, + {"matrix": [4, 15], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_iso_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 12], "x": 16.25, "y": 0}, + {"matrix": [2, 13], "x": 17.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, 15], "x": 15.25, "y": 1}, + {"matrix": [2, 14], "x": 16.25, "y": 1}, + {"matrix": [2, 15], "x": 17.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": [1, 13], "x": 12.75, "y": 2}, + {"matrix": [1, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 16.25, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}, + {"matrix": [3, 15], "x": 15.25, "y": 4}, + {"matrix": [4, 14], "x": 16.25, "y": 4}, + {"matrix": [4, 15], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_iso_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 12], "x": 16.25, "y": 0}, + {"matrix": [2, 13], "x": 17.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, 15], "x": 15.25, "y": 1}, + {"matrix": [2, 14], "x": 16.25, "y": 1}, + {"matrix": [2, 15], "x": 17.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": [1, 13], "x": 12.75, "y": 2}, + {"matrix": [1, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [3, 14], "x": 16.25, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}, + {"matrix": [3, 15], "x": 15.25, "y": 4}, + {"matrix": [4, 14], "x": 16.25, "y": 4}, + {"matrix": [4, 15], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_iso_tsangan_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 12], "x": 16.25, "y": 0}, + {"matrix": [2, 13], "x": 17.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, 15], "x": 15.25, "y": 1}, + {"matrix": [2, 14], "x": 16.25, "y": 1}, + {"matrix": [2, 15], "x": 17.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": [1, 13], "x": 12.75, "y": 2}, + {"matrix": [1, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 16.25, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}, + {"matrix": [3, 15], "x": 15.25, "y": 4}, + {"matrix": [4, 14], "x": 16.25, "y": 4}, + {"matrix": [4, 15], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_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, "w": 2}, + {"matrix": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 12], "x": 16.25, "y": 0}, + {"matrix": [2, 13], "x": 17.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, 15], "x": 15.25, "y": 1}, + {"matrix": [2, 14], "x": 16.25, "y": 1}, + {"matrix": [2, 15], "x": 17.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": [1, 13], "x": 12.75, "y": 2}, + {"matrix": [1, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [3, 14], "x": 16.25, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}, + {"matrix": [3, 15], "x": 15.25, "y": 4}, + {"matrix": [4, 14], "x": 16.25, "y": 4}, + {"matrix": [4, 15], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_tkl_nofrow_iso_wkl_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 12], "x": 16.25, "y": 0}, + {"matrix": [2, 13], "x": 17.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, 15], "x": 15.25, "y": 1}, + {"matrix": [2, 14], "x": 16.25, "y": 1}, + {"matrix": [2, 15], "x": 17.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": [1, 13], "x": 12.75, "y": 2}, + {"matrix": [1, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 16.25, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}, + {"matrix": [3, 15], "x": 15.25, "y": 4}, + {"matrix": [4, 14], "x": 16.25, "y": 4}, + {"matrix": [4, 15], "x": 17.25, "y": 4} + ] + }, + "LAYOUT_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": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 15], "x": 15.25, "y": 0}, + {"matrix": [2, 12], "x": 16.25, "y": 0}, + {"matrix": [2, 13], "x": 17.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.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [1, 15], "x": 15.25, "y": 1}, + {"matrix": [2, 14], "x": 16.25, "y": 1}, + {"matrix": [2, 15], "x": 17.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": [1, 13], "x": 12.75, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 16.25, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}, + {"matrix": [3, 15], "x": 15.25, "y": 4}, + {"matrix": [4, 14], "x": 16.25, "y": 4}, + {"matrix": [4, 15], "x": 17.25, "y": 4} + ] + } } - } } diff --git a/keyboards/dztech/pluto/keymaps/default/keymap.c b/keyboards/dztech/pluto/keymaps/default/keymap.c index 9edd2f178f0..4824a87a483 100644 --- a/keyboards/dztech/pluto/keymaps/default/keymap.c +++ b/keyboards/dztech/pluto/keymaps/default/keymap.c @@ -18,10 +18,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( - 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_DEL, 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_NUHS, 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_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_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + 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_DEL, 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_NUHS, 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_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_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ) }; diff --git a/keyboards/dztech/pluto/keymaps/via/keymap.c b/keyboards/dztech/pluto/keymaps/via/keymap.c index 9edd2f178f0..4824a87a483 100644 --- a/keyboards/dztech/pluto/keymaps/via/keymap.c +++ b/keyboards/dztech/pluto/keymaps/via/keymap.c @@ -18,10 +18,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( - 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_DEL, 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_NUHS, 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_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_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + 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_DEL, 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_NUHS, 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_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_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ) }; diff --git a/keyboards/dztech/pluto/matrix_diagram.md b/keyboards/dztech/pluto/matrix_diagram.md new file mode 100644 index 00000000000..576dea9578c --- /dev/null +++ b/keyboards/dztech/pluto/matrix_diagram.md @@ -0,0 +1,24 @@ +# Matrix Diagram for DZTECH PLUTO + +``` + ┌───────┐ + 2u Backspace │0D │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E ││0F │2C │2D │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ ┌─────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D ││1F │2E │2F │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ ┌──┴┐1E │ ISO Enter +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │1E │ │1D │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ └───┴────┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ │3E │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───┐ +│40 │41 │42 │47 │4A │4B │4C │4D ││3F │4E │4F │ +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ +┌────────┐ ┌──────────┐ +│30 │ 2.25u LShift 2.75u RShift │3C │ +└────────┘ └──────────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ +│40 │41 │42 │47 │4B │4C │4D │ Tsangan/WKL +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +``` From 4ce3a1c1e9f21ef2e4ec7f2384b0b55716e004af Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue, 19 Sep 2023 15:08:09 -0700 Subject: [PATCH 066/144] Ubest VN Community Layout Support (#22070) * Add layout/matrix diagram [docs] * Rename `LAYOUT` to `LAYOUT_all` [refactor] * Add `LAYOUT_65_ansi_split_bs` [enhancement] * Add `LAYOUT_65_ansi` [enhancement] * Add `LAYOUT_65_iso_split_bs` [enhancement] * Add `LAYOUT_65_iso` [enhancement] * Enable Community Layout support [enhancement] * Touch-up keymaps - apply four-space indent - grid-align keycodes [style] --- keyboards/ubest/vn/info.json | 319 +++++++++++++++++++- keyboards/ubest/vn/keymaps/default/keymap.c | 32 +- keyboards/ubest/vn/keymaps/via/keymap.c | 42 +-- keyboards/ubest/vn/matrix_diagram.md | 27 ++ 4 files changed, 382 insertions(+), 38 deletions(-) create mode 100644 keyboards/ubest/vn/matrix_diagram.md diff --git a/keyboards/ubest/vn/info.json b/keyboards/ubest/vn/info.json index 87afc573d5e..078605e4a57 100644 --- a/keyboards/ubest/vn/info.json +++ b/keyboards/ubest/vn/info.json @@ -34,8 +34,17 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, + "community_layouts": [ + "65_ansi", + "65_ansi_split_bs", + "65_iso", + "65_iso_split_bs" + ], "layouts": { - "LAYOUT": { + "LAYOUT_all": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -113,6 +122,314 @@ {"matrix": [4, 13], "x": 14, "y": 4}, {"matrix": [4, 14], "x": 15, "y": 4} ] + }, + "LAYOUT_65_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, "w": 2}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 14], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 9], "x": 10, "y": 4}, + {"matrix": [4, 10], "x": 11, "y": 4}, + {"matrix": [4, 11], "x": 12, "y": 4}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_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": [2, 13], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 14], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 9], "x": 10, "y": 4}, + {"matrix": [4, 10], "x": 11, "y": 4}, + {"matrix": [4, 11], "x": 12, "y": 4}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_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, "w": 2}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [1, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 12], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 14], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 9], "x": 10, "y": 4}, + {"matrix": [4, 10], "x": 11, "y": 4}, + {"matrix": [4, 11], "x": 12, "y": 4}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_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": [2, 13], "x": 14, "y": 0}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [1, 13], "x": 12.75, "y": 2}, + {"matrix": [2, 12], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 14], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 3], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 9], "x": 10, "y": 4}, + {"matrix": [4, 10], "x": 11, "y": 4}, + {"matrix": [4, 11], "x": 12, "y": 4}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} + ] } } } diff --git a/keyboards/ubest/vn/keymaps/default/keymap.c b/keyboards/ubest/vn/keymaps/default/keymap.c index 1e092273365..c49cfceaa1a 100644 --- a/keyboards/ubest/vn/keymaps/default/keymap.c +++ b/keyboards/ubest/vn/keymaps/default/keymap.c @@ -17,25 +17,25 @@ #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_BSPC, KC_BSPC, KC_HOME, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, - 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_PGDN, - KC_LSFT, 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, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + [0] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + 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_PGDN, + KC_LSFT, 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, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT( + [1] = LAYOUT_all( KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [2] = LAYOUT( + [2] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/ubest/vn/keymaps/via/keymap.c b/keyboards/ubest/vn/keymaps/via/keymap.c index 31d80271215..1486261cb35 100644 --- a/keyboards/ubest/vn/keymaps/via/keymap.c +++ b/keyboards/ubest/vn/keymaps/via/keymap.c @@ -17,32 +17,32 @@ #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_BSPC, KC_BSPC, KC_HOME, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, - 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_PGDN, - KC_LSFT, 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, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + [0] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, + 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_PGDN, + KC_LSFT, 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, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT( + [1] = LAYOUT_all( KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [2] = LAYOUT( + [2] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), - [3] = LAYOUT( + [3] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), }; diff --git a/keyboards/ubest/vn/matrix_diagram.md b/keyboards/ubest/vn/matrix_diagram.md new file mode 100644 index 00000000000..c3831c332d6 --- /dev/null +++ b/keyboards/ubest/vn/matrix_diagram.md @@ -0,0 +1,27 @@ +# Matrix Diagram for ubest vn + +``` + ┌───────┐ + 2u Backspace │0D │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │2D │0E │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┤ ┌─────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐2C │ ISO Enter +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2E │ │1D │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬┴──┬───┼───┼───┤ +│40 │41 │43 │47 │48 │49 │4A │4B │4C │4D │4E │ +└────┴────┴────┴────────────────────┴───┴───┴───┴───┴───┴───┴───┘ +┌────────┐ +│30 │ 2.25u LShift +└────────┘ +┌────┬────┬────┬────────────────────────┬───┬───┬───┬───┬───┬───┐ +│40 │41 │43 │47 │49 │4A │4B │4C │4D │4E │ Standard +└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘ +┌────┬────┬────┬────────────────────────┬────┬────┬────┬────┬───┐ +│40 │41 │43 │47 │48 │49 │4A │4B │4E │ 4x 1.25u RMods +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┴───┘ +``` From 8c92c0a59d1a494188152ea6ed7e1535ddf8a78b Mon Sep 17 00:00:00 2001 From: Deddia Permana Date: Wed, 20 Sep 2023 06:08:58 +0700 Subject: [PATCH 067/144] Add OLED logo DP3000 macropad (#21936) --- keyboards/dp3000/dp3000.c | 71 ++++++++++++++++++++++++++++++---- keyboards/dp3000/post_config.h | 22 +++++++++++ 2 files changed, 85 insertions(+), 8 deletions(-) create mode 100644 keyboards/dp3000/post_config.h diff --git a/keyboards/dp3000/dp3000.c b/keyboards/dp3000/dp3000.c index 3d99670fe36..6daeaa56630 100644 --- a/keyboards/dp3000/dp3000.c +++ b/keyboards/dp3000/dp3000.c @@ -15,20 +15,75 @@ */ #include "quantum.h" -bool oled_task_kb(void) { - if (!oled_task_user()) { - return false; - } +#define LOGO_TIMEOUT 3000 + +static uint32_t logo_timer = 0; +static bool display_logo = true; + +void dp3000_logo(void) { + static const char PROGMEM dp3000_logo[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x60, 0x7c, 0x7c, 0x60, 0x60, 0x60, 0x60, + 0x7c, 0x7c, 0x60, 0x60, 0x60, 0x60, 0x7c, 0x7c, 0x60, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x86, 0x86, 0x86, 0xff, 0xff, 0x00, 0x00, 0xf8, 0xf8, 0x18, 0x18, 0xf0, 0xe0, + 0x00, 0x00, 0xf8, 0xf8, 0x18, 0x18, 0xf8, 0xf0, 0x00, 0x00, 0xff, 0xff, 0x86, 0x86, 0x86, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x18, 0x98, 0x98, 0xf8, 0xf0, 0x00, 0xf0, 0xf8, 0x18, 0x18, 0xf8, 0xf0, + 0x00, 0xf0, 0xf8, 0x18, 0x18, 0xf8, 0xf0, 0x00, 0xf0, 0xf8, 0x18, 0x18, 0xf8, 0xf0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x61, 0x61, 0x61, 0xff, 0xff, 0x00, 0x00, 0x1f, 0x1f, 0x18, 0x18, 0x0f, 0x07, + 0x00, 0x00, 0x1f, 0x1f, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0xff, 0xff, 0x61, 0x61, 0x61, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x18, 0x19, 0x19, 0x1f, 0x0f, 0x00, 0x0f, 0x1f, 0x18, 0x18, 0x1f, 0x0f, + 0x00, 0x0f, 0x1f, 0x18, 0x18, 0x1f, 0x0f, 0x00, 0x0f, 0x1f, 0x18, 0x18, 0x1f, 0x0f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x06, 0x3e, 0x3e, 0x06, 0x06, 0x06, 0x06, + 0x3e, 0x3e, 0x06, 0x06, 0x06, 0x06, 0x3e, 0x3e, 0x06, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + oled_write_raw_P(dp3000_logo, sizeof(dp3000_logo)); +} + +void default_status(void) { + oled_set_cursor(0, 0); oled_write_P(PSTR("LAYER: "), false); oled_write_char('0' + get_highest_layer(layer_state), false); - + oled_advance_page(true); + oled_write_P(PSTR("LOCK: "), false); led_t led_state = host_keyboard_led_state(); - oled_set_cursor(0, 1); oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false); - oled_set_cursor(0, 2); oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false); - oled_set_cursor(0, 3); oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false); +} + +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + if (display_logo && timer_elapsed32(logo_timer) > LOGO_TIMEOUT) { + display_logo = false; + oled_clear(); + logo_timer = 0; + } + if (display_logo) { + dp3000_logo(); + } else { + default_status(); + } return false; } diff --git a/keyboards/dp3000/post_config.h b/keyboards/dp3000/post_config.h new file mode 100644 index 00000000000..ef2ce27e219 --- /dev/null +++ b/keyboards/dp3000/post_config.h @@ -0,0 +1,22 @@ +/* + * Copyright 2023 deddia permana (@depermana12) + * + * 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 + +#if !defined(OLED_TIMEOUT) +# define OLED_TIMEOUT 30000 +#endif From 2742935c548bbd3506079eaf5d464e46d66218e2 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue, 19 Sep 2023 16:42:12 -0700 Subject: [PATCH 068/144] SapuSeven MacroPad12: rename LAYOUT to LAYOUT_ortho_3x4 (#22081) --- keyboards/sapuseven/macropad12/info.json | 5 ++++- keyboards/sapuseven/macropad12/keymaps/default/keymap.c | 2 +- keyboards/sapuseven/macropad12/keymaps/via/keymap.c | 8 ++++---- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/keyboards/sapuseven/macropad12/info.json b/keyboards/sapuseven/macropad12/info.json index aafd8fcd0f3..28e8c19bf81 100644 --- a/keyboards/sapuseven/macropad12/info.json +++ b/keyboards/sapuseven/macropad12/info.json @@ -22,8 +22,11 @@ "vid": "0x1209", "pid": "0x7337" }, + "layout_aliases": { + "LAYOUT": "LAYOUT_ortho_3x4" + }, "layouts": { - "LAYOUT": { + "LAYOUT_ortho_3x4": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/sapuseven/macropad12/keymaps/default/keymap.c b/keyboards/sapuseven/macropad12/keymaps/default/keymap.c index 1cfa2601037..3a498e6aafe 100644 --- a/keyboards/sapuseven/macropad12/keymaps/default/keymap.c +++ b/keyboards/sapuseven/macropad12/keymaps/default/keymap.c @@ -17,7 +17,7 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_ortho_3x4( KC_1, KC_2, KC_3, KC_PLUS, KC_4, KC_5, KC_6, KC_MINUS, KC_7, KC_8, KC_9, KC_0 diff --git a/keyboards/sapuseven/macropad12/keymaps/via/keymap.c b/keyboards/sapuseven/macropad12/keymaps/via/keymap.c index 771c3efc9a3..06879d1b438 100644 --- a/keyboards/sapuseven/macropad12/keymaps/via/keymap.c +++ b/keyboards/sapuseven/macropad12/keymaps/via/keymap.c @@ -17,22 +17,22 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_ortho_3x4( KC_1, KC_2, KC_3, KC_PLUS, KC_4, KC_5, KC_6, KC_MINUS, KC_7, KC_8, KC_9, KC_0 ), - [1] = LAYOUT( + [1] = LAYOUT_ortho_3x4( KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12 ), - [2] = LAYOUT( + [2] = LAYOUT_ortho_3x4( KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24 ), - [3] = LAYOUT( + [3] = LAYOUT_ortho_3x4( KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO From 05dfe9f9c5ee370d85ce25f1adc0d7e2dd94fa96 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue, 19 Sep 2023 23:35:37 -0700 Subject: [PATCH 069/144] Alchemist Keyboards OGRN Layout Addition (#22080) * Add layout/matrix diagram [docs] * Friendly-format `info.json` [style] * Add `LAYOUT_ortho_5x4` [enhancement] * Touch-up keymaps - update grid-alignment (layer-to-layer consistency) - fix box drawings [style] * Extend Community Layout support Add `ortho_5x4` to supported Community Layouts. [enhancement] --- keyboards/akb/ogrn/info.json | 45 ++++++++++++++++++--- keyboards/akb/ogrn/keymaps/default/keymap.c | 12 +++--- keyboards/akb/ogrn/keymaps/via/keymap.c | 10 ++--- keyboards/akb/ogrn/matrix_diagram.md | 18 +++++++++ 4 files changed, 68 insertions(+), 17 deletions(-) create mode 100644 keyboards/akb/ogrn/matrix_diagram.md diff --git a/keyboards/akb/ogrn/info.json b/keyboards/akb/ogrn/info.json index 42efe55c2a2..780c3537473 100644 --- a/keyboards/akb/ogrn/info.json +++ b/keyboards/akb/ogrn/info.json @@ -30,29 +30,62 @@ "pid": "0x4F4E", "vid": "0x414B" }, - "community_layouts": [ - "numpad_5x4" - ], + "community_layouts": [ + "ortho_5x4", + "numpad_5x4" + ], "layouts": { + "LAYOUT_ortho_5x4": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "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": [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": [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} + ] + }, "LAYOUT_numpad_5x4": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, {"matrix": [0, 2], "x": 2, "y": 0}, {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, {"matrix": [1, 1], "x": 1, "y": 1}, {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2}, {"matrix": [2, 1], "x": 1, "y": 2}, {"matrix": [2, 2], "x": 2, "y": 2}, - {"h": 2, "matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1, "h": 2}, + {"matrix": [3, 0], "x": 0, "y": 3}, {"matrix": [3, 1], "x": 1, "y": 3}, {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [4, 0], "w": 2, "x": 0, "y": 4}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 2}, {"matrix": [4, 2], "x": 2, "y": 4}, - {"h": 2, "matrix": [3, 3], "x": 3, "y": 3} + {"matrix": [3, 3], "x": 3, "y": 3, "h": 2} ] } } diff --git a/keyboards/akb/ogrn/keymaps/default/keymap.c b/keyboards/akb/ogrn/keymaps/default/keymap.c index 35a275d055f..f3901ec7fb3 100644 --- a/keyboards/akb/ogrn/keymaps/default/keymap.c +++ b/keyboards/akb/ogrn/keymaps/default/keymap.c @@ -6,7 +6,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* * ┌───┬───┬───┬───┐ - * │TG1│ / │ * │ - │ + * │NUM│ / │ * │ - │ * ├───┼───┼───┼───┤ * │ 7 │ 8 │ 9 │ │ * ├───┼───┼───┤ + │ @@ -22,21 +22,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_P7, KC_P8, KC_P9, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_P1, KC_P2, KC_P3, - KC_P0, KC_PDOT, KC_PENT + KC_P0, KC_PDOT, KC_PENT ), /* * ┌───┬───┬───┬───┐ - * │TG1│ / │ * │ - │ - * ┌───┬───┬───┐───┤ + * │NUM│ / │ * │ - │ + * ├───┼───┼───┼───┤ * │Hom│ ↑ │PgU│ │ * ├───┼───┼───┤ + │ * │ ← │ │ → │ │ - * ├───┼───┼───┤───┤ + * ├───┼───┼───┼───┤ * │End│ ↓ │PgD│ │ * ├───┴───┼───┤Ent│ * │Insert │Del│ │ - * └───────┴───┘───┘ + * └───────┴───┴───┘ */ [1] = LAYOUT_numpad_5x4( _______, _______, _______, _______, diff --git a/keyboards/akb/ogrn/keymaps/via/keymap.c b/keyboards/akb/ogrn/keymaps/via/keymap.c index 7aec87a623c..f3901ec7fb3 100644 --- a/keyboards/akb/ogrn/keymaps/via/keymap.c +++ b/keyboards/akb/ogrn/keymaps/via/keymap.c @@ -22,21 +22,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_P7, KC_P8, KC_P9, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_P1, KC_P2, KC_P3, - KC_P0, KC_PDOT, KC_PENT + KC_P0, KC_PDOT, KC_PENT ), /* * ┌───┬───┬───┬───┐ - * │ │ / │ * │ - │ - * ┌───┬───┬───┐───┤ + * │NUM│ / │ * │ - │ + * ├───┼───┼───┼───┤ * │Hom│ ↑ │PgU│ │ * ├───┼───┼───┤ + │ * │ ← │ │ → │ │ - * ├───┼───┼───┤───┤ + * ├───┼───┼───┼───┤ * │End│ ↓ │PgD│ │ * ├───┴───┼───┤Ent│ * │Insert │Del│ │ - * └───────┴───┘───┘ + * └───────┴───┴───┘ */ [1] = LAYOUT_numpad_5x4( _______, _______, _______, _______, diff --git a/keyboards/akb/ogrn/matrix_diagram.md b/keyboards/akb/ogrn/matrix_diagram.md new file mode 100644 index 00000000000..03e4f99def9 --- /dev/null +++ b/keyboards/akb/ogrn/matrix_diagram.md @@ -0,0 +1,18 @@ +# Matrix Diagram for Alchemist Keyboards OGRN + +``` + ┌───┬───┬───┬───┐ + │00 │01 │02 │03 │ +┌───┐ ├───┼───┼───┼───┤ ┌───┐ +│ │ │10 │11 │12 │13 │ │ │ +│10 │ ├───┼───┼───┼───┤ │13 │ 2u Numpad Plus +│ │ │20 │21 │22 │23 │ │ │ +├───┤ ├───┼───┼───┼───┤ ├───┤ +│ │ │30 │31 │32 │33 │ │ │ +│30 │ ├───┼───┼───┼───┤ │33 │ 2u Numpad Enter +│ │ │40 │41 │42 │43 │ │ │ +└───┘ └───┴───┴───┴───┘ └───┘ + ┌───────┬───────┐ + │41 │42 │ + └───────┴───────┘ +``` From 16ad362e6728bafcb1f79bec193a484148932551 Mon Sep 17 00:00:00 2001 From: Duncan Sutherland Date: Wed, 20 Sep 2023 11:38:36 +0100 Subject: [PATCH 070/144] amend 96_(ansi|iso) community_layouts in keyboards/ (#22066) --- keyboards/donutcables/budget96/info.json | 224 +++++++++++++++++- .../budget96/keymaps/default/keymap.c | 24 +- .../budget96/keymaps/donut/keymap.c | 34 +-- .../donutcables/budget96/keymaps/via/keymap.c | 24 +- .../donutcables/budget96/matrix_diagram.md | 23 ++ keyboards/dztech/dz96/info.json | 9 +- keyboards/dztech/dz96/matrix_diagram.md | 23 ++ keyboards/idobao/id96/info.json | 115 ++++++++- .../idobao/id96/keymaps/default/keymap.c | 4 +- keyboards/idobao/id96/keymaps/via/keymap.c | 8 +- keyboards/idobao/id96/matrix_diagram.md | 41 ++++ keyboards/ymdk/melody96/info.json | 1 + keyboards/ymdk/melody96/matrix_diagram.md | 35 +++ 13 files changed, 505 insertions(+), 60 deletions(-) create mode 100644 keyboards/donutcables/budget96/matrix_diagram.md create mode 100644 keyboards/dztech/dz96/matrix_diagram.md create mode 100644 keyboards/idobao/id96/matrix_diagram.md create mode 100644 keyboards/ymdk/melody96/matrix_diagram.md diff --git a/keyboards/donutcables/budget96/info.json b/keyboards/donutcables/budget96/info.json index 42a817bfd60..a6028115353 100644 --- a/keyboards/donutcables/budget96/info.json +++ b/keyboards/donutcables/budget96/info.json @@ -40,6 +40,7 @@ }, "processor": "atmega32a", "bootloader": "bootloadhid", + "community_layouts": ["96_ansi", "96_iso"], "layouts": { "LAYOUT_all": { "layout": [ @@ -156,6 +157,225 @@ ] }, "LAYOUT_96_ansi": { + "layout": [ + {"matrix": [5, 0], "x": 0, "y": 0}, + {"matrix": [5, 2], "x": 1, "y": 0}, + {"matrix": [5, 3], "x": 2, "y": 0}, + {"matrix": [5, 4], "x": 3, "y": 0}, + {"matrix": [5, 5], "x": 4, "y": 0}, + {"matrix": [6, 0], "x": 5, "y": 0}, + {"matrix": [6, 10], "x": 6, "y": 0}, + {"matrix": [7, 10], "x": 7, "y": 0}, + {"matrix": [7, 0], "x": 8, "y": 0}, + {"matrix": [5, 11], "x": 9, "y": 0}, + {"matrix": [5, 12], "x": 10, "y": 0}, + {"matrix": [5, 13], "x": 11, "y": 0}, + {"matrix": [5, 14], "x": 12, "y": 0}, + {"matrix": [1, 13], "x": 13, "y": 0}, + {"matrix": [2, 14], "x": 14, "y": 0}, + {"matrix": [0, 13], "x": 15, "y": 0}, + {"matrix": [7, 6], "x": 16, "y": 0}, + {"matrix": [7, 8], "x": 17, "y": 0}, + {"matrix": [7, 9], "x": 18, "y": 0}, + + {"matrix": [4, 0], "x": 0, "y": 1}, + {"matrix": [4, 1], "x": 1, "y": 1}, + {"matrix": [4, 2], "x": 2, "y": 1}, + {"matrix": [4, 3], "x": 3, "y": 1}, + {"matrix": [4, 4], "x": 4, "y": 1}, + {"matrix": [4, 5], "x": 5, "y": 1}, + {"matrix": [6, 1], "x": 6, "y": 1}, + {"matrix": [6, 11], "x": 7, "y": 1}, + {"matrix": [7, 11], "x": 8, "y": 1}, + {"matrix": [7, 1], "x": 9, "y": 1}, + {"matrix": [4, 10], "x": 10, "y": 1}, + {"matrix": [4, 11], "x": 11, "y": 1}, + {"matrix": [4, 12], "x": 12, "y": 1}, + {"matrix": [4, 14], "x": 13, "y": 1, "w": 2}, + {"matrix": [4, 6], "x": 15, "y": 1}, + {"matrix": [4, 7], "x": 16, "y": 1}, + {"matrix": [4, 8], "x": 17, "y": 1}, + {"matrix": [4, 9], "x": 18, "y": 1}, + + {"matrix": [3, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 2}, + {"matrix": [3, 2], "x": 2.5, "y": 2}, + {"matrix": [3, 3], "x": 3.5, "y": 2}, + {"matrix": [3, 4], "x": 4.5, "y": 2}, + {"matrix": [3, 5], "x": 5.5, "y": 2}, + {"matrix": [6, 2], "x": 6.5, "y": 2}, + {"matrix": [6, 12], "x": 7.5, "y": 2}, + {"matrix": [7, 12], "x": 8.5, "y": 2}, + {"matrix": [7, 2], "x": 9.5, "y": 2}, + {"matrix": [3, 10], "x": 10.5, "y": 2}, + {"matrix": [3, 11], "x": 11.5, "y": 2}, + {"matrix": [3, 12], "x": 12.5, "y": 2}, + {"matrix": [3, 13], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [3, 6], "x": 15, "y": 2}, + {"matrix": [3, 7], "x": 16, "y": 2}, + {"matrix": [3, 8], "x": 17, "y": 2}, + {"matrix": [3, 9], "x": 18, "y": 2, "h": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 3}, + {"matrix": [2, 2], "x": 2.75, "y": 3}, + {"matrix": [2, 3], "x": 3.75, "y": 3}, + {"matrix": [2, 4], "x": 4.75, "y": 3}, + {"matrix": [2, 5], "x": 5.75, "y": 3}, + {"matrix": [6, 3], "x": 6.75, "y": 3}, + {"matrix": [6, 13], "x": 7.75, "y": 3}, + {"matrix": [7, 13], "x": 8.75, "y": 3}, + {"matrix": [7, 3], "x": 9.75, "y": 3}, + {"matrix": [2, 10], "x": 10.75, "y": 3}, + {"matrix": [2, 11], "x": 11.75, "y": 3}, + {"matrix": [2, 13], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [2, 6], "x": 15, "y": 3}, + {"matrix": [2, 7], "x": 16, "y": 3}, + {"matrix": [2, 8], "x": 17, "y": 3}, + + {"matrix": [1, 0], "x": 0, "y": 4, "w": 2.25}, + {"matrix": [1, 1], "x": 2.25, "y": 4}, + {"matrix": [1, 2], "x": 3.25, "y": 4}, + {"matrix": [1, 3], "x": 4.25, "y": 4}, + {"matrix": [1, 4], "x": 5.25, "y": 4}, + {"matrix": [1, 5], "x": 6.25, "y": 4}, + {"matrix": [6, 4], "x": 7.25, "y": 4}, + {"matrix": [6, 14], "x": 8.25, "y": 4}, + {"matrix": [7, 14], "x": 9.25, "y": 4}, + {"matrix": [7, 4], "x": 10.25, "y": 4}, + {"matrix": [1, 10], "x": 11.25, "y": 4}, + {"matrix": [1, 11], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [6, 8], "x": 14, "y": 4}, + {"matrix": [1, 6], "x": 15, "y": 4}, + {"matrix": [1, 7], "x": 16, "y": 4}, + {"matrix": [1, 8], "x": 17, "y": 4}, + {"matrix": [1, 9], "x": 18, "y": 4, "h": 2}, + + {"matrix": [0, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [0, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [0, 2], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [6, 5], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [7, 5], "x": 10, "y": 5}, + {"matrix": [0, 10], "x": 11, "y": 5}, + {"matrix": [0, 11], "x": 12, "y": 5}, + {"matrix": [6, 6], "x": 13, "y": 5}, + {"matrix": [6, 7], "x": 14, "y": 5}, + {"matrix": [6, 9], "x": 15, "y": 5}, + {"matrix": [0, 6], "x": 16, "y": 5}, + {"matrix": [0, 8], "x": 17, "y": 5} + ] + }, + "LAYOUT_96_iso": { + "layout": [ + {"matrix": [5, 0], "x": 0, "y": 0}, + {"matrix": [5, 2], "x": 1, "y": 0}, + {"matrix": [5, 3], "x": 2, "y": 0}, + {"matrix": [5, 4], "x": 3, "y": 0}, + {"matrix": [5, 5], "x": 4, "y": 0}, + {"matrix": [6, 0], "x": 5, "y": 0}, + {"matrix": [6, 10], "x": 6, "y": 0}, + {"matrix": [7, 10], "x": 7, "y": 0}, + {"matrix": [7, 0], "x": 8, "y": 0}, + {"matrix": [5, 11], "x": 9, "y": 0}, + {"matrix": [5, 12], "x": 10, "y": 0}, + {"matrix": [5, 13], "x": 11, "y": 0}, + {"matrix": [5, 14], "x": 12, "y": 0}, + {"matrix": [1, 13], "x": 13, "y": 0}, + {"matrix": [2, 14], "x": 14, "y": 0}, + {"matrix": [0, 13], "x": 15, "y": 0}, + {"matrix": [7, 6], "x": 16, "y": 0}, + {"matrix": [7, 8], "x": 17, "y": 0}, + {"matrix": [7, 9], "x": 18, "y": 0}, + + {"matrix": [4, 0], "x": 0, "y": 1}, + {"matrix": [4, 1], "x": 1, "y": 1}, + {"matrix": [4, 2], "x": 2, "y": 1}, + {"matrix": [4, 3], "x": 3, "y": 1}, + {"matrix": [4, 4], "x": 4, "y": 1}, + {"matrix": [4, 5], "x": 5, "y": 1}, + {"matrix": [6, 1], "x": 6, "y": 1}, + {"matrix": [6, 11], "x": 7, "y": 1}, + {"matrix": [7, 11], "x": 8, "y": 1}, + {"matrix": [7, 1], "x": 9, "y": 1}, + {"matrix": [4, 10], "x": 10, "y": 1}, + {"matrix": [4, 11], "x": 11, "y": 1}, + {"matrix": [4, 12], "x": 12, "y": 1}, + {"matrix": [4, 14], "x": 13, "y": 1, "w": 2}, + {"matrix": [4, 6], "x": 15, "y": 1}, + {"matrix": [4, 7], "x": 16, "y": 1}, + {"matrix": [4, 8], "x": 17, "y": 1}, + {"matrix": [4, 9], "x": 18, "y": 1}, + + {"matrix": [3, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 2}, + {"matrix": [3, 2], "x": 2.5, "y": 2}, + {"matrix": [3, 3], "x": 3.5, "y": 2}, + {"matrix": [3, 4], "x": 4.5, "y": 2}, + {"matrix": [3, 5], "x": 5.5, "y": 2}, + {"matrix": [6, 2], "x": 6.5, "y": 2}, + {"matrix": [6, 12], "x": 7.5, "y": 2}, + {"matrix": [7, 12], "x": 8.5, "y": 2}, + {"matrix": [7, 2], "x": 9.5, "y": 2}, + {"matrix": [3, 10], "x": 10.5, "y": 2}, + {"matrix": [3, 11], "x": 11.5, "y": 2}, + {"matrix": [3, 12], "x": 12.5, "y": 2}, + {"matrix": [3, 6], "x": 15, "y": 2}, + {"matrix": [3, 7], "x": 16, "y": 2}, + {"matrix": [3, 8], "x": 17, "y": 2}, + {"matrix": [3, 9], "x": 18, "y": 2, "h": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 3}, + {"matrix": [2, 2], "x": 2.75, "y": 3}, + {"matrix": [2, 3], "x": 3.75, "y": 3}, + {"matrix": [2, 4], "x": 4.75, "y": 3}, + {"matrix": [2, 5], "x": 5.75, "y": 3}, + {"matrix": [6, 3], "x": 6.75, "y": 3}, + {"matrix": [6, 13], "x": 7.75, "y": 3}, + {"matrix": [7, 13], "x": 8.75, "y": 3}, + {"matrix": [7, 3], "x": 9.75, "y": 3}, + {"matrix": [2, 10], "x": 10.75, "y": 3}, + {"matrix": [2, 11], "x": 11.75, "y": 3}, + {"matrix": [2, 12], "x": 12.75, "y": 3}, + {"matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, + {"matrix": [2, 6], "x": 15, "y": 3}, + {"matrix": [2, 7], "x": 16, "y": 3}, + {"matrix": [2, 8], "x": 17, "y": 3}, + + {"matrix": [1, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [0, 3], "x": 1.25, "y": 4}, + {"matrix": [1, 1], "x": 2.25, "y": 4}, + {"matrix": [1, 2], "x": 3.25, "y": 4}, + {"matrix": [1, 3], "x": 4.25, "y": 4}, + {"matrix": [1, 4], "x": 5.25, "y": 4}, + {"matrix": [1, 5], "x": 6.25, "y": 4}, + {"matrix": [6, 4], "x": 7.25, "y": 4}, + {"matrix": [6, 14], "x": 8.25, "y": 4}, + {"matrix": [7, 14], "x": 9.25, "y": 4}, + {"matrix": [7, 4], "x": 10.25, "y": 4}, + {"matrix": [1, 10], "x": 11.25, "y": 4}, + {"matrix": [1, 11], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [6, 8], "x": 14, "y": 4}, + {"matrix": [1, 6], "x": 15, "y": 4}, + {"matrix": [1, 7], "x": 16, "y": 4}, + {"matrix": [1, 8], "x": 17, "y": 4}, + {"matrix": [1, 9], "x": 18, "y": 4, "h": 2}, + + {"matrix": [0, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [0, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [0, 2], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [6, 5], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [7, 5], "x": 10, "y": 5}, + {"matrix": [0, 10], "x": 11, "y": 5}, + {"matrix": [0, 11], "x": 12, "y": 5}, + {"matrix": [6, 6], "x": 13, "y": 5}, + {"matrix": [6, 7], "x": 14, "y": 5}, + {"matrix": [6, 9], "x": 15, "y": 5}, + {"matrix": [0, 6], "x": 16, "y": 5}, + {"matrix": [0, 8], "x": 17, "y": 5} + ] + }, + "LAYOUT_96_ansi_2_right_mod": { "layout": [ {"matrix": [5, 0], "x": 0, "y": 0}, {"matrix": [5, 2], "x": 1, "y": 0}, @@ -249,6 +469,7 @@ {"matrix": [1, 6], "x": 15, "y": 4}, {"matrix": [1, 7], "x": 16, "y": 4}, {"matrix": [1, 8], "x": 17, "y": 4}, + {"matrix": [1, 9], "x": 18, "y": 4, "h": 2}, {"matrix": [0, 0], "x": 0, "y": 5, "w": 1.25}, {"matrix": [0, 1], "x": 1.25, "y": 5, "w": 1.25}, @@ -260,8 +481,7 @@ {"matrix": [6, 7], "x": 14, "y": 5}, {"matrix": [6, 9], "x": 15, "y": 5}, {"matrix": [0, 6], "x": 16, "y": 5}, - {"matrix": [0, 8], "x": 17, "y": 5}, - {"matrix": [0, 9], "x": 18, "y": 4, "h": 2} + {"matrix": [0, 8], "x": 17, "y": 5} ] } } diff --git a/keyboards/donutcables/budget96/keymaps/default/keymap.c b/keyboards/donutcables/budget96/keymaps/default/keymap.c index da335622d0f..023c570e7f0 100644 --- a/keyboards/donutcables/budget96/keymaps/default/keymap.c +++ b/keyboards/donutcables/budget96/keymaps/default/keymap.c @@ -16,7 +16,7 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT_96_ansi( +[0] = LAYOUT_96_ansi_2_right_mod( 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_PSCR, KC_NUM, KC_INS, KC_HOME, KC_PGUP, KC_PSLS, 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_END, KC_PGDN, KC_PSLS, KC_PAST, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, @@ -24,21 +24,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT, KC_PENT), -[1] = LAYOUT_96_ansi( - QK_BOOT, EE_CLR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_UP, BL_DOWN, BL_BRTG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, 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_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - -[2] = LAYOUT_96_ansi( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +[1] = LAYOUT_96_ansi_2_right_mod( + QK_BOOT, EE_CLR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_UP, BL_DOWN, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; diff --git a/keyboards/donutcables/budget96/keymaps/donut/keymap.c b/keyboards/donutcables/budget96/keymaps/donut/keymap.c index d7e2bfd0d08..f726fe2228c 100644 --- a/keyboards/donutcables/budget96/keymaps/donut/keymap.c +++ b/keyboards/donutcables/budget96/keymaps/donut/keymap.c @@ -45,7 +45,7 @@ enum custom_keycodes { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base */ - [_BASE] = LAYOUT_96_ansi( + [_BASE] = LAYOUT_96_ansi_2_right_mod( 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_HOME, KC_INS, KC_END, KC_MPRV, KC_MPLY, KC_MNXT, 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_DEL, KC_PSCR, KC_PSLS, KC_PAST, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, @@ -54,29 +54,29 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, MO(2), KC_RALT, KC_SPC, KC_CALC, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), /* (1) Bmode layer */ - [_B] = LAYOUT_96_ansi( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, B, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [_B] = LAYOUT_96_ansi_2_right_mod( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, B, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), /* (2) Fn 1 */ - [_FN1] = LAYOUT_96_ansi( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, TG(1), KC_PGUP, KC_VOLD, KC_MUTE, KC_VOLU, - ALT0, KC_TRNS, KC_TRNS, ALT1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, ALT2, KC_TRNS, KC_TRNS, KC_NUM, KC_TRNS, KC_TRNS, - KC_TRNS, CD, KC_TRNS, KC_TRNS, KC_TRNS, ALT3, KC_TRNS, KC_TRNS, KC_TRNS, ALT4, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, AES, xkcd, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_CAPS, KC_TRNS, X, KC_TRNS, img, B, KC_TRNS, ALT7, ALT5, ALT6, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_LALT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [_FN1] = LAYOUT_96_ansi_2_right_mod( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, TG(1), KC_PGUP, KC_VOLD, KC_MUTE, KC_VOLU, + ALT0, _______, _______, ALT1, _______, _______, _______, _______, _______, _______, _______, _______, ALT2, _______, _______, KC_NUM, _______, _______, + _______, CD, _______, _______, _______, ALT3, _______, _______, _______, ALT4, _______, _______, _______, _______, _______, _______, _______, _______, + _______, AES, xkcd, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_CAPS, _______, X, _______, img, B, _______, ALT7, ALT5, ALT6, _______, _______, _______, _______, _______, _______, + _______, _______, KC_LALT, _______, _______, _______, _______, _______, _______, _______, _______, _______), /* (3) Fn 2 */ - [_FN2] = LAYOUT_96_ansi( + [_FN2] = LAYOUT_96_ansi_2_right_mod( 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, UC_WINC, EE_CLR, QK_BOOT, VK_TOGG, 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, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, 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, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + _______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, 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), diff --git a/keyboards/donutcables/budget96/keymaps/via/keymap.c b/keyboards/donutcables/budget96/keymaps/via/keymap.c index 26a3c7cf0c5..257dff57a4c 100644 --- a/keyboards/donutcables/budget96/keymaps/via/keymap.c +++ b/keyboards/donutcables/budget96/keymaps/via/keymap.c @@ -16,7 +16,7 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT_96_ansi( +[0] = LAYOUT_96_ansi_2_right_mod( 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_PSCR, KC_NUM, KC_INS, KC_HOME, KC_PGUP, KC_PSLS, 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_END, KC_PGDN, KC_PSLS, KC_PAST, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, @@ -24,19 +24,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT, KC_PENT), -[1] = LAYOUT_96_ansi( - QK_BOOT, EE_CLR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_UP, BL_DOWN, BL_BRTG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, 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_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - -[2] = LAYOUT_96_ansi( - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +[1] = LAYOUT_96_ansi_2_right_mod( + QK_BOOT, EE_CLR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_UP, BL_DOWN, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), }; diff --git a/keyboards/donutcables/budget96/matrix_diagram.md b/keyboards/donutcables/budget96/matrix_diagram.md new file mode 100644 index 00000000000..1b6255c8c89 --- /dev/null +++ b/keyboards/donutcables/budget96/matrix_diagram.md @@ -0,0 +1,23 @@ +# Matrix Diagram for Donutcables Budget96 + +``` +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│50 │52 │53 │54 │55 │6A │7A │70 │5B │5C │5C │5D │5E │1D │2E │0D │76 │78 │79 │ +├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ ┌───────┐ +│40 │41 │42 │43 │44 │45 │61 │6B │7B │71 │4A │4B │4C │4D │4E │46 │47 │48 │49 │ │4D │ 2u Backpsace +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┼───┼───┼───┤ └─┬─────┤ ┌───┐ +│30 │31 │32 │33 │34 │35 │62 │6C │7C │72 │3A │3B │3C │3D │36 │37 │38 │39 │ │ │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┼───┼───┼───┤ ┌──┴┐2D │ ISO Enter │39 │ Numpad "+" 2u +│20 │21 │22 │23 │24 │25 │63 │6D │7D │73 │2A │2B │2C │26 │27 │28 │29 │ │2C │ │ │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┼───┼───┼───┤ └───┴────┘ ├───┤ +│10 │03 │11 │12 │13 │14 │15 │64 │6E │7E │74 │1A │1B │68 │16 │17 │18 │19 │ │ │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┼───┼───┼───┤ ┌───────┐ │19 │ Numpad Enter 2U +│00 │01 │02 │65 │75 │0A │0B │66 │67 │69 │06 │08 │09 │ Numpad 0 2u │06 │ │ │ +└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┴───┴───┴───┘ └───────┘ └───┘ +┌────────┐ ┌──────────┐ +│10 │ 2.25u LShift 2.75u RShift │1B │ +└────────┘ └──────────┘ +┌────┬────┬────┬────────────────────────┬─────┬─────┐ +│00 │01 │02 │65 │75 │0B │ 2x1.5u Right Mod +└────┴────┴────┴────────────────────────┴─────┴─────┘ +``` diff --git a/keyboards/dztech/dz96/info.json b/keyboards/dztech/dz96/info.json index 47ceaebcd28..c1d3b84623e 100644 --- a/keyboards/dztech/dz96/info.json +++ b/keyboards/dztech/dz96/info.json @@ -25,8 +25,13 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT_default": "LAYOUT_96_ansi", + "LAYOUT_iso": "LAYOUT_96_iso" + }, + "community_layouts": ["96_ansi", "96_iso"], "layouts": { - "LAYOUT_default": { + "LAYOUT_96_ansi": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -357,7 +362,7 @@ {"matrix": [5, 12], "x": 18, "y": 5} ] }, - "LAYOUT_iso": { + "LAYOUT_96_iso": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/dztech/dz96/matrix_diagram.md b/keyboards/dztech/dz96/matrix_diagram.md new file mode 100644 index 00000000000..e54cceee76d --- /dev/null +++ b/keyboards/dztech/dz96/matrix_diagram.md @@ -0,0 +1,23 @@ +# Matrix Diagram for Dztech Dz96 + +``` +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│00 │01 │02 │03 │04 │60 │61 │62 │63 │05 │06 │07 │08 │72 │09 │0A │0B │0C │7C │ +├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ ┌───────┐ +│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 │ Numpad "+" 2u +│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 │74 │49 │4A │4B │4C │ │ │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┼───┼───┼───┤ │4C │ Numpad Enter 2U +│50 │51 │52 │59 │55 │56 │57 │58 │53 │54 │5A │5B │5C │ │ │ +└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┴───┴───┴───┘ └───┘ +┌────────┐ +│40 │ 2.25u LShift +└────────┘ +┌─────┬─────┬───────────────────────────┬─────┬─────┐ +│50 │51 │59 │55 │57 │ 2 Mod +└─────┴─────┴───────────────────────────┴─────┴─────┘ +``` diff --git a/keyboards/idobao/id96/info.json b/keyboards/idobao/id96/info.json index d594af5fc35..1febd541e56 100644 --- a/keyboards/idobao/id96/info.json +++ b/keyboards/idobao/id96/info.json @@ -48,8 +48,12 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, + "community_layouts": ["96_ansi"], "layouts": { - "LAYOUT": { + "LAYOUT_all": { "layout": [ {"matrix": [5, 0], "x": 0, "y": 0}, {"matrix": [5, 1], "x": 1, "y": 0}, @@ -161,6 +165,115 @@ {"matrix": [6, 1], "x": 17, "y": 5}, {"matrix": [6, 0], "x": 18, "y": 5} ] + }, + "LAYOUT_96_ansi": { + "layout": [ + {"matrix": [5, 0], "x": 0, "y": 0}, + {"matrix": [5, 1], "x": 1, "y": 0}, + {"matrix": [5, 2], "x": 2, "y": 0}, + {"matrix": [5, 3], "x": 3, "y": 0}, + {"matrix": [5, 4], "x": 4, "y": 0}, + {"matrix": [5, 5], "x": 5, "y": 0}, + {"matrix": [5, 6], "x": 6, "y": 0}, + {"matrix": [5, 7], "x": 7, "y": 0}, + {"matrix": [5, 8], "x": 8, "y": 0}, + {"matrix": [11, 8], "x": 9, "y": 0}, + {"matrix": [11, 7], "x": 10, "y": 0}, + {"matrix": [11, 5], "x": 11, "y": 0}, + {"matrix": [11, 4], "x": 12, "y": 0}, + {"matrix": [11, 3], "x": 13, "y": 0}, + {"matrix": [11, 6], "x": 14, "y": 0}, + {"matrix": [11, 2], "x": 15, "y": 0}, + {"matrix": [11, 1], "x": 16, "y": 0}, + {"matrix": [11, 0], "x": 17, "y": 0}, + {"matrix": [6, 3], "x": 18, "y": 0}, + + {"matrix": [4, 0], "x": 0, "y": 1}, + {"matrix": [4, 1], "x": 1, "y": 1}, + {"matrix": [4, 2], "x": 2, "y": 1}, + {"matrix": [4, 3], "x": 3, "y": 1}, + {"matrix": [4, 4], "x": 4, "y": 1}, + {"matrix": [4, 5], "x": 5, "y": 1}, + {"matrix": [4, 6], "x": 6, "y": 1}, + {"matrix": [4, 7], "x": 7, "y": 1}, + {"matrix": [4, 8], "x": 8, "y": 1}, + {"matrix": [10, 8], "x": 9, "y": 1}, + {"matrix": [10, 7], "x": 10, "y": 1}, + {"matrix": [10, 5], "x": 11, "y": 1}, + {"matrix": [10, 4], "x": 12, "y": 1}, + {"matrix": [10, 6], "x": 13, "y": 1, "w": 2}, + {"matrix": [10, 2], "x": 15, "y": 1}, + {"matrix": [10, 1], "x": 16, "y": 1}, + {"matrix": [10, 0], "x": 17, "y": 1}, + {"matrix": [6, 4], "x": 18, "y": 1}, + + {"matrix": [3, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 2}, + {"matrix": [3, 2], "x": 2.5, "y": 2}, + {"matrix": [3, 3], "x": 3.5, "y": 2}, + {"matrix": [3, 4], "x": 4.5, "y": 2}, + {"matrix": [3, 5], "x": 5.5, "y": 2}, + {"matrix": [3, 6], "x": 6.5, "y": 2}, + {"matrix": [3, 7], "x": 7.5, "y": 2}, + {"matrix": [3, 8], "x": 8.5, "y": 2}, + {"matrix": [9, 8], "x": 9.5, "y": 2}, + {"matrix": [9, 7], "x": 10.5, "y": 2}, + {"matrix": [9, 5], "x": 11.5, "y": 2}, + {"matrix": [9, 4], "x": 12.5, "y": 2}, + {"matrix": [8, 4], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [9, 6], "x": 15, "y": 2}, + {"matrix": [9, 2], "x": 16, "y": 2}, + {"matrix": [9, 1], "x": 17, "y": 2}, + {"matrix": [9, 0], "x": 18, "y": 2, "h": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 3}, + {"matrix": [2, 2], "x": 2.75, "y": 3}, + {"matrix": [2, 3], "x": 3.75, "y": 3}, + {"matrix": [2, 4], "x": 4.75, "y": 3}, + {"matrix": [2, 5], "x": 5.75, "y": 3}, + {"matrix": [2, 6], "x": 6.75, "y": 3}, + {"matrix": [2, 7], "x": 7.75, "y": 3}, + {"matrix": [2, 8], "x": 8.75, "y": 3}, + {"matrix": [8, 8], "x": 9.75, "y": 3}, + {"matrix": [8, 7], "x": 10.75, "y": 3}, + {"matrix": [8, 5], "x": 11.75, "y": 3}, + {"matrix": [9, 3], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [8, 6], "x": 15, "y": 3}, + {"matrix": [8, 2], "x": 16, "y": 3}, + {"matrix": [8, 1], "x": 17, "y": 3}, + + {"matrix": [1, 0], "x": 0, "y": 4, "w": 2.25}, + {"matrix": [1, 2], "x": 2.25, "y": 4}, + {"matrix": [1, 3], "x": 3.25, "y": 4}, + {"matrix": [1, 4], "x": 4.25, "y": 4}, + {"matrix": [1, 5], "x": 5.25, "y": 4}, + {"matrix": [1, 6], "x": 6.25, "y": 4}, + {"matrix": [1, 7], "x": 7.25, "y": 4}, + {"matrix": [1, 8], "x": 8.25, "y": 4}, + {"matrix": [7, 8], "x": 9.25, "y": 4}, + {"matrix": [7, 7], "x": 10.25, "y": 4}, + {"matrix": [7, 5], "x": 11.25, "y": 4}, + {"matrix": [7, 4], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [7, 3], "x": 14, "y": 4}, + {"matrix": [7, 6], "x": 15, "y": 4}, + {"matrix": [7, 2], "x": 16, "y": 4}, + {"matrix": [7, 1], "x": 17, "y": 4}, + {"matrix": [7, 0], "x": 18, "y": 4, "h": 2}, + + {"matrix": [0, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [0, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [0, 2], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [0, 6], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [0, 8], "x": 10, "y": 5}, + {"matrix": [0, 7], "x": 11, "y": 5}, + {"matrix": [0, 5], "x": 12, "y": 5}, + {"matrix": [0, 4], "x": 13, "y": 5}, + {"matrix": [0, 3], "x": 14, "y": 5}, + {"matrix": [6, 6], "x": 15, "y": 5}, + {"matrix": [6, 2], "x": 16, "y": 5}, + {"matrix": [6, 1], "x": 17, "y": 5} + ] } } } diff --git a/keyboards/idobao/id96/keymaps/default/keymap.c b/keyboards/idobao/id96/keymaps/default/keymap.c index 4bf52fff4df..90fdc03d161 100644 --- a/keyboards/idobao/id96/keymaps/default/keymap.c +++ b/keyboards/idobao/id96/keymaps/default/keymap.c @@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |__________|__________|__________|________________________________________________________|________|________|________|________|________|________|________|________|________| */ - [LAYER_0] = LAYOUT( + [LAYER_0] = LAYOUT_all( 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_PSCR, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_DEL, 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_BSLS, 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_PMNS, @@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ - [LAYER_1] = LAYOUT( + [LAYER_1] = LAYOUT_all( QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/idobao/id96/keymaps/via/keymap.c b/keyboards/idobao/id96/keymaps/via/keymap.c index 19e38c111cb..b42ae53c6d8 100644 --- a/keyboards/idobao/id96/keymaps/via/keymap.c +++ b/keyboards/idobao/id96/keymaps/via/keymap.c @@ -27,7 +27,7 @@ enum { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [LAYER_0] = LAYOUT( + [LAYER_0] = LAYOUT_all( 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_PSCR, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_DEL, 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_BSLS, 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_PMNS, @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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_PENT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT), - [LAYER_1] = LAYOUT( + [LAYER_1] = LAYOUT_all( QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, BL_DOWN, BL_TOGG, BL_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), - [LAYER_2] = LAYOUT( + [LAYER_2] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - [LAYER_3] = LAYOUT( + [LAYER_3] = LAYOUT_all( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/idobao/id96/matrix_diagram.md b/keyboards/idobao/id96/matrix_diagram.md new file mode 100644 index 00000000000..c89aaa7aa16 --- /dev/null +++ b/keyboards/idobao/id96/matrix_diagram.md @@ -0,0 +1,41 @@ +# Matrix Diagram for Idobao Id96 + +``` + ┌───────┐ + │A6 │ 2u Backpsace + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│50 │51 │52 │53 │54 │55 │56 │57 │58 │B8 │B7 │B5 │B4 │B3 │B6 │B2 │B1 │B0 │63 │ +├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ +│40 │41 │42 │43 │44 │45 │56 │47 │48 │A8 │A7 │A5 │A4 │A3 │A6 │A2 │A1 │A0 │64 │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┼───┼───┼───┤ ┌───┐ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │98 │97 │95 │94 │84 │96 │92 │91 │90 │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┼───┼───┼───┤ │80 │ Numpad "+" 2u +│20 │21 │22 │23 │24 │25 │26 │27 │28 │88 │87 │85 │93 │86 │82 │81 │80 │ │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┼───┼───┼───┤ ├───┤ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │78 │77 │75 │74 │73 │76 │72 │71 │70 │ │ │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┼───┼───┼───┤ │60 │ Numpad Enter 2U +│00 │01 │02 │06 │08 │07 │05 │04 │03 │66 │62 │61 │60 │ │ │ +└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┴───┴───┴───┘ └───┘ +┌────────┐ ┌──────────┐ +│10 │ 2.25u LShift 2.75u RShift │74 │ +└────────┘ └──────────┘ + ┌───────┐ + │62 │ Numpad 0 2u + └───────┘ +┌────┬────┬────┬────────────────────────┬────┬────┬────┬────┐ +│00 │01 │02 │06 │08 │07 │04 │03 │ 4x1.25u Right Mod +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ +┌─────┬─────┬───────────────────────────┬───┬───┬───┬───┬───┐ +│00 │01 │06 │08 │07 │05 │04 │03 │ 2x1.5u Left Mod +└─────┴─────┴───────────────────────────┴───┴───┴───┴───┴───┘ +┌─────┬───┬─────┬───────────────────────┬─────┬─────┬───┬───┐ +│00 │01 │02 │06 │08 │05 │04 │03 │ Tsangan Left Mod, 2x1.5u-2x1u Right Mod +└─────┴───┴─────┴───────────────────────┴─────┴─────┴───┴───┘ +┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ +│00 │01 │02 │06 │07 │04 │03 │ Tsangan/WKL/HHKB +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +┌─────┬───┬─────┬───────────────────────────┬───┬───┬───┬───┐ +│00 │01 │02 │06 │07 │05 │04 │03 │ 4x1u Right Mod +└─────┴───┴─────┴───────────────────────────┴───┴───┴───┴───┘ +``` diff --git a/keyboards/ymdk/melody96/info.json b/keyboards/ymdk/melody96/info.json index 37b3ba9cffb..7e43a099fad 100644 --- a/keyboards/ymdk/melody96/info.json +++ b/keyboards/ymdk/melody96/info.json @@ -52,6 +52,7 @@ "LAYOUT": "LAYOUT_all", "LAYOUT_hotswap": "LAYOUT_96_ansi" }, + "community_layouts": ["96_ansi", "96_iso"], "layouts": { "LAYOUT_all": { "layout": [ diff --git a/keyboards/ymdk/melody96/matrix_diagram.md b/keyboards/ymdk/melody96/matrix_diagram.md new file mode 100644 index 00000000000..29136bac075 --- /dev/null +++ b/keyboards/ymdk/melody96/matrix_diagram.md @@ -0,0 +1,35 @@ +# Matrix Diagram for Ymdk Melody96 + +``` +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│50 │51 │52 │53 │54 │55 │56 │57 │58 │B8 │B7 │B5 │B4 │B3 │B6 │B2 │B1 │B0 │63 │ +├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ ┌───────┐ +│40 │41 │42 │43 │44 │45 │56 │47 │48 │A8 │A7 │A5 │A4 │A3 │A6 │A2 │A1 │A0 │64 │ │A6 │ 2u Backpsace +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┼───┼───┼───┤ └─┬─────┤ ┌───┐ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │98 │97 │95 │94 │93 │96 │92 │91 │90 │ │ │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┼───┼───┼───┤ ┌──┴┐93 │ ISO Enter │80 │ Numpad "+" 2u +│20 │21 │22 │23 │24 │25 │26 │27 │28 │88 │87 │85 │84 │86 │82 │81 │80 │ │84 │ │ │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┼───┼───┼───┤ └───┴────┘ ├───┤ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │78 │77 │75 │74 │73 │76 │72 │71 │70 │ │ │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┼───┼───┼───┤ ┌───────┐ │60 │ Numpad Enter 2U +│00 │01 │02 │06 │08 │07 │05 │04 │03 │66 │62 │61 │60 │ Numpad 0 2u │62 │ │ │ +└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┴───┴───┴───┘ └───────┘ └───┘ +┌────────┐ ┌──────────┐ +│10 │ 2.25u LShift 2.75u RShift │74 │ +└────────┘ └──────────┘ +┌────┬────┬────┬────────────────────────┬────┬────┬────┬────┐ +│00 │01 │02 │06 │08 │07 │04 │03 │ 4x1.25u Right Mod +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ +┌─────┬─────┬───────────────────────────┬───┬───┬───┬───┬───┐ +│00 │01 │06 │08 │07 │05 │04 │03 │ 2x1.5u Left Mod +└─────┴─────┴───────────────────────────┴───┴───┴───┴───┴───┘ +┌─────┬───┬─────┬───────────────────────┬─────┬─────┬───┬───┐ +│00 │01 │02 │06 │08 │05 │04 │03 │ Tsangan Left Mod, 2x1.5u-2x1u Right Mod +└─────┴───┴─────┴───────────────────────┴─────┴─────┴───┴───┘ +┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ +│00 │01 │02 │06 │07 │04 │03 │ Tsangan/WKL/HHKB +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +┌─────┬───┬─────┬───────────────────────────┬───┬───┬───┬───┐ +│00 │01 │02 │06 │07 │05 │04 │03 │ 4x1u Right Mod +└─────┴───┴─────┴───────────────────────────┴───┴───┴───┴───┘ +``` From cdff9b8da710df29da2d977da0c6cf2b5ba1bf7b Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 20 Sep 2023 14:13:51 +0100 Subject: [PATCH 071/144] Restrict "feature" and "animation" keys (#21895) --- data/schemas/definitions.jsonschema | 4 ++++ data/schemas/keyboard.jsonschema | 9 ++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/data/schemas/definitions.jsonschema b/data/schemas/definitions.jsonschema index b9c64a55ec4..441e6395cf6 100644 --- a/data/schemas/definitions.jsonschema +++ b/data/schemas/definitions.jsonschema @@ -29,6 +29,10 @@ "minLength": 1, "maxLength": 250 }, + "snake_case": { + "type": "string", + "pattern": "^[a-z][a-z0-9_]*$" + }, "layout_macro": { "oneOf": [ { diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 901caa75fee..4053387f3b4 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -256,7 +256,11 @@ "enabled": {"type": "boolean"} } }, - "features": {"$ref": "qmk.definitions.v1#/boolean_array"}, + "features": { + "$ref": "qmk.definitions.v1#/boolean_array", + "propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" } + + }, "indicators": { "type": "object", "properties": { @@ -370,6 +374,7 @@ "properties": { "animations": { "type": "object", + "propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" } "additionalProperties": { "type": "boolean" } @@ -419,6 +424,7 @@ "properties": { "animations": { "type": "object", + "propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" } "additionalProperties": { "type": "boolean" } @@ -471,6 +477,7 @@ "properties": { "animations": { "type": "object", + "propertyNames": { "$ref": "qmk.definitions.v1#/snake_case" } "additionalProperties": { "type": "boolean" } From fffea620050dc44e1003658cc8f2f6ec5126e22f Mon Sep 17 00:00:00 2001 From: peepeetee <43021794+peepeetee@users.noreply.github.com> Date: Wed, 20 Sep 2023 21:03:32 -0500 Subject: [PATCH 072/144] [Keyboard] Momokai Aurora (#20419) Co-authored-by: Albert Y <76888457+filterpaper@users.noreply.github.com> Co-authored-by: Ryan Co-authored-by: Drashna Jaelre Co-authored-by: Joel Challis --- keyboards/momokai/aurora/config.h | 78 +++++++++++++++++++ keyboards/momokai/aurora/info.json | 73 +++++++++++++++++ .../momokai/aurora/keymaps/default/keymap.c | 19 +++++ .../momokai/aurora/keymaps/default/rules.mk | 1 + keyboards/momokai/aurora/keymaps/via/keymap.c | 18 +++++ keyboards/momokai/aurora/keymaps/via/rules.mk | 4 + keyboards/momokai/aurora/readme.md | 24 ++++++ keyboards/momokai/aurora/rules.mk | 1 + 8 files changed, 218 insertions(+) create mode 100644 keyboards/momokai/aurora/config.h create mode 100644 keyboards/momokai/aurora/info.json create mode 100644 keyboards/momokai/aurora/keymaps/default/keymap.c create mode 100644 keyboards/momokai/aurora/keymaps/default/rules.mk create mode 100644 keyboards/momokai/aurora/keymaps/via/keymap.c create mode 100644 keyboards/momokai/aurora/keymaps/via/rules.mk create mode 100644 keyboards/momokai/aurora/readme.md create mode 100644 keyboards/momokai/aurora/rules.mk diff --git a/keyboards/momokai/aurora/config.h b/keyboards/momokai/aurora/config.h new file mode 100644 index 00000000000..b12313ff2cb --- /dev/null +++ b/keyboards/momokai/aurora/config.h @@ -0,0 +1,78 @@ +// Copyright 2023 peepeetee (@peepeetee) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* + * Feature disable options + * These options are also useful to firmware size reduction. + */ + +/* disable debug print */ +//#define NO_DEBUG + +/* disable print */ +//#define NO_PRINT + +/* disable action features */ +//#define NO_ACTION_LAYER +//#define NO_ACTION_TAPPING +//#define NO_ACTION_ONESHOT + + +#define RGB_MATRIX_LED_COUNT 10 +#define RGB_MATRIX_KEYPRESSES // reacts to keypresses +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 + // RGB Matrix Animation modes. Explicitly enabled + // For full list of effects, see: + // https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects + #define ENABLE_RGB_MATRIX_SOLID_COLOR + #define ENABLE_RGB_MATRIX_ALPHAS_MODS + #define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN + #define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT + #define ENABLE_RGB_MATRIX_BREATHING + #define ENABLE_RGB_MATRIX_BAND_SAT + #define ENABLE_RGB_MATRIX_BAND_VAL + #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT + #define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL + #define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT + #define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL + #define ENABLE_RGB_MATRIX_CYCLE_ALL + #define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT + #define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN + #define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON + #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN + #define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL + #define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL + #define ENABLE_RGB_MATRIX_CYCLE_SPIRAL + #define ENABLE_RGB_MATRIX_DUAL_BEACON + #define ENABLE_RGB_MATRIX_RAINBOW_BEACON + #define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS + #define ENABLE_RGB_MATRIX_RAINDROPS + #define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS + #define ENABLE_RGB_MATRIX_HUE_BREATHING + #define ENABLE_RGB_MATRIX_HUE_PENDULUM + #define ENABLE_RGB_MATRIX_HUE_WAVE + #define ENABLE_RGB_MATRIX_PIXEL_RAIN + #define ENABLE_RGB_MATRIX_PIXEL_FLOW + #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL + + // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined + #define ENABLE_RGB_MATRIX_TYPING_HEATMAP + #define ENABLE_RGB_MATRIX_DIGITAL_RAIN + + // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS + #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS + #define ENABLE_RGB_MATRIX_SPLASH + #define ENABLE_RGB_MATRIX_MULTISPLASH + #define ENABLE_RGB_MATRIX_SOLID_SPLASH + #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH diff --git a/keyboards/momokai/aurora/info.json b/keyboards/momokai/aurora/info.json new file mode 100644 index 00000000000..58aa75ad016 --- /dev/null +++ b/keyboards/momokai/aurora/info.json @@ -0,0 +1,73 @@ +{ + "manufacturer": "momokai", + "keyboard_name": "momokai/aurora", + "maintainer": "peepeetee", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "bootmagic": { + "matrix": [1, 0] + }, + "matrix_pins": { + "direct": [ + ["NO_PIN", "B0", "NO_PIN" ], + ["B4", "D2", "D1" ], + ["D7", "D4", "D6" ] + ] + }, + "processor": "atmega32u4", + "url": "", + "usb": { + "device_version": "0.0.1", + "pid": "0x0009", + "vid": "0x69F9" + }, + "encoder": { + "enabled": true, + "rotary": [ + { + "pin_a": "B2", + "pin_b": "B1" + } + ] + }, + "ws2812": { + "pin": "C7" + }, + "rgb_matrix": { + "driver": "ws2812", + "layout": [ + { "flags": 4, "matrix": [2, 0], "x": 51, "y": 51 }, + { "flags": 4, "matrix": [1, 0], "x": 51, "y": 38 }, + { "flags": 4, "matrix": [1, 1], "x": 102, "y": 38 }, + { "flags": 4, "matrix": [2, 1], "x": 102, "y": 51 }, + { "flags": 4, "matrix": [2, 2], "x": 154, "y": 51 }, + { "flags": 4, "matrix": [1, 2], "x": 154, "y": 38 }, + { "flags": 2, "x": 77, "y": 12 }, + { "flags": 2, "x": 128, "y": 26 }, + { "flags": 2, "x": 77, "y": 26 }, + { "flags": 2, "x": 128, "y": 12 } + ] + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 2}, + {"matrix": [1, 1], "x": 1, "y": 2}, + {"matrix": [1, 2], "x": 2, "y": 2}, + {"matrix": [2, 0], "x": 0, "y": 3}, + {"matrix": [2, 1], "x": 1, "y": 3}, + {"matrix": [2, 2], "x": 2, "y": 3} + ] + } + } +} diff --git a/keyboards/momokai/aurora/keymaps/default/keymap.c b/keyboards/momokai/aurora/keymaps/default/keymap.c new file mode 100644 index 00000000000..cb84cc87d9d --- /dev/null +++ b/keyboards/momokai/aurora/keymaps/default/keymap.c @@ -0,0 +1,19 @@ +// Copyright 2023 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_MUTE, + KC_Z, KC_X, KC_C, + KC_GRV, KC_ESC, KC_F2 + ) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) } + +}; +#endif \ No newline at end of file diff --git a/keyboards/momokai/aurora/keymaps/default/rules.mk b/keyboards/momokai/aurora/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/momokai/aurora/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/momokai/aurora/keymaps/via/keymap.c b/keyboards/momokai/aurora/keymaps/via/keymap.c new file mode 100644 index 00000000000..710f1d57bb1 --- /dev/null +++ b/keyboards/momokai/aurora/keymaps/via/keymap.c @@ -0,0 +1,18 @@ +// Copyright 2023 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_MUTE, + KC_Z, KC_X, KC_C, + KC_GRV, KC_ESC, KC_F2 + ), +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, +}; +#endif \ No newline at end of file diff --git a/keyboards/momokai/aurora/keymaps/via/rules.mk b/keyboards/momokai/aurora/keymaps/via/rules.mk new file mode 100644 index 00000000000..293c5ffdeb9 --- /dev/null +++ b/keyboards/momokai/aurora/keymaps/via/rules.mk @@ -0,0 +1,4 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes + +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/momokai/aurora/readme.md b/keyboards/momokai/aurora/readme.md new file mode 100644 index 00000000000..7bbf885bbaa --- /dev/null +++ b/keyboards/momokai/aurora/readme.md @@ -0,0 +1,24 @@ +# Momokai Aurora + +A 6 key keypad with a rotary encoder + +* Keyboard Maintainer: [peepeetee](https://github.com/peepeetee) +* Hardware Supported: Aurora +* Hardware Availability: [Momokai](https://www.momokai.com/) + +Make example for this keyboard (after setting up your build environment): + + make momokai/aurora:default + +Flashing example for this keyboard: + + make momokai/aurora:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 2 ways: + +* **Bootmagic reset**: Hold down the key at (1,0) in the matrix (the top left physical key) and plug in the keyboard +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/momokai/aurora/rules.mk b/keyboards/momokai/aurora/rules.mk new file mode 100644 index 00000000000..7ff128fa692 --- /dev/null +++ b/keyboards/momokai/aurora/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file From 22c576b40b528fbea432321f9ec279b3fd5871af Mon Sep 17 00:00:00 2001 From: Dan Ford Date: Wed, 20 Sep 2023 19:11:24 -0700 Subject: [PATCH 073/144] [Keyboard] add Quokka keyboard (#20979) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/quokka/config.h | 34 ++++++ keyboards/quokka/halconf.h | 23 ++++ keyboards/quokka/info.json | 121 ++++++++++++++++++++++ keyboards/quokka/keymaps/default/keymap.c | 37 +++++++ keyboards/quokka/mcuconf.h | 26 +++++ keyboards/quokka/quokka.c | 61 +++++++++++ keyboards/quokka/readme.md | 26 +++++ keyboards/quokka/rules.mk | 2 + 8 files changed, 330 insertions(+) create mode 100644 keyboards/quokka/config.h create mode 100644 keyboards/quokka/halconf.h create mode 100644 keyboards/quokka/info.json create mode 100644 keyboards/quokka/keymaps/default/keymap.c create mode 100644 keyboards/quokka/mcuconf.h create mode 100644 keyboards/quokka/quokka.c create mode 100644 keyboards/quokka/readme.md create mode 100644 keyboards/quokka/rules.mk diff --git a/keyboards/quokka/config.h b/keyboards/quokka/config.h new file mode 100644 index 00000000000..6cacf0d5459 --- /dev/null +++ b/keyboards/quokka/config.h @@ -0,0 +1,34 @@ +/* +Copyright 2023 @dlford +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 RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 150U + +#define WS2812_PIO_USE_PIO1 +#define RGB_MATRIX_LED_COUNT 36 + +#define I2C_DRIVER I2CD1 +#define I2C1_SDA_PIN GP2 +#define I2C1_SCL_PIN GP3 +#define OLED_DISPLAY_128X64 + +#define AUDIO_PIN GP9 +#define AUDIO_PWM_DRIVER PWMD4 +#define AUDIO_PWM_CHANNEL RP2040_PWM_CHANNEL_B + +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_PIO_USE_PIO0 +#define SERIAL_USART_RX_PIN GP1 diff --git a/keyboards/quokka/halconf.h b/keyboards/quokka/halconf.h new file mode 100644 index 00000000000..1ec46d2b156 --- /dev/null +++ b/keyboards/quokka/halconf.h @@ -0,0 +1,23 @@ +/* +Copyright 2023 @dlford + +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_I2C TRUE + +#include_next diff --git a/keyboards/quokka/info.json b/keyboards/quokka/info.json new file mode 100644 index 00000000000..86037222bbe --- /dev/null +++ b/keyboards/quokka/info.json @@ -0,0 +1,121 @@ +{ + "manufacturer": "dlford", + "keyboard_name": "Quokka", + "maintainer": "dlford", + "bootloader": "rp2040", + "build": { + "lto": true + }, + "diode_direction": "ROW2COL", + "features": { + "audio": true, + "extrakey": true, + "lto": true, + "oled": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["GP8", "GP7", "GP6", "GP5", "GP4"], + "rows": ["GP10", "GP19", "GP20", "GP18"] + }, + "processor": "RP2040", + "rgb_matrix": { + "center_point": [133, 54], + "driver": "ws2812", + "layout": [ + { "flags": 4, "matrix": [3, 4], "x": 122, "y": 85 }, + { "flags": 4, "matrix": [3, 3], "x": 102, "y": 85 }, + { "flags": 4, "matrix": [3, 2], "x": 81, "y": 85 }, + { "flags": 4, "matrix": [2, 4], "x": 102, "y": 64 }, + { "flags": 4, "matrix": [1, 4], "x": 102, "y": 43 }, + { "flags": 4, "matrix": [0, 4], "x": 102, "y": 21 }, + { "flags": 4, "matrix": [0, 3], "x": 81, "y": 21 }, + { "flags": 4, "matrix": [1, 3], "x": 81, "y": 43 }, + { "flags": 4, "matrix": [2, 3], "x": 81, "y": 64 }, + { "flags": 4, "matrix": [2, 2], "x": 61, "y": 64 }, + { "flags": 4, "matrix": [1, 2], "x": 61, "y": 43 }, + { "flags": 4, "matrix": [0, 2], "x": 61, "y": 21 }, + { "flags": 4, "matrix": [0, 1], "x": 41, "y": 21 }, + { "flags": 4, "matrix": [1, 1], "x": 41, "y": 43 }, + { "flags": 4, "matrix": [2, 1], "x": 41, "y": 64 }, + { "flags": 4, "matrix": [2, 0], "x": 20, "y": 64 }, + { "flags": 4, "matrix": [1, 0], "x": 20, "y": 43 }, + { "flags": 4, "matrix": [0, 0], "x": 20, "y": 21 }, + { "flags": 4, "matrix": [7, 0], "x": 143, "y": 85 }, + { "flags": 4, "matrix": [7, 1], "x": 163, "y": 85 }, + { "flags": 4, "matrix": [7, 2], "x": 183, "y": 85 }, + { "flags": 4, "matrix": [6, 0], "x": 163, "y": 64 }, + { "flags": 4, "matrix": [5, 0], "x": 163, "y": 43 }, + { "flags": 4, "matrix": [4, 0], "x": 163, "y": 21 }, + { "flags": 4, "matrix": [4, 1], "x": 183, "y": 21 }, + { "flags": 4, "matrix": [5, 1], "x": 183, "y": 43 }, + { "flags": 4, "matrix": [6, 1], "x": 183, "y": 64 }, + { "flags": 4, "matrix": [6, 2], "x": 204, "y": 64 }, + { "flags": 4, "matrix": [5, 2], "x": 204, "y": 43 }, + { "flags": 4, "matrix": [4, 2], "x": 204, "y": 21 }, + { "flags": 4, "matrix": [4, 3], "x": 224, "y": 21 }, + { "flags": 4, "matrix": [5, 3], "x": 224, "y": 43 }, + { "flags": 4, "matrix": [6, 3], "x": 224, "y": 64 }, + { "flags": 4, "matrix": [6, 4], "x": 244, "y": 64 }, + { "flags": 4, "matrix": [5, 4], "x": 244, "y": 43 }, + { "flags": 4, "matrix": [4, 4], "x": 244, "y": 21 } + ], + "split_count": [18, 18] + }, + "split": { + "enabled": true, + "soft_serial_pin": "GP0" + }, + "url": "https://github.com/dlford/quokka", + "usb": { + "device_version": "1.0.0", + "pid": "0x3537", + "vid": "0x444D" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP29" + }, + "layouts": { + "LAYOUT_split_3x5_3": { + "layout": [ + { "label": "L00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 }, + { "label": "L01", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 }, + { "label": "L02", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 }, + { "label": "L03", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 }, + { "label": "L04", "matrix": [0, 4], "w": 1, "x": 4, "y": 0 }, + { "label": "R00", "matrix": [4, 4], "w": 1, "x": 5, "y": 0 }, + { "label": "R01", "matrix": [4, 3], "w": 1, "x": 6, "y": 0 }, + { "label": "R02", "matrix": [4, 2], "w": 1, "x": 7, "y": 0 }, + { "label": "R03", "matrix": [4, 1], "w": 1, "x": 8, "y": 0 }, + { "label": "R04", "matrix": [4, 0], "w": 1, "x": 9, "y": 0 }, + { "label": "L10", "matrix": [1, 0], "w": 1, "x": 10, "y": 0 }, + { "label": "L11", "matrix": [1, 1], "w": 1, "x": 11, "y": 0 }, + { "label": "L12", "matrix": [1, 2], "w": 1, "x": 12, "y": 0 }, + { "label": "L13", "matrix": [1, 3], "w": 1, "x": 13, "y": 0 }, + { "label": "L14", "matrix": [1, 4], "w": 1, "x": 14, "y": 0 }, + { "label": "R10", "matrix": [5, 4], "w": 1, "x": 15, "y": 0 }, + { "label": "R11", "matrix": [5, 3], "w": 1, "x": 16, "y": 0 }, + { "label": "R12", "matrix": [5, 2], "w": 1, "x": 17, "y": 0 }, + { "label": "R13", "matrix": [5, 1], "w": 1, "x": 18, "y": 0 }, + { "label": "R14", "matrix": [5, 0], "w": 1, "x": 19, "y": 0 }, + { "label": "L20", "matrix": [2, 0], "w": 1, "x": 20, "y": 0 }, + { "label": "L21", "matrix": [2, 1], "w": 1, "x": 21, "y": 0 }, + { "label": "L22", "matrix": [2, 2], "w": 1, "x": 22, "y": 0 }, + { "label": "L23", "matrix": [2, 3], "w": 1, "x": 23, "y": 0 }, + { "label": "L24", "matrix": [2, 4], "w": 1, "x": 24, "y": 0 }, + { "label": "R20", "matrix": [6, 4], "w": 1, "x": 25, "y": 0 }, + { "label": "R21", "matrix": [6, 3], "w": 1, "x": 26, "y": 0 }, + { "label": "R22", "matrix": [6, 2], "w": 1, "x": 27, "y": 0 }, + { "label": "R23", "matrix": [6, 1], "w": 1, "x": 28, "y": 0 }, + { "label": "R24", "matrix": [6, 0], "w": 1, "x": 29, "y": 0 }, + { "label": "L32", "matrix": [3, 2], "w": 1, "x": 30, "y": 0 }, + { "label": "L33", "matrix": [3, 3], "w": 1, "x": 31, "y": 0 }, + { "label": "L34", "matrix": [3, 4], "w": 1, "x": 32, "y": 0 }, + { "label": "R30", "matrix": [7, 4], "w": 1, "x": 33, "y": 0 }, + { "label": "R31", "matrix": [7, 3], "w": 1, "x": 34, "y": 0 }, + { "label": "R32", "matrix": [7, 2], "w": 1, "x": 35, "y": 0 } + ] + } + } +} diff --git a/keyboards/quokka/keymaps/default/keymap.c b/keyboards/quokka/keymaps/default/keymap.c new file mode 100644 index 00000000000..77375cd8a15 --- /dev/null +++ b/keyboards/quokka/keymaps/default/keymap.c @@ -0,0 +1,37 @@ +/* +Copyright 2023 @dlford + +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 + + +// clang-format off + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_split_3x5_3( +// |--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, +// |--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, +// |--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, +// |--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------| + KC_ESC, KC_SPC, KC_BSPC, KC_DEL, KC_TAB, KC_ENT +// |--------+--------+--------| |--------+--------+--------| + ), +}; + +// clang-format on diff --git a/keyboards/quokka/mcuconf.h b/keyboards/quokka/mcuconf.h new file mode 100644 index 00000000000..32dbaa6c48c --- /dev/null +++ b/keyboards/quokka/mcuconf.h @@ -0,0 +1,26 @@ +/* +Copyright 2023 @dlford + +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 + +#undef RP_PWM_USE_PWM4 +#define RP_PWM_USE_PWM4 TRUE + +#undef RP_I2C_USE_I2C1 +#define RP_I2C_USE_I2C1 TRUE diff --git a/keyboards/quokka/quokka.c b/keyboards/quokka/quokka.c new file mode 100644 index 00000000000..2225866b8c5 --- /dev/null +++ b/keyboards/quokka/quokka.c @@ -0,0 +1,61 @@ +/* +Copyright 2023 @dlford + +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 "quantum.h" + +#ifdef OLED_ENABLE +oled_rotation_t oled_init_kb(oled_rotation_t rotation) { + return OLED_ROTATION_180; +} + +// Prints out logo +static void oled_render_logo(void) { + static const char PROGMEM raw_logo[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 224, 224, 96, 96, 96, 96, 96, 96, 128, 192, 224, 224, 240, 240, 240, 224, 224, 192, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 240, 60, 30, 7, 1, 192, 224, 224, 240, 240, 240, 0, 255, 255, 255, 255, 249, 241, 241, 7, 7, 55, 247, 192, 0, 0, 0, 0, 224, 224, 224, 224, 224, 192, 192, 192, 0, 192, 224, 224, 224, 0, 0, 0, 0, 224, 224, 96, 96, 96, 96, 0, 192, 224, 96, 96, 96, 224, 192, 192, 192, 224, 96, 96, 96, 224, 192, 0, 224, 224, 96, 96, 96, 224, 192, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 15, 60, 240, 224, 134, 31, 63, 127, 255, 249, 248, 248, 127, 127, 63, 31, 0, 0, 128, 224, 248, 60, 15, 3, 1, 0, 0, 0, 127, 127, 127, 127, 113, 127, 127, 63, 31, 31, 63, 127, 127, 112, 112, 112, 112, 127, 127, 6, 6, 6, 6, 0, 127, 127, 96, 96, 96, 127, 127, 63, 127, 127, 12, 12, 60, 127, 103, 0, 127, 127, 96, 96, 96, 127, 63, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 7, 14, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 14, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }; + oled_write_raw_P(raw_logo, sizeof(raw_logo)); +} + +// Render logo on both displays +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + oled_render_logo(); + return true; +} +#endif +// clang-format off + +#ifdef SWAP_HANDS_ENABLE +__attribute__ ((weak)) +const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { + // Left + {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}}, + {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}}, + {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}}, + {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}}, + // Right + {{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}}, + {{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}}, + {{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}}, + {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}} +}; +#endif + +// clang-format on diff --git a/keyboards/quokka/readme.md b/keyboards/quokka/readme.md new file mode 100644 index 00000000000..6acf5bc4624 --- /dev/null +++ b/keyboards/quokka/readme.md @@ -0,0 +1,26 @@ +# Quokka + +![Quokka](https://i.imgur.com/zqbb56ch.jpeg) + +A split ortholinear keyboard designed for the small handed. + +* Keyboard Maintainer: [dlford](https://github.com/dlford/), [dlford.io](https://www.dlford.io) +* Hardware Supported: Quokka PCB, Adafruit KB2040 +* Hardware Availability: [PCB, Case Data, and Build Guide](https://github.com/dlford/quokka) + +Make example for this keyboard (after setting up your build environment): + + make quokka:default + +Flashing example for this keyboard: + + make quokka:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 2 ways: + +* **Physical reset button**: Quickly double press and release the reset button on the the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/quokka/rules.mk b/keyboards/quokka/rules.mk new file mode 100644 index 00000000000..c53818be735 --- /dev/null +++ b/keyboards/quokka/rules.mk @@ -0,0 +1,2 @@ +AUDIO_DRIVER = pwm_hardware +SERIAL_DRIVER = vendor From 6dc482b19729e86eb342ccd7d9685b828ed4365f Mon Sep 17 00:00:00 2001 From: Duncan Sutherland Date: Thu, 21 Sep 2023 03:14:00 +0100 Subject: [PATCH 074/144] apply 66_(ansi|iso) to keyboards (#21834) --- keyboards/clueboard/66_hotswap/gen1/info.json | 2 +- keyboards/handwired/3dp660/info.json | 1 + keyboards/hineybush/h660s/info.json | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/keyboards/clueboard/66_hotswap/gen1/info.json b/keyboards/clueboard/66_hotswap/gen1/info.json index e497594685d..81a23f7d87a 100644 --- a/keyboards/clueboard/66_hotswap/gen1/info.json +++ b/keyboards/clueboard/66_hotswap/gen1/info.json @@ -28,7 +28,7 @@ "pid": "0x2391", "vid": "0xC1ED" }, - "community_layouts": [], + "community_layouts": ["66_ansi"], "layout_aliases": { "LAYOUT": "LAYOUT_all" }, diff --git a/keyboards/handwired/3dp660/info.json b/keyboards/handwired/3dp660/info.json index 6d380fc3c60..82132e44733 100644 --- a/keyboards/handwired/3dp660/info.json +++ b/keyboards/handwired/3dp660/info.json @@ -18,6 +18,7 @@ "diode_direction": "COL2ROW", "processor": "atmega32u4", "bootloader": "halfkay", + "community_layouts": ["66_ansi"], "layouts": { "LAYOUT_66_ansi": { "layout": [ diff --git a/keyboards/hineybush/h660s/info.json b/keyboards/hineybush/h660s/info.json index b99ab329751..6c5d07cc835 100644 --- a/keyboards/hineybush/h660s/info.json +++ b/keyboards/hineybush/h660s/info.json @@ -36,6 +36,7 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "community_layouts": ["66_ansi", "66_iso"], "layouts": { "LAYOUT_66_ansi": { "layout": [ From 4629d6a6713d8daab997471bd7b7bf2c218c5b50 Mon Sep 17 00:00:00 2001 From: Joe Scotto <8194147+joe-scotto@users.noreply.github.com> Date: Wed, 20 Sep 2023 22:31:16 -0400 Subject: [PATCH 075/144] Add ScottoSlant Keyboard (#20942) Co-authored-by: Ryan --- .../scottokeebs/scottoslant/info.json | 75 +++++++++++++++++++ .../scottoslant/keymaps/default/config.h | 23 ++++++ .../scottoslant/keymaps/default/keymap.c | 45 +++++++++++ .../scottoslant/keymaps/scotto/config.h | 23 ++++++ .../scottoslant/keymaps/scotto/keymap.c | 69 +++++++++++++++++ .../scottoslant/keymaps/scotto/rules.mk | 1 + .../scottokeebs/scottoslant/readme.md | 28 +++++++ .../scottokeebs/scottoslant/rules.mk | 1 + 8 files changed, 265 insertions(+) create mode 100644 keyboards/handwired/scottokeebs/scottoslant/info.json create mode 100644 keyboards/handwired/scottokeebs/scottoslant/keymaps/default/config.h create mode 100644 keyboards/handwired/scottokeebs/scottoslant/keymaps/default/keymap.c create mode 100644 keyboards/handwired/scottokeebs/scottoslant/keymaps/scotto/config.h create mode 100644 keyboards/handwired/scottokeebs/scottoslant/keymaps/scotto/keymap.c create mode 100644 keyboards/handwired/scottokeebs/scottoslant/keymaps/scotto/rules.mk create mode 100644 keyboards/handwired/scottokeebs/scottoslant/readme.md create mode 100644 keyboards/handwired/scottokeebs/scottoslant/rules.mk diff --git a/keyboards/handwired/scottokeebs/scottoslant/info.json b/keyboards/handwired/scottokeebs/scottoslant/info.json new file mode 100644 index 00000000000..ebaa1b530c2 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoslant/info.json @@ -0,0 +1,75 @@ +{ + "manufacturer": "ScottoKeebs", + "keyboard_name": "ScottoSlant", + "maintainer": "joe-scotto", + "development_board": "promicro", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["D1", "D0", "D4", "C6", "D7", "E6", "B4", "B5", "F4", "F5"], + "rows": ["B1", "B3", "B2", "B6"] + }, + "url": "https://scottokeebs.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x0004", + "vid": "0x534B" + }, + "layouts": { + "LAYOUT": { + "layout": [ + // Row 1 + { "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 }, + + // Row 2 + { "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 }, + + // Row 3 + { "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 }, + + // Row 4 + { "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, 6], "x": 6, "y": 3 }, + { "matrix": [3, 7], "x": 7, "y": 3 }, + { "matrix": [3, 8], "x": 8, "y": 3 } + ] + } + } +} diff --git a/keyboards/handwired/scottokeebs/scottoslant/keymaps/default/config.h b/keyboards/handwired/scottokeebs/scottoslant/keymaps/default/config.h new file mode 100644 index 00000000000..1a6512052c1 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoslant/keymaps/default/config.h @@ -0,0 +1,23 @@ +/* +Copyright 2022 Joe Scotto + +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 options +#define TAPPING_TERM 135 +#define PERMISSIVE_HOLD +#define TAPPING_TERM_PER_KEY diff --git a/keyboards/handwired/scottokeebs/scottoslant/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scottoslant/keymaps/default/keymap.c new file mode 100644 index 00000000000..cd70c3ddc25 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoslant/keymaps/default/keymap.c @@ -0,0 +1,45 @@ +/* +Copyright 2022 Joe Scotto + +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_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_BSPC, + LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, RSFT_T(KC_SLSH), + KC_ESC, KC_LCTL, KC_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT), KC_ESC + ), + [1] = LAYOUT( + KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL, + KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, + LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS), + KC_TRNS, 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_CAPS, KC_BSPC, + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_LSFT, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/handwired/scottokeebs/scottoslant/keymaps/scotto/config.h b/keyboards/handwired/scottokeebs/scottoslant/keymaps/scotto/config.h new file mode 100644 index 00000000000..1a6512052c1 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoslant/keymaps/scotto/config.h @@ -0,0 +1,23 @@ +/* +Copyright 2022 Joe Scotto + +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 options +#define TAPPING_TERM 135 +#define PERMISSIVE_HOLD +#define TAPPING_TERM_PER_KEY diff --git a/keyboards/handwired/scottokeebs/scottoslant/keymaps/scotto/keymap.c b/keyboards/handwired/scottokeebs/scottoslant/keymaps/scotto/keymap.c new file mode 100644 index 00000000000..dc2d08d9105 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoslant/keymaps/scotto/keymap.c @@ -0,0 +1,69 @@ +/* +Copyright 2022 Joe Scotto + +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_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_BSPC, + KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, + LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMMA, KC_DOT, RSFT_T(KC_SLSH), + KC_ESC, KC_LCTL, KC_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT), KC_ESC + ), + [1] = LAYOUT( + KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL, + KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, + LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS), + KC_ESC, KC_LCTL, KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, KC_ESC + ), + [2] = LAYOUT( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC, + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_LSFT, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), + KC_ESC, KC_LCTL, KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, KC_ESC + ), + [3] = LAYOUT( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(4), + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, + KC_ESC, KC_LCTL, KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, KC_ESC + ), + [4] = LAYOUT( + KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_BSPC, + KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, + LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMMA, KC_DOT, RSFT_T(KC_SLSH), + KC_ESC, KC_LALT, KC_LCTL, KC_SPC, LT(5, KC_TAB), LT(6, KC_ENT), KC_ESC + ), + [5] = LAYOUT( + KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL, + KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, + LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS), + KC_ESC, KC_LALT, KC_LCTL, KC_SPC, LT(5, KC_TAB), LT(6, KC_ENT), KC_ESC + ), + [6] = LAYOUT( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC, + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_LSFT, KC_NO, KC_NO, KC_NO, MO(7), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), + KC_ESC, KC_LALT, KC_LCTL, KC_SPC, LT(5, KC_TAB), LT(6, KC_ENT), KC_ESC + ), + [7] = LAYOUT( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(0), + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, + KC_ESC, KC_LALT, KC_LCTL, KC_SPC, LT(5, KC_TAB), LT(6, KC_ENT), KC_ESC + ) +}; diff --git a/keyboards/handwired/scottokeebs/scottoslant/keymaps/scotto/rules.mk b/keyboards/handwired/scottokeebs/scottoslant/keymaps/scotto/rules.mk new file mode 100644 index 00000000000..e5ddcae8d92 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoslant/keymaps/scotto/rules.mk @@ -0,0 +1 @@ +TAP_DANCE_ENABLE = yes diff --git a/keyboards/handwired/scottokeebs/scottoslant/readme.md b/keyboards/handwired/scottokeebs/scottoslant/readme.md new file mode 100644 index 00000000000..6bb237b6bf7 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoslant/readme.md @@ -0,0 +1,28 @@ +# ScottoSlant + +![ScottoSlant](https://i.imgur.com/p10NGimh.jpg) + +A 37-key handwired 0.25u row-staggered keyboard with a 2u spacebar. Case files available [here](https://github.com/joe-scotto/scottokeebs). + +* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) +* Hardware Supported: ATmega32U4 +* Hardware Availability: [Amazon](https://amazon.com) + + +Make example for this keyboard (after setting up your build environment): + + make handwired/scottokeebs/scottoslant:default + +Flashing example for this keyboard: + + make handwired/scottokeebs/scottoslant: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 \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottoslant/rules.mk b/keyboards/handwired/scottokeebs/scottoslant/rules.mk new file mode 100644 index 00000000000..4da205a168c --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoslant/rules.mk @@ -0,0 +1 @@ +LTO_ENABLE = yes From 1c62cb7b42022e4c9e1fcfe36840d9f1ea9c1320 Mon Sep 17 00:00:00 2001 From: Joe Scotto <8194147+joe-scotto@users.noreply.github.com> Date: Wed, 20 Sep 2023 22:32:45 -0400 Subject: [PATCH 076/144] Add ScottoMouse Handwired Macropad (#21074) Co-authored-by: Joel Challis Co-authored-by: Ryan Co-authored-by: Albert Y <76888457+filterpaper@users.noreply.github.com> --- .../scottokeebs/scottomouse/info.json | 39 +++++++++++++++++++ .../scottomouse/keymaps/default/keymap.c | 24 ++++++++++++ .../scottomouse/keymaps/scotto/config.h | 26 +++++++++++++ .../scottomouse/keymaps/scotto/keymap.c | 33 ++++++++++++++++ .../scottomouse/keymaps/scotto/rules.mk | 1 + .../scottokeebs/scottomouse/readme.md | 29 ++++++++++++++ .../scottokeebs/scottomouse/rules.mk | 1 + 7 files changed, 153 insertions(+) create mode 100644 keyboards/handwired/scottokeebs/scottomouse/info.json create mode 100644 keyboards/handwired/scottokeebs/scottomouse/keymaps/default/keymap.c create mode 100644 keyboards/handwired/scottokeebs/scottomouse/keymaps/scotto/config.h create mode 100644 keyboards/handwired/scottokeebs/scottomouse/keymaps/scotto/keymap.c create mode 100644 keyboards/handwired/scottokeebs/scottomouse/keymaps/scotto/rules.mk create mode 100644 keyboards/handwired/scottokeebs/scottomouse/readme.md create mode 100644 keyboards/handwired/scottokeebs/scottomouse/rules.mk diff --git a/keyboards/handwired/scottokeebs/scottomouse/info.json b/keyboards/handwired/scottokeebs/scottomouse/info.json new file mode 100644 index 00000000000..36f92f48e26 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottomouse/info.json @@ -0,0 +1,39 @@ +{ + "manufacturer": "ScottoKeebs", + "keyboard_name": "ScottoMouse", + "maintainer": "joe-scotto", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "direct": [ + ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5"] + ] + }, + "processor": "RP2040", + "url": "https://scottokeebs.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x0018", + "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} + ] + } + } +} diff --git a/keyboards/handwired/scottokeebs/scottomouse/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scottomouse/keymaps/default/keymap.c new file mode 100644 index 00000000000..6cc4d901444 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottomouse/keymaps/default/keymap.c @@ -0,0 +1,24 @@ +/* +Copyright 2023 Joe Scotto + +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_MS_BTN1, KC_MS_BTN2, KC_MS_LEFT, KC_MS_UP, KC_MS_DOWN, KC_MS_RIGHT + ) +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottomouse/keymaps/scotto/config.h b/keyboards/handwired/scottokeebs/scottomouse/keymaps/scotto/config.h new file mode 100644 index 00000000000..4b0d2cd2fb0 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottomouse/keymaps/scotto/config.h @@ -0,0 +1,26 @@ +/* +Copyright 2023 Joe Scotto + +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 + +// Mouse key speed and acceleration. +#define MOUSEKEY_DELAY 0 +#define MOUSEKEY_INTERVAL 16 +#define MOUSEKEY_WHEEL_DELAY 0 +#define MOUSEKEY_MAX_SPEED 6 +#define MOUSEKEY_TIME_TO_MAX 64 + diff --git a/keyboards/handwired/scottokeebs/scottomouse/keymaps/scotto/keymap.c b/keyboards/handwired/scottokeebs/scottomouse/keymaps/scotto/keymap.c new file mode 100644 index 00000000000..d17ed1f28aa --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottomouse/keymaps/scotto/keymap.c @@ -0,0 +1,33 @@ +/* +Copyright 2023 Joe Scotto + +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 scroll_down[] = {KC_MS_BTN1, KC_MS_BTN2, KC_MS_DOWN, COMBO_END}; +const uint16_t PROGMEM scroll_up[] = {KC_MS_BTN1, KC_MS_BTN2, KC_MS_UP, COMBO_END}; +const uint16_t PROGMEM middle_click[] = {KC_MS_BTN1, KC_MS_BTN2, COMBO_END}; +combo_t key_combos[] = { + COMBO(scroll_down, KC_MS_WH_DOWN), + COMBO(scroll_up, KC_MS_WH_UP), + COMBO(middle_click, KC_MS_BTN3) +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_MS_BTN1, KC_MS_BTN2, KC_MS_LEFT, KC_MS_UP, KC_MS_DOWN, KC_MS_RIGHT + ) +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottomouse/keymaps/scotto/rules.mk b/keyboards/handwired/scottokeebs/scottomouse/keymaps/scotto/rules.mk new file mode 100644 index 00000000000..ab1e438182a --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottomouse/keymaps/scotto/rules.mk @@ -0,0 +1 @@ +COMBO_ENABLE = yes diff --git a/keyboards/handwired/scottokeebs/scottomouse/readme.md b/keyboards/handwired/scottokeebs/scottomouse/readme.md new file mode 100644 index 00000000000..4102f633107 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottomouse/readme.md @@ -0,0 +1,29 @@ +# ScottoMouse + +![ScottoMouse](https://i.imgur.com/yjnhyXWh.jpeg) + +A 6-key macropad that utilizes [QMK mouse keys](https://github.com/qmk/qmk_firmware/blob/master/docs/feature_mouse_keys.md) to emulate a mouse, case files available [here](https://github.com/joe-scotto/scottokeebs.git). + +* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) +* Hardware Supported: Raspberry Pi Pico +* Hardware Availability: [ScottoKeebs](https://scottokeebs.com), [Amazon](https://amazon.com), [Ali](https://amazon.com) + +# Compiling + +Make example for this keyboard (after setting up your build environment): + + make handwired/scottokeebs/scottomouse:default + +Flashing example for this keyboard: + + make handwired/scottokeebs/scottomouse: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 \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottomouse/rules.mk b/keyboards/handwired/scottokeebs/scottomouse/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottomouse/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From 9b699214917236ead6d982922e61eb7fd19b8b16 Mon Sep 17 00:00:00 2001 From: Joe Scotto <8194147+joe-scotto@users.noreply.github.com> Date: Wed, 20 Sep 2023 22:33:27 -0400 Subject: [PATCH 077/144] Add ScottoFly Keyboard (#20939) Co-authored-by: Ryan --- .../handwired/scottokeebs/scottofly/info.json | 78 +++++++++++++++++++ .../scottofly/keymaps/default/config.h | 23 ++++++ .../scottofly/keymaps/default/keymap.c | 45 +++++++++++ .../handwired/scottokeebs/scottofly/readme.md | 27 +++++++ .../handwired/scottokeebs/scottofly/rules.mk | 1 + 5 files changed, 174 insertions(+) create mode 100644 keyboards/handwired/scottokeebs/scottofly/info.json create mode 100644 keyboards/handwired/scottokeebs/scottofly/keymaps/default/config.h create mode 100644 keyboards/handwired/scottokeebs/scottofly/keymaps/default/keymap.c create mode 100644 keyboards/handwired/scottokeebs/scottofly/readme.md create mode 100644 keyboards/handwired/scottokeebs/scottofly/rules.mk diff --git a/keyboards/handwired/scottokeebs/scottofly/info.json b/keyboards/handwired/scottokeebs/scottofly/info.json new file mode 100644 index 00000000000..5255a5baf49 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottofly/info.json @@ -0,0 +1,78 @@ +{ + "manufacturer": "ScottoKeebs", + "keyboard_name": "ScottoFly", + "maintainer": "joe-scotto", + "development_board": "promicro", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + // 3, 4, 5, 6, 7, 8, 9, A3, A2, A1 + "cols": ["D0", "D4", "C6", "D7", "E6", "B4", "B5", "F4", "F5", "F6"], + + // 15, 14, 16, 10 + "rows": ["B1", "B3", "B2", "B6"] + }, + "url": "https://scottokeebs.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x0009", + "vid": "0xFEED" + }, + "community_layouts": ["split_3x5_3"], + "layouts": { + "LAYOUT_split_3x5_3": { + "layout": [ + // Row 1 + { "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 }, + + // Row 2 + { "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 }, + + // Row 3 + { "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 }, + + // Row 4 + { "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 } + ] + } + } +} diff --git a/keyboards/handwired/scottokeebs/scottofly/keymaps/default/config.h b/keyboards/handwired/scottokeebs/scottofly/keymaps/default/config.h new file mode 100644 index 00000000000..1a6512052c1 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottofly/keymaps/default/config.h @@ -0,0 +1,23 @@ +/* +Copyright 2022 Joe Scotto + +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 options +#define TAPPING_TERM 135 +#define PERMISSIVE_HOLD +#define TAPPING_TERM_PER_KEY diff --git a/keyboards/handwired/scottokeebs/scottofly/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scottofly/keymaps/default/keymap.c new file mode 100644 index 00000000000..2633845d509 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottofly/keymaps/default/keymap.c @@ -0,0 +1,45 @@ +/* +Copyright 2022 Joe Scotto + +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_split_3x5_3( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_BSPC, + LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, RSFT_T(KC_SLSH), + KC_LGUI, KC_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT), KC_ESC + ), + [1] = LAYOUT_split_3x5_3( + KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL, + KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, + LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT_split_3x5_3( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC, + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_LSFT, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT_split_3x5_3( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottofly/readme.md b/keyboards/handwired/scottokeebs/scottofly/readme.md new file mode 100644 index 00000000000..ae51e0ef75b --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottofly/readme.md @@ -0,0 +1,27 @@ +# ScottoFly + +![ScottoFly](https://i.imgur.com/TXuNxt7h.jpg) + +A 36-key split monoblock ergonomic column-staggered ortholinear keyboard with 20° of angle on each half. Case files available [here](https://github.com/joe-scotto/scottokeebs). + +* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) +* Hardware Supported: ATmega32U4 +* Hardware Availability: [Amazon](https://amazon.com) + +Make example for this keyboard (after setting up your build environment): + + make handwired/scottokeebs/scottofly:default + +Flashing example for this keyboard: + + make handwired/scottokeebs/scottofly: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 \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottofly/rules.mk b/keyboards/handwired/scottokeebs/scottofly/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottofly/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From e55220dbe0a8ff760e6d295a7d48ccad1ffd50eb Mon Sep 17 00:00:00 2001 From: Joe Scotto <8194147+joe-scotto@users.noreply.github.com> Date: Wed, 20 Sep 2023 22:33:57 -0400 Subject: [PATCH 078/144] Add ScottoMacrodeck Macropad (#20946) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- .../scottokeebs/scottomacrodeck/info.json | 52 +++++++++++++++++++ .../scottomacrodeck/keymaps/default/keymap.c | 26 ++++++++++ .../scottokeebs/scottomacrodeck/readme.md | 29 +++++++++++ .../scottokeebs/scottomacrodeck/rules.mk | 0 4 files changed, 107 insertions(+) create mode 100644 keyboards/handwired/scottokeebs/scottomacrodeck/info.json create mode 100644 keyboards/handwired/scottokeebs/scottomacrodeck/keymaps/default/keymap.c create mode 100644 keyboards/handwired/scottokeebs/scottomacrodeck/readme.md create mode 100644 keyboards/handwired/scottokeebs/scottomacrodeck/rules.mk diff --git a/keyboards/handwired/scottokeebs/scottomacrodeck/info.json b/keyboards/handwired/scottokeebs/scottomacrodeck/info.json new file mode 100644 index 00000000000..f238564c7fb --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottomacrodeck/info.json @@ -0,0 +1,52 @@ +{ + "manufacturer": "ScottoKeebs", + "keyboard_name": "ScottoMacrodeck", + "maintainer": "joe-scotto", + "development_board": "promicro", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "build" : { + "lto": true, + }, + "matrix_pins": { + "direct": [ + ["D3", "D2", "D1", null], + ["D0", "D4", "C6", "D7"], + ["E6", "B4", "B5", "F4"] + ] + }, + "url": "https://scottokeebs.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x0015", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT": { + "layout": [ + // Row 1 + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 1], "x": 1, "y": 0 }, + { "matrix": [0, 2], "x": 2, "y": 0 }, + + // Row 2 + { "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 }, + + // Row 3 + { "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 } + ] + } + } +} diff --git a/keyboards/handwired/scottokeebs/scottomacrodeck/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scottomacrodeck/keymaps/default/keymap.c new file mode 100644 index 00000000000..c8becfca580 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottomacrodeck/keymaps/default/keymap.c @@ -0,0 +1,26 @@ +/* +Copyright 2023 Joe Scotto + +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_1, KC_2, KC_3, + KC_Q, KC_W, KC_E, KC_R, + KC_A, KC_S, KC_D, KC_F + ) +}; diff --git a/keyboards/handwired/scottokeebs/scottomacrodeck/readme.md b/keyboards/handwired/scottokeebs/scottomacrodeck/readme.md new file mode 100644 index 00000000000..4fc82f42c8b --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottomacrodeck/readme.md @@ -0,0 +1,29 @@ +# ScottoMacrodeck + +![ScottoMacrodeck](https://imgur.com/KVJuIVNh.jpeg) + +An 11-key macropad designed specifically for someone who games with a single thumb, however, it can be used as a traditional macropad. Case files available [here](https://github.com/joe-scotto/scottokeebs). + +* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) +* Hardware Supported: ATmega32U4 +* Hardware Availability: [Amazon](https://amazon.com) + +# Compiling + +Make example for this keyboard (after setting up your build environment): + + make handwired/scottokeebs/scottomacrodeck:default + +Flashing example for this keyboard: + + make handwired/scottokeebs/scottomacrodeck: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 \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottomacrodeck/rules.mk b/keyboards/handwired/scottokeebs/scottomacrodeck/rules.mk new file mode 100644 index 00000000000..e69de29bb2d From 3d1b9e98a4346116a6c15a51f15cb8692dda3161 Mon Sep 17 00:00:00 2001 From: Joe Scotto <8194147+joe-scotto@users.noreply.github.com> Date: Wed, 20 Sep 2023 22:34:16 -0400 Subject: [PATCH 079/144] Add ScottoLong Keyboard (#20938) Co-authored-by: Ryan --- .../scottokeebs/scottolong/info.json | 72 +++++++++++++++++++ .../scottolong/keymaps/default/config.h | 23 ++++++ .../scottolong/keymaps/default/keymap.c | 45 ++++++++++++ .../scottokeebs/scottolong/readme.md | 27 +++++++ .../handwired/scottokeebs/scottolong/rules.mk | 1 + 5 files changed, 168 insertions(+) create mode 100644 keyboards/handwired/scottokeebs/scottolong/info.json create mode 100644 keyboards/handwired/scottokeebs/scottolong/keymaps/default/config.h create mode 100644 keyboards/handwired/scottokeebs/scottolong/keymaps/default/keymap.c create mode 100644 keyboards/handwired/scottokeebs/scottolong/readme.md create mode 100644 keyboards/handwired/scottokeebs/scottolong/rules.mk diff --git a/keyboards/handwired/scottokeebs/scottolong/info.json b/keyboards/handwired/scottokeebs/scottolong/info.json new file mode 100644 index 00000000000..156772d2139 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottolong/info.json @@ -0,0 +1,72 @@ +{ + "manufacturer": "ScottoKeebs", + "keyboard_name": "ScottoLong", + "maintainer": "joe-scotto", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15"], + "rows": ["GP2", "GP3", "GP4", "GP5"] + }, + "processor": "RP2040", + "url": "https://scottokeebs.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x0011", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT_ortho_3x10_3": { + "layout": [ + // Row 1 + { "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 }, + + // Row 2 + { "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 }, + + // Row 3 + { "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 }, + + // Row 4 + { "matrix": [3, 0], "x": 0, "y": 3 }, + { "matrix": [3, 4], "x": 4, "y": 3 }, + { "matrix": [3, 9], "x": 9, "y": 3 } + ] + } + } +} diff --git a/keyboards/handwired/scottokeebs/scottolong/keymaps/default/config.h b/keyboards/handwired/scottokeebs/scottolong/keymaps/default/config.h new file mode 100644 index 00000000000..1a6512052c1 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottolong/keymaps/default/config.h @@ -0,0 +1,23 @@ +/* +Copyright 2022 Joe Scotto + +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 options +#define TAPPING_TERM 135 +#define PERMISSIVE_HOLD +#define TAPPING_TERM_PER_KEY diff --git a/keyboards/handwired/scottokeebs/scottolong/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scottolong/keymaps/default/keymap.c new file mode 100644 index 00000000000..e63da854f00 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottolong/keymaps/default/keymap.c @@ -0,0 +1,45 @@ +/* +Copyright 2022 Joe Scotto + +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_ortho_3x10_3( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_BSPC, + LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, RSFT_T(KC_SLSH), + KC_LGUI, LT(1, KC_SPC), LT(2, KC_TAB) + ), + [1] = LAYOUT_ortho_3x10_3( + KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL, + KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, + LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS), + KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT_ortho_3x10_3( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC, + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_LSFT, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), + KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT_ortho_3x10_3( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, + KC_TRNS, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottolong/readme.md b/keyboards/handwired/scottokeebs/scottolong/readme.md new file mode 100644 index 00000000000..bdea4ee350e --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottolong/readme.md @@ -0,0 +1,27 @@ +# ScottoLong + +![ScottoLong](https://i.imgur.com/AEQWXLlh.jpeg) + +A 33-key ortholinear keyboard with a 7u spacebar and two 1.5u function keys. Case files available [here](https://github.com/joe-scotto/scottokeebs). + +* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) +* Hardware Supported: RP2040 +* Hardware Availability: [Amazon](https://amazon.com) + +Make example for this keyboard (after setting up your build environment): + + make handwired/scottokeebs/scottolong:default + +Flashing example for this keyboard: + + make handwired/scottokeebs/scottolong: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 \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottolong/rules.mk b/keyboards/handwired/scottokeebs/scottolong/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottolong/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From b5b900200fd91ba597d67a54659b6ec537d2bc07 Mon Sep 17 00:00:00 2001 From: temp4gh Date: Thu, 21 Sep 2023 10:36:40 +0800 Subject: [PATCH 080/144] Add funtions of Encoder and VIA for redragon/k667 (#21917) Co-authored-by: Duncan Sutherland Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Ryan Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com> Co-authored-by: Joel Challis Co-authored-by: syc --- keyboards/redragon/k667/info.json | 5 +- .../redragon/k667/keymaps/default/keymap.c | 7 +++ .../redragon/k667/keymaps/default/rules.mk | 1 + keyboards/redragon/k667/keymaps/via/keymap.c | 49 +++++++++++++++++++ keyboards/redragon/k667/keymaps/via/rules.mk | 2 + 5 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 keyboards/redragon/k667/keymaps/default/rules.mk create mode 100644 keyboards/redragon/k667/keymaps/via/keymap.c create mode 100644 keyboards/redragon/k667/keymaps/via/rules.mk diff --git a/keyboards/redragon/k667/info.json b/keyboards/redragon/k667/info.json index 80d61953120..889ecd56c0c 100644 --- a/keyboards/redragon/k667/info.json +++ b/keyboards/redragon/k667/info.json @@ -31,9 +31,10 @@ "processor": "STM32F103", "rgb_matrix": { "animations": { - "alphas_mods": true, + "solid_color": true, "band_sat": true, "band_spiral_val": true, + "band_spiral_sat": true, "band_val": true, "breathing": true, "cycle_all": true, @@ -42,7 +43,7 @@ "gradient_left_right": true, "gradient_up_down": true, "hue_wave": true, - "pixel_flow": true + "pixel_fractal": true }, "driver": "is31fl3733", "layout": [ diff --git a/keyboards/redragon/k667/keymaps/default/keymap.c b/keyboards/redragon/k667/keymaps/default/keymap.c index 48fab8614b0..d4c2eb964a2 100644 --- a/keyboards/redragon/k667/keymaps/default/keymap.c +++ b/keyboards/redragon/k667/keymaps/default/keymap.c @@ -22,6 +22,13 @@ enum layer_names _FnLay, }; +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_FnLay] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, +}; +#endif + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_BASE] = 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_END, diff --git a/keyboards/redragon/k667/keymaps/default/rules.mk b/keyboards/redragon/k667/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/redragon/k667/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/redragon/k667/keymaps/via/keymap.c b/keyboards/redragon/k667/keymaps/via/keymap.c new file mode 100644 index 00000000000..d4c2eb964a2 --- /dev/null +++ b/keyboards/redragon/k667/keymaps/via/keymap.c @@ -0,0 +1,49 @@ +/* Copyright 2023 temp4gh + * + * 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 + +enum layer_names +{ + _BASE, + _FnLay, +}; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_FnLay] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }, +}; +#endif + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = 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_END, + 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_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + 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_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FnLay), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT + ), + [_FnLay] = LAYOUT( + QK_BOOT, KC_MY_COMPUTER, KC_WWW_HOME, KC_CALCULATOR, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_MAIL, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAI, XXXXXXX, + XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, XXXXXXX, _______, XXXXXXX, RGB_SPD, RGB_VAD, RGB_SPI + ) +}; diff --git a/keyboards/redragon/k667/keymaps/via/rules.mk b/keyboards/redragon/k667/keymaps/via/rules.mk new file mode 100644 index 00000000000..f1adcab005e --- /dev/null +++ b/keyboards/redragon/k667/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes From 4520a584e40b17b940a660acb0e66cf50bff563a Mon Sep 17 00:00:00 2001 From: Joy Lee Date: Thu, 21 Sep 2023 10:38:20 +0800 Subject: [PATCH 081/144] [Keyboard] Add rpk-001 keyboard (#21042) Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre Co-authored-by: Duncan Sutherland Co-authored-by: Joy --- keyboards/phentech/rpk_001/config.h | 26 +++ keyboards/phentech/rpk_001/halconf.h | 10 + keyboards/phentech/rpk_001/info.json | 187 ++++++++++++++++++ .../phentech/rpk_001/keymaps/default/keymap.c | 36 ++++ .../phentech/rpk_001/keymaps/via/keymap.c | 44 +++++ .../phentech/rpk_001/keymaps/via/rules.mk | 2 + keyboards/phentech/rpk_001/mcuconf.h | 9 + keyboards/phentech/rpk_001/readme.md | 25 +++ keyboards/phentech/rpk_001/rpk_001.c | 92 +++++++++ keyboards/phentech/rpk_001/rules.mk | 1 + 10 files changed, 432 insertions(+) create mode 100644 keyboards/phentech/rpk_001/config.h create mode 100644 keyboards/phentech/rpk_001/halconf.h create mode 100644 keyboards/phentech/rpk_001/info.json create mode 100644 keyboards/phentech/rpk_001/keymaps/default/keymap.c create mode 100644 keyboards/phentech/rpk_001/keymaps/via/keymap.c create mode 100644 keyboards/phentech/rpk_001/keymaps/via/rules.mk create mode 100644 keyboards/phentech/rpk_001/mcuconf.h create mode 100644 keyboards/phentech/rpk_001/readme.md create mode 100644 keyboards/phentech/rpk_001/rpk_001.c create mode 100644 keyboards/phentech/rpk_001/rules.mk diff --git a/keyboards/phentech/rpk_001/config.h b/keyboards/phentech/rpk_001/config.h new file mode 100644 index 00000000000..05391a21ed7 --- /dev/null +++ b/keyboards/phentech/rpk_001/config.h @@ -0,0 +1,26 @@ +// Copyright 2023 JoyLee (@itarze) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* RGB Config */ +#define DRIVER_1_CS B6 +#define DRIVER_1_EN B7 +#define DRIVER_COUNT 1 +#define RGB_MATRIX_LED_COUNT 67 + +/* SPI Config */ +#define SPI_DRIVER SPIDQ +#define SPI_SCK_PIN B3 +#define SPI_MOSI_PIN B5 +#define SPI_MISO_PIN B4 + +/* SPI Flash */ +#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN C12 +#define WEAR_LEVELING_BACKING_SIZE (4 * 1024) + +/* RGB Matrix */ +#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_KEYRELEASES diff --git a/keyboards/phentech/rpk_001/halconf.h b/keyboards/phentech/rpk_001/halconf.h new file mode 100644 index 00000000000..8760386e815 --- /dev/null +++ b/keyboards/phentech/rpk_001/halconf.h @@ -0,0 +1,10 @@ +// Copyright 2023 JoyLee (@itarze) +// 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/phentech/rpk_001/info.json b/keyboards/phentech/rpk_001/info.json new file mode 100644 index 00000000000..105a126160b --- /dev/null +++ b/keyboards/phentech/rpk_001/info.json @@ -0,0 +1,187 @@ +{ + "manufacturer": "HENGCANG ELECTRONIC", + "keyboard_name": "RPK-001", + "maintainer": "JoyLee", + "url": "", + "processor": "WB32FQ95", + "bootloader": "wb32-dfu", + "usb": { + "device_version": "1.0.0", + "vid": "0xAC12", + "pid": "0x2236", + "force_nkro": true, + "suspend_wakeup_delay": 1000 + }, + "diode_direction": "ROW2COL", + "features": { + "nkro": true, + "encoder": true, + "extrakey": true, + "bootmagic": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["A6", "A7", "C4", "C5", "B0", "B1", "B10", "B11", "B13", "B14", "B15", "C6", "C7", "C8", "C9"], + "rows": ["C3", "A0", "A3", "A4", "A5"] + }, + "encoder": { + "rotary": [ + {"pin_a": "A2", "pin_b": "A1"} + ] + }, + "indicators": { + "caps_lock": "C15", + "scroll_lock": "C0", + "on_state": 0 + }, + "rgb_matrix": { + "driver": "aw20216", + "layout": [ + { "flags": 4, "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": 96, "y": 0 }, + { "flags": 4, "matrix": [0, 7], "x": 112, "y": 0 }, + { "flags": 4, "matrix": [0, 8], "x": 128, "y": 0 }, + { "flags": 4, "matrix": [0, 9], "x": 144, "y": 0 }, + { "flags": 4, "matrix": [0, 10], "x": 160, "y": 0 }, + { "flags": 4, "matrix": [0, 11], "x": 176, "y": 0 }, + { "flags": 4, "matrix": [0, 12], "x": 192, "y": 0 }, + { "flags": 4, "matrix": [0, 13], "x": 208, "y": 0 }, + + { "flags": 4, "matrix": [1, 0], "x": 0, "y": 16}, + { "flags": 4, "matrix": [1, 1], "x": 16, "y": 16}, + { "flags": 4, "matrix": [1, 2], "x": 32, "y": 16}, + { "flags": 4, "matrix": [1, 3], "x": 48, "y": 16}, + { "flags": 4, "matrix": [1, 4], "x": 64, "y": 16}, + { "flags": 4, "matrix": [1, 5], "x": 80, "y": 16}, + { "flags": 4, "matrix": [1, 6], "x": 96, "y": 16}, + { "flags": 4, "matrix": [1, 7], "x": 112, "y": 16}, + { "flags": 4, "matrix": [1, 8], "x": 128, "y": 16}, + { "flags": 4, "matrix": [1, 9], "x": 144, "y": 16}, + { "flags": 4, "matrix": [1, 10], "x": 160, "y": 16}, + { "flags": 4, "matrix": [1, 11], "x": 176, "y": 16}, + { "flags": 4, "matrix": [1, 12], "x": 192, "y": 16}, + { "flags": 4, "matrix": [1, 13], "x": 208, "y": 16}, + { "flags": 4, "matrix": [1, 14], "x": 224, "y": 16}, + + { "flags": 1, "matrix": [2, 0], "x": 0, "y": 32}, + { "flags": 4, "matrix": [2, 1], "x": 16, "y": 32}, + { "flags": 4, "matrix": [2, 2], "x": 32, "y": 32}, + { "flags": 4, "matrix": [2, 3], "x": 48, "y": 32}, + { "flags": 4, "matrix": [2, 4], "x": 64, "y": 32}, + { "flags": 4, "matrix": [2, 5], "x": 80, "y": 32}, + { "flags": 4, "matrix": [2, 6], "x": 96, "y": 32}, + { "flags": 4, "matrix": [2, 7], "x": 112, "y": 32}, + { "flags": 4, "matrix": [2, 8], "x": 128, "y": 32}, + { "flags": 4, "matrix": [2, 9], "x": 144, "y": 32}, + { "flags": 4, "matrix": [2, 10], "x": 160, "y": 32}, + { "flags": 4, "matrix": [2, 11], "x": 176, "y": 32}, + { "flags": 1, "matrix": [2, 12], "x": 192, "y": 32}, + { "flags": 4, "matrix": [2, 14], "x": 224, "y": 32}, + + { "flags": 1, "matrix": [3, 0], "x": 0, "y": 48}, + { "flags": 4, "matrix": [3, 2], "x": 32, "y": 48}, + { "flags": 4, "matrix": [3, 3], "x": 48, "y": 48}, + { "flags": 4, "matrix": [3, 4], "x": 64, "y": 48}, + { "flags": 4, "matrix": [3, 5], "x": 80, "y": 48}, + { "flags": 4, "matrix": [3, 6], "x": 96, "y": 48}, + { "flags": 4, "matrix": [3, 7], "x": 112, "y": 48}, + { "flags": 4, "matrix": [3, 8], "x": 128, "y": 48}, + { "flags": 4, "matrix": [3, 9], "x": 144, "y": 48}, + { "flags": 4, "matrix": [3, 10], "x": 160, "y": 48}, + { "flags": 4, "matrix": [3, 11], "x": 176, "y": 48}, + { "flags": 1, "matrix": [4, 12], "x": 192, "y": 48}, + { "flags": 1, "matrix": [3, 13], "x": 208, "y": 48}, + { "flags": 4, "matrix": [3, 14], "x": 224, "y": 48}, + + { "flags": 1, "matrix": [4, 0], "x": 0, "y": 64}, + { "flags": 1, "matrix": [4, 1], "x": 16, "y": 64}, + { "flags": 1, "matrix": [4, 2], "x": 32, "y": 64}, + { "flags": 4, "matrix": [4, 5], "x": 80, "y": 64}, + { "flags": 1, "matrix": [4, 8], "x": 144, "y": 64}, + { "flags": 1, "matrix": [4, 9], "x": 160, "y": 64}, + { "flags": 4, "matrix": [4, 10], "x": 176, "y": 64}, + { "flags": 1, "matrix": [4, 11], "x": 192, "y": 64}, + { "flags": 1, "matrix": [4, 13], "x": 208, "y": 64}, + { "flags": 1, "matrix": [4, 14], "x": 224, "y": 64} + ] + }, + "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], "w": 2, "x": 13, "y": 0 }, + { "matrix": [0, 14], "x": 15.5, "y": 0 }, + { "matrix": [1, 0], "w": 1.5, "x": 0, "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 }, + { "matrix": [1, 5], "x": 5.5, "y": 1 }, + { "matrix": [1, 6], "x": 6.5, "y": 1 }, + { "matrix": [1, 7], "x": 7.5, "y": 1 }, + { "matrix": [1, 8], "x": 8.5, "y": 1 }, + { "matrix": [1, 9], "x": 9.5, "y": 1 }, + { "matrix": [1, 10], "x": 10.5, "y": 1 }, + { "matrix": [1, 11], "x": 11.5, "y": 1 }, + { "matrix": [1, 12], "x": 12.5, "y": 1 }, + { "matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1 }, + { "matrix": [1, 14], "x": 15.5, "y": 1 }, + { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "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], "w": 2.25, "x": 12.75, "y": 2 }, + { "matrix": [2, 14], "x": 15.5, "y": 1 }, + { "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 }, + { "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "matrix": [4, 12], "w": 1.75, "x": 12.25, "y": 3 }, + { "matrix": [3, 13], "x": 14.25, "y": 3 }, + { "matrix": [3, 14], "x": 15.5, "y": 3 }, + { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4 }, + { "matrix": [4, 5], "w": 6.25, "x": 3.75, "y": 4 }, + { "matrix": [4, 8], "w": 1, "x": 10, "y": 4 }, + { "matrix": [4, 9], "w": 1, "x": 11, "y": 4 }, + { "matrix": [4, 10], "w": 1.25, "x": 12, "y": 4 }, + { "matrix": [4, 11], "x": 13.5, "y": 4 }, + { "matrix": [4, 13], "x": 14.5, "y": 4 }, + { "matrix": [4, 14], "x": 15.5, "y": 4 } + ] + } + } +} diff --git a/keyboards/phentech/rpk_001/keymaps/default/keymap.c b/keyboards/phentech/rpk_001/keymaps/default/keymap.c new file mode 100644 index 00000000000..b07a7f64c05 --- /dev/null +++ b/keyboards/phentech/rpk_001/keymaps/default/keymap.c @@ -0,0 +1,36 @@ +// Copyright 2023 JoyLee (@itarze) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌────┐ + * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Mute│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├────┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├────┤ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ │Home│ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─────┬──┘ ├────┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ ┌───┐ │End │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴───┬───┘ │ ↑ │ └────┘ + * │Ctrl│GUI │Alt │ │Alt│Ctl│ FN │ ┌───┼───┼───┐ + * └────┴────┴────┴────────────────────────┴───┴───┴────┘ │ ← │ ↓ │ → │ + * └───┴───┴───┘ + */ + [0] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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, KC_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/phentech/rpk_001/keymaps/via/keymap.c b/keyboards/phentech/rpk_001/keymaps/via/keymap.c new file mode 100644 index 00000000000..99bfd5ad150 --- /dev/null +++ b/keyboards/phentech/rpk_001/keymaps/via/keymap.c @@ -0,0 +1,44 @@ +// Copyright 2023 JoyLee (@itarze) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌────┐ + * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Mute│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├────┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├────┤ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ │Home│ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─────┬──┘ ├────┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ ┌───┐ │End │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴───┬───┘ │ ↑ │ └────┘ + * │Ctrl│GUI │Alt │ │Alt│Ctl│ FN │ ┌───┼───┼───┐ + * └────┴────┴────┴────────────────────────┴───┴───┴────┘ │ ← │ ↓ │ → │ + * └───┴───┴───┘ + */ + [0] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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, KC_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + 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_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, GU_TOGG, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; + +/* 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) } +}; +#endif diff --git a/keyboards/phentech/rpk_001/keymaps/via/rules.mk b/keyboards/phentech/rpk_001/keymaps/via/rules.mk new file mode 100644 index 00000000000..715838ecc5d --- /dev/null +++ b/keyboards/phentech/rpk_001/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +ENCODER_MAP_ENABLE = yes +VIA_ENABLE = yes diff --git a/keyboards/phentech/rpk_001/mcuconf.h b/keyboards/phentech/rpk_001/mcuconf.h new file mode 100644 index 00000000000..ca0e017ebdf --- /dev/null +++ b/keyboards/phentech/rpk_001/mcuconf.h @@ -0,0 +1,9 @@ +// Copyright 2023 JoyLee (@itarze) +// 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/phentech/rpk_001/readme.md b/keyboards/phentech/rpk_001/readme.md new file mode 100644 index 00000000000..f543f7f1a6f --- /dev/null +++ b/keyboards/phentech/rpk_001/readme.md @@ -0,0 +1,25 @@ + +# RPK-001 + +[![p9HNfPg.png](https://s1.ax1x.com/2023/05/25/p9HNfPg.png)](https://imgse.com/i/p9HNfPg) + +* Keyboard Maintainer: [JoyLee](https://github.com/itarze) +* Hardware Supported: RPK-001 PCB + +Make example for this keyboard (after setting up your build environment): + + make phentech/rpk_001:default + +Flashing example for this keyboard: + + make phentech/rpk_001: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/phentech/rpk_001/rpk_001.c b/keyboards/phentech/rpk_001/rpk_001.c new file mode 100644 index 00000000000..9f1a1187596 --- /dev/null +++ b/keyboards/phentech/rpk_001/rpk_001.c @@ -0,0 +1,92 @@ +// Copyright 2023 JoyLee (@itarze) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE + +// clang-format off + +const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = { +/* Refer to IS31 manual for these locations + * driver + * | R location + * | | G location + * | | | B location + * | | | | */ + {0, CS1_SW1, CS2_SW1, CS3_SW1 }, // 0 Esc + {0, CS1_SW2, CS2_SW2, CS3_SW2 }, // 1 1 + {0, CS1_SW3, CS2_SW3, CS3_SW3 }, // 2 2 + {0, CS1_SW4, CS2_SW4, CS3_SW4 }, // 3 3 + {0, CS1_SW5, CS2_SW5, CS3_SW5 }, // 4 4 + {0, CS1_SW6, CS2_SW6, CS3_SW6 }, // 5 5 + {0, CS1_SW7, CS2_SW7, CS3_SW7 }, // 6 6 + {0, CS1_SW8, CS2_SW8, CS3_SW8 }, // 7 7 + {0, CS1_SW9, CS2_SW9, CS3_SW9 }, // 8 8 + {0, CS1_SW10, CS2_SW10, CS3_SW10 }, // 9 9 + {0, CS1_SW11, CS2_SW11, CS3_SW11 }, // 10 0 + {0, CS1_SW12, CS2_SW12, CS3_SW12 }, // 11 - + {0, CS16_SW1, CS17_SW1, CS18_SW1 }, // 12 = + {0, CS16_SW2, CS17_SW2, CS18_SW2 }, // 13 Backspace + + {0, CS4_SW1, CS5_SW1, CS6_SW1 }, // 14 Tab + {0, CS4_SW2, CS5_SW2, CS6_SW2 }, // 15 Q + {0, CS4_SW3, CS5_SW3, CS6_SW3 }, // 16 W + {0, CS4_SW4, CS5_SW4, CS6_SW4 }, // 17 E + {0, CS4_SW5, CS5_SW5, CS6_SW5 }, // 18 R + {0, CS4_SW6, CS5_SW6, CS6_SW6 }, // 19 T + {0, CS4_SW7, CS5_SW7, CS6_SW7 }, // 20 Y + {0, CS4_SW8, CS5_SW8, CS6_SW8 }, // 21 U + {0, CS4_SW9, CS5_SW9, CS6_SW9 }, // 22 I + {0, CS4_SW10, CS5_SW10, CS6_SW10 }, // 23 O + {0, CS4_SW11, CS5_SW11, CS6_SW11 }, // 24 P + {0, CS4_SW12, CS5_SW12, CS6_SW12 }, // 25 [ + {0, CS16_SW4, CS17_SW4, CS18_SW4 }, // 26 ] + {0, CS16_SW5, CS17_SW5, CS18_SW5 }, // 27 \| + {0, CS16_SW3, CS17_SW3, CS18_SW3 }, // 28 Del + + {0, CS7_SW1, CS8_SW1, CS9_SW1 }, // 29 Caps Lock + {0, CS7_SW2, CS8_SW2, CS9_SW2 }, // 30 A + {0, CS7_SW3, CS8_SW3, CS9_SW3 }, // 31 S + {0, CS7_SW4, CS8_SW4, CS9_SW4 }, // 32 D + {0, CS7_SW5, CS8_SW5, CS9_SW5 }, // 33 F + {0, CS7_SW6, CS8_SW6, CS9_SW6 }, // 34 G + {0, CS7_SW7, CS8_SW7, CS9_SW7 }, // 35 H + {0, CS7_SW8, CS8_SW8, CS9_SW8 }, // 36 J + {0, CS7_SW9, CS8_SW9, CS9_SW9 }, // 37 K + {0, CS7_SW10, CS8_SW10, CS9_SW10 }, // 38 L + {0, CS7_SW11, CS8_SW11, CS9_SW11 }, // 39 ; + {0, CS7_SW12, CS8_SW12, CS9_SW12 }, // 40 ' + {0, CS16_SW7, CS17_SW7, CS18_SW7 }, // 41 Enter + {0, CS16_SW6, CS17_SW6, CS18_SW6 }, // 42 Home + + {0, CS10_SW1, CS11_SW1, CS12_SW1 }, // 43 Shift_L + {0, CS10_SW3, CS11_SW3, CS12_SW3 }, // 44 Z + {0, CS10_SW4, CS11_SW4, CS12_SW4 }, // 45 X + {0, CS10_SW5, CS11_SW5, CS12_SW5 }, // 46 C + {0, CS10_SW6, CS11_SW6, CS12_SW6 }, // 47 V + {0, CS10_SW7, CS11_SW7, CS12_SW7 }, // 48 B + {0, CS10_SW8, CS11_SW8, CS12_SW8 }, // 49 N + {0, CS10_SW9, CS11_SW9, CS12_SW9 }, // 50 M + {0, CS10_SW10, CS11_SW10, CS12_SW10 }, // 51 , + {0, CS10_SW11, CS11_SW11, CS12_SW11 }, // 52 . + {0, CS10_SW12, CS11_SW12, CS12_SW12 }, // 53 / + {0, CS16_SW9, CS17_SW9, CS18_SW9 }, // 54 Shift_R + {0, CS16_SW10, CS17_SW10, CS18_SW10 }, // 55 Up + {0, CS16_SW8, CS17_SW8, CS18_SW8 }, // 56 END + + {0, CS13_SW1, CS14_SW1, CS15_SW1 }, // 57 Ctrl_L + {0, CS13_SW2, CS14_SW2, CS15_SW2 }, // 58 Win_L + {0, CS13_SW3, CS14_SW3, CS15_SW3 }, // 59 Alt_L + {0, CS13_SW6, CS14_SW6, CS15_SW6 }, // 60 Space + {0, CS13_SW9, CS14_SW9, CS15_SW9 }, // 61 Alt_R + {0, CS13_SW10, CS14_SW10, CS15_SW10 }, // 62 Ctrl_R + {0, CS13_SW11, CS14_SW11, CS15_SW11 }, // 63 FN + {0, CS13_SW12, CS14_SW12, CS15_SW12 }, // 64 Left + {0, CS16_SW12, CS17_SW12, CS18_SW12 }, // 65 Down + {0, CS16_SW11, CS17_SW11, CS18_SW11 }, // 66 Right +}; + +// clang-format on + +#endif // #ifdef RGB_MATRIX_ENABLE diff --git a/keyboards/phentech/rpk_001/rules.mk b/keyboards/phentech/rpk_001/rules.mk new file mode 100644 index 00000000000..002458405ee --- /dev/null +++ b/keyboards/phentech/rpk_001/rules.mk @@ -0,0 +1 @@ +WEAR_LEVELING_DRIVER = spi_flash From e56ea60058aded2b5a6cad504051606d5bb1d31b Mon Sep 17 00:00:00 2001 From: Duncan Sutherland Date: Thu, 21 Sep 2023 04:02:32 +0100 Subject: [PATCH 082/144] amend 68_(ansi|iso) community_layouts in keyboards/ (#21835) --- keyboards/evyd13/solheim68/info.json | 166 ++++++++++++++++++ keyboards/evyd13/solheim68/matrix_diagram.md | 18 ++ keyboards/wuque/ikki68_aurora/info.json | 4 +- .../ikki68_aurora/keymaps/68_iso/keymap.c | 22 +-- .../wuque/ikki68_aurora/matrix_diagram.md | 21 +++ 5 files changed, 212 insertions(+), 19 deletions(-) create mode 100644 keyboards/evyd13/solheim68/matrix_diagram.md create mode 100644 keyboards/wuque/ikki68_aurora/matrix_diagram.md diff --git a/keyboards/evyd13/solheim68/info.json b/keyboards/evyd13/solheim68/info.json index a08f7860274..f348b985568 100644 --- a/keyboards/evyd13/solheim68/info.json +++ b/keyboards/evyd13/solheim68/info.json @@ -15,6 +15,7 @@ "diode_direction": "COL2ROW", "processor": "atmega32u4", "bootloader": "atmel-dfu", + "community_layouts": ["68_ansi", "68_iso"], "layouts": { "LAYOUT_all": { "layout": [ @@ -261,6 +262,88 @@ {"matrix": [4, 15], "x": 16.25, "y": 4} ] }, + "LAYOUT_68_ansi_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [2, 14], "x": 13, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.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, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [1, 14], "x": 15.25, "y": 1}, + {"matrix": [1, 15], "x": 16.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, 13], "x": 14, "y": 3}, + + {"matrix": [3, 14], "x": 15.25, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + + {"matrix": [4, 13], "x": 14.25, "y": 4}, + {"matrix": [4, 14], "x": 15.25, "y": 4}, + {"matrix": [4, 15], "x": 16.25, "y": 4} + ] + }, "LAYOUT_68_ansi_split_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, @@ -342,6 +425,89 @@ {"matrix": [4, 15], "x": 16.25, "y": 4} ] }, + "LAYOUT_68_iso_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [2, 14], "x": 13, "y": 0}, + {"matrix": [0, 13], "x": 14, "y": 0}, + + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 15], "x": 16.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": 15.25, "y": 1}, + {"matrix": [1, 15], "x": 16.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, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + + {"matrix": [3, 14], "x": 15.25, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + + {"matrix": [4, 13], "x": 14.25, "y": 4}, + {"matrix": [4, 14], "x": 15.25, "y": 4}, + {"matrix": [4, 15], "x": 16.25, "y": 4} + ] + }, "LAYOUT_68_iso_split_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, diff --git a/keyboards/evyd13/solheim68/matrix_diagram.md b/keyboards/evyd13/solheim68/matrix_diagram.md new file mode 100644 index 00000000000..aa202643451 --- /dev/null +++ b/keyboards/evyd13/solheim68/matrix_diagram.md @@ -0,0 +1,18 @@ +# Matrix diagram for Evyd13 solheim68 + +``` +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┐ ┌───────┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │2E │0D ││0E │0F │ │0D │ 2u Backspace +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┤ └─┬─────┤ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D ││1E │1F │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┘ ┌──┴┐2D │ ISO Enter +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │ │2C │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤┌───┐ └───┴────┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D ││3E │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴┬──┴┼───┼───┐ +│40 │41 │42 │46 │4A │4B │4C │ │4D │4E │4F │ +└────┴────┴────┴────────────────────────┴────┴────┴────┘ └───┴───┴───┘ +┌────────┐ ┌──────────┐ +│30 │ 2.25u LShift 2.75u RShift │3C │ +└────────┘ └──────────┘ +``` diff --git a/keyboards/wuque/ikki68_aurora/info.json b/keyboards/wuque/ikki68_aurora/info.json index 872509ed429..a65b265b66c 100644 --- a/keyboards/wuque/ikki68_aurora/info.json +++ b/keyboards/wuque/ikki68_aurora/info.json @@ -41,6 +41,7 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "community_layouts": ["68_ansi", "68_iso"], "layouts": { "LAYOUT_68_ansi": { "layout": [ @@ -502,7 +503,8 @@ {"matrix": [2, 12], "x": 12.75, "y": 2}, {"matrix": [1, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, - {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, {"matrix": [3, 2], "x": 2.25, "y": 3}, {"matrix": [3, 3], "x": 3.25, "y": 3}, {"matrix": [3, 4], "x": 4.25, "y": 3}, diff --git a/keyboards/wuque/ikki68_aurora/keymaps/68_iso/keymap.c b/keyboards/wuque/ikki68_aurora/keymaps/68_iso/keymap.c index 50bb0444906..d75e3b88119 100644 --- a/keyboards/wuque/ikki68_aurora/keymaps/68_iso/keymap.c +++ b/keyboards/wuque/ikki68_aurora/keymaps/68_iso/keymap.c @@ -20,29 +20,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_68_iso( 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_INS, 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_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_BSLS, 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), [1] = LAYOUT_68_iso( 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, _______, _______, QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [2] = LAYOUT_68_iso( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), - [3] = LAYOUT_68_iso( - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), + ) }; diff --git a/keyboards/wuque/ikki68_aurora/matrix_diagram.md b/keyboards/wuque/ikki68_aurora/matrix_diagram.md new file mode 100644 index 00000000000..af2829e6703 --- /dev/null +++ b/keyboards/wuque/ikki68_aurora/matrix_diagram.md @@ -0,0 +1,21 @@ +# Matrix diagram for Wuque Ikki68 Aurora + +``` +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┐ ┌───────┐ +│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │2D ││0E │0F │ │0D │ 2u Backspace +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┤ └─┬─────┤ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D ││1E │1F │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┘ ┌──┴┐1D │ ISO Enter +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │ │2C │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤┌───┐ └───┴────┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D ││3E │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴┬──┴┼───┼───┐ +│40 │41 │42 │46 │4A │4B │4C │ │4D │4E │4F │ +└────┴────┴────┴────────────────────────┴────┴────┴────┘ └───┴───┴───┘ +┌────────┐ ┌──────────┐ +│30 │ 2.25u LShift 2.75u RShift │3C │ +└────────┘ └──────────┘ +┌────┬────┬────┬────────┬────┬──────────┬────┬────┬────┐ +│40 │41 │42 │44 │46 │48 │4A │4B │4C │ Split Space +└────┴────┴────┴────────┴────┴──────────┴────┴────┴────┘ +``` From 4ec3e239baf618e7f90e4e2136ab957a483f8d59 Mon Sep 17 00:00:00 2001 From: Poring <97579443+PoringH@users.noreply.github.com> Date: Thu, 21 Sep 2023 10:45:29 +0700 Subject: [PATCH 083/144] [Keyboard] Add QCK-75 (#21180) Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre Co-authored-by: Duncan Sutherland --- keyboards/qck75/v1/config.h | 20 + keyboards/qck75/v1/halconf.h | 9 + keyboards/qck75/v1/info.json | 132 +++++++ keyboards/qck75/v1/keymaps/default/keymap.c | 26 ++ keyboards/qck75/v1/keymaps/via/keymap.c | 32 ++ keyboards/qck75/v1/keymaps/via/rules.mk | 2 + keyboards/qck75/v1/mcuconf.h | 15 + keyboards/qck75/v1/readme.md | 28 ++ keyboards/qck75/v1/rules.mk | 0 keyboards/qck75/v1/v1.c | 395 ++++++++++++++++++++ 10 files changed, 659 insertions(+) create mode 100644 keyboards/qck75/v1/config.h create mode 100644 keyboards/qck75/v1/halconf.h create mode 100644 keyboards/qck75/v1/info.json create mode 100644 keyboards/qck75/v1/keymaps/default/keymap.c create mode 100644 keyboards/qck75/v1/keymaps/via/keymap.c create mode 100644 keyboards/qck75/v1/keymaps/via/rules.mk create mode 100644 keyboards/qck75/v1/mcuconf.h create mode 100644 keyboards/qck75/v1/readme.md create mode 100644 keyboards/qck75/v1/rules.mk create mode 100644 keyboards/qck75/v1/v1.c diff --git a/keyboards/qck75/v1/config.h b/keyboards/qck75/v1/config.h new file mode 100644 index 00000000000..01d875e3d4c --- /dev/null +++ b/keyboards/qck75/v1/config.h @@ -0,0 +1,20 @@ +// Copyright 2023 Andrian (@PoringH) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define I2C1_SCL_PIN B8 +#define I2C1_SDA_PIN B9 + +#define I2C1_SCL_PAL_MODE 1 +#define I2C1_SDA_PAL_MODE 1 + +#define OLED_DISPLAY_128X64 + +#define OLED_IC OLED_IC_SH1106 +#define OLED_COLUMN_OFFSET 2 + +#define OLED_TIMEOUT 120000 +#define OLED_BRIGHTNESS 120 + +#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 21 diff --git a/keyboards/qck75/v1/halconf.h b/keyboards/qck75/v1/halconf.h new file mode 100644 index 00000000000..bbf9322333d --- /dev/null +++ b/keyboards/qck75/v1/halconf.h @@ -0,0 +1,9 @@ +// Copyright 2023 Andrian (@PoringH) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_I2C TRUE + +#include_next + diff --git a/keyboards/qck75/v1/info.json b/keyboards/qck75/v1/info.json new file mode 100644 index 00000000000..a8ae853ab36 --- /dev/null +++ b/keyboards/qck75/v1/info.json @@ -0,0 +1,132 @@ +{ + "manufacturer": "Andrian", + "keyboard_name": "QCK75-XT", + "maintainer": "PoringH", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "C0", "pin_b": "C1", "resolution": 2} + ] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "oled": true, + "wpm": true + }, + "matrix_pins": { + "cols": ["A6", "A7", "C4", "C5", "B0", "B1", "B2", "B11", "A9", "A8", "C9", "C8", "C7", "C6", "B15", "B14", "B13", "B12"], + "rows": ["C3", "A0", "A1", "A2", "B10", "A15"] + }, + "processor": "STM32F072", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0001", + "vid": "0x5047" + }, + "layouts": { + "LAYOUT_75_ansi": { + "layout": [ + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.75, "y": 0}, + {"matrix": [0, 4], "x": 4.75, "y": 0}, + {"matrix": [0, 5], "x": 5.75, "y": 0}, + {"matrix": [0, 6], "x": 6.75, "y": 0}, + {"matrix": [0, 7], "x": 8, "y": 0}, + {"matrix": [0, 8], "x": 9, "y": 0}, + {"matrix": [0, 9], "x": 10, "y": 0}, + {"matrix": [0, 10], "x": 11, "y": 0}, + {"matrix": [0, 11], "x": 12.25, "y": 0}, + {"matrix": [0, 12], "x": 13.25, "y": 0}, + {"matrix": [0, 13], "x": 14.25, "y": 0}, + {"matrix": [0, 14], "x": 15.25, "y": 0}, + {"matrix": [0, 16], "x": 16.5, "y": 0}, + {"matrix": [0, 17], "x": 18, "y": 0}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2.5, "y": 1.25}, + {"matrix": [1, 3], "x": 3.5, "y": 1.25}, + {"matrix": [1, 4], "x": 4.5, "y": 1.25}, + {"matrix": [1, 5], "x": 5.5, "y": 1.25}, + {"matrix": [1, 6], "x": 6.5, "y": 1.25}, + {"matrix": [1, 7], "x": 7.5, "y": 1.25}, + {"matrix": [1, 8], "x": 8.5, "y": 1.25}, + {"matrix": [1, 9], "x": 9.5, "y": 1.25}, + {"matrix": [1, 10], "x": 10.5, "y": 1.25}, + {"matrix": [1, 11], "x": 11.5, "y": 1.25}, + {"matrix": [1, 12], "x": 12.5, "y": 1.25}, + {"matrix": [1, 13], "x": 13.5, "y": 1.25}, + {"matrix": [1, 14], "x": 14.5, "y": 1.25}, + {"matrix": [1, 15], "x": 15.5, "y": 1.25, "w": 2}, + {"matrix": [1, 17], "x": 18, "y": 1.25}, + {"matrix": [2, 0], "x": 0, "y": 2.25}, + {"matrix": [2, 1], "x": 1, "y": 2.25}, + {"matrix": [2, 2], "x": 0, "y": 2.25, "w": 2.5}, + {"matrix": [2, 3], "x": 4, "y": 2.25}, + {"matrix": [2, 4], "x": 5, "y": 2.25}, + {"matrix": [2, 5], "x": 6, "y": 2.25}, + {"matrix": [2, 6], "x": 7, "y": 2.25}, + {"matrix": [2, 7], "x": 8, "y": 2.25}, + {"matrix": [2, 8], "x": 9, "y": 2.25}, + {"matrix": [2, 9], "x": 10, "y": 2.25}, + {"matrix": [2, 10], "x": 11, "y": 2.25}, + {"matrix": [2, 11], "x": 12, "y": 2.25}, + {"matrix": [2, 12], "x": 13, "y": 2.25}, + {"matrix": [2, 13], "x": 14, "y": 2.25}, + {"matrix": [2, 14], "x": 15, "y": 2.25}, + {"matrix": [2, 15], "x": 16, "y": 2.25, "w": 1.5}, + {"matrix": [2, 17], "x": 18, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3.25}, + {"matrix": [3, 1], "x": 1, "y": 3.25}, + {"matrix": [3, 2], "x": 2.5, "y": 3.25, "w": 1.75}, + {"matrix": [3, 3], "x": 4.25, "y": 3.25}, + {"matrix": [3, 4], "x": 5.25, "y": 3.25}, + {"matrix": [3, 5], "x": 6.25, "y": 3.25}, + {"matrix": [3, 6], "x": 7.25, "y": 3.25}, + {"matrix": [3, 7], "x": 8.25, "y": 3.25}, + {"matrix": [3, 8], "x": 9.25, "y": 3.25}, + {"matrix": [3, 9], "x": 10.25, "y": 3.25}, + {"matrix": [3, 10], "x": 11.25, "y": 3.25}, + {"matrix": [3, 11], "x": 12.25, "y": 3.25}, + {"matrix": [3, 12], "x": 13.25, "y": 3.25}, + {"matrix": [3, 13], "x": 14.25, "y": 3.25}, + {"matrix": [3, 15], "x": 15.25, "y": 3.25, "w": 2.25}, + {"matrix": [3, 17], "x": 18, "y": 3.25}, + {"matrix": [4, 0], "x": 0, "y": 4.25}, + {"matrix": [4, 1], "x": 1, "y": 4.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4.25, "w": 2.25}, + {"matrix": [4, 4], "x": 4.75, "y": 4.25}, + {"matrix": [4, 5], "x": 5.75, "y": 4.25}, + {"matrix": [4, 6], "x": 6.75, "y": 4.25}, + {"matrix": [4, 7], "x": 7.75, "y": 4.25}, + {"matrix": [4, 8], "x": 8.75, "y": 4.25}, + {"matrix": [4, 9], "x": 9.75, "y": 4.25}, + {"matrix": [4, 10], "x": 10.75, "y": 4.25}, + {"matrix": [4, 11], "x": 11.75, "y": 4.25}, + {"matrix": [4, 12], "x": 12.75, "y": 4.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4.25}, + {"matrix": [4, 14], "x": 14.75, "y": 4.25, "w": 1.75}, + {"matrix": [4, 16], "x": 16.75, "y": 4.25}, + {"matrix": [4, 17], "x": 18, "y": 4.25}, + {"matrix": [5, 0], "x": 0, "y": 5.25}, + {"matrix": [5, 1], "x": 1, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 3], "x": 3.75, "y": 5.25, "w": 1.25}, + {"matrix": [5, 4], "x": 5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 8], "x": 6.25, "y": 5.25, "w": 6.25}, + {"matrix": [5, 12], "x": 12.5, "y": 5.25}, + {"matrix": [5, 13], "x": 13.5, "y": 5.25}, + {"matrix": [5, 14], "x": 14.5, "y": 5.25}, + {"matrix": [5, 15], "x": 15.75, "y": 5.5}, + {"matrix": [5, 16], "x": 16.75, "y": 5.5}, + {"matrix": [5, 17], "x": 17.75, "y": 5.5} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/qck75/v1/keymaps/default/keymap.c b/keyboards/qck75/v1/keymaps/default/keymap.c new file mode 100644 index 00000000000..a9cc10f8a4a --- /dev/null +++ b/keyboards/qck75/v1/keymaps/default/keymap.c @@ -0,0 +1,26 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_75_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_SCRL, KC_DEL, + KC_MPLY, 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_HOME, + KC_MPRV, KC_MNXT, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, + KC_F17, KC_F18, 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_PGUP, + KC_F19, KC_F20, 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_PGDN, + KC_F21, KC_F22, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_NUM, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_75_ansi( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, NK_TOGG, KC_TRNS, GU_TOGG, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; + + + diff --git a/keyboards/qck75/v1/keymaps/via/keymap.c b/keyboards/qck75/v1/keymaps/via/keymap.c new file mode 100644 index 00000000000..8281855ded7 --- /dev/null +++ b/keyboards/qck75/v1/keymaps/via/keymap.c @@ -0,0 +1,32 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_75_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_F13, KC_SCRL, KC_DEL, + KC_MPLY, 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_HOME, + KC_MPRV, KC_MNXT, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, + KC_F17, KC_F18, 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_PGUP, + KC_F19, KC_F20, 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_PGDN, + KC_F21, KC_F22, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_75_ansi( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, NK_TOGG, KC_TRNS, GU_TOGG, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; + +#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_MPRV, KC_MNXT)} +}; + +#endif diff --git a/keyboards/qck75/v1/keymaps/via/rules.mk b/keyboards/qck75/v1/keymaps/via/rules.mk new file mode 100644 index 00000000000..4253f570f0b --- /dev/null +++ b/keyboards/qck75/v1/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/qck75/v1/mcuconf.h b/keyboards/qck75/v1/mcuconf.h new file mode 100644 index 00000000000..c465397d36c --- /dev/null +++ b/keyboards/qck75/v1/mcuconf.h @@ -0,0 +1,15 @@ +// Copyright 2023 Andrian (@PoringH) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE + +#undef STM32_I2C_I2C1_RX_DMA_STREAM +#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3) + +#undef STM32_I2C_I2C1_TX_DMA_STREAM +#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 2) diff --git a/keyboards/qck75/v1/readme.md b/keyboards/qck75/v1/readme.md new file mode 100644 index 00000000000..b51dca8e406 --- /dev/null +++ b/keyboards/qck75/v1/readme.md @@ -0,0 +1,28 @@ +# qck75 + +[qck75](https://i.imgur.com/exdD8Hgh.jpeg) + +This keyboard is a keyboard made for self use +75% layout with extra keys for macro with led and knob + +* Keyboard Maintainer: [Andrian](https://github.com/PoringH) +* Hardware Supported: This project uses STM32F072R8Tx for the mcu on the pcb +* Hardware Availability: https://github.com/PoringH/QCK75-XT + +Make example for this keyboard (after setting up your build environment): + + make qck75/v1:default + +Flashing example for this keyboard: + + make qck75/v1: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/qck75/v1/rules.mk b/keyboards/qck75/v1/rules.mk new file mode 100644 index 00000000000..e69de29bb2d diff --git a/keyboards/qck75/v1/v1.c b/keyboards/qck75/v1/v1.c new file mode 100644 index 00000000000..5e512b292c7 --- /dev/null +++ b/keyboards/qck75/v1/v1.c @@ -0,0 +1,395 @@ +// Copyright 2023 Andrian (@PoringH) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum { MAIN = 0, SECOND = 1, THIRD = 2, FOURTH = 3 }; + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { + return false; + } + switch (get_highest_layer(layer_state)) { + default: + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + case SECOND: + if (clockwise) { + tap_code(KC_MNXT); + } else { + tap_code(KC_MPRV); + } + break; + case THIRD: + if (clockwise) { + tap_code(KC_MS_R); + } else { + tap_code(KC_MS_L); + } + break; + case FOURTH: + if (clockwise) { + tap_code(KC_MS_U); + } else { + tap_code(KC_MS_D); + } + break; + } + return true; +} +#endif + +#ifdef OLED_ENABLE +# define KB_STAT_SIZE 18 +# define WIN_STAT_SIZE 12 +# define MIN_WALK_SPEED 10 +# define MIN_RUN_SPEED 40 +# define ANIM_FRAME_DURATION 200 +# define ANIM_SIZE 96 + +uint32_t anim_timer = 0; +uint8_t current_frame = 0; +int current_wpm = 0; +led_t led_usb_state; + +bool isguiDisabled = false; +bool isSneaking = false; +bool isJumping = false; +bool showedJump = true; + +# ifdef OLED_ENABLE + +static void render_animation(int ANIM_X, int ANIM_Y) { + // sit animation 32 X 22 + static const char PROGMEM sit[2][3][ANIM_SIZE] = {{ + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x02, 0x05, 0x02, 0x24, 0x04, 0x04, 0x02, 0xa9, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x68, 0x10, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x82, 0x7c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x0c, 0x10, 0x10, 0x20, 0x20, 0x20, 0x28, 0x3e, 0x1c, 0x20, 0x20, 0x3e, 0x0f, 0x11, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + }, + + {{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x02, 0x05, 0x02, 0x24, 0x04, 0x04, 0x02, 0xa9, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + {0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x90, 0x08, 0x18, 0x60, 0x10, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0e, 0x82, 0x7c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x0c, 0x10, 0x10, 0x20, 0x20, 0x20, 0x28, 0x3e, 0x1c, 0x20, 0x20, 0x3e, 0x0f, 0x11, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} + + }}; + + // walk animation 32 X 22 + static const char PROGMEM walk[2][3][ANIM_SIZE] = {{{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x90, 0x90, 0x90, 0xa0, 0xc0, 0x80, 0x80, 0x80, 0x70, 0x08, 0x14, 0x08, 0x90, 0x10, 0x10, 0x08, 0xa4, 0x78, 0x80, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x08, 0xfc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x18, 0xea, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1c, 0x20, 0x20, 0x3c, 0x0f, 0x11, 0x1f, 0x03, 0x06, 0x18, 0x20, 0x20, 0x3c, 0x0c, 0x12, 0x1e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }}, + + {{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x20, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x28, 0x10, 0x20, 0x20, 0x20, 0x10, 0x48, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x20, 0xf8, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x30, 0xd5, 0x20, 0x1f, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x30, 0x0c, 0x02, 0x05, 0x09, 0x12, 0x1e, 0x02, 0x1c, 0x14, 0x08, 0x10, 0x20, 0x2c, 0x32, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + } + + }}; + + // run animation 32 X 22 + static const char PROGMEM run[2][3][ANIM_SIZE] = {{{ + 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x08, 0xc8, 0xb0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x3c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xc4, 0xa4, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc8, 0x58, 0x28, 0x2a, 0x10, 0x0f, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x09, 0x04, 0x04, 0x04, 0x04, 0x02, 0x03, 0x02, 0x01, 0x01, 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, + }}, + + {{ + 0x00, 0x00, 0x00, 0xe0, 0x10, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x78, 0x28, 0x08, 0x10, 0x20, 0x30, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0xb0, 0x50, 0x55, 0x20, 0x1f, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37, 0x02, 0x1e, 0x20, 0x20, 0x18, 0x0c, 0x14, 0x1e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + } + + }}; + + // bark animation 32 X 22 + static const char PROGMEM bark[2][3][ANIM_SIZE] = {{ + { + 0x00, 0xc0, 0x20, 0x10, 0xd0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x3c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc8, 0x48, 0x28, 0x2a, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37, 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + }, + + {{ + 0x00, 0xe0, 0x10, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x2c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x48, 0x28, 0x2a, 0x10, 0x0f, 0x20, 0x4a, 0x09, 0x10, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37, 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + } + + }}; + + // sneak animation 32 X 22 + static const char PROGMEM sneak[2][3][ANIM_SIZE] = {{ + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x80, 0x00, 0x80, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x1e, 0x21, 0xf0, 0x04, 0x02, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02, 0x04, 0x04, 0x04, 0x03, 0x01, 0x00, 0x00, 0x09, 0x01, 0x80, 0x80, 0xab, 0x04, 0xf8, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1c, 0x20, 0x20, 0x3c, 0x0f, 0x11, 0x1f, 0x02, 0x06, 0x18, 0x20, 0x20, 0x38, 0x08, 0x10, 0x18, 0x04, 0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, + }, + }, + + {{ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xa0, 0x20, 0x40, 0x80, 0xc0, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x3e, 0x41, 0xf0, 0x04, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02, 0x02, 0x04, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x40, 0x40, 0x55, 0x82, 0x7c, 0x00, 0x00, 0x00, + }, + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x30, 0x0c, 0x02, 0x05, 0x09, 0x12, 0x1e, 0x04, 0x18, 0x10, 0x08, 0x10, 0x20, 0x28, 0x34, 0x06, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + } + + }}; + + void animate_luna(void) { + int anim_x; + int anim_y; + + if (isJumping || !showedJump) { + oled_set_cursor(ANIM_X, ANIM_Y + 2); + oled_write(" ", false); + anim_x = ANIM_X; + anim_y = ANIM_Y - 1; + showedJump = true; + } else { + oled_set_cursor(ANIM_X, ANIM_Y - 1); + oled_write(" ", false); + + anim_x = ANIM_X; + anim_y = ANIM_Y; + } + + if (led_usb_state.caps_lock) { + oled_set_cursor(anim_x, anim_y); + oled_write_raw_P(bark[current_frame][0], ANIM_SIZE); + oled_set_cursor(anim_x, anim_y + 1); + oled_write_raw_P(bark[current_frame][1], ANIM_SIZE); + oled_set_cursor(anim_x, anim_y + 2); + oled_write_raw_P(bark[current_frame][2], ANIM_SIZE); + } else if (get_mods() & MOD_MASK_CS) { + oled_set_cursor(anim_x, anim_y); + oled_write_raw_P(sneak[current_frame][0], ANIM_SIZE); + oled_set_cursor(anim_x, anim_y + 1); + oled_write_raw_P(sneak[current_frame][1], ANIM_SIZE); + oled_set_cursor(anim_x, anim_y + 2); + oled_write_raw_P(sneak[current_frame][2], ANIM_SIZE); + } else if (current_wpm <= MIN_WALK_SPEED) { + oled_set_cursor(anim_x, anim_y); + oled_write_raw_P(sit[current_frame][0], ANIM_SIZE); + oled_set_cursor(anim_x, anim_y + 1); + oled_write_raw_P(sit[current_frame][1], ANIM_SIZE); + oled_set_cursor(anim_x, anim_y + 2); + oled_write_raw_P(sit[current_frame][2], ANIM_SIZE); + } else if (current_wpm <= MIN_RUN_SPEED) { + oled_set_cursor(anim_x, anim_y); + oled_write_raw_P(walk[current_frame][0], ANIM_SIZE); + oled_set_cursor(anim_x, anim_y + 1); + oled_write_raw_P(walk[current_frame][1], ANIM_SIZE); + oled_set_cursor(anim_x, anim_y + 2); + oled_write_raw_P(walk[current_frame][2], ANIM_SIZE); + } else { + oled_set_cursor(anim_x, anim_y); + oled_write_raw_P(run[current_frame][0], ANIM_SIZE); + oled_set_cursor(anim_x, anim_y + 1); + oled_write_raw_P(run[current_frame][1], ANIM_SIZE); + oled_set_cursor(anim_x, anim_y + 2); + oled_write_raw_P(run[current_frame][2], ANIM_SIZE); + } + } + +# if OLED_TIMEOUT > 0 + + if (last_input_activity_elapsed() > OLED_TIMEOUT && last_led_activity_elapsed() > OLED_TIMEOUT) { + oled_off(); + return; + } else { + oled_on(); + } +# endif + + if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) { + anim_timer = timer_read32(); + current_frame = (current_frame + 1) % 2; + animate_luna(); + } +}; + +static void render_caps(int CAP_X, int CAP_Y) { + if (led_usb_state.caps_lock == true) { + static const char PROGMEM caps[KB_STAT_SIZE] = { + 0x00, 0xfe, 0xff, 0x07, 0xfb, 0xfb, 0x3b, 0xdb, 0xeb, 0xdb, 0x3b, 0xfb, 0xfb, 0x07, 0xff, 0xfe, 0x00, 0x00, + }; + static const char PROGMEM caps2[KB_STAT_SIZE] = {0x00, 0x3f, 0x7f, 0x70, 0x6f, 0x6f, 0x68, 0x6e, 0x6e, 0x6e, 0x68, 0x6f, 0x6f, 0x70, 0x7f, 0x3f, 0x00, 0x00}; + oled_set_cursor(CAP_X, CAP_Y); + oled_write_raw_P(caps, KB_STAT_SIZE); + oled_set_cursor(CAP_X, CAP_Y + 1); + oled_write_raw_P(caps2, KB_STAT_SIZE); + } else { + static const char PROGMEM caps[KB_STAT_SIZE] = { + 0x00, 0x00, 0x00, 0xf8, 0x04, 0x04, 0xc4, 0x24, 0x14, 0x24, 0xc4, 0x04, 0x04, 0xf8, 0x00, 0x00, 0x00, 0x00, + }; + static const char PROGMEM caps2[KB_STAT_SIZE] = {0x00, 0x00, 0x00, 0x0f, 0x10, 0x10, 0x17, 0x11, 0x11, 0x11, 0x17, 0x10, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00}; + oled_set_cursor(CAP_X, CAP_Y); + oled_write_raw_P(caps, KB_STAT_SIZE); + oled_set_cursor(CAP_X, CAP_Y + 1); + oled_write_raw_P(caps2, KB_STAT_SIZE); + } +} + +static void render_num(int NUM_X, int NUM_Y) { + if (led_usb_state.num_lock == true) { + static const char PROGMEM num[KB_STAT_SIZE] = { + 0x00, 0xfe, 0xff, 0x07, 0xfb, 0xfb, 0xfb, 0xdb, 0x0b, 0xfb, 0xfb, 0xfb, 0xfb, 0x07, 0xff, 0xfe, 0x00, 0x00, + }; + static const char PROGMEM num2[KB_STAT_SIZE] = {0x00, 0x3f, 0x7f, 0x70, 0x6f, 0x6f, 0x6f, 0x6b, 0x68, 0x6b, 0x6f, 0x6f, 0x6f, 0x70, 0x7f, 0x3f, 0x00, 0x00}; + oled_set_cursor(NUM_X, NUM_Y); + oled_write_raw_P(num, KB_STAT_SIZE); + oled_set_cursor(NUM_X, NUM_Y + 1); + oled_write_raw_P(num2, KB_STAT_SIZE); + } else { + static const char PROGMEM num[KB_STAT_SIZE] = { + 0x00, 0x00, 0x00, 0xf8, 0x04, 0x04, 0x04, 0x24, 0xf4, 0x04, 0x04, 0x04, 0x04, 0xf8, 0x00, 0x00, 0x00, 0x00, + }; + static const char PROGMEM num2[KB_STAT_SIZE] = {0x00, 0x00, 0x00, 0x0f, 0x10, 0x10, 0x10, 0x14, 0x17, 0x14, 0x10, 0x10, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00}; + oled_set_cursor(NUM_X, NUM_Y); + oled_write_raw_P(num, KB_STAT_SIZE); + oled_set_cursor(NUM_X, NUM_Y + 1); + oled_write_raw_P(num2, KB_STAT_SIZE); + } +} + +static void render_scroll(int SCROLL_X, int SCROLL_Y) { + if (led_usb_state.scroll_lock == true) { + static const char PROGMEM scroll[KB_STAT_SIZE] = { + 0x00, 0xfe, 0xff, 0x07, 0xfb, 0xfb, 0x7b, 0xfb, 0x0b, 0xfb, 0x7b, 0xfb, 0xfb, 0x07, 0xff, 0xfe, 0x00, 0x00, + }; + static const char PROGMEM scroll2[KB_STAT_SIZE] = {0x00, 0x3f, 0x7f, 0x70, 0x6f, 0x6b, 0x6b, 0x6a, 0x68, 0x6a, 0x6b, 0x6b, 0x6f, 0x70, 0x7f, 0x3f, 0x00, 0x00}; + oled_set_cursor(SCROLL_X, SCROLL_Y); + oled_write_raw_P(scroll, KB_STAT_SIZE); + oled_set_cursor(SCROLL_X, SCROLL_Y + 1); + oled_write_raw_P(scroll2, KB_STAT_SIZE); + } else { + static const char PROGMEM scroll[KB_STAT_SIZE] = { + 0x00, 0x00, 0x00, 0xf8, 0x04, 0x04, 0x84, 0x04, 0xf4, 0x04, 0x84, 0x04, 0x04, 0xf8, 0x00, 0x00, 0x00, 0x00, + }; + static const char PROGMEM scroll2[KB_STAT_SIZE] = {0x00, 0x00, 0x00, 0x0f, 0x10, 0x14, 0x14, 0x15, 0x17, 0x15, 0x14, 0x14, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00}; + oled_set_cursor(SCROLL_X, SCROLL_Y); + oled_write_raw_P(scroll, KB_STAT_SIZE); + oled_set_cursor(SCROLL_X, SCROLL_Y + 1); + oled_write_raw_P(scroll2, KB_STAT_SIZE); + } +} + +static void render_winstat(int WIN_X, int WIN_Y) { + static const char PROGMEM winlogo[WIN_STAT_SIZE] = { + 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, + }; + static const char PROGMEM winlogo2[WIN_STAT_SIZE] = { + 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, + }; + + oled_set_cursor(WIN_X, WIN_Y); + oled_write_raw_P(winlogo, WIN_STAT_SIZE); + oled_set_cursor(WIN_X, WIN_Y + 1); + oled_write_raw_P(winlogo2, WIN_STAT_SIZE); + + oled_set_cursor(WIN_X + 2, WIN_Y); + oled_write("WINKEY", false); + + oled_set_cursor(WIN_X + 2, WIN_Y + 1); + if (keymap_config.no_gui) { + oled_write("DISABLED", false); + } else { + oled_write("ENABLED ", false); + } +} + +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + current_wpm = get_current_wpm(); + led_usb_state = host_keyboard_led_state(); + render_animation(13, 3); + oled_set_cursor(0, 0); + // Host Keyboard Layer Status + switch (get_highest_layer(layer_state)) { + case MAIN: + oled_write("MAIN ", false); + break; + case SECOND: + oled_write("SECOND", false); + break; + case THIRD: + oled_write("THIRD ", false); + break; + default: + oled_write("FOURTH", false); + } + render_caps(0, 2); + render_num(3, 2); + render_scroll(6, 2); + render_winstat(1, 5); + + oled_set_cursor(12, 0); + oled_write("WPM: ", false); + oled_write(get_u8_str(current_wpm, '0'), false); + return false; +} + +# endif + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_SPC: + if (record->event.pressed) { + isJumping = true; + showedJump = false; + } else { + isJumping = false; + } + break; + } + return process_record_user(keycode, record); +} +#endif From f543a448368ef2a657fd7f85ce0d451092e13e17 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed, 20 Sep 2023 22:15:45 -0700 Subject: [PATCH 084/144] Quarkeys Studio Z67 Solder Community Layout Support (#22095) --- keyboards/quarkeys/z67/solder/info.json | 1309 ++++++++++++++++- .../z67/solder/keymaps/default/keymap.c | 42 +- .../quarkeys/z67/solder/keymaps/via/keymap.c | 26 +- .../quarkeys/z67/solder/matrix_diagram.md | 30 + 4 files changed, 1369 insertions(+), 38 deletions(-) create mode 100644 keyboards/quarkeys/z67/solder/matrix_diagram.md diff --git a/keyboards/quarkeys/z67/solder/info.json b/keyboards/quarkeys/z67/solder/info.json index e37ef9a4cb1..93ea9fa0fc9 100644 --- a/keyboards/quarkeys/z67/solder/info.json +++ b/keyboards/quarkeys/z67/solder/info.json @@ -1,8 +1,8 @@ { "keyboard_name": "Z67 Solder", - "manufacturer": "Quarkeys Stuidio", - "url": "www.quarkeys.com", - "maintainer": "TommyZ", + "manufacturer": "Quarkeys Studio", + "url": "http://www.quarkeys.com/", + "maintainer": "tommyamoszhao", "usb": { "vid": "0x8490", "pid": "0x4101", @@ -36,8 +36,21 @@ "diode_direction": "COL2ROW", "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, + "community_layouts": [ + "65_ansi", + "65_ansi_split_bs", + "65_ansi_blocker", + "65_ansi_blocker_split_bs", + "65_iso", + "65_iso_split_bs", + "65_iso_blocker", + "65_iso_blocker_split_bs" + ], "layouts": { - "LAYOUT": { + "LAYOUT_all": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -116,6 +129,1294 @@ {"matrix": [4, 9], "x": 11, "y": 4}, {"matrix": [4, 11], "x": 12, "y": 4}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_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, "w": 2}, + + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 8], "x": 10, "y": 4}, + {"matrix": [4, 9], "x": 11, "y": 4}, + {"matrix": [4, 11], "x": 12, "y": 4}, + + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 8], "x": 10, "y": 4}, + {"matrix": [4, 9], "x": 11, "y": 4}, + {"matrix": [4, 11], "x": 12, "y": 4}, + + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 8], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 9], "x": 11.25, "y": 4, "w": 1.25}, + + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 8], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 9], "x": 11.25, "y": 4, "w": 1.25}, + + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 9], "x": 11, "y": 4, "w": 1.5}, + + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 9], "x": 11, "y": 4, "w": 1.5}, + + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan_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, "w": 2}, + + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 7}, + {"matrix": [4, 9], "x": 10.75, "y": 4, "w": 1.5}, + + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan_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, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 7}, + {"matrix": [4, 9], "x": 10.75, "y": 4, "w": 1.5}, + + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_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, "w": 2}, + + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 8], "x": 10, "y": 4}, + {"matrix": [4, 9], "x": 11, "y": 4}, + {"matrix": [4, 11], "x": 12, "y": 4}, + + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 8], "x": 10, "y": 4}, + {"matrix": [4, 9], "x": 11, "y": 4}, + {"matrix": [4, 11], "x": 12, "y": 4}, + + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 8], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 9], "x": 11.25, "y": 4, "w": 1.25}, + + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 8], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 9], "x": 11.25, "y": 4, "w": 1.25}, + + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 9], "x": 11, "y": 4, "w": 1.5}, + + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_tsangan_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 9], "x": 11, "y": 4, "w": 1.5}, + + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_tsangan_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, "w": 2}, + + {"matrix": [0, 15], "x": 15, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 7}, + {"matrix": [4, 9], "x": 10.75, "y": 4, "w": 1.5}, + + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 15], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_tsangan_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, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + + {"matrix": [1, 15], "x": 15, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2}, + {"matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [2, 15], "x": 15, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [3, 15], "x": 15, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 3.75, "y": 4, "w": 7}, + {"matrix": [4, 9], "x": 10.75, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 13, "y": 4}, {"matrix": [4, 13], "x": 14, "y": 4}, {"matrix": [4, 15], "x": 15, "y": 4} diff --git a/keyboards/quarkeys/z67/solder/keymaps/default/keymap.c b/keyboards/quarkeys/z67/solder/keymaps/default/keymap.c index e2c1fbb9fc1..448db3275ce 100644 --- a/keyboards/quarkeys/z67/solder/keymaps/default/keymap.c +++ b/keyboards/quarkeys/z67/solder/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -/* +/* / Copyright 2022 quarkeys / 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 @@ -15,10 +15,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* [0] + /* [0] * ,---------------------------------------------------------------------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | Back | ~ | Del | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | Back | ~ | Del | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| * | Tab | Q | W | E | R | T | Y | U | I | O | P | { | } | \ | PgUp | * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------| * | Capslock | A | S | D | F | G | H | J | K | L | ; | " | ~ | Enter | PgDn | @@ -26,19 +26,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | SHIFT | \ | Z | X | C | V | B | N | M | , | . | / | Shift | Fn | Up | * |--------+------+------+------+------+------+------+------+------+------+------+------+-----------+------+------| * | Ctrl | Win | ALT | SPACE | ALT | Win | Ctrl | Left | Down | Rght | - * `--------+--------+--------+------------------------------------------+------+------+------+------+------+------' + * `--------+--------+--------+------------------------------------------+------+------+------+------+------+------' */ - [0] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_TILD, 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_PGUP, - 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_GRV, KC_ENT, KC_PGDN, - 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, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(2), MO(3), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + [0] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_TILD, 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_PGUP, + 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_GRV, KC_ENT, KC_PGDN, + 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, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(2), MO(3), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - /* [1] + /* [1] * ,---------------------------------------------------------------------------------------------------------------. - * |Reset | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Back | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * |Reset | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Back | | | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| * | | PgUp | Home | Up | End | Del | \ | 7 | 8 | 9 | RTOG | RMOD | RVAI | | | * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------| * | | PgDn | Left | Down | Rght | + | - | 4 | 5 | 6 | RSAD | RVAD | | | | @@ -46,12 +46,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | Play | Mute | VolD | VolU | * | / | 1 | 2 | 3 | . | | | | * |--------+------+------+------+------+------+------+------+------+------+------+------+-----------+------+------| * | | | | 0 | | | | | | | - * `--------+--------+--------+------------------------------------------+------+------+------+------+------+------' + * `--------+--------+--------+------------------------------------------+------+------+------+------+------+------' */ - [1] = LAYOUT( - QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC, KC_TRNS, KC_TRNS, - KC_TRNS, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, RGB_MOD, RGB_VAI, KC_TRNS, KC_TRNS, - KC_TRNS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_SAD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) + [1] = LAYOUT_all( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC, KC_TRNS, KC_TRNS, + KC_TRNS, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, RGB_MOD, RGB_VAI, KC_TRNS, KC_TRNS, + KC_TRNS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_SAD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) }; diff --git a/keyboards/quarkeys/z67/solder/keymaps/via/keymap.c b/keyboards/quarkeys/z67/solder/keymaps/via/keymap.c index b10070ecd9b..758f07001ca 100644 --- a/keyboards/quarkeys/z67/solder/keymaps/via/keymap.c +++ b/keyboards/quarkeys/z67/solder/keymaps/via/keymap.c @@ -1,4 +1,4 @@ -/* +/* / Copyright 2022 quarkeys / 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 @@ -15,17 +15,17 @@ 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_BSPC, KC_TILD, 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_PGUP, - 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_GRV, KC_ENT, KC_PGDN, - 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, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(2), MO(3), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), + [0] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_TILD, 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_PGUP, + 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_GRV, KC_ENT, KC_PGDN, + 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, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(2), MO(3), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), - [1] = LAYOUT( - QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC, KC_TRNS, KC_TRNS, - KC_TRNS, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, RGB_MOD, RGB_VAI, KC_TRNS, KC_TRNS, - KC_TRNS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_SAD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) + [1] = LAYOUT_all( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC, KC_TRNS, KC_TRNS, + KC_TRNS, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, RGB_MOD, RGB_VAI, KC_TRNS, KC_TRNS, + KC_TRNS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_SAD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) }; diff --git a/keyboards/quarkeys/z67/solder/matrix_diagram.md b/keyboards/quarkeys/z67/solder/matrix_diagram.md new file mode 100644 index 00000000000..90d01906a3a --- /dev/null +++ b/keyboards/quarkeys/z67/solder/matrix_diagram.md @@ -0,0 +1,30 @@ +# Matrix Diagram for Quarkeys Stuidio Z67 Solder + +``` + ┌───────┐ + 2u Backspace │0D │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│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 │1E │1F │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐2D │ ISO Enter +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │2F │ │2C │ │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3E │3F │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤ +│40 │41 │42 │47 │48 │49 │4B │4C │4D │4F │ +└────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘ +┌────────┐ +│30 │ 2.25u LShift +└────────┘ +┌────┬────┬────┬────────────────────────┬────┬────┐ +│40 │41 │42 │47 │48 │49 │ Blocker +└────┴────┴────┴────────────────────────┴────┴────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┐ +│40 │41 │42 │47 │48 │ Blocker Tsangan +└─────┴───┴─────┴───────────────────────────┴─────┘ +┌─────┬──┬─────┬───────────────────────────┬─────┐ +│40 │ │42 │47 │48 │ "Bauer" +└─────┘ └─────┴───────────────────────────┴─────┘ WKL with 0.75u blockers +``` From e91bf4583fb9279daf826f7c662e84db3465120b Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed, 20 Sep 2023 22:16:22 -0700 Subject: [PATCH 085/144] Quarkeys Studio Z67 Hotswap Community Layout Support (#22096) --- keyboards/quarkeys/z67/hotswap/info.json | 12 +++-- .../z67/hotswap/keymaps/default/keymap.c | 52 +++++++++---------- .../quarkeys/z67/hotswap/keymaps/via/keymap.c | 36 ++++++------- keyboards/quarkeys/z67/hotswap/readme.md | 21 ++++++++ 4 files changed, 73 insertions(+), 48 deletions(-) create mode 100644 keyboards/quarkeys/z67/hotswap/readme.md diff --git a/keyboards/quarkeys/z67/hotswap/info.json b/keyboards/quarkeys/z67/hotswap/info.json index 8c452ea391d..13a5cd09e28 100644 --- a/keyboards/quarkeys/z67/hotswap/info.json +++ b/keyboards/quarkeys/z67/hotswap/info.json @@ -1,8 +1,8 @@ { "keyboard_name": "Z67 Hotswap", - "manufacturer": "Quarkeys Stuidio", - "url": "www.quarkeys.com", - "maintainer": "TommyZ", + "manufacturer": "Quarkeys Studio", + "url": "https://www.quarkeys.com/", + "maintainer": "tommyamoszhao", "usb": { "vid": "0x8490", "pid": "0x4102", @@ -36,8 +36,12 @@ "diode_direction": "COL2ROW", "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT": "LAYOUT_65_ansi_blocker" + }, + "community_layouts": ["65_ansi_blocker"], "layouts": { - "LAYOUT": { + "LAYOUT_65_ansi_blocker": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/quarkeys/z67/hotswap/keymaps/default/keymap.c b/keyboards/quarkeys/z67/hotswap/keymaps/default/keymap.c index 7427419403a..1d136ebacae 100644 --- a/keyboards/quarkeys/z67/hotswap/keymaps/default/keymap.c +++ b/keyboards/quarkeys/z67/hotswap/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -/* +/* / Copyright 2022 quarkeys / 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 @@ -15,10 +15,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* [0] + /* [0] * ,---------------------------------------------------------------------------------------------------------------. - * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | Backspace | Del | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | + | Backspace | Del | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------| * | Tab | Q | W | E | R | T | Y | U | I | O | P | { | } | \ | PgUp | * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------| * | Capslock | A | S | D | F | G | H | J | K | L | ; | " | Enter | PgDn | @@ -26,19 +26,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | SHIFT | Z | X | C | V | B | N | M | , | . | / | Shift | Up | L1 | * |--------+------+------+------+------+------+------+------+------+------+------+------+-----------+------+------| * | Ctrl | Win | ALT | SPACE | L2 | L3 | Left | Down | Rght | - * `--------+--------+--------+------------------------------------------+------+------+------+------+------+------' + * `--------+--------+--------+------------------------------------------+------+------+------+------+------+------' */ - [0] = LAYOUT( - KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_PGUP, - 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_PGDN, - 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, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(2), MO(3), KC_LEFT, KC_DOWN, KC_RGHT), + [0] = LAYOUT_65_ansi_blocker( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, + KC_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_PGUP, + 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_PGDN, + 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, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(2), MO(3), KC_LEFT, KC_DOWN, KC_RGHT), - /* [1] + /* [1] * ,---------------------------------------------------------------------------------------------------------------. - * |Reset | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+-------------+------| + * |Reset | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | | | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+-------------+------| * | | PgUp | Home | Up | End | Del | \ | 7 | 8 | 9 | RTOG | RMOD | RVAI | | | * |---------+------+------+------+------+------+------+------+------+------+------+------+------+----------+------| * | | PgDn | Left | Down | Rght | + | - | 4 | 5 | 6 | RSAD | RVAD | | | @@ -46,15 +46,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | Play | Mute | VolD | VolU | * | / | 1 | 2 | 3 | . | | | | * |---------------+------+------+------+------+------+------+------+------+------+------+-----------+------+------| * | Ctrl | Win | ALT | 0 | | | | | | - * `--------+--------+--------+-------------------------------------------+---------+---------+------+------+------' + * `--------+--------+--------+-------------------------------------------+---------+---------+------+------+------' */ - [1] = LAYOUT( - QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, - KC_TRNS, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, RGB_MOD, RGB_VAI, KC_TRNS, KC_TRNS, - KC_TRNS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, - KC_TRNS, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) -}; + [1] = LAYOUT_65_ansi_blocker( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, RGB_MOD, RGB_VAI, KC_TRNS, KC_TRNS, + KC_TRNS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, + KC_TRNS, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS({36, 1, HSV_RED}); const rgblight_segment_t PROGMEM my_ar_numpad_layer[] = RGBLIGHT_LAYER_SEGMENTS({45, 2, HSV_WHITE}); @@ -62,10 +62,10 @@ const rgblight_segment_t PROGMEM my_symbol_layer[] = RGBLIGHT_LAYER_SEGMENTS({30 const rgblight_segment_t PROGMEM my_other_layer[] = RGBLIGHT_LAYER_SEGMENTS({16, 2, HSV_WHITE}); const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( - my_capslock_layer, // Caplock indicator - my_ar_numpad_layer, // Arrow keys & Numpad, Operator keys, reset key, RGB control and media control - my_symbol_layer, // F1-F12 keys & Symbols - my_other_layer // Self-Defined + my_capslock_layer, // Caplock indicator + my_ar_numpad_layer, // Arrow keys & Numpad, Operator keys, reset key, RGB control and media control + my_symbol_layer, // F1-F12 keys & Symbols + my_other_layer // Self-Defined ); void keyboard_post_init_user(void) { rgblight_layers = my_rgb_layers; diff --git a/keyboards/quarkeys/z67/hotswap/keymaps/via/keymap.c b/keyboards/quarkeys/z67/hotswap/keymaps/via/keymap.c index 9adb5341ef3..d0e749707ca 100644 --- a/keyboards/quarkeys/z67/hotswap/keymaps/via/keymap.c +++ b/keyboards/quarkeys/z67/hotswap/keymaps/via/keymap.c @@ -1,4 +1,4 @@ -/* +/* / Copyright 2022 quarkeys / 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 @@ -15,20 +15,20 @@ 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_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_PGUP, - 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_PGDN, - 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, MO(1), - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(2), MO(3), KC_LEFT, KC_DOWN, KC_RGHT), + [0] = LAYOUT_65_ansi_blocker( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, + KC_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_PGUP, + 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_PGDN, + 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, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(2), MO(3), KC_LEFT, KC_DOWN, KC_RGHT), - [1] = LAYOUT( - QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, - KC_TRNS, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, RGB_MOD, RGB_VAI, KC_TRNS, KC_TRNS, - KC_TRNS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, - KC_TRNS, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) -}; + [1] = LAYOUT_65_ansi_blocker( + QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_BSLS, KC_7, KC_8, KC_9, RGB_TOG, RGB_MOD, RGB_VAI, KC_TRNS, KC_TRNS, + KC_TRNS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_PLUS, KC_MINS, KC_4, KC_5, KC_6, RGB_SAI, RGB_SAD, KC_TRNS, KC_TRNS, + KC_TRNS, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_ASTR, KC_SLSH, KC_1, KC_2, KC_3, KC_DOT, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS({36, 1, HSV_RED}); const rgblight_segment_t PROGMEM my_ar_numpad_layer[] = RGBLIGHT_LAYER_SEGMENTS({45, 2, HSV_WHITE}); @@ -36,10 +36,10 @@ const rgblight_segment_t PROGMEM my_symbol_layer[] = RGBLIGHT_LAYER_SEGMENTS({30 const rgblight_segment_t PROGMEM my_other_layer[] = RGBLIGHT_LAYER_SEGMENTS({16, 2, HSV_WHITE}); const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( - my_capslock_layer, // Caplock indicator - my_ar_numpad_layer, // Arrow keys & Numpad, Operator keys, reset key, RGB control and media control - my_symbol_layer, // F1-F12 keys & Symbols - my_other_layer // Self-Defined + my_capslock_layer, // Caplock indicator + my_ar_numpad_layer, // Arrow keys & Numpad, Operator keys, reset key, RGB control and media control + my_symbol_layer, // F1-F12 keys & Symbols + my_other_layer // Self-Defined ); void keyboard_post_init_user(void) { rgblight_layers = my_rgb_layers; diff --git a/keyboards/quarkeys/z67/hotswap/readme.md b/keyboards/quarkeys/z67/hotswap/readme.md new file mode 100644 index 00000000000..aa14490da31 --- /dev/null +++ b/keyboards/quarkeys/z67/hotswap/readme.md @@ -0,0 +1,21 @@ +# Quarkeys Z67 Hotswap + +![Quarkeys Z67 Hotswap](https://raw.githubusercontent.com/noroadsleft/qmk_images/master/keyboards/quarkeys/z67/hotswap/72b918_11e28d17b7e648eaaacd19f6c50fc372~mv2.jpg) + +A hotswap 65% keyboard in ANSI layout with a 0.5u blocker, featuring per-key RGB. + +* Keyboard Maintainer: [TommyZ](https://github.com/tommyamoszhao) +* Hardware Supported: Quarkeys Z67 Hotswap +* Hardware Availability: [Quarkeys Studio](https://www.quarkeys.com/product-page/z67) + +Make example for this keyboard (after setting up your build environment): + + make quarkeys/z67/hotswap:default + +Flashing example for this keyboard: + + make quarkeys/z67/hotswap:default:flash + +**Bootloader:** Press the `QK_BOOT` keycode at ESC position of layer 1. + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). From 5858efd6c9b8f1601fcc93c20d70d1e01cd0995d Mon Sep 17 00:00:00 2001 From: Charles Strahan Date: Thu, 21 Sep 2023 00:23:18 -0500 Subject: [PATCH 086/144] kimiko: mirror encoder pins between halves (#21728) --- keyboards/keycapsss/kimiko/keymaps/default/glcdfont.c | 4 ++++ keyboards/keycapsss/kimiko/keymaps/default/keymap.c | 10 +++++----- keyboards/keycapsss/kimiko/rev1/info.json | 11 +++++++++-- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/keyboards/keycapsss/kimiko/keymaps/default/glcdfont.c b/keyboards/keycapsss/kimiko/keymaps/default/glcdfont.c index 19d45a75c70..c3c79d76ee3 100644 --- a/keyboards/keycapsss/kimiko/keymaps/default/glcdfont.c +++ b/keyboards/keycapsss/kimiko/keymaps/default/glcdfont.c @@ -1,3 +1,7 @@ +// Copyright 2019 MechMerlin +// Copyright 2020 @ben_roe (keycapsss.com) +// SPDX-License-Identifier: GPL-2.0-or-later + #include "progmem.h" // Corne 8x6 font diff --git a/keyboards/keycapsss/kimiko/keymaps/default/keymap.c b/keyboards/keycapsss/kimiko/keymaps/default/keymap.c index 0515b96dfec..74da1ce9732 100644 --- a/keyboards/keycapsss/kimiko/keymaps/default/keymap.c +++ b/keyboards/keycapsss/kimiko/keymaps/default/keymap.c @@ -334,11 +334,11 @@ bool oled_task_user(void) { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { - [_QWERTY] = { ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(KC_RGHT, KC_LEFT) }, - [_LOWER] = { ENCODER_CCW_CW(KC_TAB, RGB_HUI), ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, - [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, - [_ADJUST] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_HUI, RGB_HUD) }, + [_QWERTY] = { ENCODER_CCW_CW(KC_DOWN, KC_UP), ENCODER_CCW_CW(KC_LEFT, KC_RGHT) }, + [_LOWER] = { ENCODER_CCW_CW(RGB_HUI, KC_TAB), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) }, + [_ADJUST] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) }, }; -#endif // ENCODER_MAP_ENABLE +#endif // ENCODER_MAP_ENABLE diff --git a/keyboards/keycapsss/kimiko/rev1/info.json b/keyboards/keycapsss/kimiko/rev1/info.json index e0106f44230..1a7f62b2c8f 100644 --- a/keyboards/keycapsss/kimiko/rev1/info.json +++ b/keyboards/keycapsss/kimiko/rev1/info.json @@ -15,11 +15,18 @@ "diode_direction": "COL2ROW", "encoder": { "rotary": [ - {"pin_a": "F4", "pin_b": "F5"} + {"pin_a": "F5", "pin_b": "F4"} ] }, "split": { - "soft_serial_pin": "D2" + "soft_serial_pin": "D2", + "encoder": { + "right": { + "rotary": [ + {"pin_a": "F4", "pin_b": "F5"} + ] + } + } }, "rgblight": { "led_count": 60, From 363dee82d82f5697e915352da373f8d12e760d4d Mon Sep 17 00:00:00 2001 From: lalalademaxiya1 <66767061+lalalademaxiya1@users.noreply.github.com> Date: Thu, 21 Sep 2023 13:45:36 +0800 Subject: [PATCH 087/144] Keychron q9 plus (#21399) Co-authored-by: Ryan Co-authored-by: Drashna Jaelre --- .../q9_plus/ansi_encoder/ansi_encoder.c | 85 ++++++++++++ .../keychron/q9_plus/ansi_encoder/config.h | 26 ++++ .../keychron/q9_plus/ansi_encoder/info.json | 66 ++++++++++ .../ansi_encoder/keymaps/default/keymap.c | 71 ++++++++++ .../ansi_encoder/keymaps/default/rules.mk | 2 + .../ansi_encoder/keymaps/keychron/keymap.c | 80 +++++++++++ .../ansi_encoder/keymaps/keychron/rules.mk | 5 + .../q9_plus/ansi_encoder/keymaps/via/keymap.c | 71 ++++++++++ .../q9_plus/ansi_encoder/keymaps/via/rules.mk | 2 + .../keychron/q9_plus/ansi_encoder/rules.mk | 0 keyboards/keychron/q9_plus/config.h | 58 ++++++++ keyboards/keychron/q9_plus/halconf.h | 21 +++ keyboards/keychron/q9_plus/info.json | 124 ++++++++++++++++++ keyboards/keychron/q9_plus/mcuconf.h | 22 ++++ keyboards/keychron/q9_plus/q9_plus.c | 82 ++++++++++++ keyboards/keychron/q9_plus/readme.md | 21 +++ 16 files changed, 736 insertions(+) create mode 100755 keyboards/keychron/q9_plus/ansi_encoder/ansi_encoder.c create mode 100755 keyboards/keychron/q9_plus/ansi_encoder/config.h create mode 100755 keyboards/keychron/q9_plus/ansi_encoder/info.json create mode 100755 keyboards/keychron/q9_plus/ansi_encoder/keymaps/default/keymap.c create mode 100755 keyboards/keychron/q9_plus/ansi_encoder/keymaps/default/rules.mk create mode 100755 keyboards/keychron/q9_plus/ansi_encoder/keymaps/keychron/keymap.c create mode 100755 keyboards/keychron/q9_plus/ansi_encoder/keymaps/keychron/rules.mk create mode 100755 keyboards/keychron/q9_plus/ansi_encoder/keymaps/via/keymap.c create mode 100755 keyboards/keychron/q9_plus/ansi_encoder/keymaps/via/rules.mk create mode 100755 keyboards/keychron/q9_plus/ansi_encoder/rules.mk create mode 100755 keyboards/keychron/q9_plus/config.h create mode 100755 keyboards/keychron/q9_plus/halconf.h create mode 100755 keyboards/keychron/q9_plus/info.json create mode 100755 keyboards/keychron/q9_plus/mcuconf.h create mode 100755 keyboards/keychron/q9_plus/q9_plus.c create mode 100755 keyboards/keychron/q9_plus/readme.md diff --git a/keyboards/keychron/q9_plus/ansi_encoder/ansi_encoder.c b/keyboards/keychron/q9_plus/ansi_encoder/ansi_encoder.c new file mode 100755 index 00000000000..c0b4b3a32dd --- /dev/null +++ b/keyboards/keychron/q9_plus/ansi_encoder/ansi_encoder.c @@ -0,0 +1,85 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.com) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +const ckled2001_led PROGMEM g_ckled2001_leds[RGB_MATRIX_LED_COUNT] = { +/* Refer to CKLED2001 manual for these locations + * driver + * | R location + * | | G location + * | | | B location + * | | | | */ + {0, L_16, J_16, K_16}, + {0, L_15, J_15, K_15}, + {0, L_14, J_14, K_14}, + {0, L_13, J_13, K_13}, + {0, L_12, J_12, K_12}, + {0, L_11, J_11, K_11}, + {0, L_10, J_10, K_10}, + {0, L_9, J_9, K_9}, + {0, L_8, J_8, K_8}, + {0, L_7, J_7, K_7}, + {0, L_6, J_6, K_6}, + {0, L_5, J_5, K_5}, + {0, L_4, J_4, K_4}, + {0, L_3, J_3, K_3}, + // {0, L_2, J_2, K_2}, + + {0, C_16, A_16, B_16}, + {0, C_15, A_15, B_15}, + {0, C_14, A_14, B_14}, + {0, C_13, A_13, B_13}, + {0, C_12, A_12, B_12}, + {0, C_11, A_11, B_11}, + {0, C_10, A_10, B_10}, + {0, C_9, A_9, B_9}, + {0, C_8, A_8, B_8}, + {0, C_7, A_7, B_7}, + {0, C_6, A_6, B_6}, + {0, C_5, A_5, B_5}, + {0, C_3, A_3, B_3}, + {0, C_2, A_2, B_2}, + + {0, I_16, G_16, H_16}, + {0, I_14, G_14, H_14}, + {0, I_13, G_13, H_13}, + {0, I_12, G_12, H_12}, + {0, I_11, G_11, H_11}, + {0, I_10, G_10, H_10}, + {0, I_9, G_9, H_9}, + {0, I_8, G_8, H_8}, + {0, I_7, G_7, H_7}, + {0, I_6, G_6, H_6}, + {0, I_5, G_5, H_5}, + {0, I_3, G_3, H_3}, + {0, I_2, G_2, H_2}, + + {0, F_16, D_16, E_16}, + {0, F_15, D_15, E_15}, + {0, F_14, D_14, E_14}, + {0, F_13, D_13, E_13}, + {0, F_10, D_10, E_10}, + {0, F_7, D_7, E_7}, + {0, F_6, D_6, E_6}, + {0, F_5, D_5, E_5}, + {0, F_4, D_4, E_4}, + {0, F_3, D_3, E_3}, + {0, F_2, D_2, E_2}, + {0, C_4, A_4, B_4}, +}; +#endif diff --git a/keyboards/keychron/q9_plus/ansi_encoder/config.h b/keyboards/keychron/q9_plus/ansi_encoder/config.h new file mode 100755 index 00000000000..1943a0fb275 --- /dev/null +++ b/keyboards/keychron/q9_plus/ansi_encoder/config.h @@ -0,0 +1,26 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.com) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +/* RGB Matrix Configuration */ +#define RGB_MATRIX_LED_COUNT 53 + +/* Encoder Configuration */ +#define ENCODER_DEFAULT_POS 0x3 + +/* Enable caps-lock LED */ +#define CAPS_LOCK_LED_INDEX 14 diff --git a/keyboards/keychron/q9_plus/ansi_encoder/info.json b/keyboards/keychron/q9_plus/ansi_encoder/info.json new file mode 100755 index 00000000000..c465071ca14 --- /dev/null +++ b/keyboards/keychron/q9_plus/ansi_encoder/info.json @@ -0,0 +1,66 @@ +{ + "usb": { + "pid": "0x0194", + "device_version": "1.0.0" + }, + "rgb_matrix": { + "layout": [ + {"matrix":[0, 0], "flags":1, "x":2, "y":0}, + {"matrix":[0, 1], "flags":4, "x":20, "y":0}, + {"matrix":[0, 2], "flags":4, "x":35, "y":0}, + {"matrix":[0, 3], "flags":4, "x":50, "y":0}, + {"matrix":[0, 4], "flags":4, "x":65, "y":0}, + {"matrix":[0, 5], "flags":4, "x":80, "y":0}, + {"matrix":[0, 6], "flags":4, "x":94, "y":0}, + {"matrix":[0, 7], "flags":4, "x":109, "y":0}, + {"matrix":[0, 8], "flags":4, "x":124, "y":0}, + {"matrix":[0, 9], "flags":4, "x":139, "y":0}, + {"matrix":[0, 10], "flags":4, "x":154, "y":0}, + {"matrix":[0, 11], "flags":4, "x":168, "y":0}, + {"matrix":[0, 12], "flags":1, "x":183, "y":0}, + {"matrix":[0, 13], "flags":1, "x":202, "y":0}, + + {"matrix":[1, 0], "flags":8, "x":4, "y":21}, + {"matrix":[1, 1], "flags":4, "x":24, "y":21}, + {"matrix":[1, 2], "flags":4, "x":39, "y":21}, + {"matrix":[1, 3], "flags":4, "x":54, "y":21}, + {"matrix":[1, 4], "flags":4, "x":68, "y":21}, + {"matrix":[1, 5], "flags":4, "x":83, "y":21}, + {"matrix":[1, 6], "flags":4, "x":98, "y":21}, + {"matrix":[1, 7], "flags":4, "x":113, "y":21}, + {"matrix":[1, 8], "flags":4, "x":128, "y":21}, + {"matrix":[1, 9], "flags":4, "x":142, "y":21}, + {"matrix":[1, 10], "flags":4, "x":157, "y":21}, + {"matrix":[1, 11], "flags":4, "x":172, "y":21}, + {"matrix":[1, 13], "flags":1, "x":196, "y":21}, + {"matrix":[1, 14], "flags":1, "x":224, "y":21}, + + {"matrix":[2, 0], "flags":1, "x":7, "y":43}, + {"matrix":[2, 2], "flags":4, "x":31, "y":43}, + {"matrix":[2, 3], "flags":4, "x":46, "y":43}, + {"matrix":[2, 4], "flags":4, "x":61, "y":43}, + {"matrix":[2, 5], "flags":4, "x":76, "y":43}, + {"matrix":[2, 6], "flags":4, "x":91, "y":43}, + {"matrix":[2, 7], "flags":4, "x":105, "y":43}, + {"matrix":[2, 8], "flags":4, "x":120, "y":43}, + {"matrix":[2, 9], "flags":4, "x":135, "y":43}, + {"matrix":[2, 10], "flags":4, "x":150, "y":43}, + {"matrix":[2, 11], "flags":4, "x":165, "y":43}, + {"matrix":[2, 13], "flags":1, "x":185, "y":43}, + {"matrix":[2, 14], "flags":1, "x":205, "y":43}, + + {"matrix":[3, 0], "flags":1, "x":0, "y":64}, + {"matrix":[3, 1], "flags":1, "x":18, "y":64}, + {"matrix":[3, 2], "flags":1, "x":37, "y":64}, + {"matrix":[3, 3], "flags":1, "x":55, "y":64}, + {"matrix":[3, 6], "flags":4, "x":81, "y":64}, + {"matrix":[3, 9], "flags":4, "x":118, "y":64}, + {"matrix":[3, 10], "flags":1, "x":146, "y":64}, + {"matrix":[3, 11], "flags":1, "x":161, "y":64}, + {"matrix":[3, 12], "flags":1, "x":176, "y":64}, + {"matrix":[3, 13], "flags":1, "x":190, "y":64}, + {"matrix":[3, 14], "flags":1, "x":205, "y":64}, + {"matrix":[1, 12], "flags":1, "x":224, "y":64} + ] + } +} diff --git a/keyboards/keychron/q9_plus/ansi_encoder/keymaps/default/keymap.c b/keyboards/keychron/q9_plus/ansi_encoder/keymaps/default/keymap.c new file mode 100755 index 00000000000..06c43f6929d --- /dev/null +++ b/keyboards/keychron/q9_plus/ansi_encoder/keymaps/default/keymap.c @@ -0,0 +1,71 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.com) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum layers{ + MAC_BASE, + WIN_BASE, + MAC_FN1, + WIN_FN1, + FN2, +}; + +#define KC_TASK LGUI(KC_TAB) +#define KC_FLXP LGUI(KC_E) + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [MAC_BASE] = LAYOUT_54_ansi( + 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_MUTE, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME, + KC_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_LOPT, KC_LCMD, MO(MAC_FN1), KC_SPC, KC_SPC, KC_RCMD, MO(MAC_FN1), MO(FN2), KC_LEFT, KC_DOWN, KC_RGHT), + + [WIN_BASE] = LAYOUT_54_ansi( + 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_MUTE, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME, + KC_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, MO(WIN_FN1), KC_SPC, KC_SPC, KC_RALT, MO(WIN_FN1), MO(FN2), KC_LEFT, KC_DOWN, KC_RGHT), + + [MAC_FN1] = LAYOUT_54_ansi( + KC_GRV, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_TOG, + RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + + [WIN_FN1] = LAYOUT_54_ansi( + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_TOG, + RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + + [FN2] = LAYOUT_54_ansi( + 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_BSPC, _______, + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, + [WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, + [MAC_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [WIN_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [FN2] = {ENCODER_CCW_CW(_______, _______)} +}; +#endif diff --git a/keyboards/keychron/q9_plus/ansi_encoder/keymaps/default/rules.mk b/keyboards/keychron/q9_plus/ansi_encoder/keymaps/default/rules.mk new file mode 100755 index 00000000000..f1adcab005e --- /dev/null +++ b/keyboards/keychron/q9_plus/ansi_encoder/keymaps/default/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/keychron/q9_plus/ansi_encoder/keymaps/keychron/keymap.c b/keyboards/keychron/q9_plus/ansi_encoder/keymaps/keychron/keymap.c new file mode 100755 index 00000000000..bf995fca2b2 --- /dev/null +++ b/keyboards/keychron/q9_plus/ansi_encoder/keymaps/keychron/keymap.c @@ -0,0 +1,80 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.com) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H +#include "keychron_common.h" + +enum layers{ + MAC_BASE, + WIN_BASE, + MAC_FN1, + WIN_FN1, + FN2, +}; + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [MAC_BASE] = LAYOUT_54_ansi( + 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_MUTE, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME, + KC_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_LOPTN, KC_LCMMD, MO(MAC_FN1), KC_SPC, KC_SPC, KC_RCMMD, MO(MAC_FN1), MO(FN2), KC_LEFT, KC_DOWN, KC_RGHT), + + [WIN_BASE] = LAYOUT_54_ansi( + 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_MUTE, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME, + KC_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, MO(WIN_FN1), KC_SPC, KC_SPC, KC_RALT, MO(WIN_FN1), MO(FN2), KC_LEFT, KC_DOWN, KC_RGHT), + + [MAC_FN1] = LAYOUT_54_ansi( + KC_GRV, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_TOG, + RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + + [WIN_FN1] = LAYOUT_54_ansi( + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_TOG, + RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + + [FN2] = LAYOUT_54_ansi( + 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_BSPC, _______, + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, + [WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, + [MAC_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [WIN_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [FN2] = {ENCODER_CCW_CW(_______, _______)} +}; +#endif + +void housekeeping_task_user(void) { + housekeeping_task_keychron(); +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (!process_record_keychron(keycode, record)) { + return false; + } + return true; +} diff --git a/keyboards/keychron/q9_plus/ansi_encoder/keymaps/keychron/rules.mk b/keyboards/keychron/q9_plus/ansi_encoder/keymaps/keychron/rules.mk new file mode 100755 index 00000000000..9cf1a9b56cb --- /dev/null +++ b/keyboards/keychron/q9_plus/ansi_encoder/keymaps/keychron/rules.mk @@ -0,0 +1,5 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes + +VPATH += keyboards/keychron/common +SRC += keychron_common.c diff --git a/keyboards/keychron/q9_plus/ansi_encoder/keymaps/via/keymap.c b/keyboards/keychron/q9_plus/ansi_encoder/keymaps/via/keymap.c new file mode 100755 index 00000000000..06c43f6929d --- /dev/null +++ b/keyboards/keychron/q9_plus/ansi_encoder/keymaps/via/keymap.c @@ -0,0 +1,71 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.com) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +enum layers{ + MAC_BASE, + WIN_BASE, + MAC_FN1, + WIN_FN1, + FN2, +}; + +#define KC_TASK LGUI(KC_TAB) +#define KC_FLXP LGUI(KC_E) + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [MAC_BASE] = LAYOUT_54_ansi( + 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_MUTE, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME, + KC_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_LOPT, KC_LCMD, MO(MAC_FN1), KC_SPC, KC_SPC, KC_RCMD, MO(MAC_FN1), MO(FN2), KC_LEFT, KC_DOWN, KC_RGHT), + + [WIN_BASE] = LAYOUT_54_ansi( + 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_MUTE, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME, + KC_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, MO(WIN_FN1), KC_SPC, KC_SPC, KC_RALT, MO(WIN_FN1), MO(FN2), KC_LEFT, KC_DOWN, KC_RGHT), + + [MAC_FN1] = LAYOUT_54_ansi( + KC_GRV, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_TOG, + RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + + [WIN_FN1] = LAYOUT_54_ansi( + KC_GRV, KC_BRID, KC_BRIU, KC_TASK, KC_FLXP, RGB_VAD, RGB_VAI, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, RGB_TOG, + RGB_TOG, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, RGB_SPD, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + + [FN2] = LAYOUT_54_ansi( + 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_BSPC, _______, + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, + [WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, + [MAC_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [WIN_FN1] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}, + [FN2] = {ENCODER_CCW_CW(_______, _______)} +}; +#endif diff --git a/keyboards/keychron/q9_plus/ansi_encoder/keymaps/via/rules.mk b/keyboards/keychron/q9_plus/ansi_encoder/keymaps/via/rules.mk new file mode 100755 index 00000000000..f1adcab005e --- /dev/null +++ b/keyboards/keychron/q9_plus/ansi_encoder/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/keychron/q9_plus/ansi_encoder/rules.mk b/keyboards/keychron/q9_plus/ansi_encoder/rules.mk new file mode 100755 index 00000000000..e69de29bb2d diff --git a/keyboards/keychron/q9_plus/config.h b/keyboards/keychron/q9_plus/config.h new file mode 100755 index 00000000000..c6cd09b3881 --- /dev/null +++ b/keyboards/keychron/q9_plus/config.h @@ -0,0 +1,58 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.com) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +/* Disable DIP switch in matrix data */ +#define MATRIX_MASKED + +/* DIP switch */ +#define DIP_SWITCH_MATRIX_GRID {{ 3, 4 }} + +/* RGB Matrix Driver Configuration */ +#define DRIVER_COUNT 1 +#define DRIVER_ADDR_1 0b1110100 + +/* Increase I2C speed to 1000 KHz */ +#define I2C1_TIMINGR_PRESC 0U +#define I2C1_TIMINGR_SCLDEL 3U +#define I2C1_TIMINGR_SDADEL 0U +#define I2C1_TIMINGR_SCLH 15U +#define I2C1_TIMINGR_SCLL 51U + +/* Set LED driver current */ +#define CKLED2001_CURRENT_TUNE \ + { 0xF8, 0xF8, 0x70, 0xF8, 0xF8, 0x70, 0xF8, 0xF8, 0x70, 0xF8, 0xF8, 0x70 } + +/* turn off effects when suspended */ +#define RGB_DISABLE_WHEN_USB_SUSPENDED + +/* EEPROM Driver Configuration */ +#define WEAR_LEVELING_LOGICAL_SIZE 2048 +#define WEAR_LEVELING_BACKING_SIZE (WEAR_LEVELING_LOGICAL_SIZE * 2) + +// RGB Matrix Animation modes. Explicitly enabled +// For full list of effects, see: +// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_KEYPRESSES + +/* Old default behavior of mod-taps */ +#define HOLD_ON_OTHER_KEY_PRESS + +/* Factory test keys */ +#define F_RESET_KEY1 KC_7 +#define FN_KEY1 MO(4) diff --git a/keyboards/keychron/q9_plus/halconf.h b/keyboards/keychron/q9_plus/halconf.h new file mode 100755 index 00000000000..41bddcb2799 --- /dev/null +++ b/keyboards/keychron/q9_plus/halconf.h @@ -0,0 +1,21 @@ +/* Copyright 2020 QMK + * + * 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_I2C TRUE + +#include_next diff --git a/keyboards/keychron/q9_plus/info.json b/keyboards/keychron/q9_plus/info.json new file mode 100755 index 00000000000..c56650cb1dc --- /dev/null +++ b/keyboards/keychron/q9_plus/info.json @@ -0,0 +1,124 @@ +{ + "keyboard_name": "Keychron Q9 Plus", + "manufacturer": "Keychron", + "url": "https://github.com/Keychron", + "maintainer": "lalalademaxiya1", + "processor": "STM32L432", + "bootloader": "stm32-dfu", + "usb": { + "vid": "0x3434" + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "dip_switch": true, + "encoder": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["A10", "A9", "A8", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "C15", "C14"], + "rows": ["B3", "A15", "A14", "A13"] + }, + "diode_direction": "ROW2COL", + "encoder": { + "rotary": [ + {"pin_a": "B4", "pin_b": "B5"} + ] + }, + "dynamic_keymap": { + "layer_count": 5 + }, + "layouts": { + "LAYOUT_54_ansi": { + "layout": [ + {"matrix":[0,0], "x":0, "y":0, "w":1.5}, + {"matrix":[0,1], "x":1.5, "y":0}, + {"matrix":[0,2], "x":2.5, "y":0}, + {"matrix":[0,3], "x":3.5, "y":0}, + {"matrix":[0,4], "x":4.5, "y":0}, + {"matrix":[0,5], "x":5.5, "y":0}, + {"matrix":[0,6], "x":6.5, "y":0}, + {"matrix":[0,7], "x":7.5, "y":0}, + {"matrix":[0,8], "x":8.5, "y":0}, + {"matrix":[0,9], "x":9.5, "y":0}, + {"matrix":[0,10], "x":10.5, "y":0}, + {"matrix":[0,11], "x":11.5, "y":0}, + {"matrix":[0,12], "x":12.5, "y":0}, + {"matrix":[0,13], "x":13.5, "y":0, "w":1.5}, + {"matrix":[0,14], "x":15.25, "y":0}, + + {"matrix":[1,0], "x":0, "y":1, "w":1.75}, + {"matrix":[1,1], "x":1.75, "y":1}, + {"matrix":[1,2], "x":2.75, "y":1}, + {"matrix":[1,3], "x":3.75, "y":1}, + {"matrix":[1,4], "x":4.75, "y":1}, + {"matrix":[1,5], "x":5.75, "y":1}, + {"matrix":[1,6], "x":6.75, "y":1}, + {"matrix":[1,7], "x":7.75, "y":1}, + {"matrix":[1,8], "x":8.75, "y":1}, + {"matrix":[1,9], "x":9.75, "y":1}, + {"matrix":[1,10], "x":10.75, "y":1}, + {"matrix":[1,11], "x":11.75, "y":1}, + {"matrix":[1,13], "x":12.75, "y":1, "w":2.25}, + {"matrix":[1,14], "x":15.25, "y":1.25}, + + {"matrix":[2,0], "x":0, "y":2, "w":2.25}, + {"matrix":[2,2], "x":2.25, "y":2}, + {"matrix":[2,3], "x":3.25, "y":2}, + {"matrix":[2,4], "x":4.25, "y":2}, + {"matrix":[2,5], "x":5.25, "y":2}, + {"matrix":[2,6], "x":6.25, "y":2}, + {"matrix":[2,7], "x":7.25, "y":2}, + {"matrix":[2,8], "x":8.25, "y":2}, + {"matrix":[2,9], "x":9.25, "y":2}, + {"matrix":[2,10], "x":10.25, "y":2}, + {"matrix":[2,11], "x":11.25, "y":2}, + {"matrix":[2,13], "x":12.25, "y":2, "w":1.75}, + {"matrix":[2,14], "x":14, "y":2}, + + {"matrix":[3,0], "x":0, "y":3, "w":1.25}, + {"matrix":[3,1], "x":1.25, "y":3, "w":1.25}, + {"matrix":[3,2], "x":2.5, "y":3, "w":1.25}, + {"matrix":[3,3], "x":3.75, "y":3, "w":1.25}, + {"matrix":[3,6], "x":5, "y":3, "w":2.25}, + {"matrix":[3,9], "x":7.25, "y":3, "w":2.75}, + {"matrix":[3,10], "x":10, "y":3}, + {"matrix":[3,11], "x":11, "y":3}, + {"matrix":[3,12], "x":12, "y":3}, + {"matrix":[3,13], "x":13, "y":3}, + {"matrix":[3,14], "x":14, "y":3}, + {"matrix":[1,12], "x":15, "y":3} + ] + } + }, + "rgb_matrix": { + "driver": "ckled2001", + "animations": { + "breathing": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "rainbow_moving_chevron": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "jellybean_raindrops": true, + "pixel_rain": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, + "solid_reactive_multiwide": true, + "solid_reactive_multinexus": true, + "splash": true, + "solid_splash": true + } + } +} diff --git a/keyboards/keychron/q9_plus/mcuconf.h b/keyboards/keychron/q9_plus/mcuconf.h new file mode 100755 index 00000000000..0ca8c64850f --- /dev/null +++ b/keyboards/keychron/q9_plus/mcuconf.h @@ -0,0 +1,22 @@ +/* Copyright 2020 QMK + * + * 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 + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE diff --git a/keyboards/keychron/q9_plus/q9_plus.c b/keyboards/keychron/q9_plus/q9_plus.c new file mode 100755 index 00000000000..f0f304def68 --- /dev/null +++ b/keyboards/keychron/q9_plus/q9_plus.c @@ -0,0 +1,82 @@ +/* Copyright 2023 @ Keychron (https://www.keychron.com) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +const matrix_row_t matrix_mask[] = { + 0b111111111111111, + 0b111111111111111, + 0b111111111111111, + 0b111111111101111, +}; + +#ifdef DIP_SWITCH_ENABLE +bool dip_switch_update_kb(uint8_t index, bool active) { + if (!dip_switch_update_user(index, active)) { + return false; + } + if (index == 0) { + default_layer_set(1UL << (active ? 1 : 0)); + } + return true; +} +#endif + +#if defined(RGB_MATRIX_ENABLE) && defined(CAPS_LOCK_LED_INDEX) + +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + switch (keycode) { + case RGB_TOG: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } break; + } + } + if (!rgb_matrix_is_enabled()) { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable(); + } + return false; + } + return true; +} + +bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { + if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { + return false; + } + // RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue); + + if (host_keyboard_led_state().caps_lock) { + RGB_MATRIX_INDICATOR_SET_COLOR(CAPS_LOCK_LED_INDEX, 255, 255, 255); + } else { + if (!rgb_matrix_get_flags()) { + RGB_MATRIX_INDICATOR_SET_COLOR(CAPS_LOCK_LED_INDEX, 0, 0, 0); + } + } + return true; +} + +#endif diff --git a/keyboards/keychron/q9_plus/readme.md b/keyboards/keychron/q9_plus/readme.md new file mode 100755 index 00000000000..d0ab58e13c3 --- /dev/null +++ b/keyboards/keychron/q9_plus/readme.md @@ -0,0 +1,21 @@ +# Keychron Q9 Plus + +![Keychron Q9 Plus](https://i.imgur.com/Yp9K7Gsh.jpg) + +A customizable 40% keyboard. + +* Keyboard Maintainer: [Keychron](https://github.com/keychron) +* Hardware Supported: Keychron Q9 Plus +* Hardware Availability:[Keychron Q9 QMK Custom Mechanical Keyboard](https://www.keychron.com/products/keychron-q9-qmk-custom-mechanical-keyboard) + +Make example for this keyboard (after setting up your build environment): + + make keychron/q9_plus/ansi_encoder:default + +Flashing example for this keyboard: + + make keychron/q9_plus/ansi:default:flash + +**Reset Key**: Hold down the key located at *K00*, programmed as *TAB* while plugging in the keyboard. + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). From dc2315ad85a9d0eedc7ebfc3329bec4583764681 Mon Sep 17 00:00:00 2001 From: dztech Date: Thu, 21 Sep 2023 14:01:38 +0800 Subject: [PATCH 088/144] add dz60v2 keyboard (#21862) Co-authored-by: Duncan Sutherland Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com> Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/dztech/dz60v2/info.json | 2441 +++++++++++++++++ .../dztech/dz60v2/keymaps/default/keymap.c | 34 + keyboards/dztech/dz60v2/keymaps/via/keymap.c | 34 + keyboards/dztech/dz60v2/keymaps/via/rules.mk | 2 + keyboards/dztech/dz60v2/readme.md | 26 + keyboards/dztech/dz60v2/rules.mk | 1 + 6 files changed, 2538 insertions(+) create mode 100644 keyboards/dztech/dz60v2/info.json create mode 100644 keyboards/dztech/dz60v2/keymaps/default/keymap.c create mode 100644 keyboards/dztech/dz60v2/keymaps/via/keymap.c create mode 100644 keyboards/dztech/dz60v2/keymaps/via/rules.mk create mode 100644 keyboards/dztech/dz60v2/readme.md create mode 100644 keyboards/dztech/dz60v2/rules.mk diff --git a/keyboards/dztech/dz60v2/info.json b/keyboards/dztech/dz60v2/info.json new file mode 100644 index 00000000000..bd1479b77c0 --- /dev/null +++ b/keyboards/dztech/dz60v2/info.json @@ -0,0 +1,2441 @@ +{ + "manufacturer": "DZTECH", + "keyboard_name": "DZ60v2", + "maintainer": "DZTECH", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "indicators": { + "caps_lock": "E6" + }, + "matrix_pins": { + "cols": ["F1", "D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "F7", "C7", "C6", "B6", "B5"], + "rows": ["F0", "B3", "F6", "F4", "F5"] + }, + "processor": "atmega32u4", + "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 + }, + "brightness_steps": 10, + "hue_steps": 10, + "led_count": 16, + "saturation_steps": 10 + }, + "ws2812": { + "pin": "B2" + }, + "usb": { + "device_version": "0.0.2", + "pid": "0x2261", + "vid": "0x445A" + }, + "community_layouts": [ + "60_abnt2", + "60_ansi", + "60_ansi_arrow", + "60_ansi_arrow_split_bs_7u_spc", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_hhkb", + "60_iso", + "60_iso_split_bs_rshift", + "60_iso_tsangan", + "60_tsangan_hhkb", + "64_ansi", + "64_iso" + ], + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0d", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "x": 14, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k1e", "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k2d", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "k30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "label": "k31", "matrix": [3, 1], "x": 1.25, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 }, + { "label": "k3e", "matrix": [3, 14], "x": 14, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k44", "matrix": [4, 4], "w": 2.25, "x": 3.75, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 1.25, "x": 6, "y": 4 }, + { "label": "k48", "matrix": [4, 8], "w": 2.75, "x": 7.25, "y": 4 }, + { "label": "k4a", "matrix": [4, 10], "x": 10, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "x": 11, "y": 4 }, + { "label": "k4c", "matrix": [4, 12], "x": 12, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "x": 13, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "x": 14, "y": 4 } + ] + }, + "LAYOUT_60_2_function": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0d", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "x": 14, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k1e", "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k2d", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "k30", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 }, + { "label": "k3e", "matrix": [3, 14], "x": 14, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4 }, + { "label": "k4a", "matrix": [4, 10], "w": 1.5, "x": 10, "y": 4 }, + { "label": "k4c", "matrix": [4, 12], "w": 1.5, "x": 11.5, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "x": 13, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "x": 14, "y": 4 } + ] + }, + "LAYOUT_60_abnt2": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "w": 2, "x": 13, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k1e", "matrix": [1, 14], "x": 12.75, "y": 2 }, + { "h": 2, "label": "k2d", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 1 }, + { "label": "k30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "label": "k31", "matrix": [3, 1], "x": 1.25, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "label": "k3c", "matrix": [3, 12], "x": 12.25, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "w": 1.75, "x": 13.25, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4 }, + { "label": "k4a", "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "w": 1.25, "x": 12.5, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "w": 1.25, "x": 13.75, "y": 4 } + ] + }, + "LAYOUT_60_ansi": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "w": 2, "x": 13, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k1e", "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k2d", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "k30", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "w": 2.75, "x": 12.25, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4 }, + { "label": "k4a", "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "w": 1.25, "x": 12.5, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "w": 1.25, "x": 13.75, "y": 4 } + ] + }, + "LAYOUT_60_ansi_arrow": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "w": 2, "x": 13, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k1e", "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k2d", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "k30", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "k3c", "matrix": [3, 12], "w": 1.75, "x": 11.25, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "x": 13, "y": 3 }, + { "label": "k3e", "matrix": [3, 14], "x": 14, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4 }, + { "label": "k4a", "matrix": [4, 10], "x": 10, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "x": 11, "y": 4 }, + { "label": "k4c", "matrix": [4, 12], "x": 12, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "x": 13, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "x": 14, "y": 4 } + ] + }, + "LAYOUT_60_ansi_arrow_split_bs_7u_spc": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0d", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "x": 14, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k1e", "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k2d", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "k30", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "k3c", "matrix": [3, 12], "w": 1.75, "x": 11.25, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "x": 13, "y": 3 }, + { "label": "k3e", "matrix": [3, 14], "x": 14, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "x": 1.5, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 7, "x": 4, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "x": 11, "y": 4 }, + { "label": "k4c", "matrix": [4, 12], "x": 12, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "x": 13, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "x": 14, "y": 4 } + ] + }, + "LAYOUT_60_ansi_split": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "w": 2, "x": 13, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k1e", "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k2d", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "k30", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "w": 2.75, "x": 12.25, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k44", "matrix": [4, 4], "w": 2.25, "x": 3.75, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 1.25, "x": 6, "y": 4 }, + { "label": "k48", "matrix": [4, 8], "w": 2.75, "x": 7.25, "y": 4 }, + { "label": "k4a", "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "w": 1.25, "x": 12.5, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "w": 1.25, "x": 13.75, "y": 4 } + ] + }, + "LAYOUT_60_ansi_split_bs_rshift": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0d", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "x": 14, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k1e", "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k2d", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "k30", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 }, + { "label": "k3e", "matrix": [3, 14], "x": 14, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4 }, + { "label": "k4a", "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "w": 1.25, "x": 12.5, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "w": 1.25, "x": 13.75, "y": 4 } + ] + }, + "LAYOUT_60_ansi_split_space_rshift": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "w": 2, "x": 13, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k1e", "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k2d", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "k30", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 }, + { "label": "k3e", "matrix": [3, 14], "x": 14, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k44", "matrix": [4, 4], "w": 2.25, "x": 3.75, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 1.25, "x": 6, "y": 4 }, + { "label": "k48", "matrix": [4, 8], "w": 2.75, "x": 7.25, "y": 4 }, + { "label": "k4a", "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "w": 1.25, "x": 12.5, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "w": 1.25, "x": 13.75, "y": 4 } + ] + }, + "LAYOUT_60_ansi_tsangan": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "w": 2, "x": 13, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k1e", "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k2d", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "k30", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "w": 2.75, "x": 12.25, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "x": 1.5, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 7, "x": 4, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "w": 1.5, "x": 11, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "x": 12.5, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "w": 1.5, "x": 13.5, "y": 4 } + ] + }, + "LAYOUT_60_b_ansi": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0d", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "x": 14, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k1e", "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k2d", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "k30", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "k3c", "matrix": [3, 12], "w": 1.75, "x": 11.25, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "x": 13, "y": 3 }, + { "label": "k3e", "matrix": [3, 14], "x": 14, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k44", "matrix": [4, 4], "w": 2.25, "x": 3.75, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 1.25, "x": 6, "y": 4 }, + { "label": "k48", "matrix": [4, 8], "w": 2.75, "x": 7.25, "y": 4 }, + { "label": "k4a", "matrix": [4, 10], "x": 10, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "x": 11, "y": 4 }, + { "label": "k4c", "matrix": [4, 12], "x": 12, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "x": 13, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "x": 14, "y": 4 } + ] + }, + "LAYOUT_60_b_iso": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0d", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "x": 14, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k1e", "matrix": [1, 14], "x": 12.75, "y": 2 }, + { "h": 2, "label": "k2d", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 1 }, + { "label": "k30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "label": "k31", "matrix": [3, 1], "x": 1.25, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "k3c", "matrix": [3, 12], "w": 1.75, "x": 11.25, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "x": 13, "y": 3 }, + { "label": "k3e", "matrix": [3, 14], "x": 14, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k44", "matrix": [4, 4], "w": 2.25, "x": 3.75, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 1.25, "x": 6, "y": 4 }, + { "label": "k48", "matrix": [4, 8], "w": 2.75, "x": 7.25, "y": 4 }, + { "label": "k4a", "matrix": [4, 10], "x": 10, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "x": 11, "y": 4 }, + { "label": "k4c", "matrix": [4, 12], "x": 12, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "x": 13, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "x": 14, "y": 4 } + ] + }, + "LAYOUT_60_calbatr0ss": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0d", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "x": 14, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k1e", "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k2d", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "k30", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 }, + { "label": "k3e", "matrix": [3, 14], "x": 14, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k44", "matrix": [4, 4], "w": 2.25, "x": 3.75, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 1.25, "x": 6, "y": 4 }, + { "label": "k48", "matrix": [4, 8], "w": 2.75, "x": 7.25, "y": 4 }, + { "label": "k4a", "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "w": 1.25, "x": 12.5, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "w": 1.25, "x": 13.75, "y": 4 } + ] + }, + "LAYOUT_60_hhkb": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0d", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "x": 14, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k1e", "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k2d", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "k30", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 }, + { "label": "k3e", "matrix": [3, 14], "x": 14, "y": 3 }, + { "label": "k41", "matrix": [4, 1], "x": 1.5, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 7, "x": 4, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "w": 1.5, "x": 11, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "x": 12.5, "y": 4 } + ] + }, + "LAYOUT_60_iso": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "w": 2, "x": 13, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k1e", "matrix": [1, 14], "x": 12.75, "y": 2 }, + { "h": 2, "label": "k2d", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 1 }, + { "label": "k30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "label": "k31", "matrix": [3, 1], "x": 1.25, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "w": 2.75, "x": 12.25, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4 }, + { "label": "k4a", "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "w": 1.25, "x": 12.5, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "w": 1.25, "x": 13.75, "y": 4 } + ] + }, + "LAYOUT_60_iso_4th_row_all_1u": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "w": 2, "x": 13, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k1e", "matrix": [1, 14], "x": 12.75, "y": 2 }, + { "h": 2, "label": "k2d", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 1 }, + { "label": "k30", "matrix": [3, 0], "x": 0, "y": 3 }, + { "label": "k31", "matrix": [3, 1], "x": 1, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11, "y": 3 }, + { "label": "k3c", "matrix": [3, 12], "x": 12, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "x": 13, "y": 3 }, + { "label": "k3e", "matrix": [3, 14], "x": 14, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4 }, + { "label": "k4a", "matrix": [4, 10], "x": 10, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "x": 11, "y": 4 }, + { "label": "k4c", "matrix": [4, 12], "x": 12, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "x": 13, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "x": 14, "y": 4 } + ] + }, + "LAYOUT_60_iso_5x1u": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "w": 2, "x": 13, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k1e", "matrix": [1, 14], "x": 12.75, "y": 2 }, + { "h": 2, "label": "k2d", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 1 }, + { "label": "k30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "label": "k31", "matrix": [3, 1], "x": 1.25, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "w": 2.75, "x": 12.25, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4 }, + { "label": "k4a", "matrix": [4, 10], "x": 10, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "x": 11, "y": 4 }, + { "label": "k4c", "matrix": [4, 12], "x": 12, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "x": 13, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "x": 14, "y": 4 } + ] + }, + "LAYOUT_60_iso_5x1u_split_bs_rshift_spc": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0d", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "x": 14, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k1e", "matrix": [1, 14], "x": 12.75, "y": 2 }, + { "h": 2, "label": "k2d", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 1 }, + { "label": "k30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "label": "k31", "matrix": [3, 1], "x": 1.25, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 }, + { "label": "k3e", "matrix": [3, 14], "x": 14, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k44", "matrix": [4, 4], "w": 2.25, "x": 3.75, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 1.25, "x": 6, "y": 4 }, + { "label": "k48", "matrix": [4, 8], "w": 2.75, "x": 7.25, "y": 4 }, + { "label": "k4a", "matrix": [4, 10], "x": 10, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "x": 11, "y": 4 }, + { "label": "k4c", "matrix": [4, 12], "x": 12, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "x": 13, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "x": 14, "y": 4 } + ] + }, + "LAYOUT_60_iso_5x1u_split_rshift": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "w": 2, "x": 13, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "h": 2, "label": "k20", "matrix": [2, 0], "w": 1.25, "x": 13.75, "y": 1 }, + { "label": "k22", "matrix": [2, 2], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 1.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 2.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 3.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 4.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 5.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 6.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 7.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 8.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 9.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 10.75, "y": 2 }, + { "label": "k1e", "matrix": [1, 14], "x": 11.75, "y": 2 }, + { "label": "k2d", "matrix": [2, 13], "x": 12.75, "y": 2 }, + { "label": "k30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "label": "k31", "matrix": [3, 1], "x": 1.25, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 }, + { "label": "k3e", "matrix": [3, 14], "x": 14, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4 }, + { "label": "k4a", "matrix": [4, 10], "x": 10, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "x": 11, "y": 4 }, + { "label": "k4c", "matrix": [4, 12], "x": 12, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "x": 13, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "x": 14, "y": 4 } + ] + }, + "LAYOUT_60_iso_arrow_one_bksp": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "w": 2, "x": 13, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k1e", "matrix": [1, 14], "x": 12.75, "y": 2 }, + { "h": 2, "label": "k2d", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 1 }, + { "label": "k30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "label": "k31", "matrix": [3, 1], "x": 1.25, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "k3c", "matrix": [3, 12], "w": 1.75, "x": 11.25, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "x": 13, "y": 3 }, + { "label": "k3e", "matrix": [3, 14], "x": 14, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4 }, + { "label": "k4a", "matrix": [4, 10], "x": 10, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "x": 11, "y": 4 }, + { "label": "k4c", "matrix": [4, 12], "x": 12, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "x": 13, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "x": 14, "y": 4 } + ] + }, + "LAYOUT_60_iso_split": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "w": 2, "x": 13, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k1e", "matrix": [1, 14], "x": 12.75, "y": 2 }, + { "h": 2, "label": "k2d", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 1 }, + { "label": "k30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "label": "k31", "matrix": [3, 1], "x": 1.25, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "w": 2.75, "x": 12.25, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k44", "matrix": [4, 4], "w": 2.25, "x": 3.75, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 1.25, "x": 6, "y": 4 }, + { "label": "k48", "matrix": [4, 8], "w": 2.75, "x": 7.25, "y": 4 }, + { "label": "k4a", "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "w": 1.25, "x": 12.5, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "w": 1.25, "x": 13.75, "y": 4 } + ] + }, + "LAYOUT_60_iso_split_bs_rshift": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0d", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "x": 14, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k1e", "matrix": [1, 14], "x": 12.75, "y": 2 }, + { "h": 2, "label": "k2d", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 1 }, + { "label": "k30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "label": "k31", "matrix": [3, 1], "x": 1.25, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 }, + { "label": "k3e", "matrix": [3, 14], "x": 14, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4 }, + { "label": "k4a", "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "w": 1.25, "x": 12.5, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "w": 1.25, "x": 13.75, "y": 4 } + ] + }, + "LAYOUT_60_iso_split_space_bs_rshift": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0d", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "x": 14, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k1e", "matrix": [1, 14], "x": 12.75, "y": 2 }, + { "h": 2, "label": "k2d", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 1 }, + { "label": "k30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "label": "k31", "matrix": [3, 1], "x": 1.25, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 }, + { "label": "k3e", "matrix": [3, 14], "x": 14, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k44", "matrix": [4, 4], "w": 2.25, "x": 3.75, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 1.25, "x": 6, "y": 4 }, + { "label": "k48", "matrix": [4, 8], "w": 2.75, "x": 7.25, "y": 4 }, + { "label": "k4a", "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "w": 1.25, "x": 12.5, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "w": 1.25, "x": 13.75, "y": 4 } + ] + }, + "LAYOUT_60_iso_tsangan": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "w": 2, "x": 13, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k1e", "matrix": [1, 14], "x": 12.75, "y": 2 }, + { "h": 2, "label": "k2d", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 1 }, + { "label": "k30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "label": "k31", "matrix": [3, 1], "x": 1.25, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "w": 2.75, "x": 12.25, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "x": 1.5, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 7, "x": 4, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "w": 1.5, "x": 11, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "x": 12.5, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "w": 1.5, "x": 13.5, "y": 4 } + ] + }, + "LAYOUT_60_iso_tsangan_split_bs_rshift": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0d", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "x": 14, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k1e", "matrix": [1, 14], "x": 12.75, "y": 2 }, + { "h": 2, "label": "k2d", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 1 }, + { "label": "k30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "label": "k31", "matrix": [3, 1], "x": 1.25, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 }, + { "label": "k3e", "matrix": [3, 14], "x": 14, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "x": 1.5, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 7, "x": 4, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "w": 1.5, "x": 11, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "x": 12.5, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "w": 1.5, "x": 13.5, "y": 4 } + ] + }, + "LAYOUT_60_tsangan": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "w": 2, "x": 13, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k1e", "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k2d", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "k30", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 }, + { "label": "k3e", "matrix": [3, 14], "x": 14, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "x": 1.5, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 7, "x": 4, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "w": 1.5, "x": 11, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "x": 12.5, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "w": 1.5, "x": 13.5, "y": 4 } + ] + }, + "LAYOUT_60_tsangan_hhkb": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0d", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "x": 14, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k1e", "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k2d", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "k30", "matrix": [3, 0], "w": 2.25, "x": 0, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 }, + { "label": "k3e", "matrix": [3, 14], "x": 14, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "x": 1.5, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 7, "x": 4, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "w": 1.5, "x": 11, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "x": 12.5, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "w": 1.5, "x": 13.5, "y": 4 } + ] + }, + "LAYOUT_64_ansi": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "w": 2, "x": 13, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k1e", "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k2d", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "k30", "matrix": [3, 0], "w": 2, "x": 0, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11, "y": 3 }, + { "label": "k3c", "matrix": [3, 12], "x": 12, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "x": 13, "y": 3 }, + { "label": "k3e", "matrix": [3, 14], "x": 14, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4 }, + { "label": "k4a", "matrix": [4, 10], "x": 10, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "x": 11, "y": 4 }, + { "label": "k4c", "matrix": [4, 12], "x": 12, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "x": 13, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "x": 14, "y": 4 } + ] + }, + "LAYOUT_64_ansi_split_bs": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0d", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "x": 14, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k1e", "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k2d", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "k30", "matrix": [3, 0], "w": 2, "x": 0, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11, "y": 3 }, + { "label": "k3c", "matrix": [3, 12], "x": 12, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "x": 13, "y": 3 }, + { "label": "k3e", "matrix": [3, 14], "x": 14, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4 }, + { "label": "k4a", "matrix": [4, 10], "x": 10, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "x": 11, "y": 4 }, + { "label": "k4c", "matrix": [4, 12], "x": 12, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "x": 13, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "x": 14, "y": 4 } + ] + }, + "LAYOUT_64_iso": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "w": 2, "x": 13, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k1e", "matrix": [1, 14], "x": 12.75, "y": 2 }, + { "h": 2, "label": "k2d", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 1 }, + { "label": "k30", "matrix": [3, 0], "x": 0, "y": 3 }, + { "label": "k30", "matrix": [3, 1], "x": 1, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11, "y": 3 }, + { "label": "k3c", "matrix": [3, 12], "x": 12, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "x": 13, "y": 3 }, + { "label": "k3e", "matrix": [3, 14], "x": 14, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4 }, + { "label": "k4a", "matrix": [4, 10], "x": 10, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "x": 11, "y": 4 }, + { "label": "k4c", "matrix": [4, 12], "x": 12, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "x": 13, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "x": 14, "y": 4 } + ] + }, + "LAYOUT_64_iso_split_bs": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0d", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "x": 14, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k1e", "matrix": [1, 14], "x": 12.75, "y": 2 }, + { "h": 2, "label": "k2d", "matrix": [2, 13], "w": 1.25, "x": 13.75, "y": 1 }, + { "label": "k30", "matrix": [3, 0], "x": 0, "y": 3 }, + { "label": "k30", "matrix": [3, 1], "x": 1, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11, "y": 3 }, + { "label": "k3c", "matrix": [3, 12], "x": 12, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "x": 13, "y": 3 }, + { "label": "k3e", "matrix": [3, 14], "x": 14, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4 }, + { "label": "k4a", "matrix": [4, 10], "x": 10, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "x": 11, "y": 4 }, + { "label": "k4c", "matrix": [4, 12], "x": 12, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "x": 13, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "x": 14, "y": 4 } + ] + }, + "LAYOUT_all": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0d", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "x": 14, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k1e", "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k2d", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "k30", "matrix": [3, 0], "x": 0, "y": 3 }, + { "label": "k31", "matrix": [3, 1], "x": 1, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11, "y": 3 }, + { "label": "k3c", "matrix": [3, 12], "x": 12, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "x": 13, "y": 3 }, + { "label": "k3e", "matrix": [3, 14], "x": 14, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k44", "matrix": [4, 4], "w": 2.25, "x": 3.75, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 1.25, "x": 6, "y": 4 }, + { "label": "k48", "matrix": [4, 8], "w": 2.75, "x": 7.25, "y": 4 }, + { "label": "k4a", "matrix": [4, 10], "x": 10, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "x": 11, "y": 4 }, + { "label": "k4c", "matrix": [4, 12], "x": 12, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "x": 13, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "x": 14, "y": 4 } + ] + }, + "LAYOUT_directional": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0d", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "x": 14, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k1e", "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k2d", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "k30", "matrix": [3, 0], "w": 2, "x": 0, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11, "y": 3 }, + { "label": "k3c", "matrix": [3, 12], "x": 12, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "x": 13, "y": 3 }, + { "label": "k3e", "matrix": [3, 14], "x": 14, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "k44", "matrix": [4, 4], "w": 2.25, "x": 3.75, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 1.25, "x": 6, "y": 4 }, + { "label": "k48", "matrix": [4, 8], "w": 2.75, "x": 7.25, "y": 4 }, + { "label": "k4a", "matrix": [4, 10], "x": 10, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "x": 11, "y": 4 }, + { "label": "k4c", "matrix": [4, 12], "x": 12, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "x": 13, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "x": 14, "y": 4 } + ] + }, + "LAYOUT_olivierko": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0d", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "x": 14, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k1e", "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k2d", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "k30", "matrix": [3, 0], "w": 2, "x": 0, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11, "y": 3 }, + { "label": "k3c", "matrix": [3, 12], "x": 12, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "w": 2, "x": 13, "y": 3 }, + { "label": "k40", "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 }, + { "label": "k41", "matrix": [4, 1], "x": 1.5, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 7, "x": 4, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "x": 11, "y": 4 }, + { "label": "k4c", "matrix": [4, 12], "x": 12, "y": 4 }, + { "label": "k4d", "matrix": [4, 13], "x": 13, "y": 4 }, + { "label": "k4e", "matrix": [4, 14], "x": 14, "y": 4 } + ] + }, + "LAYOUT_true_hhkb": { + "layout": [ + { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "k02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "k03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "k04", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "k05", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "k06", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "k07", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "k08", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "k09", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "k0a", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "k0b", "matrix": [0, 11], "x": 11, "y": 0 }, + { "label": "k0c", "matrix": [0, 12], "x": 12, "y": 0 }, + { "label": "k0d", "matrix": [0, 13], "x": 13, "y": 0 }, + { "label": "k0e", "matrix": [0, 14], "x": 14, "y": 0 }, + { "label": "k10", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "label": "k12", "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "label": "k13", "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "label": "k14", "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "label": "k15", "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "label": "k16", "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "label": "k17", "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "label": "k18", "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "label": "k19", "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "label": "k1a", "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "label": "k1b", "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "label": "k1c", "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "label": "k1d", "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "label": "k1e", "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "k20", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "label": "k22", "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "label": "k23", "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "label": "k24", "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "label": "k25", "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "label": "k26", "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "label": "k27", "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "label": "k28", "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "label": "k29", "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "label": "k2a", "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "label": "k2b", "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "label": "k2c", "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "label": "k2d", "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "k30", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "label": "k31", "matrix": [3, 1], "x": 1.25, "y": 3 }, + { "label": "k32", "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "label": "k33", "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "label": "k34", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "k35", "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "label": "k36", "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "label": "k37", "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "label": "k38", "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "label": "k39", "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "label": "k3a", "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "label": "k3b", "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "label": "k3d", "matrix": [3, 13], "w": 1.75, "x": 12.25, "y": 3 }, + { "label": "k3e", "matrix": [3, 14], "x": 14, "y": 3 }, + { "label": "k41", "matrix": [4, 1], "x": 1.5, "y": 4 }, + { "label": "k43", "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 }, + { "label": "k46", "matrix": [4, 6], "w": 6, "x": 4, "y": 4 }, + { "label": "k4a", "matrix": [4, 10], "w": 1.5, "x": 10, "y": 4 }, + { "label": "k4b", "matrix": [4, 11], "x": 11.5, "y": 4 } + ] + } + } +} + diff --git a/keyboards/dztech/dz60v2/keymaps/default/keymap.c b/keyboards/dztech/dz60v2/keymaps/default/keymap.c new file mode 100644 index 00000000000..f3372b151ca --- /dev/null +++ b/keyboards/dztech/dz60v2/keymaps/default/keymap.c @@ -0,0 +1,34 @@ +/* Copyright 2023 dztech + * + * 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] = { + LAYOUT_all( + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, BL_DOWN, BL_TOGG, BL_UP, BL_STEP, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/dztech/dz60v2/keymaps/via/keymap.c b/keyboards/dztech/dz60v2/keymaps/via/keymap.c new file mode 100644 index 00000000000..f3372b151ca --- /dev/null +++ b/keyboards/dztech/dz60v2/keymaps/via/keymap.c @@ -0,0 +1,34 @@ +/* Copyright 2023 dztech + * + * 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] = { + LAYOUT_all( + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, BL_DOWN, BL_TOGG, BL_UP, BL_STEP, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/dztech/dz60v2/keymaps/via/rules.mk b/keyboards/dztech/dz60v2/keymaps/via/rules.mk new file mode 100644 index 00000000000..ca9fed0e6b5 --- /dev/null +++ b/keyboards/dztech/dz60v2/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +LTO_ENABLE = yes +VIA_ENABLE = yes diff --git a/keyboards/dztech/dz60v2/readme.md b/keyboards/dztech/dz60v2/readme.md new file mode 100644 index 00000000000..51ccd9a12bb --- /dev/null +++ b/keyboards/dztech/dz60v2/readme.md @@ -0,0 +1,26 @@ +# DZ60 60% Mechanical Keyboard PCB + +## A Customizable 60% Mechanical Keyboard PCB + +* Keyboard Maintainer: QMK Community +* Hardware Supported: DZ60 60% Mechanical Keyboard PCB +* Hardware Availability: [KBDfans](https://kbdfans.com/collections/60/products/dz60-60-pcb) + +There are two versions of the DZ60 PCB. Please use the appropriate firmware for your board. + +* V1: 1.6mm thickness PCB; +* V2: 1.2mm thickness PCB + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix +* **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 + +Make example for this keyboard (after setting up your build environment): + + make dztech/dz60v2:default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/dztech/dz60v2/rules.mk b/keyboards/dztech/dz60v2/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/dztech/dz60v2/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From 8c52bab9300f488b687af136deee2fac4b9e3ae9 Mon Sep 17 00:00:00 2001 From: dztech Date: Thu, 21 Sep 2023 14:01:55 +0800 Subject: [PATCH 089/144] add odinmini layout (#21983) Co-authored-by: Ryan --- keyboards/kbdfans/odinmini/info.json | 89 ++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) diff --git a/keyboards/kbdfans/odinmini/info.json b/keyboards/kbdfans/odinmini/info.json index ea82309e85a..19a854c4ce4 100644 --- a/keyboards/kbdfans/odinmini/info.json +++ b/keyboards/kbdfans/odinmini/info.json @@ -54,6 +54,95 @@ "vid": "0x4B42" }, "layouts": { + "LAYOUT_all": { + "layout": [ + {"label": "~", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [2, 13], "x": 13, "y": 0}, + {"label": "Del", "matrix": [2, 17], "x": 14, "y": 0}, + {"label": "Insert", "matrix": [0, 13], "x": 15.25, "y": 0}, + {"label": "Num Lock", "matrix": [0, 14], "x": 16.5, "y": 0}, + {"label": "/", "matrix": [0, 15], "x": 17.5, "y": 0}, + {"label": "*", "matrix": [0, 16], "x": 18.5, "y": 0}, + {"label": "-", "matrix": [0, 17], "x": 19.5, "y": 0}, + {"label": "Tab", "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "|", "matrix": [3, 13], "w": 1.5, "x": 13.5, "y": 1}, + {"label": "Delete", "matrix": [1, 13], "x": 15.25, "y": 1}, + {"label": "7", "matrix": [1, 14], "x": 16.5, "y": 1}, + {"label": "8", "matrix": [1, 15], "x": 17.5, "y": 1}, + {"label": "9", "matrix": [1, 16], "x": 18.5, "y": 1}, + {"h": 2, "label": "+", "matrix": [1, 17], "x": 19.5, "y": 1}, + {"label": "Caps Lock", "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 12], "w": 2.25, "x": 12.75, "y": 2}, + {"label": "4", "matrix": [2, 14], "x": 16.5, "y": 2}, + {"label": "5", "matrix": [2, 15], "x": 17.5, "y": 2}, + {"label": "6", "matrix": [2, 16], "x": 18.5, "y": 2}, + {"label": "Shift", "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3}, + {"matrix": [4, 3], "w": 2.25, "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [3, 1], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 2], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 3], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 4], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 5], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 6], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 7], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [3, 8], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [3, 9], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [3, 10], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 11], "w": 1.75, "x": 12.25, "y": 3}, + {"label": "Fn", "matrix": [4, 4], "x": 14, "y": 3}, + {"label": "1", "matrix": [3, 12], "x": 16.5, "y": 3}, + {"label": "2", "matrix": [3, 14], "x": 17.5, "y": 3}, + {"label": "3", "matrix": [3, 15], "x": 18.5, "y": 3}, + {"h": 2, "label": "Enter", "matrix": [3, 16], "x": 19.5, "y": 3}, + {"label": "\u2191", "matrix": [3, 17], "x": 15.25, "y": 3.25}, + {"label": "Ctrl", "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4}, + {"label": "Win", "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4}, + {"label": "Alt", "matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4}, + {"label": "k45", "matrix": [4, 5], "w": 7, "x": 3.75, "y": 4}, + {"label": "Alt", "matrix": [4, 8], "w": 1.5, "x": 10.75, "y": 4}, + {"label": "Menu", "matrix": [4, 9], "w": 1.5, "x": 12.25, "y": 4}, + {"label": "0", "matrix": [4, 10], "x": 17.5, "y": 4}, + {"label": ".", "matrix": [4, 11], "x": 18.5, "y": 4}, + {"label": "\u2190", "matrix": [4, 12], "x": 14.25, "y": 4.25}, + {"label": "\u2193", "matrix": [4, 14], "x": 15.25, "y": 4.25}, + {"label": "\u2192", "matrix": [4, 15], "x": 16.25, "y": 4.25} + ] + }, "LAYOUT": { "layout": [ {"label": "~", "matrix": [0, 0], "x": 0, "y": 0}, From a26e1c8b63e4024533bc30e51817d5f5937d4d8a Mon Sep 17 00:00:00 2001 From: Apteryks Date: Thu, 21 Sep 2023 12:17:38 -0500 Subject: [PATCH 090/144] keymaps: Fix hacker_dvorak build. (#22102) --- .../keymaps/hacker_dvorak/user/layer_set_state_user.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c index bd4fd10ad11..5ce5f5298f6 100644 --- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c +++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c @@ -4,7 +4,7 @@ layer_state_t layer_state_set_user(layer_state_t state) { switch (layer) { case DVORAK: - rgblight_sethsv_noeeprom(GREEN); + rgblight_sethsv_noeeprom(HSV_GREEN); rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT); if (PLOVER_MODE) { From abd432fd7afa556e2d1df1c191050800068e6ec7 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Fri, 22 Sep 2023 12:12:20 +1000 Subject: [PATCH 091/144] Allow for `qmk compile -kb all`. (#22022) --- lib/python/qmk/cli/compile.py | 11 ++++- lib/python/qmk/cli/mass_compile.py | 78 ++++++++++++++++-------------- lib/python/qmk/keyboard.py | 32 ++++++++++++ 3 files changed, 83 insertions(+), 38 deletions(-) diff --git a/lib/python/qmk/cli/compile.py b/lib/python/qmk/cli/compile.py index f43e5f32dea..3d632e74a9b 100755 --- a/lib/python/qmk/cli/compile.py +++ b/lib/python/qmk/cli/compile.py @@ -9,7 +9,7 @@ from milc import cli import qmk.path from qmk.decorators import automagic_keyboard, automagic_keymap from qmk.commands import compile_configurator_json, create_make_command, parse_configurator_json, build_environment -from qmk.keyboard import keyboard_completer, keyboard_folder +from qmk.keyboard import keyboard_completer, keyboard_folder_or_all, is_all_keyboards from qmk.keymap import keymap_completer, locate_keymap @@ -24,7 +24,7 @@ def _is_keymap_target(keyboard, keymap): @cli.argument('filename', nargs='?', arg_only=True, type=qmk.path.FileType('r'), completer=FilesCompleter('.json'), help='The configurator export to compile') -@cli.argument('-kb', '--keyboard', type=keyboard_folder, completer=keyboard_completer, help='The keyboard to build a firmware for. Ignored when a configurator export is supplied.') +@cli.argument('-kb', '--keyboard', type=keyboard_folder_or_all, completer=keyboard_completer, help='The keyboard to build a firmware for. Ignored when a configurator export is supplied.') @cli.argument('-km', '--keymap', completer=keymap_completer, help='The keymap to build a firmware for. Ignored when a configurator export is supplied.') @cli.argument('-n', '--dry-run', arg_only=True, action='store_true', help="Don't actually build, just show the make command to be run.") @cli.argument('-j', '--parallel', type=int, default=1, help="Set the number of parallel make jobs; 0 means unlimited.") @@ -40,6 +40,13 @@ def compile(cli): If a keyboard and keymap are provided this command will build a firmware based on that. """ + if is_all_keyboards(cli.args.keyboard): + from .mass_compile import mass_compile + cli.args.builds = [] + cli.args.filter = [] + cli.args.no_temp = False + return mass_compile(cli) + # Build the environment vars envs = build_environment(cli.args.env) diff --git a/lib/python/qmk/cli/mass_compile.py b/lib/python/qmk/cli/mass_compile.py index ddd946a32bc..bac80e97476 100755 --- a/lib/python/qmk/cli/mass_compile.py +++ b/lib/python/qmk/cli/mass_compile.py @@ -17,6 +17,7 @@ from qmk.search import search_keymap_targets @cli.argument('-t', '--no-temp', arg_only=True, action='store_true', help="Remove temporary files during build.") @cli.argument('-j', '--parallel', type=int, default=1, help="Set the number of parallel make jobs; 0 means unlimited.") @cli.argument('-c', '--clean', arg_only=True, action='store_true', help="Remove object files before compiling.") +@cli.argument('-n', '--dry-run', arg_only=True, action='store_true', help="Don't actually build, just show the commands to be run.") @cli.argument( '-f', '--filter', @@ -47,47 +48,52 @@ def mass_compile(cli): if len(targets) == 0: return - builddir.mkdir(parents=True, exist_ok=True) - with open(makefile, "w") as f: + if cli.args.dry_run: + cli.log.info('Compilation targets:') for target in sorted(targets): - keyboard_name = target[0] - keymap_name = target[1] - keyboard_safe = keyboard_name.replace('/', '_') - build_log = f"{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}.{keymap_name}" - failed_log = f"{QMK_FIRMWARE}/.build/failed.log.{os.getpid()}.{keyboard_safe}.{keymap_name}" - # yapf: disable - f.write( - f"""\ -all: {keyboard_safe}_{keymap_name}_binary -{keyboard_safe}_{keymap_name}_binary: - @rm -f "{build_log}" || true - @echo "Compiling QMK Firmware for target: '{keyboard_name}:{keymap_name}'..." >>"{build_log}" - +@$(MAKE) -C "{QMK_FIRMWARE}" -f "{QMK_FIRMWARE}/builddefs/build_keyboard.mk" KEYBOARD="{keyboard_name}" KEYMAP="{keymap_name}" COLOR=true SILENT=false {' '.join(cli.args.env)} \\ - >>"{build_log}" 2>&1 \\ - || cp "{build_log}" "{failed_log}" - @{{ grep '\[ERRORS\]' "{build_log}" >/dev/null 2>&1 && printf "Build %-64s \e[1;31m[ERRORS]\e[0m\\n" "{keyboard_name}:{keymap_name}" ; }} \\ - || {{ grep '\[WARNINGS\]' "{build_log}" >/dev/null 2>&1 && printf "Build %-64s \e[1;33m[WARNINGS]\e[0m\\n" "{keyboard_name}:{keymap_name}" ; }} \\ - || printf "Build %-64s \e[1;32m[OK]\e[0m\\n" "{keyboard_name}:{keymap_name}" - @rm -f "{build_log}" || true -"""# noqa - ) - # yapf: enable - - if cli.args.no_temp: + cli.log.info(f"{{fg_cyan}}qmk compile -kb {target[0]} -km {target[1]}{{fg_reset}}") + else: + builddir.mkdir(parents=True, exist_ok=True) + with open(makefile, "w") as f: + for target in sorted(targets): + keyboard_name = target[0] + keymap_name = target[1] + keyboard_safe = keyboard_name.replace('/', '_') + build_log = f"{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}.{keymap_name}" + failed_log = f"{QMK_FIRMWARE}/.build/failed.log.{os.getpid()}.{keyboard_safe}.{keymap_name}" # yapf: disable f.write( f"""\ - @rm -rf "{QMK_FIRMWARE}/.build/{keyboard_safe}_{keymap_name}.elf" 2>/dev/null || true - @rm -rf "{QMK_FIRMWARE}/.build/{keyboard_safe}_{keymap_name}.map" 2>/dev/null || true - @rm -rf "{QMK_FIRMWARE}/.build/obj_{keyboard_safe}_{keymap_name}" || true -"""# noqa + all: {keyboard_safe}_{keymap_name}_binary + {keyboard_safe}_{keymap_name}_binary: + @rm -f "{build_log}" || true + @echo "Compiling QMK Firmware for target: '{keyboard_name}:{keymap_name}'..." >>"{build_log}" + +@$(MAKE) -C "{QMK_FIRMWARE}" -f "{QMK_FIRMWARE}/builddefs/build_keyboard.mk" KEYBOARD="{keyboard_name}" KEYMAP="{keymap_name}" COLOR=true SILENT=false {' '.join(cli.args.env)} \\ + >>"{build_log}" 2>&1 \\ + || cp "{build_log}" "{failed_log}" + @{{ grep '\[ERRORS\]' "{build_log}" >/dev/null 2>&1 && printf "Build %-64s \e[1;31m[ERRORS]\e[0m\\n" "{keyboard_name}:{keymap_name}" ; }} \\ + || {{ grep '\[WARNINGS\]' "{build_log}" >/dev/null 2>&1 && printf "Build %-64s \e[1;33m[WARNINGS]\e[0m\\n" "{keyboard_name}:{keymap_name}" ; }} \\ + || printf "Build %-64s \e[1;32m[OK]\e[0m\\n" "{keyboard_name}:{keymap_name}" + @rm -f "{build_log}" || true + """# noqa ) # yapf: enable - f.write('\n') - cli.run([make_cmd, *get_make_parallel_args(cli.args.parallel), '-f', makefile.as_posix(), 'all'], capture_output=False, stdin=DEVNULL) + if cli.args.no_temp: + # yapf: disable + f.write( + f"""\ + @rm -rf "{QMK_FIRMWARE}/.build/{keyboard_safe}_{keymap_name}.elf" 2>/dev/null || true + @rm -rf "{QMK_FIRMWARE}/.build/{keyboard_safe}_{keymap_name}.map" 2>/dev/null || true + @rm -rf "{QMK_FIRMWARE}/.build/obj_{keyboard_safe}_{keymap_name}" || true + """# noqa + ) + # yapf: enable + f.write('\n') - # Check for failures - failures = [f for f in builddir.glob(f'failed.log.{os.getpid()}.*')] - if len(failures) > 0: - return False + cli.run([make_cmd, *get_make_parallel_args(cli.args.parallel), '-f', makefile.as_posix(), 'all'], capture_output=False, stdin=DEVNULL) + + # Check for failures + failures = [f for f in builddir.glob(f'failed.log.{os.getpid()}.*')] + if len(failures) > 0: + return False diff --git a/lib/python/qmk/keyboard.py b/lib/python/qmk/keyboard.py index 235b62640c2..3e5cae4b22e 100644 --- a/lib/python/qmk/keyboard.py +++ b/lib/python/qmk/keyboard.py @@ -30,9 +30,29 @@ BOX_DRAWING_CHARACTERS = { }, } + +class AllKeyboards: + """Represents all keyboards. + """ + def __str__(self): + return 'all' + + def __repr__(self): + return 'all' + + def __eq__(self, other): + return isinstance(other, AllKeyboards) + + base_path = os.path.join(os.getcwd(), "keyboards") + os.path.sep +def is_all_keyboards(keyboard): + """Returns True if the keyboard is an AllKeyboards object. + """ + return isinstance(keyboard, AllKeyboards) + + def find_keyboard_from_dir(): """Returns a keyboard name based on the user's current directory. """ @@ -86,6 +106,18 @@ def keyboard_folder(keyboard): return keyboard +def keyboard_folder_or_all(keyboard): + """Returns the actual keyboard folder. + + This checks aliases and DEFAULT_FOLDER to resolve the actual path for a keyboard. + If the supplied argument is "all", it returns an AllKeyboards object. + """ + if keyboard == 'all': + return AllKeyboards() + + return keyboard_folder(keyboard) + + def _find_name(path): """Determine the keyboard name by stripping off the base_path and rules.mk. """ From 5cc5270aaf07a57bc086ef563b46e8bd84ab9cd4 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri, 22 Sep 2023 15:59:41 -0700 Subject: [PATCH 092/144] Royal Kludge RK G68 Community Layout Support (#22103) * Rename `LAYOUT` to `LAYOUT_65_ansi` [refactor] * Enable Community Layout support [enhancement] * Touch-up keymaps - fix keycode grid alignment [style] * Touch-up readme - link to maintainer's GitHub profile - specify codebase is for RGB version of RK G68 - update Hardware Availability links [docs] --- keyboards/rkg68/info.json | 6 +++++- keyboards/rkg68/keymaps/default/keymap.c | 8 ++++---- keyboards/rkg68/keymaps/via/keymap.c | 8 ++++---- keyboards/rkg68/readme.md | 14 +++++++------- 4 files changed, 20 insertions(+), 16 deletions(-) diff --git a/keyboards/rkg68/info.json b/keyboards/rkg68/info.json index c0043377a95..72244d50d69 100644 --- a/keyboards/rkg68/info.json +++ b/keyboards/rkg68/info.json @@ -30,8 +30,12 @@ "pid": "0x0049", "vid": "0x0049" }, + "layout_aliases": { + "LAYOUT": "LAYOUT_65_ansi" + }, + "community_layouts": ["65_ansi"], "layouts": { - "LAYOUT": { + "LAYOUT_65_ansi": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/rkg68/keymaps/default/keymap.c b/keyboards/rkg68/keymaps/default/keymap.c index 2631452b5ba..09f81e64511 100644 --- a/keyboards/rkg68/keymaps/default/keymap.c +++ b/keyboards/rkg68/keymaps/default/keymap.c @@ -17,18 +17,18 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_65_ansi( 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_GRV, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, 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_PGDN, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT( + [1] = LAYOUT_65_ansi( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_PSCR, 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_END, RGB_MOD, 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_BRK, 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_VAI, KC_SCRL, - QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPI, RGB_VAD, RGB_SPD + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPI, RGB_VAD, RGB_SPD ) -}; \ No newline at end of file +}; diff --git a/keyboards/rkg68/keymaps/via/keymap.c b/keyboards/rkg68/keymaps/via/keymap.c index 2631452b5ba..09f81e64511 100644 --- a/keyboards/rkg68/keymaps/via/keymap.c +++ b/keyboards/rkg68/keymaps/via/keymap.c @@ -17,18 +17,18 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT( + [0] = LAYOUT_65_ansi( 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_GRV, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, 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_PGDN, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT( + [1] = LAYOUT_65_ansi( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_PSCR, 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_END, RGB_MOD, 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_BRK, 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_VAI, KC_SCRL, - QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPI, RGB_VAD, RGB_SPD + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPI, RGB_VAD, RGB_SPD ) -}; \ No newline at end of file +}; diff --git a/keyboards/rkg68/readme.md b/keyboards/rkg68/readme.md index 8069a53169e..c0c4a583ba5 100644 --- a/keyboards/rkg68/readme.md +++ b/keyboards/rkg68/readme.md @@ -1,10 +1,10 @@ -# RK G68 +# Royal Kludge RK G68 -![Keyboard picture](https://imgur.com/UnOJPZrh.jpg) +![Royal Kludge RK G68](https://imgur.com/UnOJPZrh.jpg) -* Keyboard Maintainer: [Royal Kludge](https://rkgamingstore.com/) -* Hardware Supported: Royal Kludge RK G68 -* Hardware Availability: [RKG 68](http://en.rkgaming.com/download/1/) +* Keyboard Maintainer: [Thomaz Peres](https://github.com/Thomaz-Peres) +* Hardware Supported: Royal Kludge RK G68, RGB version +* Hardware Availability: [RKGaming.com](http://en.rkgaming.com/product/13/), [Amazon.com](https://www.amazon.com/RK-ROYAL-KLUDGE-Bluetooth-Mechanical/dp/B08JCRMZX9/) After setting up your build environment, you can compile the default keymap by using: @@ -24,8 +24,8 @@ Enter the bootloader in 3 ways: - **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 `FN` and `Left CTRL`. -## Layouts +## Layout -- ANSI layout; +- 65% Standard ANSI layout ![Imgur](https://i.imgur.com/l7ka1gkh.png) From d49edbcf14ac0a8252fe274ba228b2792452f811 Mon Sep 17 00:00:00 2001 From: Ryan Neff Date: Fri, 22 Sep 2023 19:18:37 -0700 Subject: [PATCH 093/144] Added OLED SSD1306 128x64 to the verified working table (#22112) --- docs/feature_oled_driver.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/feature_oled_driver.md b/docs/feature_oled_driver.md index f3769742f84..ba10a5a2b9a 100644 --- a/docs/feature_oled_driver.md +++ b/docs/feature_oled_driver.md @@ -10,6 +10,7 @@ Tested combinations: |SSD1306 |128x32 |AVR |Primary support | |SSD1306 |128x64 |AVR |Verified working | |SSD1306 |128x32 |Arm | | +|SSD1306 |128x64 |Arm |Verified working | |SH1106 |128x64 |AVR |No scrolling | |SH1107 |64x128 |AVR |No scrolling | |SH1107 |64x128 |Arm |No scrolling | From e001c3349bd5a0276dead04fcbab6c889bb8e232 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri, 22 Sep 2023 19:55:25 -0700 Subject: [PATCH 094/144] Shoc: physically arrange keymaps/layout macro (#22100) --- keyboards/shoc/info.json | 50 +++++++++++++------------ keyboards/shoc/keymaps/bongo/keymap.c | 30 ++++++--------- keyboards/shoc/keymaps/default/keymap.c | 28 ++++++-------- 3 files changed, 50 insertions(+), 58 deletions(-) diff --git a/keyboards/shoc/info.json b/keyboards/shoc/info.json index fca5fdca0b7..276e64adee9 100644 --- a/keyboards/shoc/info.json +++ b/keyboards/shoc/info.json @@ -26,6 +26,12 @@ {"matrix": [0, 5], "x": 5, "y": 0}, {"matrix": [0, 6], "x": 6, "y": 0}, {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [5, 4], "x": 8, "y": 0}, + {"matrix": [5, 3], "x": 9, "y": 0}, + {"matrix": [5, 2], "x": 10, "y": 0}, + {"matrix": [5, 1], "x": 11, "y": 0}, + {"matrix": [5, 0], "x": 12, "y": 0, "w": 2}, + {"matrix": [1, 0], "x": 0, "y": 1}, {"matrix": [1, 1], "x": 1, "y": 1}, {"matrix": [1, 2], "x": 2, "y": 1}, @@ -34,6 +40,13 @@ {"matrix": [1, 5], "x": 5, "y": 1}, {"matrix": [1, 6], "x": 6, "y": 1}, {"matrix": [1, 7], "x": 7, "y": 1}, + {"matrix": [5, 5], "x": 8, "y": 1}, + {"matrix": [5, 6], "x": 9, "y": 1}, + {"matrix": [5, 7], "x": 10, "y": 1}, + {"matrix": [7, 0], "x": 11, "y": 1}, + {"matrix": [7, 1], "x": 12, "y": 1}, + {"matrix": [7, 2], "x": 13, "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}, @@ -42,6 +55,12 @@ {"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": [7, 7], "x": 8.5, "y": 2}, + {"matrix": [7, 6], "x": 9.5, "y": 2}, + {"matrix": [7, 5], "x": 10.5, "y": 2}, + {"matrix": [7, 4], "x": 11.5, "y": 2}, + {"matrix": [7, 3], "x": 12.5, "y": 2, "w": 1.5}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2}, {"matrix": [3, 1], "x": 2, "y": 3}, {"matrix": [3, 2], "x": 3, "y": 3}, @@ -50,6 +69,12 @@ {"matrix": [3, 5], "x": 6, "y": 3}, {"matrix": [3, 6], "x": 7, "y": 3}, {"matrix": [3, 7], "x": 8, "y": 3}, + {"matrix": [6, 7], "x": 9, "y": 3}, + {"matrix": [6, 6], "x": 10, "y": 3}, + {"matrix": [6, 5], "x": 11, "y": 3}, + {"matrix": [6, 4], "x": 12, "y": 3}, + {"matrix": [6, 3], "x": 13, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, {"matrix": [4, 1], "x": 1.5, "y": 4}, {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, @@ -58,30 +83,9 @@ {"matrix": [4, 5], "x": 7, "y": 4, "w": 2}, {"matrix": [4, 6], "x": 9, "y": 4}, {"matrix": [4, 7], "x": 10, "y": 4}, - {"matrix": [5, 0], "x": 12, "y": 0, "w": 2}, - {"matrix": [5, 1], "x": 11, "y": 0}, - {"matrix": [5, 2], "x": 10, "y": 0}, - {"matrix": [5, 3], "x": 9, "y": 0}, - {"matrix": [5, 4], "x": 8, "y": 0}, - {"matrix": [5, 5], "x": 8, "y": 1}, - {"matrix": [5, 6], "x": 9, "y": 1}, - {"matrix": [5, 7], "x": 10, "y": 1}, - {"matrix": [6, 0], "x": 13, "y": 4}, - {"matrix": [6, 1], "x": 12, "y": 4}, {"matrix": [6, 2], "x": 11, "y": 4}, - {"matrix": [6, 3], "x": 13, "y": 3}, - {"matrix": [6, 4], "x": 12, "y": 3}, - {"matrix": [6, 5], "x": 11, "y": 3}, - {"matrix": [6, 6], "x": 10, "y": 3}, - {"matrix": [6, 7], "x": 9, "y": 3}, - {"matrix": [7, 0], "x": 11, "y": 1}, - {"matrix": [7, 1], "x": 12, "y": 1}, - {"matrix": [7, 2], "x": 13, "y": 1}, - {"matrix": [7, 3], "x": 12.5, "y": 2, "w": 1.5}, - {"matrix": [7, 4], "x": 11.5, "y": 2}, - {"matrix": [7, 5], "x": 10.5, "y": 2}, - {"matrix": [7, 6], "x": 9.5, "y": 2}, - {"matrix": [7, 7], "x": 8.5, "y": 2} + {"matrix": [6, 1], "x": 12, "y": 4}, + {"matrix": [6, 0], "x": 13, "y": 4} ] } } diff --git a/keyboards/shoc/keymaps/bongo/keymap.c b/keyboards/shoc/keymaps/bongo/keymap.c index 8f57181330d..0242e5adad3 100644 --- a/keyboards/shoc/keymaps/bongo/keymap.c +++ b/keyboards/shoc/keymaps/bongo/keymap.c @@ -17,32 +17,26 @@ 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, - KC_LSFT, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL, - KC_BSPC, KC_MINS, KC_0, KC_9, KC_8, KC_I, KC_O, KC_P, - KC_RGHT, KC_DOWN, KC_LEFT, KC_EQL, KC_UP, KC_SLSH, KC_COMM, KC_DOT, - KC_RBRC, KC_LBRC, KC_BSLS, KC_ENT, KC_QUOT, KC_SCLN, KC_L, KC_K), + [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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, KC_RBRC, KC_LBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_DOT, KC_COMM, KC_SLSH, KC_UP, KC_EQL, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, - KC_LSFT, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL, - KC_BSPC, KC_F11, KC_F10, KC_F9, KC_F8, KC_I, KC_O, KC_P, - KC_RGHT, KC_DOWN, KC_LEFT, KC_DEL, KC_UP, KC_SLSH, KC_COMM, KC_DOT, - KC_RBRC, KC_LBRC, KC_BSLS, KC_ENT, KC_QUOT, KC_SCLN, KC_L, KC_K) + 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_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, KC_RBRC, KC_LBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_DOT, KC_COMM, KC_SLSH, KC_UP, KC_DEL, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT) }; #ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return OLED_ROTATION_0; + return OLED_ROTATION_0; } //full credit goes to https://www.reddit.com/user/Pop-X-/ only small feature comforts were added diff --git a/keyboards/shoc/keymaps/default/keymap.c b/keyboards/shoc/keymaps/default/keymap.c index a5916db65a5..beb5fb7d3de 100644 --- a/keyboards/shoc/keymaps/default/keymap.c +++ b/keyboards/shoc/keymaps/default/keymap.c @@ -17,25 +17,19 @@ 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, - KC_LSFT, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL, - KC_BSPC, KC_MINS, KC_0, KC_9, KC_8, KC_I, KC_O, KC_P, - KC_RGHT, KC_DOWN, KC_LEFT, KC_EQL, KC_UP, KC_SLSH, KC_COMM, KC_DOT, - KC_RBRC, KC_LBRC, KC_BSLS, KC_ENT, KC_QUOT, KC_SCLN, KC_L, KC_K), + [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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, KC_RBRC, KC_LBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_DOT, KC_COMM, KC_SLSH, KC_UP, KC_EQL, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), [1] = LAYOUT( - KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, - KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, - KC_LSFT, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL, - KC_BSPC, KC_F11, KC_F10, KC_F9, KC_F8, KC_I, KC_O, KC_P, - KC_RGHT, KC_DOWN, KC_LEFT, KC_DEL, KC_UP, KC_SLSH, KC_COMM, KC_DOT, - KC_RBRC, KC_LBRC, KC_BSLS, KC_ENT, KC_QUOT, KC_SCLN, KC_L, KC_K) + 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_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Z, KC_U, KC_I, KC_O, KC_P, KC_RBRC, KC_LBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_DOT, KC_COMM, KC_SLSH, KC_UP, KC_DEL, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT) }; From 73ffa4594d8ed0e000b1b4333b011079fda8edd1 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Sat, 23 Sep 2023 13:07:38 +1000 Subject: [PATCH 095/144] Fix up `qmk mass-compile` makefile indenting. (#22115) --- lib/python/qmk/cli/mass_compile.py | 32 +++++++++++++++--------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/lib/python/qmk/cli/mass_compile.py b/lib/python/qmk/cli/mass_compile.py index bac80e97476..1032dc82d14 100755 --- a/lib/python/qmk/cli/mass_compile.py +++ b/lib/python/qmk/cli/mass_compile.py @@ -64,18 +64,18 @@ def mass_compile(cli): # yapf: disable f.write( f"""\ - all: {keyboard_safe}_{keymap_name}_binary - {keyboard_safe}_{keymap_name}_binary: - @rm -f "{build_log}" || true - @echo "Compiling QMK Firmware for target: '{keyboard_name}:{keymap_name}'..." >>"{build_log}" - +@$(MAKE) -C "{QMK_FIRMWARE}" -f "{QMK_FIRMWARE}/builddefs/build_keyboard.mk" KEYBOARD="{keyboard_name}" KEYMAP="{keymap_name}" COLOR=true SILENT=false {' '.join(cli.args.env)} \\ - >>"{build_log}" 2>&1 \\ - || cp "{build_log}" "{failed_log}" - @{{ grep '\[ERRORS\]' "{build_log}" >/dev/null 2>&1 && printf "Build %-64s \e[1;31m[ERRORS]\e[0m\\n" "{keyboard_name}:{keymap_name}" ; }} \\ - || {{ grep '\[WARNINGS\]' "{build_log}" >/dev/null 2>&1 && printf "Build %-64s \e[1;33m[WARNINGS]\e[0m\\n" "{keyboard_name}:{keymap_name}" ; }} \\ - || printf "Build %-64s \e[1;32m[OK]\e[0m\\n" "{keyboard_name}:{keymap_name}" - @rm -f "{build_log}" || true - """# noqa +all: {keyboard_safe}_{keymap_name}_binary +{keyboard_safe}_{keymap_name}_binary: + @rm -f "{build_log}" || true + @echo "Compiling QMK Firmware for target: '{keyboard_name}:{keymap_name}'..." >>"{build_log}" + +@$(MAKE) -C "{QMK_FIRMWARE}" -f "{QMK_FIRMWARE}/builddefs/build_keyboard.mk" KEYBOARD="{keyboard_name}" KEYMAP="{keymap_name}" COLOR=true SILENT=false {' '.join(cli.args.env)} \\ + >>"{build_log}" 2>&1 \\ + || cp "{build_log}" "{failed_log}" + @{{ grep '\[ERRORS\]' "{build_log}" >/dev/null 2>&1 && printf "Build %-64s \e[1;31m[ERRORS]\e[0m\\n" "{keyboard_name}:{keymap_name}" ; }} \\ + || {{ grep '\[WARNINGS\]' "{build_log}" >/dev/null 2>&1 && printf "Build %-64s \e[1;33m[WARNINGS]\e[0m\\n" "{keyboard_name}:{keymap_name}" ; }} \\ + || printf "Build %-64s \e[1;32m[OK]\e[0m\\n" "{keyboard_name}:{keymap_name}" + @rm -f "{build_log}" || true +"""# noqa ) # yapf: enable @@ -83,10 +83,10 @@ def mass_compile(cli): # yapf: disable f.write( f"""\ - @rm -rf "{QMK_FIRMWARE}/.build/{keyboard_safe}_{keymap_name}.elf" 2>/dev/null || true - @rm -rf "{QMK_FIRMWARE}/.build/{keyboard_safe}_{keymap_name}.map" 2>/dev/null || true - @rm -rf "{QMK_FIRMWARE}/.build/obj_{keyboard_safe}_{keymap_name}" || true - """# noqa + @rm -rf "{QMK_FIRMWARE}/.build/{keyboard_safe}_{keymap_name}.elf" 2>/dev/null || true + @rm -rf "{QMK_FIRMWARE}/.build/{keyboard_safe}_{keymap_name}.map" 2>/dev/null || true + @rm -rf "{QMK_FIRMWARE}/.build/obj_{keyboard_safe}_{keymap_name}" || true +"""# noqa ) # yapf: enable f.write('\n') From ef214e6a3c2fed528059b619e87676fbe25f3239 Mon Sep 17 00:00:00 2001 From: Duncan Sutherland Date: Sat, 23 Sep 2023 05:45:34 +0100 Subject: [PATCH 096/144] Add 'dactyl_tracer' keyboard (#20993) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/handwired/dactyl_tracer/info.json | 92 +++++++++++++++++++ .../dactyl_tracer/keymaps/default/config.h | 23 +++++ .../dactyl_tracer/keymaps/default/keymap.c | 60 ++++++++++++ .../dactyl_tracer/keymaps/via/config.h | 15 +++ .../dactyl_tracer/keymaps/via/keymap.c | 60 ++++++++++++ .../dactyl_tracer/keymaps/via/rules.mk | 2 + keyboards/handwired/dactyl_tracer/readme.md | 27 ++++++ keyboards/handwired/dactyl_tracer/rules.mk | 1 + 8 files changed, 280 insertions(+) create mode 100644 keyboards/handwired/dactyl_tracer/info.json create mode 100644 keyboards/handwired/dactyl_tracer/keymaps/default/config.h create mode 100644 keyboards/handwired/dactyl_tracer/keymaps/default/keymap.c create mode 100644 keyboards/handwired/dactyl_tracer/keymaps/via/config.h create mode 100644 keyboards/handwired/dactyl_tracer/keymaps/via/keymap.c create mode 100644 keyboards/handwired/dactyl_tracer/keymaps/via/rules.mk create mode 100644 keyboards/handwired/dactyl_tracer/readme.md create mode 100644 keyboards/handwired/dactyl_tracer/rules.mk diff --git a/keyboards/handwired/dactyl_tracer/info.json b/keyboards/handwired/dactyl_tracer/info.json new file mode 100644 index 00000000000..29e59906668 --- /dev/null +++ b/keyboards/handwired/dactyl_tracer/info.json @@ -0,0 +1,92 @@ +{ + "keyboard_name": "Dactyl Tracer", + "manufacturer": "mjohns", + "url": "https://github.com/mjohns/tracer", + "maintainer": "mjohns", + "usb": { + "vid": "0x444E", + "pid": "0x1307", + "device_version": "1.0.0" + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "mousekey": true, + "extrakey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["C6", "D7", "E6", "B4", "B5"], + "rows": ["F7", "B1", "B3", "B2", "B6"] + }, + "diode_direction": "COL2ROW", + "development_board": "promicro", + "split": { + "enabled": true, + "soft_serial_pin": "D0" + }, + "layouts": { + "LAYOUT" : { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.25}, + {"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": [5, 0], "x": 9, "y": 0}, + {"matrix": [5, 1], "x": 10, "y": 0}, + {"matrix": [5, 2], "x": 11, "y": 0}, + {"matrix": [5, 3], "x": 12, "y": 0}, + {"matrix": [5, 4], "x": 13, "y": 0.25}, + + {"matrix": [1, 0], "x": 0, "y": 1.5}, + {"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": [6, 0], "x": 9, "y": 1}, + {"matrix": [6, 1], "x": 10, "y": 1}, + {"matrix": [6, 2], "x": 11, "y": 1}, + {"matrix": [6, 3], "x": 12, "y": 1}, + {"matrix": [6, 4], "x": 13, "y": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2.5}, + {"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": [7, 0], "x": 9, "y": 2}, + {"matrix": [7, 1], "x": 10, "y": 2}, + {"matrix": [7, 2], "x": 11, "y": 2}, + {"matrix": [7, 3], "x": 12, "y": 2}, + {"matrix": [7, 4], "x": 13, "y": 2.5}, + + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2, "y": 3}, + + {"matrix": [3, 4], "x": 5, "y": 3.25}, + + {"matrix": [8, 0], "x": 8, "y": 3.25}, + + {"matrix": [8, 2], "x": 11, "y": 3}, + {"matrix": [8, 3], "x": 12, "y": 3}, + + {"matrix": [4, 2], "x": 3, "y": 4 }, + {"matrix": [3, 3], "x": 4, "y": 4 }, + {"matrix": [4, 4], "x": 5, "y": 4.25}, + + {"matrix": [9, 0], "x": 8, "y": 4.25}, + {"matrix": [8, 1], "x": 9, "y": 4}, + {"matrix": [9, 2], "x": 10, "y": 4}, + + {"matrix": [4, 3], "x": 4.5, "y": 5.25}, + + {"matrix": [9, 1], "x": 8.5, "y": 5.25} + ] + } + } +} diff --git a/keyboards/handwired/dactyl_tracer/keymaps/default/config.h b/keyboards/handwired/dactyl_tracer/keymaps/default/config.h new file mode 100644 index 00000000000..0cb73d6a454 --- /dev/null +++ b/keyboards/handwired/dactyl_tracer/keymaps/default/config.h @@ -0,0 +1,23 @@ +// Copyright 2022 mjohns +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +/* Enables This makes it easier for fast typists to use dual-function keys */ +#define PERMISSIVE_HOLD + +/* mouse config */ +#define MOUSEKEY_INTERVAL 20 +#define MOUSEKEY_DELAY 0 +#define MOUSEKEY_TIME_TO_MAX 60 +#define MOUSEKEY_MAX_SPEED 7 +#define MOUSEKEY_WHEEL_DELAY 0 + +#define TAPPING_TERM 200 + +#define MASTER_RIGHT diff --git a/keyboards/handwired/dactyl_tracer/keymaps/default/keymap.c b/keyboards/handwired/dactyl_tracer/keymaps/default/keymap.c new file mode 100644 index 00000000000..0fa218b9307 --- /dev/null +++ b/keyboards/handwired/dactyl_tracer/keymaps/default/keymap.c @@ -0,0 +1,60 @@ +// Copyright 2022 mjohns +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum custom_layers { + _BASE, + _RAISE, + _LOWER, + _SYS, +}; + +#define MG_A LGUI_T(KC_A) +#define MA_S LALT_T(KC_S) +#define MC_D LCTL_T(KC_D) +#define MS_F LSFT_T(KC_F) +#define MS_J RSFT_T(KC_J) +#define MC_K RCTL_T(KC_K) +#define MA_L LALT_T(KC_L) +#define MG_SCLN RGUI_T(KC_SCLN) +#define APP_N A(KC_TAB) +#define APP_P LSA(KC_TAB) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + MG_A, MA_S, MC_D, MS_F, KC_G, KC_H, MS_J, MC_K, MA_L, MG_SCLN, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_QUOT, + KC_LEFT, KC_RGHT, KC_HOME, KC_END, KC_UP, KC_DOWN, + KC_TAB, KC_SPC, KC_DEL, KC_BSPC, KC_ENT, KC_ESC, + MO(1), MO(2) + ), + + [_RAISE] = LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_LBRC, KC_RBRC, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, + KC_PIPE, KC_GRV, KC_BSLS, KC_LPRN, KC_LCBR, KC_RCBR, KC_RPRN, KC_SLSH, KC_QUES, KC_TILD, + KC_MINS, KC_PLUS, KC_NO, KC_LALT, KC_EQL, KC_UNDS, + KC_NO, KC_NO, KC_NO, KC_RCTL, KC_RSFT, KC_RGUI, + _______, MO(3) + ), + + [_LOWER] = LAYOUT( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_F11, KC_INS, KC_PAUS, KC_PGUP, KC_PSCR, KC_MUTE, KC_VOLU, KC_MNXT, KC_MPRV, KC_F12, + KC_SCRL, KC_NO, KC_NO, KC_PGDN, KC_NO, KC_NO, KC_VOLD, KC_MPLY, KC_MSTP, KC_NO, + KC_BRID, KC_BRIU, KC_LALT, KC_NO, APP_N, APP_P, + KC_LGUI, KC_LSFT, KC_LCTL, KC_NO, KC_NO, KC_NO, + MO(3), _______ + ), + + [_SYS] = LAYOUT( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_SLEP, 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/dactyl_tracer/keymaps/via/config.h b/keyboards/handwired/dactyl_tracer/keymaps/via/config.h new file mode 100644 index 00000000000..ab8832c96e4 --- /dev/null +++ b/keyboards/handwired/dactyl_tracer/keymaps/via/config.h @@ -0,0 +1,15 @@ +// Copyright 2022 mjohns +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* mouse config */ +#define MOUSEKEY_INTERVAL 20 +#define MOUSEKEY_DELAY 0 +#define MOUSEKEY_TIME_TO_MAX 60 +#define MOUSEKEY_MAX_SPEED 7 +#define MOUSEKEY_WHEEL_DELAY 0 + +#define TAPPING_TERM 200 + +#define MASTER_RIGHT diff --git a/keyboards/handwired/dactyl_tracer/keymaps/via/keymap.c b/keyboards/handwired/dactyl_tracer/keymaps/via/keymap.c new file mode 100644 index 00000000000..0fa218b9307 --- /dev/null +++ b/keyboards/handwired/dactyl_tracer/keymaps/via/keymap.c @@ -0,0 +1,60 @@ +// Copyright 2022 mjohns +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum custom_layers { + _BASE, + _RAISE, + _LOWER, + _SYS, +}; + +#define MG_A LGUI_T(KC_A) +#define MA_S LALT_T(KC_S) +#define MC_D LCTL_T(KC_D) +#define MS_F LSFT_T(KC_F) +#define MS_J RSFT_T(KC_J) +#define MC_K RCTL_T(KC_K) +#define MA_L LALT_T(KC_L) +#define MG_SCLN RGUI_T(KC_SCLN) +#define APP_N A(KC_TAB) +#define APP_P LSA(KC_TAB) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + MG_A, MA_S, MC_D, MS_F, KC_G, KC_H, MS_J, MC_K, MA_L, MG_SCLN, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_QUOT, + KC_LEFT, KC_RGHT, KC_HOME, KC_END, KC_UP, KC_DOWN, + KC_TAB, KC_SPC, KC_DEL, KC_BSPC, KC_ENT, KC_ESC, + MO(1), MO(2) + ), + + [_RAISE] = LAYOUT( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_LBRC, KC_RBRC, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, + KC_PIPE, KC_GRV, KC_BSLS, KC_LPRN, KC_LCBR, KC_RCBR, KC_RPRN, KC_SLSH, KC_QUES, KC_TILD, + KC_MINS, KC_PLUS, KC_NO, KC_LALT, KC_EQL, KC_UNDS, + KC_NO, KC_NO, KC_NO, KC_RCTL, KC_RSFT, KC_RGUI, + _______, MO(3) + ), + + [_LOWER] = LAYOUT( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_F11, KC_INS, KC_PAUS, KC_PGUP, KC_PSCR, KC_MUTE, KC_VOLU, KC_MNXT, KC_MPRV, KC_F12, + KC_SCRL, KC_NO, KC_NO, KC_PGDN, KC_NO, KC_NO, KC_VOLD, KC_MPLY, KC_MSTP, KC_NO, + KC_BRID, KC_BRIU, KC_LALT, KC_NO, APP_N, APP_P, + KC_LGUI, KC_LSFT, KC_LCTL, KC_NO, KC_NO, KC_NO, + MO(3), _______ + ), + + [_SYS] = LAYOUT( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_SLEP, 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/dactyl_tracer/keymaps/via/rules.mk b/keyboards/handwired/dactyl_tracer/keymaps/via/rules.mk new file mode 100644 index 00000000000..36b7ba9cbc9 --- /dev/null +++ b/keyboards/handwired/dactyl_tracer/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/handwired/dactyl_tracer/readme.md b/keyboards/handwired/dactyl_tracer/readme.md new file mode 100644 index 00000000000..c6e1d80892d --- /dev/null +++ b/keyboards/handwired/dactyl_tracer/readme.md @@ -0,0 +1,27 @@ +# Dactyl Tracer + +![DactylTracer](https://i.imgur.com/ReCBppEh.jpeg) + +The Dactyl Tracer is a handwired, split bodied, concave key-well, columnar keyboard. Case design is similar to the [Dactyl CC](/keyboards/handwired/dactyl_cc) though overall design is closer to the [Dactyl ManuForm](/keyboards/handwired/dactyl_manuform/). The `Q` and `P` keys are vertically offset, from `A` and `;` keys respectively, to allow for easier actuation by third/ring finger. + +* Keyboard Maintainer: [Michael Johns](https://github.com/mjohns) +* Hardware Supported: Pro Micro controller, or clone of +* Hardware Availability: [Case Files](https://github.com/mjohns/tracer) + +Make example for this keyboard (after setting up your build environment): + + make handwired/dactyl_tracer:default + +Flashing example for this keyboard: + + make handwired/dactyl_tracer: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/handwired/dactyl_tracer/rules.mk b/keyboards/handwired/dactyl_tracer/rules.mk new file mode 100644 index 00000000000..3bbd2614291 --- /dev/null +++ b/keyboards/handwired/dactyl_tracer/rules.mk @@ -0,0 +1 @@ +# File intentionally blank From 4590b808daea1dd0f78bb47679fc5021bb8c7817 Mon Sep 17 00:00:00 2001 From: Daniel Osipishin <88534270+subrezon@users.noreply.github.com> Date: Sat, 23 Sep 2023 07:10:35 +0200 Subject: [PATCH 097/144] add subrezon/lancer keyboard (#20792) Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre Co-authored-by: Daniel Osipishin --- keyboards/subrezon/lancer/info.json | 65 +++++++++++++++++++ .../lancer/keymaps/default/keymap.json | 33 ++++++++++ keyboards/subrezon/lancer/readme.md | 27 ++++++++ keyboards/subrezon/lancer/rules.mk | 1 + 4 files changed, 126 insertions(+) create mode 100644 keyboards/subrezon/lancer/info.json create mode 100644 keyboards/subrezon/lancer/keymaps/default/keymap.json create mode 100644 keyboards/subrezon/lancer/readme.md create mode 100644 keyboards/subrezon/lancer/rules.mk diff --git a/keyboards/subrezon/lancer/info.json b/keyboards/subrezon/lancer/info.json new file mode 100644 index 00000000000..cf678c84bc3 --- /dev/null +++ b/keyboards/subrezon/lancer/info.json @@ -0,0 +1,65 @@ +{ + "keyboard_name": "lancer", + "url": "https://github.com/subrezon/lancer", + "usb": { + "vid": "0xFEED", + "pid": "0x1A7D", + "device_version": "1.0.0" + }, + "development_board": "promicro", + "matrix_pins": { + "rows": ["F5", "D4", "B3", "B6", "B5"], + "cols": ["F4", "F6", "F7", "B1", "B2", "B4", "E6", "D7", "C6", "D2"] + }, + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "Q", "matrix": [0, 0], "x": 0, "y": 0}, + { "label": "W", "matrix": [0, 1], "x": 1, "y": 0}, + { "label": "E", "matrix": [0, 2], "x": 2, "y": 0}, + { "label": "R", "matrix": [0, 3], "x": 3, "y": 0}, + { "label": "T", "matrix": [0, 4], "x": 4, "y": 0}, + { "label": "Y", "matrix": [1, 5], "x": 6, "y": 0}, + { "label": "U", "matrix": [1, 6], "x": 7, "y": 0}, + { "label": "I", "matrix": [1, 7], "x": 8, "y": 0}, + { "label": "O", "matrix": [1, 8], "x": 9, "y": 0}, + { "label": "P", "matrix": [1, 9], "x": 10, "y": 0}, + { "label": "A", "matrix": [2, 0], "x": 0, "y": 1}, + { "label": "S", "matrix": [2, 1], "x": 1, "y": 1}, + { "label": "D", "matrix": [2, 2], "x": 2, "y": 1}, + { "label": "F", "matrix": [2, 3], "x": 3, "y": 1}, + { "label": "G", "matrix": [2, 4], "x": 4, "y": 1}, + { "label": "H", "matrix": [2, 5], "x": 6, "y": 1}, + { "label": "J", "matrix": [2, 6], "x": 7, "y": 1}, + { "label": "K", "matrix": [2, 7], "x": 8, "y": 1}, + { "label": "L", "matrix": [2, 8], "x": 9, "y": 1}, + { "label": ";", "matrix": [2, 9], "x": 10, "y": 1}, + { "label": "Z", "matrix": [3, 0], "x": 0, "y": 2}, + { "label": "X", "matrix": [3, 1], "x": 1, "y": 2}, + { "label": "C", "matrix": [3, 2], "x": 2, "y": 2}, + { "label": "V", "matrix": [3, 3], "x": 3, "y": 2}, + { "label": "B", "matrix": [3, 4], "x": 4, "y": 2}, + { "label": "N", "matrix": [3, 5], "x": 6, "y": 2}, + { "label": "M", "matrix": [3, 6], "x": 7, "y": 2}, + { "label": ",", "matrix": [3, 7], "x": 8, "y": 2}, + { "label": ".", "matrix": [3, 8], "x": 9, "y": 2}, + { "label": "Enter", "matrix": [3, 9], "x": 10, "y": 2}, + { "label": "Ctrl", "matrix": [4, 2], "x": 2.5, "y": 3}, + { "label": "Lower", "matrix": [4, 3], "x": 3.5, "y": 3}, + { "label": "", "matrix": [4, 4], "x": 4.5, "y": 3}, + { "label": "Bksp", "matrix": [4, 5], "x": 5.5, "y": 3}, + { "label": "Shift", "matrix": [4, 6], "x": 6.5, "y": 3}, + { "label": "Raise", "matrix": [4, 7], "x": 7.5, "y": 3} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/subrezon/lancer/keymaps/default/keymap.json b/keyboards/subrezon/lancer/keymaps/default/keymap.json new file mode 100644 index 00000000000..b25e81d5383 --- /dev/null +++ b/keyboards/subrezon/lancer/keymaps/default/keymap.json @@ -0,0 +1,33 @@ +{ + "version": 1, + "notes": "default keymap", + "keyboard": "subrezon/lancer", + "keymap": "default", + "layout": "LAYOUT", + "layers": [ + [ + "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", + "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", + "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_ENT", + "KC_LCTL", "MO(1)", "KC_SPC", "KC_BSPC", "KC_LSFT", "MO(2)" + ], + [ + "KC_TAB", "KC_7", "KC_8", "KC_9", "KC_GRV", "KC_MPRV", "KC_PGUP", "KC_UP", "KC_PGDN", "KC_DEL", + "KC_ESC", "KC_4", "KC_5", "KC_6", "KC_0", "KC_MPLY", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_RSFT", + "KC_LALT", "KC_1", "KC_2", "KC_3", "KC_TILD", "KC_MNXT", "KC_HOME", "KC_INS", "KC_END", "KC_RALT", + "KC_LCTL", "_______", "KC_SPC", "KC_BSPC", "KC_LGUI", "MO(3)" + ], + [ + "KC_TAB", "KC_AMPR", "KC_ASTR", "KC_BSLS", "KC_LBRC", "KC_RBRC", "KC_UNDS", "KC_PLUS", "KC_DQUO", "KC_DEL", + "KC_ESC", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_LPRN", "KC_RPRN", "KC_MINS", "KC_EQL", "KC_QUOT", "KC_SLSH", + "KC_LALT", "KC_EXLM", "KC_AT", "KC_HASH", "KC_LCBR", "KC_RCBR", "KC_PIPE", "KC_SCLN", "KC_COLN", "KC_QUES", + "KC_LCTL", "MO(3)", "KC_SPC", "KC_BSPC", "KC_LSFT", "_______" + ], + [ + "QK_BOOT", "KC_F7", "KC_F8", "KC_F9", "KC_F12", "KC_PSCR", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", + "KC_CAPS", "KC_F4", "KC_F5", "KC_F6", "KC_F11", "KC_SCRL", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", + "XXXXXXX", "KC_F1", "KC_F2", "KC_F3", "KC_F10", "KC_PAUS", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", + "XXXXXXX", "_______", "XXXXXXX", "XXXXXXX", "XXXXXXX", "_______" + ] + ] +} \ No newline at end of file diff --git a/keyboards/subrezon/lancer/readme.md b/keyboards/subrezon/lancer/readme.md new file mode 100644 index 00000000000..99bf79b38b1 --- /dev/null +++ b/keyboards/subrezon/lancer/readme.md @@ -0,0 +1,27 @@ +# subrezon/lancer + +The [Lancer](https://github.com/subrezon/lancer) is a 36-key ortholinear keyboard with a light split and a focus on compact footprint and portability. It is a direct successor to [la_nc](https://github.com/subrezon/la_nc), and is very much inspired by other keyboards like Planck, Lumberjack and Lesovoz. Powered by a Pro Micro compatible MCU board and featuring battery and nice!view support, it offers a simple and productive typing experience, both with and without the wire. + +![subrezon/lancer](https://i.imgur.com/W41Vx4rh.jpg) + +* Keyboard Maintainer: [Daniel Osipishin](https://github.com/subrezon) +* Hardware Supported: Lancer PCB, with a ProMicro or other compatible MCU board +* Hardware Availability: https://github.com/subrezon/lancer + +Make example for this keyboard (after setting up your build environment): + + make subrezon/lancer:default + +Flashing example for this keyboard: + + make subrezon/lancer: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/subrezon/lancer/rules.mk b/keyboards/subrezon/lancer/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/subrezon/lancer/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From 7f2f15bc1a861f462a102de9b199beca93e2e8c9 Mon Sep 17 00:00:00 2001 From: era <73109780+eerraa@users.noreply.github.com> Date: Sat, 23 Sep 2023 14:46:13 +0900 Subject: [PATCH 098/144] [Keyboard] Add SIRIND Klein (#21951) Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com> Co-authored-by: Drashna Jaelre Co-authored-by: jack <0x6a73@protonmail.com> --- keyboards/era/klein/config.h | 29 + keyboards/era/klein/halconf.h | 21 + keyboards/era/klein/info.json | 590 +++++++++++++++++++ keyboards/era/klein/keymaps/default/keymap.c | 23 + keyboards/era/klein/keymaps/via/keymap.c | 23 + keyboards/era/klein/keymaps/via/rules.mk | 1 + keyboards/era/klein/mcuconf.h | 22 + keyboards/era/klein/readme.md | 23 + keyboards/era/klein/rules.mk | 0 9 files changed, 732 insertions(+) create mode 100644 keyboards/era/klein/config.h create mode 100644 keyboards/era/klein/halconf.h create mode 100644 keyboards/era/klein/info.json create mode 100644 keyboards/era/klein/keymaps/default/keymap.c create mode 100644 keyboards/era/klein/keymaps/via/keymap.c create mode 100644 keyboards/era/klein/keymaps/via/rules.mk create mode 100644 keyboards/era/klein/mcuconf.h create mode 100644 keyboards/era/klein/readme.md create mode 100644 keyboards/era/klein/rules.mk diff --git a/keyboards/era/klein/config.h b/keyboards/era/klein/config.h new file mode 100644 index 00000000000..e74b7d73d3c --- /dev/null +++ b/keyboards/era/klein/config.h @@ -0,0 +1,29 @@ +/* Copyright 2023 eerraa + * + * 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 + +/* BACKLIGHT PWM */ +#define BACKLIGHT_PWM_DRIVER PWMD7 +#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_B + +/* RGB Matrix */ +#define WS2812_PIO_USE_PIO1 // Force the usage of PIO1 peripheral, by default the WS2812 implementation uses the PIO0 peripheral +#define RGB_MATRIX_DEFAULT_VAL 60 +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_KEYPRESSES +#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT \ No newline at end of file diff --git a/keyboards/era/klein/halconf.h b/keyboards/era/klein/halconf.h new file mode 100644 index 00000000000..f57e86df018 --- /dev/null +++ b/keyboards/era/klein/halconf.h @@ -0,0 +1,21 @@ +/* Copyright 2023 eerraa + * + * 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 + +#include_next \ No newline at end of file diff --git a/keyboards/era/klein/info.json b/keyboards/era/klein/info.json new file mode 100644 index 00000000000..ac08cbb8a2b --- /dev/null +++ b/keyboards/era/klein/info.json @@ -0,0 +1,590 @@ +{ + "manufacturer": "SIRIND", + "keyboard_name": "Klein", + "maintainer": "eerraa", + "backlight": { + "levels": 5, + "pin": "GP15" + }, + "bootloader": "rp2040", + "build": { + "debounce_type": "sym_defer_pk" + }, + "diode_direction": "COL2ROW", + "features": { + "backlight": true, + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "indicators": { + "caps_lock": "GP16", + "on_state": 0, + "scroll_lock": "GP17" + }, + "matrix_pins": { + "cols": ["GP22", "GP23", "GP24", "GP25", "GP26", "GP27", "GP28", "GP29", "GP11", "GP10", "GP8", "GP7", "GP1", "GP2", "GP3", "GP4"], + "rows": ["GP18", "GP19", "GP20", "GP21", "GP14", "GP5", "GP6", "GP9", "GP13", "GP12"] + }, + "processor": "RP2040", + "rgb_matrix": { + "animations": { + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "rainbow_moving_chevron": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "pixel_rain": true, + "pixel_flow": true, + "pixel_fractal": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_wide": true, + "solid_reactive_multiwide": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_nexus": true, + "solid_reactive_multinexus": true, + "splash": true, + "multisplash": true, + "solid_splash": true, + "solid_multisplash": true + }, + "driver": "ws2812", + "layout": [ + {"matrix": [0, 7], "x": 4, "y": 0, "flags": 1}, + {"matrix": [0, 6], "x": 20, "y": 2, "flags": 4}, + {"matrix": [0, 5], "x": 32, "y": 2, "flags": 4}, + {"matrix": [0, 4], "x": 45, "y": 1, "flags": 4}, + {"matrix": [0, 3], "x": 58, "y": 3, "flags": 4}, + {"matrix": [0, 2], "x": 71, "y": 5, "flags": 4}, + {"matrix": [0, 1], "x": 83, "y": 8, "flags": 4}, + {"matrix": [0, 0], "x": 96, "y": 10, "flags": 4}, + {"matrix": [1, 0], "x": 129, "y": 9, "flags": 4}, + {"matrix": [1, 1], "x": 141, "y": 7, "flags": 4}, + {"matrix": [1, 2], "x": 154, "y": 4, "flags": 4}, + {"matrix": [1, 3], "x": 166, "y": 2, "flags": 4}, + {"matrix": [1, 4], "x": 179, "y": 1, "flags": 4}, + {"matrix": [1, 5], "x": 192, "y": 2, "flags": 4}, + {"matrix": [1, 6], "x": 211, "y": 2, "flags": 1}, + {"matrix": [1, 7], "x": 1, "y": 13, "flags": 1}, + {"matrix": [2, 6], "x": 21, "y": 15, "flags": 1}, + {"matrix": [2, 5], "x": 36, "y": 15, "flags": 4}, + {"matrix": [2, 4], "x": 50, "y": 15, "flags": 4}, + {"matrix": [2, 3], "x": 62, "y": 17, "flags": 4}, + {"matrix": [2, 2], "x": 75, "y": 20, "flags": 4}, + {"matrix": [2, 1], "x": 87, "y": 22, "flags": 4}, + {"matrix": [2, 0], "x": 100, "y": 24, "flags": 4}, + {"matrix": [3, 1], "x": 125, "y": 23, "flags": 4}, + {"matrix": [3, 2], "x": 137, "y": 21, "flags": 4}, + {"matrix": [3, 3], "x": 150, "y": 18, "flags": 4}, + {"matrix": [3, 4], "x": 162, "y": 16, "flags": 4}, + {"matrix": [3, 5], "x": 175, "y": 15, "flags": 4}, + {"matrix": [3, 6], "x": 188, "y": 15, "flags": 4}, + {"matrix": [4, 6], "x": 201, "y": 15, "flags": 4}, + {"matrix": [4, 5], "x": 217, "y": 15, "flags": 4}, + {"matrix": [4, 3], "x": 0, "y": 27, "flags": 1}, + {"matrix": [4, 1], "x": 18, "y": 29, "flags": 1}, + {"matrix": [0, 8], "x": 38, "y": 29, "flags": 4}, + {"matrix": [0, 9], "x": 51, "y": 29, "flags": 4}, + {"matrix": [0, 10], "x": 64, "y": 31, "flags": 4}, + {"matrix": [0, 11], "x": 76, "y": 33, "flags": 4}, + {"matrix": [0, 12], "x": 89, "y": 36, "flags": 4}, + {"matrix": [0, 13], "x": 129, "y": 36, "flags": 4}, + {"matrix": [0, 15], "x": 142, "y": 33, "flags": 4}, + {"matrix": [1, 15], "x": 154, "y": 31, "flags": 4}, + {"matrix": [1, 14], "x": 167, "y": 29, "flags": 4}, + {"matrix": [1, 13], "x": 180, "y": 29, "flags": 4}, + {"matrix": [1, 12], "x": 193, "y": 29, "flags": 4}, + {"matrix": [1, 11], "x": 213, "y": 29, "flags": 1}, + {"matrix": [1, 10], "x": 21, "y": 42, "flags": 1}, + {"matrix": [1, 9], "x": 42, "y": 42, "flags": 4}, + {"matrix": [1, 8], "x": 60, "y": 57, "flags": 4}, + {"matrix": [2, 8], "x": 67, "y": 45, "flags": 4}, + {"matrix": [2, 9], "x": 80, "y": 47, "flags": 4}, + {"matrix": [2, 10], "x": 92, "y": 50, "flags": 4}, + {"matrix": [2, 11], "x": 126, "y": 50, "flags": 4}, + {"matrix": [2, 12], "x": 138, "y": 48, "flags": 4}, + {"matrix": [2, 13], "x": 151, "y": 45, "flags": 4}, + {"matrix": [2, 15], "x": 163, "y": 43, "flags": 4}, + {"matrix": [3, 14], "x": 177, "y": 42, "flags": 4}, + {"matrix": [3, 13], "x": 189, "y": 42, "flags": 4}, + {"matrix": [3, 12], "x": 213, "y": 42, "flags": 1}, + {"matrix": [3, 11], "x": 16, "y": 55, "flags": 1}, + {"matrix": [3, 10], "x": 55, "y": 43, "flags": 1}, + {"matrix": [3, 9], "x": 76, "y": 60, "flags": 4}, + {"matrix": [3, 8], "x": 96, "y": 64, "flags": 1}, + {"matrix": [4, 9], "x": 139, "y": 61, "flags": 4}, + {"matrix": [4, 11], "x": 166, "y": 57, "flags": 1}, + {"matrix": [4, 13], "x": 189, "y": 55, "flags": 1}, + {"matrix": [4, 14], "x": 202, "y": 55, "flags": 1}, + {"matrix": [4, 15], "x": 221, "y": 55, "flags": 1} + ], + "led_count": 67 + }, + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0003", + "vid": "0x4552" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP0" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [5, 0], "x": 10.75, "y": 0}, + {"matrix": [5, 1], "x": 11.75, "y": 0}, + {"matrix": [5, 2], "x": 12.75, "y": 0}, + {"matrix": [5, 3], "x": 13.75, "y": 0}, + {"matrix": [5, 4], "x": 14.75, "y": 0}, + {"matrix": [5, 5], "x": 15.75, "y": 0}, + {"matrix": [5, 6], "x": 16.75, "y": 0}, + {"matrix": [5, 7], "x": 17.75, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 3, "y": 1}, + {"matrix": [1, 3], "x": 4, "y": 1}, + {"matrix": [1, 4], "x": 5, "y": 1}, + {"matrix": [1, 5], "x": 6, "y": 1}, + {"matrix": [1, 6], "x": 7, "y": 1}, + {"matrix": [1, 7], "x": 8, "y": 1}, + {"matrix": [6, 0], "x": 10.25, "y": 1}, + {"matrix": [6, 1], "x": 11.25, "y": 1}, + {"matrix": [6, 2], "x": 12.25, "y": 1}, + {"matrix": [6, 3], "x": 13.25, "y": 1}, + {"matrix": [6, 4], "x": 14.25, "y": 1}, + {"matrix": [6, 5], "x": 15.25, "y": 1}, + {"matrix": [6, 6], "x": 16.25, "y": 1}, + {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 3.25, "y": 2}, + {"matrix": [2, 3], "x": 4.25, "y": 2}, + {"matrix": [2, 4], "x": 5.25, "y": 2}, + {"matrix": [2, 5], "x": 6.25, "y": 2}, + {"matrix": [2, 6], "x": 7.25, "y": 2}, + {"matrix": [7, 0], "x": 10.5, "y": 2}, + {"matrix": [7, 1], "x": 11.5, "y": 2}, + {"matrix": [7, 2], "x": 12.5, "y": 2}, + {"matrix": [7, 3], "x": 13.5, "y": 2}, + {"matrix": [7, 4], "x": 14.5, "y": 2}, + {"matrix": [7, 5], "x": 15.5, "y": 2}, + {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25}, + {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.75, "y": 3}, + {"matrix": [3, 3], "x": 4.75, "y": 3}, + {"matrix": [3, 4], "x": 5.75, "y": 3}, + {"matrix": [3, 5], "x": 6.75, "y": 3}, + {"matrix": [3, 6], "x": 7.75, "y": 3}, + {"matrix": [8, 0], "x": 10, "y": 3}, + {"matrix": [8, 1], "x": 11, "y": 3}, + {"matrix": [8, 2], "x": 12, "y": 3}, + {"matrix": [8, 3], "x": 13, "y": 3}, + {"matrix": [8, 4], "x": 14, "y": 3}, + {"matrix": [8, 5], "x": 15, "y": 3}, + {"matrix": [8, 6], "x": 16, "y": 3, "w": 1.75}, + {"matrix": [8, 7], "x": 17.75, "y": 3}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, + {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25}, + {"matrix": [4, 5], "x": 8.25, "y": 4}, + {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5}, + {"matrix": [9, 5], "x": 15, "y": 4}, + {"matrix": [9, 6], "x": 16, "y": 4}, + {"matrix": [9, 7], "x": 17, "y": 4} + ] + }, + "LAYOUT_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [5, 0], "x": 10.75, "y": 0}, + {"matrix": [5, 1], "x": 11.75, "y": 0}, + {"matrix": [5, 2], "x": 12.75, "y": 0}, + {"matrix": [5, 3], "x": 13.75, "y": 0}, + {"matrix": [5, 4], "x": 14.75, "y": 0}, + {"matrix": [5, 5], "x": 15.75, "y": 0}, + {"matrix": [5, 7], "x": 16.75, "y": 0, "w": 2}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 3, "y": 1}, + {"matrix": [1, 3], "x": 4, "y": 1}, + {"matrix": [1, 4], "x": 5, "y": 1}, + {"matrix": [1, 5], "x": 6, "y": 1}, + {"matrix": [1, 6], "x": 7, "y": 1}, + {"matrix": [1, 7], "x": 8, "y": 1}, + {"matrix": [6, 0], "x": 10.25, "y": 1}, + {"matrix": [6, 1], "x": 11.25, "y": 1}, + {"matrix": [6, 2], "x": 12.25, "y": 1}, + {"matrix": [6, 3], "x": 13.25, "y": 1}, + {"matrix": [6, 4], "x": 14.25, "y": 1}, + {"matrix": [6, 5], "x": 15.25, "y": 1}, + {"matrix": [6, 6], "x": 16.25, "y": 1}, + {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 3.25, "y": 2}, + {"matrix": [2, 3], "x": 4.25, "y": 2}, + {"matrix": [2, 4], "x": 5.25, "y": 2}, + {"matrix": [2, 5], "x": 6.25, "y": 2}, + {"matrix": [2, 6], "x": 7.25, "y": 2}, + {"matrix": [7, 0], "x": 10.5, "y": 2}, + {"matrix": [7, 1], "x": 11.5, "y": 2}, + {"matrix": [7, 2], "x": 12.5, "y": 2}, + {"matrix": [7, 3], "x": 13.5, "y": 2}, + {"matrix": [7, 4], "x": 14.5, "y": 2}, + {"matrix": [7, 5], "x": 15.5, "y": 2}, + {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25}, + {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.75, "y": 3}, + {"matrix": [3, 3], "x": 4.75, "y": 3}, + {"matrix": [3, 4], "x": 5.75, "y": 3}, + {"matrix": [3, 5], "x": 6.75, "y": 3}, + {"matrix": [3, 6], "x": 7.75, "y": 3}, + {"matrix": [8, 0], "x": 10, "y": 3}, + {"matrix": [8, 1], "x": 11, "y": 3}, + {"matrix": [8, 2], "x": 12, "y": 3}, + {"matrix": [8, 3], "x": 13, "y": 3}, + {"matrix": [8, 4], "x": 14, "y": 3}, + {"matrix": [8, 5], "x": 15, "y": 3}, + {"matrix": [8, 6], "x": 16, "y": 3, "w": 2.75}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, + {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25}, + {"matrix": [4, 5], "x": 8.25, "y": 4}, + {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5}, + {"matrix": [9, 7], "x": 17.25, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_ansi_arrow": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [5, 0], "x": 10.75, "y": 0}, + {"matrix": [5, 1], "x": 11.75, "y": 0}, + {"matrix": [5, 2], "x": 12.75, "y": 0}, + {"matrix": [5, 3], "x": 13.75, "y": 0}, + {"matrix": [5, 4], "x": 14.75, "y": 0}, + {"matrix": [5, 5], "x": 15.75, "y": 0}, + {"matrix": [5, 7], "x": 16.75, "y": 0, "w": 2}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 3, "y": 1}, + {"matrix": [1, 3], "x": 4, "y": 1}, + {"matrix": [1, 4], "x": 5, "y": 1}, + {"matrix": [1, 5], "x": 6, "y": 1}, + {"matrix": [1, 6], "x": 7, "y": 1}, + {"matrix": [1, 7], "x": 8, "y": 1}, + {"matrix": [6, 0], "x": 10.25, "y": 1}, + {"matrix": [6, 1], "x": 11.25, "y": 1}, + {"matrix": [6, 2], "x": 12.25, "y": 1}, + {"matrix": [6, 3], "x": 13.25, "y": 1}, + {"matrix": [6, 4], "x": 14.25, "y": 1}, + {"matrix": [6, 5], "x": 15.25, "y": 1}, + {"matrix": [6, 6], "x": 16.25, "y": 1}, + {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 3.25, "y": 2}, + {"matrix": [2, 3], "x": 4.25, "y": 2}, + {"matrix": [2, 4], "x": 5.25, "y": 2}, + {"matrix": [2, 5], "x": 6.25, "y": 2}, + {"matrix": [2, 6], "x": 7.25, "y": 2}, + {"matrix": [7, 0], "x": 10.5, "y": 2}, + {"matrix": [7, 1], "x": 11.5, "y": 2}, + {"matrix": [7, 2], "x": 12.5, "y": 2}, + {"matrix": [7, 3], "x": 13.5, "y": 2}, + {"matrix": [7, 4], "x": 14.5, "y": 2}, + {"matrix": [7, 5], "x": 15.5, "y": 2}, + {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25}, + {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.75, "y": 3}, + {"matrix": [3, 3], "x": 4.75, "y": 3}, + {"matrix": [3, 4], "x": 5.75, "y": 3}, + {"matrix": [3, 5], "x": 6.75, "y": 3}, + {"matrix": [3, 6], "x": 7.75, "y": 3}, + {"matrix": [8, 0], "x": 10, "y": 3}, + {"matrix": [8, 1], "x": 11, "y": 3}, + {"matrix": [8, 2], "x": 12, "y": 3}, + {"matrix": [8, 3], "x": 13, "y": 3}, + {"matrix": [8, 4], "x": 14, "y": 3}, + {"matrix": [8, 5], "x": 15, "y": 3}, + {"matrix": [8, 6], "x": 16, "y": 3}, + {"matrix": [8, 7], "x": 17, "y": 3, "w": 1.75}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, + {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25}, + {"matrix": [4, 5], "x": 8.25, "y": 4}, + {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5}, + {"matrix": [9, 5], "x": 15, "y": 4}, + {"matrix": [9, 6], "x": 16, "y": 4}, + {"matrix": [9, 7], "x": 17, "y": 4} + ] + }, + "LAYOUT_ansi_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [5, 0], "x": 10.75, "y": 0}, + {"matrix": [5, 1], "x": 11.75, "y": 0}, + {"matrix": [5, 2], "x": 12.75, "y": 0}, + {"matrix": [5, 3], "x": 13.75, "y": 0}, + {"matrix": [5, 4], "x": 14.75, "y": 0}, + {"matrix": [5, 5], "x": 15.75, "y": 0}, + {"matrix": [5, 6], "x": 16.75, "y": 0}, + {"matrix": [5, 7], "x": 17.75, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 3, "y": 1}, + {"matrix": [1, 3], "x": 4, "y": 1}, + {"matrix": [1, 4], "x": 5, "y": 1}, + {"matrix": [1, 5], "x": 6, "y": 1}, + {"matrix": [1, 6], "x": 7, "y": 1}, + {"matrix": [1, 7], "x": 8, "y": 1}, + {"matrix": [6, 0], "x": 10.25, "y": 1}, + {"matrix": [6, 1], "x": 11.25, "y": 1}, + {"matrix": [6, 2], "x": 12.25, "y": 1}, + {"matrix": [6, 3], "x": 13.25, "y": 1}, + {"matrix": [6, 4], "x": 14.25, "y": 1}, + {"matrix": [6, 5], "x": 15.25, "y": 1}, + {"matrix": [6, 6], "x": 16.25, "y": 1}, + {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 3.25, "y": 2}, + {"matrix": [2, 3], "x": 4.25, "y": 2}, + {"matrix": [2, 4], "x": 5.25, "y": 2}, + {"matrix": [2, 5], "x": 6.25, "y": 2}, + {"matrix": [2, 6], "x": 7.25, "y": 2}, + {"matrix": [7, 0], "x": 10.5, "y": 2}, + {"matrix": [7, 1], "x": 11.5, "y": 2}, + {"matrix": [7, 2], "x": 12.5, "y": 2}, + {"matrix": [7, 3], "x": 13.5, "y": 2}, + {"matrix": [7, 4], "x": 14.5, "y": 2}, + {"matrix": [7, 5], "x": 15.5, "y": 2}, + {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25}, + {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.75, "y": 3}, + {"matrix": [3, 3], "x": 4.75, "y": 3}, + {"matrix": [3, 4], "x": 5.75, "y": 3}, + {"matrix": [3, 5], "x": 6.75, "y": 3}, + {"matrix": [3, 6], "x": 7.75, "y": 3}, + {"matrix": [8, 0], "x": 10, "y": 3}, + {"matrix": [8, 1], "x": 11, "y": 3}, + {"matrix": [8, 2], "x": 12, "y": 3}, + {"matrix": [8, 3], "x": 13, "y": 3}, + {"matrix": [8, 4], "x": 14, "y": 3}, + {"matrix": [8, 5], "x": 15, "y": 3}, + {"matrix": [8, 6], "x": 16, "y": 3, "w": 2.75}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, + {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25}, + {"matrix": [4, 5], "x": 8.25, "y": 4}, + {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5}, + {"matrix": [9, 7], "x": 17.25, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_ansi_split_bs_rsft": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [5, 0], "x": 10.75, "y": 0}, + {"matrix": [5, 1], "x": 11.75, "y": 0}, + {"matrix": [5, 2], "x": 12.75, "y": 0}, + {"matrix": [5, 3], "x": 13.75, "y": 0}, + {"matrix": [5, 4], "x": 14.75, "y": 0}, + {"matrix": [5, 5], "x": 15.75, "y": 0}, + {"matrix": [5, 6], "x": 16.75, "y": 0}, + {"matrix": [5, 7], "x": 17.75, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 3, "y": 1}, + {"matrix": [1, 3], "x": 4, "y": 1}, + {"matrix": [1, 4], "x": 5, "y": 1}, + {"matrix": [1, 5], "x": 6, "y": 1}, + {"matrix": [1, 6], "x": 7, "y": 1}, + {"matrix": [1, 7], "x": 8, "y": 1}, + {"matrix": [6, 0], "x": 10.25, "y": 1}, + {"matrix": [6, 1], "x": 11.25, "y": 1}, + {"matrix": [6, 2], "x": 12.25, "y": 1}, + {"matrix": [6, 3], "x": 13.25, "y": 1}, + {"matrix": [6, 4], "x": 14.25, "y": 1}, + {"matrix": [6, 5], "x": 15.25, "y": 1}, + {"matrix": [6, 6], "x": 16.25, "y": 1}, + {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 3.25, "y": 2}, + {"matrix": [2, 3], "x": 4.25, "y": 2}, + {"matrix": [2, 4], "x": 5.25, "y": 2}, + {"matrix": [2, 5], "x": 6.25, "y": 2}, + {"matrix": [2, 6], "x": 7.25, "y": 2}, + {"matrix": [7, 0], "x": 10.5, "y": 2}, + {"matrix": [7, 1], "x": 11.5, "y": 2}, + {"matrix": [7, 2], "x": 12.5, "y": 2}, + {"matrix": [7, 3], "x": 13.5, "y": 2}, + {"matrix": [7, 4], "x": 14.5, "y": 2}, + {"matrix": [7, 5], "x": 15.5, "y": 2}, + {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25}, + {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.75, "y": 3}, + {"matrix": [3, 3], "x": 4.75, "y": 3}, + {"matrix": [3, 4], "x": 5.75, "y": 3}, + {"matrix": [3, 5], "x": 6.75, "y": 3}, + {"matrix": [3, 6], "x": 7.75, "y": 3}, + {"matrix": [8, 0], "x": 10, "y": 3}, + {"matrix": [8, 1], "x": 11, "y": 3}, + {"matrix": [8, 2], "x": 12, "y": 3}, + {"matrix": [8, 3], "x": 13, "y": 3}, + {"matrix": [8, 4], "x": 14, "y": 3}, + {"matrix": [8, 5], "x": 15, "y": 3}, + {"matrix": [8, 6], "x": 16, "y": 3, "w": 1.75}, + {"matrix": [8, 7], "x": 17.75, "y": 3}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, + {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25}, + {"matrix": [4, 5], "x": 8.25, "y": 4}, + {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5}, + {"matrix": [9, 7], "x": 17.25, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_arrow_split_bs": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1.5, "y": 0}, + {"matrix": [0, 2], "x": 2.5, "y": 0}, + {"matrix": [0, 3], "x": 3.5, "y": 0}, + {"matrix": [0, 4], "x": 4.5, "y": 0}, + {"matrix": [0, 5], "x": 5.5, "y": 0}, + {"matrix": [0, 6], "x": 6.5, "y": 0}, + {"matrix": [0, 7], "x": 7.5, "y": 0}, + {"matrix": [5, 0], "x": 10.75, "y": 0}, + {"matrix": [5, 1], "x": 11.75, "y": 0}, + {"matrix": [5, 2], "x": 12.75, "y": 0}, + {"matrix": [5, 3], "x": 13.75, "y": 0}, + {"matrix": [5, 4], "x": 14.75, "y": 0}, + {"matrix": [5, 5], "x": 15.75, "y": 0}, + {"matrix": [5, 6], "x": 16.75, "y": 0}, + {"matrix": [5, 7], "x": 17.75, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5}, + {"matrix": [1, 2], "x": 3, "y": 1}, + {"matrix": [1, 3], "x": 4, "y": 1}, + {"matrix": [1, 4], "x": 5, "y": 1}, + {"matrix": [1, 5], "x": 6, "y": 1}, + {"matrix": [1, 6], "x": 7, "y": 1}, + {"matrix": [1, 7], "x": 8, "y": 1}, + {"matrix": [6, 0], "x": 10.25, "y": 1}, + {"matrix": [6, 1], "x": 11.25, "y": 1}, + {"matrix": [6, 2], "x": 12.25, "y": 1}, + {"matrix": [6, 3], "x": 13.25, "y": 1}, + {"matrix": [6, 4], "x": 14.25, "y": 1}, + {"matrix": [6, 5], "x": 15.25, "y": 1}, + {"matrix": [6, 6], "x": 16.25, "y": 1}, + {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75}, + {"matrix": [2, 2], "x": 3.25, "y": 2}, + {"matrix": [2, 3], "x": 4.25, "y": 2}, + {"matrix": [2, 4], "x": 5.25, "y": 2}, + {"matrix": [2, 5], "x": 6.25, "y": 2}, + {"matrix": [2, 6], "x": 7.25, "y": 2}, + {"matrix": [7, 0], "x": 10.5, "y": 2}, + {"matrix": [7, 1], "x": 11.5, "y": 2}, + {"matrix": [7, 2], "x": 12.5, "y": 2}, + {"matrix": [7, 3], "x": 13.5, "y": 2}, + {"matrix": [7, 4], "x": 14.5, "y": 2}, + {"matrix": [7, 5], "x": 15.5, "y": 2}, + {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25}, + {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 3.75, "y": 3}, + {"matrix": [3, 3], "x": 4.75, "y": 3}, + {"matrix": [3, 4], "x": 5.75, "y": 3}, + {"matrix": [3, 5], "x": 6.75, "y": 3}, + {"matrix": [3, 6], "x": 7.75, "y": 3}, + {"matrix": [8, 0], "x": 10, "y": 3}, + {"matrix": [8, 1], "x": 11, "y": 3}, + {"matrix": [8, 2], "x": 12, "y": 3}, + {"matrix": [8, 3], "x": 13, "y": 3}, + {"matrix": [8, 4], "x": 14, "y": 3}, + {"matrix": [8, 5], "x": 15, "y": 3}, + {"matrix": [8, 6], "x": 16, "y": 3}, + {"matrix": [8, 7], "x": 17, "y": 3, "w": 1.75}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5}, + {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25}, + {"matrix": [4, 5], "x": 8.25, "y": 4}, + {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5}, + {"matrix": [9, 5], "x": 15, "y": 4}, + {"matrix": [9, 6], "x": 16, "y": 4}, + {"matrix": [9, 7], "x": 17, "y": 4} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/era/klein/keymaps/default/keymap.c b/keyboards/era/klein/keymaps/default/keymap.c new file mode 100644 index 00000000000..88878bbcd93 --- /dev/null +++ b/keyboards/era/klein/keymaps/default/keymap.c @@ -0,0 +1,23 @@ +// Copyright 2018-2022 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_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_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_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), + KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RCTL + ), + + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/era/klein/keymaps/via/keymap.c b/keyboards/era/klein/keymaps/via/keymap.c new file mode 100644 index 00000000000..88878bbcd93 --- /dev/null +++ b/keyboards/era/klein/keymaps/via/keymap.c @@ -0,0 +1,23 @@ +// Copyright 2018-2022 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_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_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_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), + KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RCTL + ), + + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/era/klein/keymaps/via/rules.mk b/keyboards/era/klein/keymaps/via/rules.mk new file mode 100644 index 00000000000..036bd6d1c3e --- /dev/null +++ b/keyboards/era/klein/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/era/klein/mcuconf.h b/keyboards/era/klein/mcuconf.h new file mode 100644 index 00000000000..b82cc49d7d0 --- /dev/null +++ b/keyboards/era/klein/mcuconf.h @@ -0,0 +1,22 @@ +/* Copyright 2023 eerraa + * + * 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 + +#undef RP_PWM_USE_PWM7 +#define RP_PWM_USE_PWM7 TRUE \ No newline at end of file diff --git a/keyboards/era/klein/readme.md b/keyboards/era/klein/readme.md new file mode 100644 index 00000000000..1efeafe4512 --- /dev/null +++ b/keyboards/era/klein/readme.md @@ -0,0 +1,23 @@ +# MontK Cervin Klein + +* Keyboard Maintainer: [ERA](https://github.com/eerraa) +* Hardware supported: SIRIND Klein +* Hardware availability: [Syryan](https://srind.mysoho.com/) + +Make example for this keyboard (after setting up your build environment): + + make era/klein:default + +Flashing example for this keyboard: + + make era/klein:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at ESC(0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly short the `RESET` and `GND` pads on the SWD header twice, or short the `BOOT` header and plug in keyboard +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/era/klein/rules.mk b/keyboards/era/klein/rules.mk new file mode 100644 index 00000000000..e69de29bb2d From 9a5b631ed617160bead436aa0382390a28f9d6e1 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri, 22 Sep 2023 23:17:15 -0700 Subject: [PATCH 099/144] GMMK2 96% ISO: Correct layout data (#22101) --- keyboards/gmmk/gmmk2/p96/iso/info.json | 172 ++++++++++++------------- 1 file changed, 86 insertions(+), 86 deletions(-) diff --git a/keyboards/gmmk/gmmk2/p96/iso/info.json b/keyboards/gmmk/gmmk2/p96/iso/info.json index 6534d280277..788aa7393bd 100644 --- a/keyboards/gmmk/gmmk2/p96/iso/info.json +++ b/keyboards/gmmk/gmmk2/p96/iso/info.json @@ -43,104 +43,104 @@ {"matrix": [13, 0], "x": 14, "y": 0}, - {"matrix": [0, 6], "x": 15.5, "y": 0}, - {"matrix": [1, 6], "x": 16.5, "y": 0}, - {"matrix": [2, 6], "x": 17.5, "y": 0}, - {"matrix": [3, 6], "x": 18.5, "y": 0}, + {"matrix": [0, 6], "x": 15.25, "y": 0}, + {"matrix": [1, 6], "x": 16.25, "y": 0}, + {"matrix": [2, 6], "x": 17.25, "y": 0}, + {"matrix": [3, 6], "x": 18.25, "y": 0}, - {"matrix": [0, 1], "x": 0, "y": 1}, - {"matrix": [1, 1], "x": 1, "y": 1}, - {"matrix": [2, 1], "x": 2, "y": 1}, - {"matrix": [3, 1], "x": 3, "y": 1}, - {"matrix": [4, 1], "x": 4, "y": 1}, - {"matrix": [5, 1], "x": 5, "y": 1}, - {"matrix": [6, 1], "x": 6, "y": 1}, - {"matrix": [7, 1], "x": 7, "y": 1}, - {"matrix": [8, 1], "x": 8, "y": 1}, - {"matrix": [9, 1], "x": 9, "y": 1}, - {"matrix": [10, 1], "x": 10, "y": 1}, - {"matrix": [11, 1], "x": 11, "y": 1}, - {"matrix": [12, 1], "x": 12, "y": 1}, - {"matrix": [13, 1], "x": 13, "y": 1, "w": 2}, + {"matrix": [0, 1], "x": 0, "y": 1.125}, + {"matrix": [1, 1], "x": 1, "y": 1.125}, + {"matrix": [2, 1], "x": 2, "y": 1.125}, + {"matrix": [3, 1], "x": 3, "y": 1.125}, + {"matrix": [4, 1], "x": 4, "y": 1.125}, + {"matrix": [5, 1], "x": 5, "y": 1.125}, + {"matrix": [6, 1], "x": 6, "y": 1.125}, + {"matrix": [7, 1], "x": 7, "y": 1.125}, + {"matrix": [8, 1], "x": 8, "y": 1.125}, + {"matrix": [9, 1], "x": 9, "y": 1.125}, + {"matrix": [10, 1], "x": 10, "y": 1.125}, + {"matrix": [11, 1], "x": 11, "y": 1.125}, + {"matrix": [12, 1], "x": 12, "y": 1.125}, + {"matrix": [13, 1], "x": 13, "y": 1.125, "w": 2}, - {"matrix": [4, 6], "x": 15.5, "y": 1}, - {"matrix": [5, 6], "x": 16.5, "y": 1}, - {"matrix": [6, 6], "x": 17.5, "y": 1}, - {"matrix": [7, 6], "x": 18.5, "y": 1}, + {"matrix": [4, 6], "x": 15.25, "y": 1.125}, + {"matrix": [5, 6], "x": 16.25, "y": 1.125}, + {"matrix": [6, 6], "x": 17.25, "y": 1.125}, + {"matrix": [7, 6], "x": 18.25, "y": 1.125}, - {"matrix": [0, 2], "x": 0, "y": 2, "w": 1.5}, - {"matrix": [1, 2], "x": 1.5, "y": 2}, - {"matrix": [2, 2], "x": 2.5, "y": 2}, - {"matrix": [3, 2], "x": 3.5, "y": 2}, - {"matrix": [4, 2], "x": 4.5, "y": 2}, - {"matrix": [5, 2], "x": 5.5, "y": 2}, - {"matrix": [6, 2], "x": 6.5, "y": 2}, - {"matrix": [7, 2], "x": 7.5, "y": 2}, - {"matrix": [8, 2], "x": 8.5, "y": 2}, - {"matrix": [9, 2], "x": 9.5, "y": 2}, - {"matrix": [10, 2], "x": 10.5, "y": 2}, - {"matrix": [11, 2], "x": 11.5, "y": 2}, - {"matrix": [12, 2], "x": 12.5, "y": 2}, - {"matrix": [13, 3], "x": 13.5, "y": 2, "w": 1.25, "h": 2}, + {"matrix": [0, 2], "x": 0, "y": 2.125, "w": 1.5}, + {"matrix": [1, 2], "x": 1.5, "y": 2.125}, + {"matrix": [2, 2], "x": 2.5, "y": 2.125}, + {"matrix": [3, 2], "x": 3.5, "y": 2.125}, + {"matrix": [4, 2], "x": 4.5, "y": 2.125}, + {"matrix": [5, 2], "x": 5.5, "y": 2.125}, + {"matrix": [6, 2], "x": 6.5, "y": 2.125}, + {"matrix": [7, 2], "x": 7.5, "y": 2.125}, + {"matrix": [8, 2], "x": 8.5, "y": 2.125}, + {"matrix": [9, 2], "x": 9.5, "y": 2.125}, + {"matrix": [10, 2], "x": 10.5, "y": 2.125}, + {"matrix": [11, 2], "x": 11.5, "y": 2.125}, + {"matrix": [12, 2], "x": 12.5, "y": 2.125}, + {"matrix": [13, 3], "x": 13.75, "y": 2.125, "w": 1.25, "h": 2}, - {"matrix": [8, 6], "x": 15.5, "y": 2}, - {"matrix": [9, 6], "x": 16.5, "y": 2}, - {"matrix": [10, 6], "x": 17.5, "y": 2, "w": 1.5}, - {"matrix": [11, 6], "x": 18.5, "y": 2, "h": 2}, + {"matrix": [8, 6], "x": 15.25, "y": 2.125}, + {"matrix": [9, 6], "x": 16.25, "y": 2.125}, + {"matrix": [10, 6], "x": 17.25, "y": 2.125}, + {"matrix": [11, 6], "x": 18.25, "y": 2.125, "h": 2}, - {"matrix": [0, 3], "x": 0, "y": 3, "w": 1.75}, - {"matrix": [1, 3], "x": 1.75, "y": 3}, - {"matrix": [2, 3], "x": 2.75, "y": 3}, - {"matrix": [3, 3], "x": 3.75, "y": 3}, - {"matrix": [4, 3], "x": 4.75, "y": 3}, - {"matrix": [5, 3], "x": 5.75, "y": 3}, - {"matrix": [6, 3], "x": 6.75, "y": 3}, - {"matrix": [7, 3], "x": 7.75, "y": 3}, - {"matrix": [8, 3], "x": 8.75, "y": 3}, - {"matrix": [9, 3], "x": 9.75, "y": 3}, - {"matrix": [10, 3], "x": 10.75, "y": 3}, - {"matrix": [11, 3], "x": 11.75, "y": 3}, - {"matrix": [12, 3], "x": 12.75, "y": 3}, + {"matrix": [0, 3], "x": 0, "y": 3.125, "w": 1.75}, + {"matrix": [1, 3], "x": 1.75, "y": 3.125}, + {"matrix": [2, 3], "x": 2.75, "y": 3.125}, + {"matrix": [3, 3], "x": 3.75, "y": 3.125}, + {"matrix": [4, 3], "x": 4.75, "y": 3.125}, + {"matrix": [5, 3], "x": 5.75, "y": 3.125}, + {"matrix": [6, 3], "x": 6.75, "y": 3.125}, + {"matrix": [7, 3], "x": 7.75, "y": 3.125}, + {"matrix": [8, 3], "x": 8.75, "y": 3.125}, + {"matrix": [9, 3], "x": 9.75, "y": 3.125}, + {"matrix": [10, 3], "x": 10.75, "y": 3.125}, + {"matrix": [11, 3], "x": 11.75, "y": 3.125}, + {"matrix": [12, 3], "x": 12.75, "y": 3.125}, - {"matrix": [10, 7], "x": 15.5, "y": 3}, - {"matrix": [11, 7], "x": 16.5, "y": 3}, - {"matrix": [12, 7], "x": 17.5, "y": 3}, + {"matrix": [10, 7], "x": 15.25, "y": 3.125}, + {"matrix": [11, 7], "x": 16.25, "y": 3.125}, + {"matrix": [12, 7], "x": 17.25, "y": 3.125}, - {"matrix": [0, 4], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [1, 4], "x": 1.25, "y": 4}, - {"matrix": [2, 4], "x": 2.25, "y": 4}, - {"matrix": [3, 4], "x": 3.25, "y": 4}, - {"matrix": [4, 4], "x": 4.25, "y": 4}, - {"matrix": [5, 4], "x": 5.25, "y": 4}, - {"matrix": [6, 4], "x": 6.25, "y": 4}, - {"matrix": [7, 4], "x": 7.25, "y": 4}, - {"matrix": [8, 4], "x": 8.25, "y": 4}, - {"matrix": [9, 4], "x": 9.25, "y": 4}, - {"matrix": [10, 4], "x": 10.25, "y": 4}, - {"matrix": [11, 4], "x": 11.25, "y": 4}, - {"matrix": [13, 4], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [0, 4], "x": 0, "y": 4.125, "w": 1.25}, + {"matrix": [1, 4], "x": 1.25, "y": 4.125}, + {"matrix": [2, 4], "x": 2.25, "y": 4.125}, + {"matrix": [3, 4], "x": 3.25, "y": 4.125}, + {"matrix": [4, 4], "x": 4.25, "y": 4.125}, + {"matrix": [5, 4], "x": 5.25, "y": 4.125}, + {"matrix": [6, 4], "x": 6.25, "y": 4.125}, + {"matrix": [7, 4], "x": 7.25, "y": 4.125}, + {"matrix": [8, 4], "x": 8.25, "y": 4.125}, + {"matrix": [9, 4], "x": 9.25, "y": 4.125}, + {"matrix": [10, 4], "x": 10.25, "y": 4.125}, + {"matrix": [11, 4], "x": 11.25, "y": 4.125}, + {"matrix": [13, 4], "x": 12.25, "y": 4.125, "w": 1.75}, - {"matrix": [1, 7], "x": 14.25, "y": 4}, + {"matrix": [1, 7], "x": 14.125, "y": 4.25}, - {"matrix": [6, 7], "x": 15.5, "y": 4}, - {"matrix": [7, 7], "x": 16.5, "y": 4}, - {"matrix": [8, 7], "x": 17.5, "y": 4}, - {"matrix": [9, 7], "x": 18.5, "y": 4, "h": 2}, + {"matrix": [6, 7], "x": 15.25, "y": 4.125}, + {"matrix": [7, 7], "x": 16.25, "y": 4.125}, + {"matrix": [8, 7], "x": 17.25, "y": 4.125}, + {"matrix": [9, 7], "x": 18.25, "y": 4.125, "h": 2}, - {"matrix": [0, 5], "x": 0, "y": 5, "w": 1.25}, - {"matrix": [1, 5], "x": 1.25, "y": 5, "w": 1.25}, - {"matrix": [2, 5], "x": 2.5, "y": 5, "w": 1.25}, - {"matrix": [6, 5], "x": 3.75, "y": 5, "w": 6.25}, - {"matrix": [9, 5], "x": 10, "y": 5}, - {"matrix": [10, 5], "x": 11, "y": 5}, - {"matrix": [12, 5], "x": 12, "y": 5}, + {"matrix": [0, 5], "x": 0, "y": 5.125, "w": 1.25}, + {"matrix": [1, 5], "x": 1.25, "y": 5.125, "w": 1.25}, + {"matrix": [2, 5], "x": 2.5, "y": 5.125, "w": 1.25}, + {"matrix": [6, 5], "x": 3.75, "y": 5.125, "w": 6.25}, + {"matrix": [9, 5], "x": 10, "y": 5.125}, + {"matrix": [10, 5], "x": 11, "y": 5.125}, + {"matrix": [12, 5], "x": 12, "y": 5.125}, - {"matrix": [0, 7], "x": 13.25, "y": 5}, - {"matrix": [2, 7], "x": 14.25, "y": 5}, - {"matrix": [3, 7], "x": 15.25, "y": 5}, + {"matrix": [0, 7], "x": 13.125, "y": 5.25}, + {"matrix": [2, 7], "x": 14.125, "y": 5.25}, + {"matrix": [3, 7], "x": 15.125, "y": 5.25}, - {"matrix": [4, 7], "x": 16.5, "y": 5}, - {"matrix": [5, 7], "x": 17.5, "y": 5} + {"matrix": [4, 7], "x": 16.25, "y": 5.125}, + {"matrix": [5, 7], "x": 17.25, "y": 5.125} ] } } From bd2a33fe77e5c67e49e6f637fac030377ccd8652 Mon Sep 17 00:00:00 2001 From: lendunistus <53618962+lendunistus@users.noreply.github.com> Date: Sat, 23 Sep 2023 11:18:11 +0300 Subject: [PATCH 100/144] Add reminder about format-json to PR Checklist (#22055) --- docs/pr_checklist.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/pr_checklist.md b/docs/pr_checklist.md index c98504c8c0c..9bf1b8d0056 100644 --- a/docs/pr_checklist.md +++ b/docs/pr_checklist.md @@ -80,6 +80,7 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard - Encoder Configuration - Bootmagic Configuration - LED Indicator Configuration + - Run `qmk format-json` on this file before submitting your PR. Be sure to append the `-i` flag to directly modify the file, or paste the outputted code into the file. - `readme.md` - must follow the [template](https://github.com/qmk/qmk_firmware/blob/master/data/templates/keyboard/readme.md) - flash command is present, and has `:flash` at end From c0d7a43637de503bb1037c28b15fda3038c07107 Mon Sep 17 00:00:00 2001 From: Ethan Perry <86326912+wheres-perry@users.noreply.github.com> Date: Sat, 23 Sep 2023 02:34:22 -0600 Subject: [PATCH 101/144] Add Jank RP2040 Dactyl (#21973) Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Drashna Jaelre --- keyboards/handwired/jankrp2040dactyl/config.h | 5 + .../handwired/jankrp2040dactyl/info.json | 103 ++++++++++++++++++ .../jankrp2040dactyl/keymaps/default/keymap.c | 70 ++++++++++++ .../handwired/jankrp2040dactyl/readme.md | 26 +++++ keyboards/handwired/jankrp2040dactyl/rules.mk | 1 + 5 files changed, 205 insertions(+) create mode 100644 keyboards/handwired/jankrp2040dactyl/config.h create mode 100644 keyboards/handwired/jankrp2040dactyl/info.json create mode 100644 keyboards/handwired/jankrp2040dactyl/keymaps/default/keymap.c create mode 100644 keyboards/handwired/jankrp2040dactyl/readme.md create mode 100644 keyboards/handwired/jankrp2040dactyl/rules.mk diff --git a/keyboards/handwired/jankrp2040dactyl/config.h b/keyboards/handwired/jankrp2040dactyl/config.h new file mode 100644 index 00000000000..0cabd353361 --- /dev/null +++ b/keyboards/handwired/jankrp2040dactyl/config.h @@ -0,0 +1,5 @@ +// Copyright 2023 Ethan Perry (@wheres-perry) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define GRAVE_ESC_SHIFT_OVERRIDE \ No newline at end of file diff --git a/keyboards/handwired/jankrp2040dactyl/info.json b/keyboards/handwired/jankrp2040dactyl/info.json new file mode 100644 index 00000000000..c4543b5d12a --- /dev/null +++ b/keyboards/handwired/jankrp2040dactyl/info.json @@ -0,0 +1,103 @@ +{ + "manufacturer": "Ethan Perry", + "keyboard_name": "rp2040dactyl", + "maintainer": "wheres-perry", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "split": { + "enabled": true, + "soft_serial_pin": "GP0" + }, + + "features": { + "extrakey": true, + "mousekey": true, + "nkro": true, + "bootmagic": true + }, + + "matrix_pins": { + "cols": ["GP14", "GP15", "GP16", "GP17", "GP21", "GP22"], + "rows": ["GP8", "GP9", "GP10", "GP11", "GP12"] + }, + + "processor": "RP2040", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, + + "layouts": { + "LAYOUT": { + "layout": + [{"matrix": [0, 0],"label":"Esc", "x":0, "y":0}, + {"matrix": [0, 1], "label":"1!", "x":1, "y":0}, + {"matrix": [0, 2], "label":"2@", "x":2, "y":0}, + {"matrix": [0, 3], "label":"3#", "x":3, "y":0}, + {"matrix": [0, 4], "label":"4$", "x":4, "y":0}, + {"matrix": [0, 5], "label":"5%", "x":5, "y":0}, + {"matrix": [5, 0], "label":"6^", "x":7, "y":0}, + {"matrix": [5, 1], "label":"7&", "x":8, "y":0}, + {"matrix": [5, 2], "label":"8*", "x":9, "y":0}, + {"matrix": [5, 3], "label":"9(", "x":10, "y":0}, + {"matrix": [5, 4], "label":"0)", "x":11, "y":0}, + {"matrix": [5, 5], "label":"+", "x":12, "y":0}, + + {"matrix": [1, 0], "label":"|", "x":0, "y":1}, + {"matrix": [1, 1], "label":"B", "x":1, "y":1}, + {"matrix": [1, 2], "label":"Y", "x":2, "y":1}, + {"matrix": [1, 3], "label":"O", "x":3, "y":1}, + {"matrix": [1, 4], "label":"U", "x":4, "y":1}, + {"matrix": [1, 5], "label":"\"", "x":5, "y":1}, + {"matrix": [6, 0], "label":":", "x":7, "y":1}, + {"matrix": [6, 1], "label":"L", "x":8, "y":1}, + {"matrix": [6, 2], "label":"D", "x":9, "y":1}, + {"matrix": [6, 3], "label":"W", "x":10, "y":1}, + {"matrix": [6, 4], "label":"V", "x":11, "y":1}, + {"matrix": [6, 5], "label":"Z", "x":12, "y":1}, + + {"matrix": [2, 0], "label":"Arrows", "x":0, "y":2}, + {"matrix": [2, 1], "label":"C", "x":1, "y":2}, + {"matrix": [2, 2], "label":"I", "x":2, "y":2}, + {"matrix": [2, 3], "label":"E", "x":3, "y":2}, + {"matrix": [2, 4], "label":"A", "x":4, "y":2}, + {"matrix": [2, 5], "label":"<", "x":5, "y":2}, + {"matrix": [7, 0], "label":">", "x":7, "y":2}, + {"matrix": [7, 1], "label":"H", "x":8, "y":2}, + {"matrix": [7, 2], "label":"T", "x":9, "y":2}, + {"matrix": [7, 3], "label":"S", "x":10, "y":2}, + {"matrix": [7, 4], "label":"N", "x":11, "y":2}, + {"matrix": [7, 5], "label":"Q", "x":12, "y":2}, + + {"matrix": [3, 0], "label":"Shift", "x":0, "y":3}, + {"matrix": [3, 1], "label":"G", "x":1, "y":3}, + {"matrix": [3, 2], "label":"X", "x":2, "y":3}, + {"matrix": [3, 3], "label":"J", "x":3, "y":3}, + {"matrix": [3, 4], "label":"K", "x":4, "y":3}, + {"matrix": [3, 5], "label":"_", "x":5, "y":3}, + {"matrix": [8, 0], "label":"?", "x":7, "y":3}, + {"matrix": [8, 1], "label":"R", "x":8, "y":3}, + {"matrix": [8, 2], "label":"M", "x":9, "y":3}, + {"matrix": [8, 3], "label":"F", "x":10, "y":3}, + {"matrix": [8, 4], "label":"P", "x":11, "y":3}, + {"matrix": [8, 5], "label":"FN", "x":12, "y":3}, + + {"matrix": [4, 3], "label":"Del", "x":3, "y":5}, + {"matrix": [4, 4], "label":"Space", "x":4, "y":5}, + {"matrix": [4, 5], "label":"Backspace", "x":5, "y":5}, + + {"matrix": [9, 0], "label":"Enter", "x":7, "y":5}, + {"matrix": [9, 3], "label":"Symbol", "x":8, "y":5}, + {"matrix": [9, 2], "label":"Tab", "x":9, "y":5}, + + {"matrix": [4, 1], "label":"Windows", "x":4, "y":6}, + {"matrix": [4, 2], "label":"Alt", "x":5, "y":6}, + + {"matrix": [9, 1], "label":"Ctrl", "x":7, "y":6}, + {"matrix": [9, 4], "label":"Blank", "x":8, "y":6} + ] + } + } +} diff --git a/keyboards/handwired/jankrp2040dactyl/keymaps/default/keymap.c b/keyboards/handwired/jankrp2040dactyl/keymaps/default/keymap.c new file mode 100644 index 00000000000..a9bc7b04f9a --- /dev/null +++ b/keyboards/handwired/jankrp2040dactyl/keymaps/default/keymap.c @@ -0,0 +1,70 @@ +/* Copyright 2023 Ethan Perry (@wheres-perry) + * + * 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 + +enum layers { + _BASELAYER, + _FUNCTIONLAYER, + _ARROWLAYER, + _SYMBOLLAYER +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASELAYER] = LAYOUT( + QK_GESC,KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQUAL, + KC_BSLS,KC_B, KC_Y, KC_O, KC_U, KC_QUOT, KC_SCLN,KC_L, KC_D, KC_W, KC_V, KC_Z, + MO(_FUNCTIONLAYER), KC_C, KC_I, KC_E, KC_A, KC_COMM, KC_DOT, KC_H, KC_T, KC_S, KC_N, KC_Q, + KC_LSFT,KC_G, KC_X, KC_J, KC_K, KC_MINS, KC_SLSH,KC_R, KC_M, KC_F, KC_P, MO(_ARROWLAYER), + + KC_DEL, KC_SPC,KC_BSPC, KC_ENT, MO(_SYMBOLLAYER), KC_TAB, + KC_LGUI,KC_LALT, KC_RCTL,KC_NO + + + ), + [_ARROWLAYER] = LAYOUT( + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_UP, KC_TRNS,KC_TRNS,KC_TRNS, + MO(_FUNCTIONLAYER), KC_TRNS,KC_TRNS,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_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, + + KC_DEL, KC_SPC,KC_BSPC, KC_ENT, MO(_SYMBOLLAYER), KC_TAB, + KC_LGUI,KC_LALT, KC_RCTL,KC_NO + + + ), + [_FUNCTIONLAYER] = LAYOUT( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, + + KC_DEL, KC_SPC,KC_BSPC, KC_ENT, MO(_SYMBOLLAYER), KC_TAB, + KC_LGUI,KC_LALT, KC_RCTL, KC_NO + + + ), + [_SYMBOLLAYER] = LAYOUT( + KC_TILD,KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, + KC_NO, KC_PIPE,KC_BSLS,KC_EQL, KC_LT, KC_GT, KC_LCBR,KC_RCBR,KC_UNDS,KC_ASTR,KC_PLUS, KC_NO, + KC_TRNS, KC_QUES,KC_QUOT,KC_DQUO,KC_COLN,KC_SCLN, KC_LPRN,KC_RPRN,KC_COMM,KC_DOT, KC_MINS,KC_NO, + KC_LSFT,KC_CIRC,KC_PERC,KC_AMPR,KC_HASH,KC_SLSH, KC_LBRC,KC_RBRC,KC_DLR, KC_AT, KC_EXLM,KC_TRNS, + KC_DEL, KC_SPC,KC_BSPC, KC_ENT, KC_TRNS, KC_TAB, + KC_LGUI,KC_LALT, KC_RCTL,KC_NO + + + ) +}; diff --git a/keyboards/handwired/jankrp2040dactyl/readme.md b/keyboards/handwired/jankrp2040dactyl/readme.md new file mode 100644 index 00000000000..0453816b180 --- /dev/null +++ b/keyboards/handwired/jankrp2040dactyl/readme.md @@ -0,0 +1,26 @@ +# handwired/jankrp2040dactyl + + +A budget Dactyl-Manuform build using Raspberry Pi Pico. + +* Keyboard Maintainer: [Ethan Perry](https://github.com/wheres-perry) +* Hardware Supported: RP2040 Community Edition +* Hardware Availability: https://www.digikey.com/en/product-highlight/r/raspberry-pi/raspberry-pi-picoboard + +Make example for this keyboard (after setting up your build environment): + + make handwired/jankrp2040dactyl:default + +Flashing example for this keyboard: + + make handwired/jankrp2040dactyl: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/handwired/jankrp2040dactyl/rules.mk b/keyboards/handwired/jankrp2040dactyl/rules.mk new file mode 100644 index 00000000000..743228e94b6 --- /dev/null +++ b/keyboards/handwired/jankrp2040dactyl/rules.mk @@ -0,0 +1 @@ +SERIAL_DRIVER = vendor \ No newline at end of file From 26b2288bde48659566809b2221a8e76bcd8dd20b Mon Sep 17 00:00:00 2001 From: Shandon Anderson Date: Sat, 23 Sep 2023 16:22:44 -0400 Subject: [PATCH 102/144] [Keyboard] Enable RGB_TEST animation on riot_pad (#22118) Co-authored-by: ShandonCodes --- keyboards/riot_pad/info.json | 1 + 1 file changed, 1 insertion(+) diff --git a/keyboards/riot_pad/info.json b/keyboards/riot_pad/info.json index 0798a4de60c..ab732ef0b03 100644 --- a/keyboards/riot_pad/info.json +++ b/keyboards/riot_pad/info.json @@ -24,6 +24,7 @@ "knight": true, "rainbow_mood": true, "rainbow_swirl": true, + "rgb_test": true, "snake": true, "static_gradient": true, "twinkle": true From f8884640b04850596a824d31a19e29d29fccb489 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun, 24 Sep 2023 00:57:08 -0700 Subject: [PATCH 103/144] YMDK Melody96 Matrix Touch-Up (#22113) * Correct layout/matrix diagram Correct swapped designations for ANSI Backslash and ANSI Enter keys. [docs] * Correct matrix data Correct the matrix data for: - `LAYOUT_all` - `LAYOUT_96_ansi` - `LAYOUT_96_ansi_splitbs` which all had the matrix positions for ANSI Backslash and ANSI Enter swapped. [bugfix] * Implement `LAYOUT_hotswap` directly Implement `LAYOUT_hotswap` as its own layout, instead of aliasing it to `LAYOUT_96_ansi`. [bugfix] * Specify primary support for Soldered PCBs Current version of codebase primarily supports Soldered PCBs. [enhancement] [docs] --- keyboards/ymdk/melody96/info.json | 126 ++++++++++++++++++++-- keyboards/ymdk/melody96/matrix_diagram.md | 6 +- keyboards/ymdk/melody96/readme.md | 6 +- 3 files changed, 123 insertions(+), 15 deletions(-) diff --git a/keyboards/ymdk/melody96/info.json b/keyboards/ymdk/melody96/info.json index 7e43a099fad..f941c659702 100644 --- a/keyboards/ymdk/melody96/info.json +++ b/keyboards/ymdk/melody96/info.json @@ -1,5 +1,5 @@ { - "keyboard_name": "Melody96", + "keyboard_name": "Melody96 Soldered", "manufacturer": "YMDK", "url": "", "maintainer": "qmk", @@ -49,8 +49,7 @@ "processor": "atmega32u4", "bootloader": "atmel-dfu", "layout_aliases": { - "LAYOUT": "LAYOUT_all", - "LAYOUT_hotswap": "LAYOUT_96_ansi" + "LAYOUT": "LAYOUT_all" }, "community_layouts": ["96_ansi", "96_iso"], "layouts": { @@ -109,7 +108,7 @@ {"matrix": [9, 7], "x": 10.5, "y": 2}, {"matrix": [9, 5], "x": 11.5, "y": 2}, {"matrix": [9, 4], "x": 12.5, "y": 2}, - {"matrix": [9, 3], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [8, 4], "x": 13.5, "y": 2, "w": 1.5}, {"matrix": [9, 6], "x": 15, "y": 2}, {"matrix": [9, 2], "x": 16, "y": 2}, {"matrix": [9, 1], "x": 17, "y": 2}, @@ -127,7 +126,7 @@ {"matrix": [8, 8], "x": 9.75, "y": 3}, {"matrix": [8, 7], "x": 10.75, "y": 3}, {"matrix": [8, 5], "x": 11.75, "y": 3}, - {"matrix": [8, 4], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [9, 3], "x": 12.75, "y": 3, "w": 2.25}, {"matrix": [8, 6], "x": 15, "y": 3}, {"matrix": [8, 2], "x": 16, "y": 3}, {"matrix": [8, 1], "x": 17, "y": 3}, @@ -221,7 +220,7 @@ {"matrix": [9, 7], "x": 10.5, "y": 2}, {"matrix": [9, 5], "x": 11.5, "y": 2}, {"matrix": [9, 4], "x": 12.5, "y": 2}, - {"matrix": [9, 3], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [8, 4], "x": 13.5, "y": 2, "w": 1.5}, {"matrix": [9, 6], "x": 15, "y": 2}, {"matrix": [9, 2], "x": 16, "y": 2}, {"matrix": [9, 1], "x": 17, "y": 2}, @@ -239,7 +238,7 @@ {"matrix": [8, 8], "x": 9.75, "y": 3}, {"matrix": [8, 7], "x": 10.75, "y": 3}, {"matrix": [8, 5], "x": 11.75, "y": 3}, - {"matrix": [8, 4], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [9, 3], "x": 12.75, "y": 3, "w": 2.25}, {"matrix": [8, 6], "x": 15, "y": 3}, {"matrix": [8, 2], "x": 16, "y": 3}, {"matrix": [8, 1], "x": 17, "y": 3}, @@ -331,7 +330,7 @@ {"matrix": [9, 7], "x": 10.5, "y": 2}, {"matrix": [9, 5], "x": 11.5, "y": 2}, {"matrix": [9, 4], "x": 12.5, "y": 2}, - {"matrix": [9, 3], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [8, 4], "x": 13.5, "y": 2, "w": 1.5}, {"matrix": [9, 6], "x": 15, "y": 2}, {"matrix": [9, 2], "x": 16, "y": 2}, {"matrix": [9, 1], "x": 17, "y": 2}, @@ -349,7 +348,7 @@ {"matrix": [8, 8], "x": 9.75, "y": 3}, {"matrix": [8, 7], "x": 10.75, "y": 3}, {"matrix": [8, 5], "x": 11.75, "y": 3}, - {"matrix": [8, 4], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [9, 3], "x": 12.75, "y": 3, "w": 2.25}, {"matrix": [8, 6], "x": 15, "y": 3}, {"matrix": [8, 2], "x": 16, "y": 3}, {"matrix": [8, 1], "x": 17, "y": 3}, @@ -926,6 +925,115 @@ {"matrix": [6, 2], "x": 16, "y": 5}, {"matrix": [6, 1], "x": 17, "y": 5} ] + }, + "LAYOUT_hotswap": { + "layout": [ + {"matrix": [5, 0], "x": 0, "y": 0}, + {"matrix": [5, 1], "x": 1, "y": 0}, + {"matrix": [5, 2], "x": 2, "y": 0}, + {"matrix": [5, 3], "x": 3, "y": 0}, + {"matrix": [5, 4], "x": 4, "y": 0}, + {"matrix": [5, 5], "x": 5, "y": 0}, + {"matrix": [5, 6], "x": 6, "y": 0}, + {"matrix": [5, 7], "x": 7, "y": 0}, + {"matrix": [5, 8], "x": 8, "y": 0}, + {"matrix": [11, 8], "x": 9, "y": 0}, + {"matrix": [11, 7], "x": 10, "y": 0}, + {"matrix": [11, 5], "x": 11, "y": 0}, + {"matrix": [11, 4], "x": 12, "y": 0}, + {"matrix": [11, 3], "x": 13, "y": 0}, + {"matrix": [11, 6], "x": 14, "y": 0}, + {"matrix": [11, 2], "x": 15, "y": 0}, + {"matrix": [11, 1], "x": 16, "y": 0}, + {"matrix": [11, 0], "x": 17, "y": 0}, + {"matrix": [6, 3], "x": 18, "y": 0}, + + {"matrix": [4, 0], "x": 0, "y": 1}, + {"matrix": [4, 1], "x": 1, "y": 1}, + {"matrix": [4, 2], "x": 2, "y": 1}, + {"matrix": [4, 3], "x": 3, "y": 1}, + {"matrix": [4, 4], "x": 4, "y": 1}, + {"matrix": [4, 5], "x": 5, "y": 1}, + {"matrix": [4, 6], "x": 6, "y": 1}, + {"matrix": [4, 7], "x": 7, "y": 1}, + {"matrix": [4, 8], "x": 8, "y": 1}, + {"matrix": [10, 8], "x": 9, "y": 1}, + {"matrix": [10, 7], "x": 10, "y": 1}, + {"matrix": [10, 5], "x": 11, "y": 1}, + {"matrix": [10, 4], "x": 12, "y": 1}, + {"matrix": [10, 6], "x": 13, "y": 1, "w": 2}, + {"matrix": [10, 2], "x": 15, "y": 1}, + {"matrix": [10, 1], "x": 16, "y": 1}, + {"matrix": [10, 0], "x": 17, "y": 1}, + {"matrix": [6, 4], "x": 18, "y": 1}, + + {"matrix": [3, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 2}, + {"matrix": [3, 2], "x": 2.5, "y": 2}, + {"matrix": [3, 3], "x": 3.5, "y": 2}, + {"matrix": [3, 4], "x": 4.5, "y": 2}, + {"matrix": [3, 5], "x": 5.5, "y": 2}, + {"matrix": [3, 6], "x": 6.5, "y": 2}, + {"matrix": [3, 7], "x": 7.5, "y": 2}, + {"matrix": [3, 8], "x": 8.5, "y": 2}, + {"matrix": [9, 8], "x": 9.5, "y": 2}, + {"matrix": [9, 7], "x": 10.5, "y": 2}, + {"matrix": [9, 5], "x": 11.5, "y": 2}, + {"matrix": [9, 4], "x": 12.5, "y": 2}, + {"matrix": [9, 3], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [9, 6], "x": 15, "y": 2}, + {"matrix": [9, 2], "x": 16, "y": 2}, + {"matrix": [9, 1], "x": 17, "y": 2}, + {"matrix": [8, 0], "x": 18, "y": 2, "h": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 3}, + {"matrix": [2, 2], "x": 2.75, "y": 3}, + {"matrix": [2, 3], "x": 3.75, "y": 3}, + {"matrix": [2, 4], "x": 4.75, "y": 3}, + {"matrix": [2, 5], "x": 5.75, "y": 3}, + {"matrix": [2, 6], "x": 6.75, "y": 3}, + {"matrix": [2, 7], "x": 7.75, "y": 3}, + {"matrix": [2, 8], "x": 8.75, "y": 3}, + {"matrix": [8, 8], "x": 9.75, "y": 3}, + {"matrix": [8, 7], "x": 10.75, "y": 3}, + {"matrix": [8, 5], "x": 11.75, "y": 3}, + {"matrix": [8, 4], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [8, 6], "x": 15, "y": 3}, + {"matrix": [8, 2], "x": 16, "y": 3}, + {"matrix": [8, 1], "x": 17, "y": 3}, + + {"matrix": [1, 0], "x": 0, "y": 4, "w": 2.25}, + {"matrix": [1, 2], "x": 2.25, "y": 4}, + {"matrix": [1, 3], "x": 3.25, "y": 4}, + {"matrix": [1, 4], "x": 4.25, "y": 4}, + {"matrix": [1, 5], "x": 5.25, "y": 4}, + {"matrix": [1, 6], "x": 6.25, "y": 4}, + {"matrix": [1, 7], "x": 7.25, "y": 4}, + {"matrix": [1, 8], "x": 8.25, "y": 4}, + {"matrix": [7, 8], "x": 9.25, "y": 4}, + {"matrix": [7, 7], "x": 10.25, "y": 4}, + {"matrix": [7, 5], "x": 11.25, "y": 4}, + {"matrix": [7, 4], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [7, 3], "x": 14, "y": 4}, + {"matrix": [7, 6], "x": 15, "y": 4}, + {"matrix": [7, 2], "x": 16, "y": 4}, + {"matrix": [7, 1], "x": 17, "y": 4}, + {"matrix": [6, 0], "x": 18, "y": 4, "h": 2}, + + {"matrix": [0, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [0, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [0, 2], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [0, 6], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [0, 8], "x": 10, "y": 5}, + {"matrix": [0, 7], "x": 11, "y": 5}, + {"matrix": [0, 5], "x": 12, "y": 5}, + {"matrix": [0, 4], "x": 13, "y": 5}, + {"matrix": [0, 3], "x": 14, "y": 5}, + {"matrix": [6, 6], "x": 15, "y": 5}, + {"matrix": [6, 2], "x": 16, "y": 5}, + {"matrix": [6, 1], "x": 17, "y": 5} + ] } } } diff --git a/keyboards/ymdk/melody96/matrix_diagram.md b/keyboards/ymdk/melody96/matrix_diagram.md index 29136bac075..e589bcc469d 100644 --- a/keyboards/ymdk/melody96/matrix_diagram.md +++ b/keyboards/ymdk/melody96/matrix_diagram.md @@ -1,4 +1,4 @@ -# Matrix Diagram for Ymdk Melody96 +# Matrix Diagram for YMDK Melody96 ``` ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ @@ -6,9 +6,9 @@ ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ ┌───────┐ │40 │41 │42 │43 │44 │45 │56 │47 │48 │A8 │A7 │A5 │A4 │A3 │A6 │A2 │A1 │A0 │64 │ │A6 │ 2u Backpsace ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┼───┼───┼───┼───┤ └─┬─────┤ ┌───┐ -│30 │31 │32 │33 │34 │35 │36 │37 │38 │98 │97 │95 │94 │93 │96 │92 │91 │90 │ │ │ │ │ +│30 │31 │32 │33 │34 │35 │36 │37 │38 │98 │97 │95 │94 │84 │96 │92 │91 │90 │ │ │ │ │ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┼───┼───┼───┤ ┌──┴┐93 │ ISO Enter │80 │ Numpad "+" 2u -│20 │21 │22 │23 │24 │25 │26 │27 │28 │88 │87 │85 │84 │86 │82 │81 │80 │ │84 │ │ │ │ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │88 │87 │85 │93 │86 │82 │81 │80 │ │84 │ │ │ │ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┼───┼───┼───┤ └───┴────┘ ├───┤ │10 │11 │12 │13 │14 │15 │16 │17 │18 │78 │77 │75 │74 │73 │76 │72 │71 │70 │ │ │ ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┼───┼───┼───┤ ┌───────┐ │60 │ Numpad Enter 2U diff --git a/keyboards/ymdk/melody96/readme.md b/keyboards/ymdk/melody96/readme.md index a6bf470b321..e0e57a081ea 100644 --- a/keyboards/ymdk/melody96/readme.md +++ b/keyboards/ymdk/melody96/readme.md @@ -1,11 +1,11 @@ -# YMDK Melody96 +# YMDK Melody96 Soldered ![melody96](https://i.imgur.com/9o0a6XFh.png) 96-key Keyboard from YMDK. The PCB for this board is also commonly used in the NYM96. * Keyboard Maintainer: [superuser41](https://github.com/kaylanm) -* Hardware Supported: melody96 +* Hardware Supported: Melody96 Soldered PCBs * Hardware Availability: [YMDK on Geekhack, group buy closed](https://geekhack.org/index.php?topic=93614.0), [NYM96 on Massdrop](https://www.massdrop.com/buy/nym96-aluminum-mechanical-keyboard?mode=guest_open) Make example for this keyboard (after setting up your build environment): @@ -14,6 +14,6 @@ Make example for this keyboard (after setting up your build environment): Flashing example for this keyboard: - make melody96:default:flash + make ymdk/melody96:default:flash See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). From ee4e22d5ea49fdf641671eb34c913cf5ec445e5a Mon Sep 17 00:00:00 2001 From: Tom singleton Date: Mon, 25 Sep 2023 02:43:55 +0100 Subject: [PATCH 104/144] Update feature_rgblight.md (#21483) --- docs/feature_rgblight.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/feature_rgblight.md b/docs/feature_rgblight.md index 39b7e6a6f1e..5aeffa81b82 100644 --- a/docs/feature_rgblight.md +++ b/docs/feature_rgblight.md @@ -22,7 +22,7 @@ On keyboards with onboard RGB LEDs, it is usually enabled by default. If it is n RGBLIGHT_ENABLE = yes ``` -?> There are additional configuration options for ARM controllers that offer increased performance over the default WS2812 bitbang driver. Please see [WS2812 Driver](ws2812_driver.md) for more information. +?> There are additional configuration options for ARM controllers that offer increased performance over the default WS2812 bitbang driver. Please see [WS2812 Driver](ws2812_driver.md) for more information. Also if you are using an RP2040 based board you will need to use the `vendor` driver detailed in the [PIO section here](ws2812_driver.md#pio). For APA102 LEDs, add the following to your `rules.mk`: From 9b429bd12d6375e6141629af9c330072b6c3c024 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Mon, 25 Sep 2023 11:50:35 +1000 Subject: [PATCH 105/144] Revert "Update feature_rgblight.md" (#22132) --- docs/feature_rgblight.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/feature_rgblight.md b/docs/feature_rgblight.md index 5aeffa81b82..39b7e6a6f1e 100644 --- a/docs/feature_rgblight.md +++ b/docs/feature_rgblight.md @@ -22,7 +22,7 @@ On keyboards with onboard RGB LEDs, it is usually enabled by default. If it is n RGBLIGHT_ENABLE = yes ``` -?> There are additional configuration options for ARM controllers that offer increased performance over the default WS2812 bitbang driver. Please see [WS2812 Driver](ws2812_driver.md) for more information. Also if you are using an RP2040 based board you will need to use the `vendor` driver detailed in the [PIO section here](ws2812_driver.md#pio). +?> There are additional configuration options for ARM controllers that offer increased performance over the default WS2812 bitbang driver. Please see [WS2812 Driver](ws2812_driver.md) for more information. For APA102 LEDs, add the following to your `rules.mk`: From 133be8759a2a01bd0e917543e6b1f3d84830d9a9 Mon Sep 17 00:00:00 2001 From: "T.A" <83424097+t0kies@users.noreply.github.com> Date: Mon, 25 Sep 2023 04:24:57 +0200 Subject: [PATCH 106/144] =?UTF-8?q?included=20keyboard.h.=20To=20use=20is?= =?UTF-8?q?=5Fkeyboard=5Fmaster=20with=20a=20split=20with=20an=20i?= =?UTF-8?q?=E2=80=A6=20(#21571)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Drashna Jaelre Co-authored-by: tokky --- drivers/oled/oled_driver.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/oled/oled_driver.c b/drivers/oled/oled_driver.c index 8ff6e0426cb..b9f72078137 100644 --- a/drivers/oled/oled_driver.c +++ b/drivers/oled/oled_driver.c @@ -19,6 +19,9 @@ along with this program. If not, see . # include "spi_master.h" #elif defined(OLED_TRANSPORT_I2C) # include "i2c_master.h" +# if defined(USE_I2C) && defined(SPLIT_KEYBOARD) +# include "keyboard.h" +# endif #endif #include "oled_driver.h" #include OLED_FONT_H From 9d3c0018c118ed2cf5fc251e24774a8c52df09ee Mon Sep 17 00:00:00 2001 From: DeskDaily <65656486+DeskDaily@users.noreply.github.com> Date: Mon, 25 Sep 2023 10:28:48 +0800 Subject: [PATCH 107/144] Added Wyvern Hotswap by BredWorks (#21141) Co-authored-by: Neil Brian Ramirez Co-authored-by: Neil Brian Ramirez --- keyboards/bredworks/wyvern_hs/info.json | 308 ++++++++++++++++++ .../wyvern_hs/keymaps/default/keymap.c | 33 ++ .../wyvern_hs/keymaps/regular_numpad/keymap.c | 33 ++ .../bredworks/wyvern_hs/keymaps/via/keymap.c | 33 ++ .../bredworks/wyvern_hs/keymaps/via/rules.mk | 2 + keyboards/bredworks/wyvern_hs/readme.md | 23 ++ keyboards/bredworks/wyvern_hs/rules.mk | 1 + 7 files changed, 433 insertions(+) create mode 100644 keyboards/bredworks/wyvern_hs/info.json create mode 100644 keyboards/bredworks/wyvern_hs/keymaps/default/keymap.c create mode 100644 keyboards/bredworks/wyvern_hs/keymaps/regular_numpad/keymap.c create mode 100644 keyboards/bredworks/wyvern_hs/keymaps/via/keymap.c create mode 100644 keyboards/bredworks/wyvern_hs/keymaps/via/rules.mk create mode 100644 keyboards/bredworks/wyvern_hs/readme.md create mode 100644 keyboards/bredworks/wyvern_hs/rules.mk diff --git a/keyboards/bredworks/wyvern_hs/info.json b/keyboards/bredworks/wyvern_hs/info.json new file mode 100644 index 00000000000..63e85496ae0 --- /dev/null +++ b/keyboards/bredworks/wyvern_hs/info.json @@ -0,0 +1,308 @@ +{ + "manufacturer": "Bred Works", + "keyboard_name": "Wyvern HS", + "maintainer": "DeskDaily", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["B3", "B2", "B1", "B0", "F7", "D5", "D3", "D2", "D1", "D0", "E6", "F0", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"], + "rows": ["B7", "F1", "F6", "F5", "F4"] + }, + "processor": "atmega32u4", + "url": "https://bredworks.com/products/wyvern-hotswap-pcb", + "usb": { + "device_version": "0.0.1", + "pid": "0x0001", + "vid": "0x0571" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4.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": [0, 16], "x": 16.25, "y": 0}, + {"matrix": [0, 17], "x": 17.25, "y": 0}, + {"matrix": [0, 19], "x": 19.75, "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.25, "y": 1, "w": 1.5}, + {"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}, + {"matrix": [1, 15], "x": 15.75, "y": 1}, + {"matrix": [1, 16], "x": 16.75, "y": 1}, + {"matrix": [1, 17], "x": 17.75, "y": 1, "w": 1.5}, + {"matrix": [1, 19], "x": 19.75, "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.25, "y": 2, "w": 1.75}, + {"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}, + {"matrix": [2, 15], "x": 16, "y": 2}, + {"matrix": [2, 16], "x": 17, "y": 2, "w": 2.25}, + {"matrix": [2, 19], "x": 19.75, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "h": 2}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2, "y": 3}, + {"matrix": [3, 3], "x": 3, "y": 3, "h": 2}, + {"matrix": [3, 4], "x": 4.25, "y": 3, "w": 1.25}, + {"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}, + {"matrix": [3, 14], "x": 14.5, "y": 3}, + {"matrix": [3, 15], "x": 15.5, "y": 3}, + {"matrix": [3, 16], "x": 16.5, "y": 3, "w": 1.75}, + {"matrix": [3, 19], "x": 19.75, "y": 3}, + {"matrix": [3, 17], "x": 18.5, "y": 3.25}, + {"matrix": [4, 1], "x": 1, "y": 4}, + {"matrix": [4, 2], "x": 2, "y": 4}, + {"matrix": [4, 4], "x": 4.25, "y": 4, "w": 1.25}, + {"matrix": [4, 5], "x": 5.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 6.75, "y": 4, "w": 1.25}, + {"matrix": [4, 8], "x": 8, "y": 4, "w": 2.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 11.5, "y": 4, "w": 2.75}, + {"matrix": [4, 13], "x": 14.25, "y": 4}, + {"matrix": [4, 14], "x": 15.25, "y": 4}, + {"matrix": [4, 15], "x": 16.25, "y": 4}, + {"matrix": [4, 16], "x": 17.5, "y": 4.25}, + {"matrix": [4, 17], "x": 18.5, "y": 4.25}, + {"matrix": [4, 18], "x": 19.5, "y": 4.25}, + {"matrix": [0, 18], "x": 18.25, "y": 0} + ] + }, + "LAYOUT_mirrored_numpad": { + "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.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": [0, 16], "x": 16.25, "y": 0}, + {"matrix": [0, 17], "x": 17.25, "y": 0}, + {"matrix": [0, 19], "x": 19.75, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "h": 2}, + {"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.25, "y": 1, "w": 1.5}, + {"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}, + {"matrix": [1, 15], "x": 15.75, "y": 1}, + {"matrix": [1, 16], "x": 16.75, "y": 1}, + {"matrix": [1, 17], "x": 17.75, "y": 1, "w": 1.5}, + {"matrix": [1, 19], "x": 19.75, "y": 1}, + {"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.25, "y": 2, "w": 1.75}, + {"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}, + {"matrix": [2, 15], "x": 16, "y": 2}, + {"matrix": [2, 16], "x": 17, "y": 2, "w": 2.25}, + {"matrix": [2, 19], "x": 19.75, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3, "h": 2}, + {"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.25, "y": 3, "w": 1.25}, + {"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}, + {"matrix": [3, 14], "x": 14.5, "y": 3}, + {"matrix": [3, 15], "x": 15.5, "y": 3}, + {"matrix": [3, 16], "x": 16.5, "y": 3, "w": 1.75}, + {"matrix": [3, 19], "x": 19.75, "y": 3}, + {"matrix": [3, 17], "x": 18.5, "y": 3.25}, + {"matrix": [4, 1], "x": 1, "y": 4}, + {"matrix": [4, 2], "x": 2, "y": 4, "w": 2}, + {"matrix": [4, 4], "x": 4.25, "y": 4, "w": 1.25}, + {"matrix": [4, 5], "x": 5.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 6.75, "y": 4, "w": 1.25}, + {"matrix": [4, 8], "x": 8, "y": 4, "w": 2.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 11.5, "y": 4, "w": 2.75}, + {"matrix": [4, 13], "x": 14.25, "y": 4}, + {"matrix": [4, 14], "x": 15.25, "y": 4}, + {"matrix": [4, 15], "x": 16.25, "y": 4}, + {"matrix": [4, 16], "x": 17.5, "y": 4.25}, + {"matrix": [4, 17], "x": 18.5, "y": 4.25}, + {"matrix": [4, 18], "x": 19.5, "y": 4.25}, + {"matrix": [0, 18], "x": 18.25, "y": 0} + ] + }, + "LAYOUT_regular_numpad": { + "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.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": [0, 16], "x": 16.25, "y": 0}, + {"matrix": [0, 17], "x": 17.25, "y": 0}, + {"matrix": [0, 19], "x": 19.75, "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, "h": 2}, + {"matrix": [1, 4], "x": 4.25, "y": 1, "w": 1.5}, + {"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}, + {"matrix": [1, 15], "x": 15.75, "y": 1}, + {"matrix": [1, 16], "x": 16.75, "y": 1}, + {"matrix": [1, 17], "x": 17.75, "y": 1, "w": 1.5}, + {"matrix": [1, 19], "x": 19.75, "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, 4], "x": 4.25, "y": 2, "w": 1.75}, + {"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}, + {"matrix": [2, 15], "x": 16, "y": 2}, + {"matrix": [2, 16], "x": 17, "y": 2, "w": 2.25}, + {"matrix": [2, 19], "x": 19.75, "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, "h": 2}, + {"matrix": [3, 4], "x": 4.25, "y": 3, "w": 1.25}, + {"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}, + {"matrix": [3, 14], "x": 14.5, "y": 3}, + {"matrix": [3, 15], "x": 15.5, "y": 3}, + {"matrix": [3, 16], "x": 16.5, "y": 3, "w": 1.75}, + {"matrix": [3, 19], "x": 19.75, "y": 3}, + {"matrix": [3, 17], "x": 18.5, "y": 3.25}, + {"matrix": [4, 1], "x": 0, "y": 4, "w": 2}, + {"matrix": [4, 2], "x": 2, "y": 4}, + {"matrix": [4, 4], "x": 4.25, "y": 4, "w": 1.25}, + {"matrix": [4, 5], "x": 5.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 6.75, "y": 4, "w": 1.25}, + {"matrix": [4, 8], "x": 8, "y": 4, "w": 2.25}, + {"matrix": [4, 10], "x": 10.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 11.5, "y": 4, "w": 2.75}, + {"matrix": [4, 13], "x": 14.25, "y": 4}, + {"matrix": [4, 14], "x": 15.25, "y": 4}, + {"matrix": [4, 15], "x": 16.25, "y": 4}, + {"matrix": [4, 16], "x": 17.5, "y": 4.25}, + {"matrix": [4, 17], "x": 18.5, "y": 4.25}, + {"matrix": [4, 18], "x": 19.5, "y": 4.25}, + {"matrix": [0, 18], "x": 18.25, "y": 0} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/bredworks/wyvern_hs/keymaps/default/keymap.c b/keyboards/bredworks/wyvern_hs/keymaps/default/keymap.c new file mode 100644 index 00000000000..3d0e0672152 --- /dev/null +++ b/keyboards/bredworks/wyvern_hs/keymaps/default/keymap.c @@ -0,0 +1,33 @@ +/* Copyright 2023 DeskDaily + * + * 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_mirrored_numpad( + KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, + KC_PPLS, KC_P7, KC_P8, KC_P9, 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_PGUP, + KC_P4, KC_P5, KC_P6, 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_PGDN, + KC_ENT, KC_P1, KC_P2, KC_P3, 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_LSFT, MO(1), KC_UP, + KC_DEL, KC_P0, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC + ), + [1] = LAYOUT_mirrored_numpad( + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; \ No newline at end of file diff --git a/keyboards/bredworks/wyvern_hs/keymaps/regular_numpad/keymap.c b/keyboards/bredworks/wyvern_hs/keymaps/regular_numpad/keymap.c new file mode 100644 index 00000000000..78037bac14a --- /dev/null +++ b/keyboards/bredworks/wyvern_hs/keymaps/regular_numpad/keymap.c @@ -0,0 +1,33 @@ +/* Copyright 2023 DeskDaily + * + * 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_regular_numpad( + KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, + KC_P7, KC_P8, KC_P9, KC_PPLS, 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_PGUP, + KC_P4, KC_P5, KC_P6, 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_PGDN, + KC_P1, KC_P2, KC_P3, 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_LSFT, MO(1), KC_UP, + KC_P0, KC_DEL, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC + ), + [1] = LAYOUT_regular_numpad( + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; \ No newline at end of file diff --git a/keyboards/bredworks/wyvern_hs/keymaps/via/keymap.c b/keyboards/bredworks/wyvern_hs/keymaps/via/keymap.c new file mode 100644 index 00000000000..0b73184e01e --- /dev/null +++ b/keyboards/bredworks/wyvern_hs/keymaps/via/keymap.c @@ -0,0 +1,33 @@ +/* Copyright 2023 DeskDaily + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, + KC_PPLS, KC_P7, KC_P8, KC_P9, 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_PGUP, + KC_PPLS, KC_P4, KC_P5, KC_P6, 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_PGDN, + KC_ENT, KC_P1, KC_P2, KC_P3, 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_LSFT, MO(1), KC_UP, + KC_DEL, KC_P0, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC + ), + [1] = LAYOUT_all( + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; \ No newline at end of file diff --git a/keyboards/bredworks/wyvern_hs/keymaps/via/rules.mk b/keyboards/bredworks/wyvern_hs/keymaps/via/rules.mk new file mode 100644 index 00000000000..36b7ba9cbc9 --- /dev/null +++ b/keyboards/bredworks/wyvern_hs/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/bredworks/wyvern_hs/readme.md b/keyboards/bredworks/wyvern_hs/readme.md new file mode 100644 index 00000000000..0d0ed4e099e --- /dev/null +++ b/keyboards/bredworks/wyvern_hs/readme.md @@ -0,0 +1,23 @@ +# Bredworks Wyvern HS + +* Keyboard Maintainer: [DeskDaily](https://github.com/DeskDaily) +* Hardware Supported: Atmega32u4 +* Hardware Availability: [BredWorks](https://bredworks.com/products/wyvern-hotswap-pcb) + +Make example for this keyboard (after setting up your build environment): + + make bredworks/wyvern_hs:default + +Flashing example for this keyboard: + + make bredworks/wyvern_hs:default:flash + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the upper left key/esc) 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 + +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/bredworks/wyvern_hs/rules.mk b/keyboards/bredworks/wyvern_hs/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/bredworks/wyvern_hs/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From 4ebb065f94694b40cadf77808cba946d2fb5bb3c Mon Sep 17 00:00:00 2001 From: Ben Cooper <63478578+bncpr@users.noreply.github.com> Date: Mon, 25 Sep 2023 05:32:20 +0300 Subject: [PATCH 108/144] Fix combo_ref_from_layer respect different default layer [#21780] (#21781) --- quantum/process_keycode/process_combo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quantum/process_keycode/process_combo.c b/quantum/process_keycode/process_combo.c index 64d30fc140d..b0034d136a8 100644 --- a/quantum/process_keycode/process_combo.c +++ b/quantum/process_keycode/process_combo.c @@ -557,7 +557,7 @@ bool process_combo(uint16_t keycode, keyrecord_t *record) { /* Only check keycodes from one layer. */ keycode = keymap_key_to_keycode(COMBO_ONLY_FROM_LAYER, record->event.key); #else - uint8_t highest_layer = get_highest_layer(layer_state); + uint8_t highest_layer = get_highest_layer(layer_state | default_layer_state); uint8_t ref_layer = combo_ref_from_layer(highest_layer); if (ref_layer != highest_layer) { keycode = keymap_key_to_keycode(ref_layer, record->event.key); From 131bc92b7723d38015e7e82b7dccd773c90f7818 Mon Sep 17 00:00:00 2001 From: plaublin Date: Mon, 25 Sep 2023 11:32:50 +0900 Subject: [PATCH 109/144] Fix variable misspelling (#21774) --- layouts/community/ortho_4x12/drashna/rules.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layouts/community/ortho_4x12/drashna/rules.mk b/layouts/community/ortho_4x12/drashna/rules.mk index a2278e931dd..15775bcbe3d 100644 --- a/layouts/community/ortho_4x12/drashna/rules.mk +++ b/layouts/community/ortho_4x12/drashna/rules.mk @@ -8,7 +8,7 @@ CONSOLE_ENABLE = no COMMAND_ENABLE = no BACKLIGHT_ENABLE = no -ifeq ($(strip $(LAYOUT_HAS_RGB)), yes) +ifeq ($(strip $(LAYOUTS_HAS_RGB)), yes) RGBLIGHT_ENABLE = yes endif From 2181da4b723a31f88866180089596d557805fdca Mon Sep 17 00:00:00 2001 From: Duncan Sutherland Date: Mon, 25 Sep 2023 03:56:33 +0100 Subject: [PATCH 110/144] amend split_* community_layouts in keyboards (#21847) --- keyboards/budgy/info.json | 1 + keyboards/centromere/info.json | 2 +- keyboards/dailycraft/wings42/rev2/info.json | 6 ++- .../wings42/rev2/keymaps/default/keymap.c | 8 +-- .../wings42/rev2/keymaps/via/keymap.c | 8 +-- keyboards/eek/info.json | 51 +------------------ 6 files changed, 16 insertions(+), 60 deletions(-) diff --git a/keyboards/budgy/info.json b/keyboards/budgy/info.json index 7310fa5a55a..5903daa68d0 100644 --- a/keyboards/budgy/info.json +++ b/keyboards/budgy/info.json @@ -38,6 +38,7 @@ } } }, + "community_layouts": ["split_3x5_2"], "layouts": { "LAYOUT_split_3x5_2": { "layout": [ diff --git a/keyboards/centromere/info.json b/keyboards/centromere/info.json index 5f9b57d97a1..280ab8bd7e4 100644 --- a/keyboards/centromere/info.json +++ b/keyboards/centromere/info.json @@ -10,7 +10,7 @@ }, "processor": "atmega32u4", "bootloader": "caterina", - "community_layouts": ["split_3x5_3" "split_3x6_3"], + "community_layouts": ["split_3x5_3", "split_3x6_3"], "layout_aliases": { "LAYOUT": "LAYOUT_split_3x6_3" }, diff --git a/keyboards/dailycraft/wings42/rev2/info.json b/keyboards/dailycraft/wings42/rev2/info.json index 261157627ac..a3c3e2396ef 100644 --- a/keyboards/dailycraft/wings42/rev2/info.json +++ b/keyboards/dailycraft/wings42/rev2/info.json @@ -27,8 +27,12 @@ }, "processor": "atmega32u4", "bootloader": "caterina", + "layout_aliases": { + "LAYOUT_split_3x6_3_2": "LAYOUT_split_3x6_3" + }, + "community_layouts": ["split_3x6_3"], "layouts": { - "LAYOUT_split_3x6_3_2": { + "LAYOUT_split_3x6_3": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0.875}, {"matrix": [0, 1], "x": 1, "y": 0.625}, diff --git a/keyboards/dailycraft/wings42/rev2/keymaps/default/keymap.c b/keyboards/dailycraft/wings42/rev2/keymaps/default/keymap.c index d809d59f4c1..51647fe7956 100644 --- a/keyboards/dailycraft/wings42/rev2/keymaps/default/keymap.c +++ b/keyboards/dailycraft/wings42/rev2/keymaps/default/keymap.c @@ -31,7 +31,7 @@ enum layer_number { #define KC_A_DEL ALT_T(KC_DEL) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_split_3x6_3_2( + [_QWERTY] = LAYOUT_split_3x6_3( //,--------+--------+--------+--------+--------+--------. ,--------+---------+--------+---------+--------+--------. KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_MINS, //|--------+--------+--------+--------+--------+--------| |--------+---------+--------+---------+--------+--------| @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // `+--------+--------+--------' `--------+---------+--------+' ), - [_RAISE] = LAYOUT_split_3x6_3_2( + [_RAISE] = LAYOUT_split_3x6_3( //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------. _______, KC_BSLS, KC_CIRC, KC_EXLM, KC_AMPR, KC_PIPE, KC_AT , KC_EQL , KC_PLUS, KC_ASTR, KC_PERC, KC_MINS, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| @@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // `+--------+--------+--------' `--------+-------+--------+' ), - [_LOWER] = LAYOUT_split_3x6_3_2( + [_LOWER] = LAYOUT_split_3x6_3( //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------. KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , _______, KC_EQL , KC_PLUS, KC_ASTR, KC_PERC, KC_MINS, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| @@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // `+--------+--------+--------' `--------+--------+--------+' ), - [_ADJUST] = LAYOUT_split_3x6_3_2( + [_ADJUST] = LAYOUT_split_3x6_3( //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| diff --git a/keyboards/dailycraft/wings42/rev2/keymaps/via/keymap.c b/keyboards/dailycraft/wings42/rev2/keymaps/via/keymap.c index 362164c5ec0..0995600a473 100644 --- a/keyboards/dailycraft/wings42/rev2/keymaps/via/keymap.c +++ b/keyboards/dailycraft/wings42/rev2/keymaps/via/keymap.c @@ -31,7 +31,7 @@ enum layer_number { #define KC_A_DEL ALT_T(KC_DEL) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_split_3x6_3_2( + [_QWERTY] = LAYOUT_split_3x6_3( //,--------+--------+--------+--------+--------+--------. ,--------+---------+--------+---------+--------+--------. KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_MINS, //|--------+--------+--------+--------+--------+--------| |--------+---------+--------+---------+--------+--------| @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // `+--------+--------+--------' `--------+---------+--------+' ), - [_RAISE] = LAYOUT_split_3x6_3_2( + [_RAISE] = LAYOUT_split_3x6_3( //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------. _______, KC_BSLS, KC_CIRC, KC_EXLM, KC_AMPR, KC_PIPE, KC_AT , KC_EQL , KC_PLUS, KC_ASTR, KC_PERC, KC_MINS, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| @@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // `+--------+--------+--------' `--------+-------+--------+' ), - [_LOWER] = LAYOUT_split_3x6_3_2( + [_LOWER] = LAYOUT_split_3x6_3( //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------. KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , _______, KC_EQL , KC_PLUS, KC_ASTR, KC_PERC, KC_MINS, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| @@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // `+--------+--------+--------' `--------+--------+--------+' ), - [_ADJUST] = LAYOUT_split_3x6_3_2( + [_ADJUST] = LAYOUT_split_3x6_3( //,--------+--------+--------+--------+--------+--------. ,--------+--------+--------+--------+--------+--------. _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| diff --git a/keyboards/eek/info.json b/keyboards/eek/info.json index edcf445c326..27441a293ea 100644 --- a/keyboards/eek/info.json +++ b/keyboards/eek/info.json @@ -41,54 +41,5 @@ }, "processor": "atmega32u4", "bootloader": "qmk-dfu", - "community_layouts": ["split_3x5_3"], - "layouts": { - "LAYOUT_split_3x5_3": { - "layout": [ - {"x": 0, "y": 0.88}, - {"x": 1, "y": 0.38}, - {"x": 2, "y": 0}, - {"x": 3, "y": 0.38}, - {"x": 4, "y": 0.5}, - - {"x": 6, "y": 0.5}, - {"x": 7, "y": 0.38}, - {"x": 8, "y": 0}, - {"x": 9, "y": 0.38}, - {"x": 10, "y": 0.88}, - - {"x": 0, "y": 1.88}, - {"x": 1, "y": 1.38}, - {"x": 2, "y": 1}, - {"x": 3, "y": 1.38}, - {"x": 4, "y": 1.5}, - - {"x": 6, "y": 1.5}, - {"x": 7, "y": 1.38}, - {"x": 8, "y": 1}, - {"x": 9, "y": 1.38}, - {"x": 10, "y": 1.88}, - - {"x": 0, "y": 2.88}, - {"x": 1, "y": 2.38}, - {"x": 2, "y": 2}, - {"x": 3, "y": 2.38}, - {"x": 4, "y": 2.5}, - - {"x": 6, "y": 2.5}, - {"x": 7, "y": 2.38}, - {"x": 8, "y": 2}, - {"x": 9, "y": 2.38}, - {"x": 10, "y": 2.88}, - - {"x": 2, "y": 3.25}, - {"x": 3, "y": 3.38}, - {"x": 4, "y": 3.5}, - - {"x": 6, "y": 3.5}, - {"x": 7, "y": 3.38}, - {"x": 8, "y": 3.25} - ] - } - } + "community_layouts": ["split_3x5_3"] } From e3cbd8a9650a9e85be5c2d90ed21686863382376 Mon Sep 17 00:00:00 2001 From: Duncan Sutherland Date: Mon, 25 Sep 2023 03:57:18 +0100 Subject: [PATCH 111/144] amend 75_(ansi|iso) community_layouts in keyboards/ (#21837) --- keyboards/amjkeyboard/amj84/info.json | 188 ++++++++++++++++++ keyboards/duck/octagon/v2/info.json | 103 +++++++++- keyboards/quad_h/lb75/info.json | 188 ++++++++++++++++++ keyboards/ymdk/ymd75/rev1/info.json | 98 ++++++++- .../ymdk/ymd75/rev1/keymaps/default/keymap.c | 4 +- .../ymdk/ymd75/rev1/keymaps/via/keymap.c | 4 +- keyboards/ymdk/ymd75/rev2/info.json | 98 ++++++++- .../ymdk/ymd75/rev2/keymaps/default/keymap.c | 4 +- .../ymdk/ymd75/rev2/keymaps/via/keymap.c | 4 +- keyboards/ymdk/ymd75/rev3/info.json | 98 ++++++++- .../ymdk/ymd75/rev3/keymaps/default/keymap.c | 4 +- .../ymdk/ymd75/rev3/keymaps/via/keymap.c | 4 +- 12 files changed, 779 insertions(+), 18 deletions(-) diff --git a/keyboards/amjkeyboard/amj84/info.json b/keyboards/amjkeyboard/amj84/info.json index 18a7cdff493..85832229a33 100644 --- a/keyboards/amjkeyboard/amj84/info.json +++ b/keyboards/amjkeyboard/amj84/info.json @@ -23,6 +23,7 @@ "layout_aliases": { "LAYOUT": "LAYOUT_all" }, + "community_layouts": ["75_ansi", "75_iso"], "layouts": { "LAYOUT_all": { "layout": [ @@ -118,6 +119,99 @@ {"matrix": [5, 14], "x": 15, "y": 5} ] }, + "LAYOUT_75_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, 8], "x": 14, "y": 0}, + {"matrix": [0, 14], "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, "w": 2}, + {"matrix": [1, 14], "x": 15, "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": [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": [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": [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, 9], "x": 10, "y": 5}, + {"matrix": [5, 10], "x": 11, "y": 5}, + {"matrix": [5, 11], "x": 12, "y": 5}, + {"matrix": [5, 12], "x": 13, "y": 5}, + {"matrix": [5, 13], "x": 14, "y": 5}, + {"matrix": [5, 14], "x": 15, "y": 5} + ] + }, "LAYOUT_75_ansi_rwkl": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, @@ -210,6 +304,100 @@ {"matrix": [5, 14], "x": 15, "y": 5} ] }, + "LAYOUT_75_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, 8], "x": 14, "y": 0}, + {"matrix": [0, 14], "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, "w": 2}, + {"matrix": [1, 14], "x": 15, "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": [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": [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": [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, 9], "x": 10, "y": 5}, + {"matrix": [5, 10], "x": 11, "y": 5}, + {"matrix": [5, 11], "x": 12, "y": 5}, + {"matrix": [5, 12], "x": 13, "y": 5}, + {"matrix": [5, 13], "x": 14, "y": 5}, + {"matrix": [5, 14], "x": 15, "y": 5} + ] + }, "LAYOUT_75_iso_rwkl": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, diff --git a/keyboards/duck/octagon/v2/info.json b/keyboards/duck/octagon/v2/info.json index c1512f806b9..be552c7b57a 100644 --- a/keyboards/duck/octagon/v2/info.json +++ b/keyboards/duck/octagon/v2/info.json @@ -35,9 +35,12 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", - "community_layouts": ["75_ansi"], + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, + "community_layouts": ["75_ansi", "75_iso"], "layouts": { - "LAYOUT": { + "LAYOUT_all": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -223,7 +226,101 @@ {"matrix": [5, 13], "x": 13, "y": 5}, {"matrix": [5, 14], "x": 14, "y": 5}, {"matrix": [5, 15], "x": 15, "y": 5} - ] + ] + }, + "LAYOUT_75_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": [0, 14], "x": 14, "y": 0}, + {"matrix": [0, 16], "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, 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, 15], "x": 15, "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, 14], "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, 12], "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, 2], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [5, 8], "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} + ] } } } diff --git a/keyboards/quad_h/lb75/info.json b/keyboards/quad_h/lb75/info.json index 99453aae4ca..16701a5e99c 100644 --- a/keyboards/quad_h/lb75/info.json +++ b/keyboards/quad_h/lb75/info.json @@ -41,7 +41,195 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "community_layouts": ["75_ansi", "75_iso"], "layouts": { + "LAYOUT_75_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [1, 6], "x": 13, "y": 0}, + {"matrix": [0, 7], "x": 14, "y": 0}, + {"matrix": [1, 7], "x": 15, "y": 0}, + + {"matrix": [2, 0], "x": 0, "y": 1}, + {"matrix": [3, 0], "x": 1, "y": 1}, + {"matrix": [2, 1], "x": 2, "y": 1}, + {"matrix": [3, 1], "x": 3, "y": 1}, + {"matrix": [2, 2], "x": 4, "y": 1}, + {"matrix": [3, 2], "x": 5, "y": 1}, + {"matrix": [2, 3], "x": 6, "y": 1}, + {"matrix": [3, 3], "x": 7, "y": 1}, + {"matrix": [2, 4], "x": 8, "y": 1}, + {"matrix": [3, 4], "x": 9, "y": 1}, + {"matrix": [2, 5], "x": 10, "y": 1}, + {"matrix": [3, 5], "x": 11, "y": 1}, + {"matrix": [2, 6], "x": 12, "y": 1}, + {"matrix": [3, 6], "x": 13, "y": 1, "w": 2}, + {"matrix": [3, 7], "x": 15, "y": 1}, + + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [5, 0], "x": 1.5, "y": 2}, + {"matrix": [4, 1], "x": 2.5, "y": 2}, + {"matrix": [5, 1], "x": 3.5, "y": 2}, + {"matrix": [4, 2], "x": 4.5, "y": 2}, + {"matrix": [5, 2], "x": 5.5, "y": 2}, + {"matrix": [4, 3], "x": 6.5, "y": 2}, + {"matrix": [5, 3], "x": 7.5, "y": 2}, + {"matrix": [4, 4], "x": 8.5, "y": 2}, + {"matrix": [5, 4], "x": 9.5, "y": 2}, + {"matrix": [4, 5], "x": 10.5, "y": 2}, + {"matrix": [5, 5], "x": 11.5, "y": 2}, + {"matrix": [4, 6], "x": 12.5, "y": 2}, + {"matrix": [4, 7], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [5, 7], "x": 15, "y": 2}, + + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [7, 0], "x": 1.75, "y": 3}, + {"matrix": [6, 1], "x": 2.75, "y": 3}, + {"matrix": [7, 1], "x": 3.75, "y": 3}, + {"matrix": [6, 2], "x": 4.75, "y": 3}, + {"matrix": [7, 2], "x": 5.75, "y": 3}, + {"matrix": [6, 3], "x": 6.75, "y": 3}, + {"matrix": [7, 3], "x": 7.75, "y": 3}, + {"matrix": [6, 4], "x": 8.75, "y": 3}, + {"matrix": [7, 4], "x": 9.75, "y": 3}, + {"matrix": [6, 5], "x": 10.75, "y": 3}, + {"matrix": [7, 5], "x": 11.75, "y": 3}, + {"matrix": [7, 6], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [7, 7], "x": 15, "y": 3}, + + {"matrix": [8, 0], "x": 0, "y": 4, "w": 2.25}, + {"matrix": [8, 1], "x": 2.25, "y": 4}, + {"matrix": [9, 1], "x": 3.25, "y": 4}, + {"matrix": [8, 2], "x": 4.25, "y": 4}, + {"matrix": [9, 2], "x": 5.25, "y": 4}, + {"matrix": [8, 3], "x": 6.25, "y": 4}, + {"matrix": [9, 3], "x": 7.25, "y": 4}, + {"matrix": [8, 4], "x": 8.25, "y": 4}, + {"matrix": [9, 4], "x": 9.25, "y": 4}, + {"matrix": [8, 5], "x": 10.25, "y": 4}, + {"matrix": [9, 5], "x": 11.25, "y": 4}, + {"matrix": [8, 6], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [8, 7], "x": 14, "y": 4}, + {"matrix": [9, 7], "x": 15, "y": 4}, + + {"matrix": [10, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [11, 0], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [10, 1], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [10, 3], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [10, 5], "x": 10, "y": 5}, + {"matrix": [11, 5], "x": 11, "y": 5}, + {"matrix": [10, 6], "x": 12, "y": 5}, + {"matrix": [11, 6], "x": 13, "y": 5}, + {"matrix": [10, 7], "x": 14, "y": 5}, + {"matrix": [11, 7], "x": 15, "y": 5} + ] + }, + "LAYOUT_75_iso": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [1, 6], "x": 13, "y": 0}, + {"matrix": [0, 7], "x": 14, "y": 0}, + {"matrix": [1, 7], "x": 15, "y": 0}, + + {"matrix": [2, 0], "x": 0, "y": 1}, + {"matrix": [3, 0], "x": 1, "y": 1}, + {"matrix": [2, 1], "x": 2, "y": 1}, + {"matrix": [3, 1], "x": 3, "y": 1}, + {"matrix": [2, 2], "x": 4, "y": 1}, + {"matrix": [3, 2], "x": 5, "y": 1}, + {"matrix": [2, 3], "x": 6, "y": 1}, + {"matrix": [3, 3], "x": 7, "y": 1}, + {"matrix": [2, 4], "x": 8, "y": 1}, + {"matrix": [3, 4], "x": 9, "y": 1}, + {"matrix": [2, 5], "x": 10, "y": 1}, + {"matrix": [3, 5], "x": 11, "y": 1}, + {"matrix": [2, 6], "x": 12, "y": 1}, + {"matrix": [3, 6], "x": 13, "y": 1, "w": 2}, + {"matrix": [3, 7], "x": 15, "y": 1}, + + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [5, 0], "x": 1.5, "y": 2}, + {"matrix": [4, 1], "x": 2.5, "y": 2}, + {"matrix": [5, 1], "x": 3.5, "y": 2}, + {"matrix": [4, 2], "x": 4.5, "y": 2}, + {"matrix": [5, 2], "x": 5.5, "y": 2}, + {"matrix": [4, 3], "x": 6.5, "y": 2}, + {"matrix": [5, 3], "x": 7.5, "y": 2}, + {"matrix": [4, 4], "x": 8.5, "y": 2}, + {"matrix": [5, 4], "x": 9.5, "y": 2}, + {"matrix": [4, 5], "x": 10.5, "y": 2}, + {"matrix": [5, 5], "x": 11.5, "y": 2}, + {"matrix": [4, 6], "x": 12.5, "y": 2}, + {"matrix": [5, 7], "x": 15, "y": 2}, + + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [7, 0], "x": 1.75, "y": 3}, + {"matrix": [6, 1], "x": 2.75, "y": 3}, + {"matrix": [7, 1], "x": 3.75, "y": 3}, + {"matrix": [6, 2], "x": 4.75, "y": 3}, + {"matrix": [7, 2], "x": 5.75, "y": 3}, + {"matrix": [6, 3], "x": 6.75, "y": 3}, + {"matrix": [7, 3], "x": 7.75, "y": 3}, + {"matrix": [6, 4], "x": 8.75, "y": 3}, + {"matrix": [7, 4], "x": 9.75, "y": 3}, + {"matrix": [6, 5], "x": 10.75, "y": 3}, + {"matrix": [7, 5], "x": 11.75, "y": 3}, + {"matrix": [4, 7], "x": 12.75, "y": 3}, + {"matrix": [7, 6], "x": 13.75, "y": 2, "w": 1.25, "h": 2}, + {"matrix": [7, 7], "x": 15, "y": 3}, + + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [9, 0], "x": 1.25, "y": 4}, + {"matrix": [8, 1], "x": 2.25, "y": 4}, + {"matrix": [9, 1], "x": 3.25, "y": 4}, + {"matrix": [8, 2], "x": 4.25, "y": 4}, + {"matrix": [9, 2], "x": 5.25, "y": 4}, + {"matrix": [8, 3], "x": 6.25, "y": 4}, + {"matrix": [9, 3], "x": 7.25, "y": 4}, + {"matrix": [8, 4], "x": 8.25, "y": 4}, + {"matrix": [9, 4], "x": 9.25, "y": 4}, + {"matrix": [8, 5], "x": 10.25, "y": 4}, + {"matrix": [9, 5], "x": 11.25, "y": 4}, + {"matrix": [8, 6], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [8, 7], "x": 14, "y": 4}, + {"matrix": [9, 7], "x": 15, "y": 4}, + + {"matrix": [10, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [11, 0], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [10, 1], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [10, 3], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [10, 5], "x": 10, "y": 5}, + {"matrix": [11, 5], "x": 11, "y": 5}, + {"matrix": [10, 6], "x": 12, "y": 5}, + {"matrix": [11, 6], "x": 13, "y": 5}, + {"matrix": [10, 7], "x": 14, "y": 5}, + {"matrix": [11, 7], "x": 15, "y": 5} + ] + }, "LAYOUT_continuous_fnrow": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, diff --git a/keyboards/ymdk/ymd75/rev1/info.json b/keyboards/ymdk/ymd75/rev1/info.json index 5f35c77bc20..fb214285c15 100644 --- a/keyboards/ymdk/ymd75/rev1/info.json +++ b/keyboards/ymdk/ymd75/rev1/info.json @@ -43,8 +43,12 @@ }, "processor": "atmega32a", "bootloader": "bootloadhid", + "layout_aliases":{ + "LAYOUT": "LAYOUT_75_ansi" + }, + "community_layouts": ["75_ansi", "75_iso"], "layouts": { - "LAYOUT": { + "LAYOUT_75_ansi": { "layout": [ {"matrix": [5, 0], "x": 0, "y": 0}, {"matrix": [5, 2], "x": 1, "y": 0}, @@ -137,6 +141,98 @@ {"matrix": [6, 6], "x": 15, "y": 5} ] }, + "LAYOUT_75_ansi_rwkl": { + "layout": [ + {"matrix": [5, 0], "x": 0, "y": 0}, + {"matrix": [5, 2], "x": 1, "y": 0}, + {"matrix": [5, 3], "x": 2, "y": 0}, + {"matrix": [5, 4], "x": 3, "y": 0}, + {"matrix": [5, 5], "x": 4, "y": 0}, + {"matrix": [6, 0], "x": 5, "y": 0}, + {"matrix": [6, 10], "x": 6, "y": 0}, + {"matrix": [7, 10], "x": 7, "y": 0}, + {"matrix": [7, 0], "x": 8, "y": 0}, + {"matrix": [5, 11], "x": 9, "y": 0}, + {"matrix": [5, 12], "x": 10, "y": 0}, + {"matrix": [5, 13], "x": 11, "y": 0}, + {"matrix": [5, 14], "x": 12, "y": 0}, + {"matrix": [1, 13], "x": 13, "y": 0}, + {"matrix": [1, 14], "x": 14, "y": 0}, + {"matrix": [2, 14], "x": 15, "y": 0}, + + {"matrix": [4, 0], "x": 0, "y": 1}, + {"matrix": [4, 1], "x": 1, "y": 1}, + {"matrix": [4, 2], "x": 2, "y": 1}, + {"matrix": [4, 3], "x": 3, "y": 1}, + {"matrix": [4, 4], "x": 4, "y": 1}, + {"matrix": [4, 5], "x": 5, "y": 1}, + {"matrix": [6, 1], "x": 6, "y": 1}, + {"matrix": [6, 11], "x": 7, "y": 1}, + {"matrix": [7, 11], "x": 8, "y": 1}, + {"matrix": [7, 1], "x": 9, "y": 1}, + {"matrix": [4, 10], "x": 10, "y": 1}, + {"matrix": [4, 11], "x": 11, "y": 1}, + {"matrix": [4, 12], "x": 12, "y": 1}, + {"matrix": [4, 14], "x": 13, "y": 1, "w": 2}, + {"matrix": [0, 13], "x": 15, "y": 1}, + + {"matrix": [3, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 2}, + {"matrix": [3, 2], "x": 2.5, "y": 2}, + {"matrix": [3, 3], "x": 3.5, "y": 2}, + {"matrix": [3, 4], "x": 4.5, "y": 2}, + {"matrix": [3, 5], "x": 5.5, "y": 2}, + {"matrix": [6, 2], "x": 6.5, "y": 2}, + {"matrix": [6, 12], "x": 7.5, "y": 2}, + {"matrix": [7, 12], "x": 8.5, "y": 2}, + {"matrix": [7, 2], "x": 9.5, "y": 2}, + {"matrix": [3, 10], "x": 10.5, "y": 2}, + {"matrix": [3, 11], "x": 11.5, "y": 2}, + {"matrix": [3, 12], "x": 12.5, "y": 2}, + {"matrix": [3, 13], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [7, 6], "x": 15, "y": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 3}, + {"matrix": [2, 2], "x": 2.75, "y": 3}, + {"matrix": [2, 3], "x": 3.75, "y": 3}, + {"matrix": [2, 4], "x": 4.75, "y": 3}, + {"matrix": [2, 5], "x": 5.75, "y": 3}, + {"matrix": [6, 3], "x": 6.75, "y": 3}, + {"matrix": [6, 13], "x": 7.75, "y": 3}, + {"matrix": [7, 13], "x": 8.75, "y": 3}, + {"matrix": [7, 3], "x": 9.75, "y": 3}, + {"matrix": [2, 10], "x": 10.75, "y": 3}, + {"matrix": [2, 11], "x": 11.75, "y": 3}, + {"matrix": [2, 13], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [7, 8], "x": 15, "y": 3}, + + {"matrix": [1, 0], "x": 0, "y": 4, "w": 2.25}, + {"matrix": [1, 1], "x": 2.25, "y": 4}, + {"matrix": [1, 2], "x": 3.25, "y": 4}, + {"matrix": [1, 3], "x": 4.25, "y": 4}, + {"matrix": [1, 4], "x": 5.25, "y": 4}, + {"matrix": [1, 5], "x": 6.25, "y": 4}, + {"matrix": [6, 4], "x": 7.25, "y": 4}, + {"matrix": [6, 14], "x": 8.25, "y": 4}, + {"matrix": [7, 14], "x": 9.25, "y": 4}, + {"matrix": [7, 4], "x": 10.25, "y": 4}, + {"matrix": [1, 10], "x": 11.25, "y": 4}, + {"matrix": [1, 11], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [6, 8], "x": 14, "y": 4}, + {"matrix": [7, 7], "x": 15, "y": 4}, + + {"matrix": [0, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [0, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [0, 2], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [6, 5], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [7, 5], "x": 10, "y": 5, "w": 1.5}, + {"matrix": [0, 12], "x": 11.5, "y": 5, "w": 1.5}, + {"matrix": [6, 9], "x": 13, "y": 5}, + {"matrix": [6, 7], "x": 14, "y": 5}, + {"matrix": [6, 6], "x": 15, "y": 5} + ] + }, "LAYOUT_75_iso": { "layout": [ {"matrix": [5, 0], "x": 0, "y": 0}, diff --git a/keyboards/ymdk/ymd75/rev1/keymaps/default/keymap.c b/keyboards/ymdk/ymd75/rev1/keymaps/default/keymap.c index e51f88bb43b..0df14f00321 100644 --- a/keyboards/ymdk/ymd75/rev1/keymaps/default/keymap.c +++ b/keyboards/ymdk/ymd75/rev1/keymaps/default/keymap.c @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │LCTRL │L_GUI │L_ALT │ SPACE │ R_ALT │ R_CTRL │LEFT │DOWN │RIGHT│ * └──────┴──────┴──────┴──────────────────────────────────────┴────────┴────────┴─────┴─────┴─────┘ */ - [_MAIN] = LAYOUT( + [_MAIN] = LAYOUT_75_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_PSCR, KC_DEL, MO(_FN), 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_HOME, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, @@ -66,7 +66,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │ │ │ │ │ │ │ │ │ │ * └──────┴──────┴──────┴──────────────────────────────────────┴────────┴────────┴─────┴─────┴─────┘ */ - [_FN] = LAYOUT( + [_FN] = LAYOUT_75_ansi( RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, BL_UP, BL_DOWN, P_MACRO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_STEP, KC_TRNS, KC_TRNS, 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/ymdk/ymd75/rev1/keymaps/via/keymap.c b/keyboards/ymdk/ymd75/rev1/keymaps/via/keymap.c index 0d39958db63..9c1c4fe697f 100644 --- a/keyboards/ymdk/ymd75/rev1/keymaps/via/keymap.c +++ b/keyboards/ymdk/ymd75/rev1/keymaps/via/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │LCTRL │L_GUI │L_ALT │ SPACE │R_ALT| FN │R_CTR│LEFT │DOWN │RIGHT│ * └──────┴──────┴──────┴──────────────────────────────────────┴─────┴─────┴─────┴─────┴─────┘─────┘ */ - [0] = LAYOUT( + [0] = LAYOUT_75_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_PSCR, KC_PAUS, KC_DEL, 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_HOME, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT( + [1] = LAYOUT_75_ansi( _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/ymdk/ymd75/rev2/info.json b/keyboards/ymdk/ymd75/rev2/info.json index f20a19ee97e..2e2e38ce44d 100644 --- a/keyboards/ymdk/ymd75/rev2/info.json +++ b/keyboards/ymdk/ymd75/rev2/info.json @@ -43,8 +43,12 @@ }, "processor": "atmega32a", "bootloader": "bootloadhid", + "layout_aliases":{ + "LAYOUT": "LAYOUT_75_ansi" + }, + "community_layouts": ["75_ansi", "75_iso"], "layouts": { - "LAYOUT": { + "LAYOUT_75_ansi": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -137,6 +141,98 @@ {"matrix": [5, 11], "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": [5, 14], "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": [5, 13], "x": 15, "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": [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": [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": [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, 6], "x": 10, "y": 5, "w": 1.5}, + {"matrix": [5, 8], "x": 11.5, "y": 5, "w": 1.5}, + {"matrix": [5, 9], "x": 13, "y": 5}, + {"matrix": [5, 10], "x": 14, "y": 5}, + {"matrix": [5, 11], "x": 15, "y": 5} + ] + }, "LAYOUT_75_iso": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, diff --git a/keyboards/ymdk/ymd75/rev2/keymaps/default/keymap.c b/keyboards/ymdk/ymd75/rev2/keymaps/default/keymap.c index e51f88bb43b..0df14f00321 100644 --- a/keyboards/ymdk/ymd75/rev2/keymaps/default/keymap.c +++ b/keyboards/ymdk/ymd75/rev2/keymaps/default/keymap.c @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │LCTRL │L_GUI │L_ALT │ SPACE │ R_ALT │ R_CTRL │LEFT │DOWN │RIGHT│ * └──────┴──────┴──────┴──────────────────────────────────────┴────────┴────────┴─────┴─────┴─────┘ */ - [_MAIN] = LAYOUT( + [_MAIN] = LAYOUT_75_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_PSCR, KC_DEL, MO(_FN), 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_HOME, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, @@ -66,7 +66,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │ │ │ │ │ │ │ │ │ │ * └──────┴──────┴──────┴──────────────────────────────────────┴────────┴────────┴─────┴─────┴─────┘ */ - [_FN] = LAYOUT( + [_FN] = LAYOUT_75_ansi( RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, BL_UP, BL_DOWN, P_MACRO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_STEP, KC_TRNS, KC_TRNS, 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/ymdk/ymd75/rev2/keymaps/via/keymap.c b/keyboards/ymdk/ymd75/rev2/keymaps/via/keymap.c index 0d39958db63..9c1c4fe697f 100644 --- a/keyboards/ymdk/ymd75/rev2/keymaps/via/keymap.c +++ b/keyboards/ymdk/ymd75/rev2/keymaps/via/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │LCTRL │L_GUI │L_ALT │ SPACE │R_ALT| FN │R_CTR│LEFT │DOWN │RIGHT│ * └──────┴──────┴──────┴──────────────────────────────────────┴─────┴─────┴─────┴─────┴─────┘─────┘ */ - [0] = LAYOUT( + [0] = LAYOUT_75_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_PSCR, KC_PAUS, KC_DEL, 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_HOME, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT( + [1] = LAYOUT_75_ansi( _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/ymdk/ymd75/rev3/info.json b/keyboards/ymdk/ymd75/rev3/info.json index 45968ab5fb8..f3ee46edbd4 100644 --- a/keyboards/ymdk/ymd75/rev3/info.json +++ b/keyboards/ymdk/ymd75/rev3/info.json @@ -40,8 +40,12 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases":{ + "LAYOUT": "LAYOUT_75_ansi" + }, + "community_layouts": ["75_ansi", "75_iso"], "layouts": { - "LAYOUT": { + "LAYOUT_75_ansi": { "layout": [ {"matrix": [5, 0], "x": 0, "y": 0}, {"matrix": [5, 1], "x": 1, "y": 0}, @@ -134,6 +138,98 @@ {"matrix": [6, 6], "x": 15, "y": 5} ] }, + "LAYOUT_75_ansi_rwkl": { + "layout": [ + {"matrix": [5, 0], "x": 0, "y": 0}, + {"matrix": [5, 1], "x": 1, "y": 0}, + {"matrix": [5, 2], "x": 2, "y": 0}, + {"matrix": [5, 3], "x": 3, "y": 0}, + {"matrix": [5, 4], "x": 4, "y": 0}, + {"matrix": [5, 5], "x": 5, "y": 0}, + {"matrix": [5, 6], "x": 6, "y": 0}, + {"matrix": [5, 7], "x": 7, "y": 0}, + {"matrix": [5, 8], "x": 8, "y": 0}, + {"matrix": [11, 8], "x": 9, "y": 0}, + {"matrix": [11, 7], "x": 10, "y": 0}, + {"matrix": [11, 5], "x": 11, "y": 0}, + {"matrix": [11, 4], "x": 12, "y": 0}, + {"matrix": [11, 3], "x": 13, "y": 0}, + {"matrix": [11, 6], "x": 14, "y": 0}, + {"matrix": [11, 2], "x": 15, "y": 0}, + + {"matrix": [4, 0], "x": 0, "y": 1}, + {"matrix": [4, 1], "x": 1, "y": 1}, + {"matrix": [4, 2], "x": 2, "y": 1}, + {"matrix": [4, 3], "x": 3, "y": 1}, + {"matrix": [4, 4], "x": 4, "y": 1}, + {"matrix": [4, 5], "x": 5, "y": 1}, + {"matrix": [4, 6], "x": 6, "y": 1}, + {"matrix": [4, 7], "x": 7, "y": 1}, + {"matrix": [4, 8], "x": 8, "y": 1}, + {"matrix": [10, 8], "x": 9, "y": 1}, + {"matrix": [10, 7], "x": 10, "y": 1}, + {"matrix": [10, 5], "x": 11, "y": 1}, + {"matrix": [10, 4], "x": 12, "y": 1}, + {"matrix": [10, 6], "x": 13, "y": 1, "w": 2}, + {"matrix": [10, 2], "x": 15, "y": 1}, + + {"matrix": [3, 0], "x": 0, "y": 2, "w": 1.5}, + {"matrix": [3, 1], "x": 1.5, "y": 2}, + {"matrix": [3, 2], "x": 2.5, "y": 2}, + {"matrix": [3, 3], "x": 3.5, "y": 2}, + {"matrix": [3, 4], "x": 4.5, "y": 2}, + {"matrix": [3, 5], "x": 5.5, "y": 2}, + {"matrix": [3, 6], "x": 6.5, "y": 2}, + {"matrix": [3, 7], "x": 7.5, "y": 2}, + {"matrix": [3, 8], "x": 8.5, "y": 2}, + {"matrix": [9, 8], "x": 9.5, "y": 2}, + {"matrix": [9, 7], "x": 10.5, "y": 2}, + {"matrix": [9, 5], "x": 11.5, "y": 2}, + {"matrix": [9, 4], "x": 12.5, "y": 2}, + {"matrix": [9, 3], "x": 13.5, "y": 2, "w": 1.5}, + {"matrix": [9, 6], "x": 15, "y": 2}, + + {"matrix": [2, 0], "x": 0, "y": 3, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 3}, + {"matrix": [2, 2], "x": 2.75, "y": 3}, + {"matrix": [2, 3], "x": 3.75, "y": 3}, + {"matrix": [2, 4], "x": 4.75, "y": 3}, + {"matrix": [2, 5], "x": 5.75, "y": 3}, + {"matrix": [2, 6], "x": 6.75, "y": 3}, + {"matrix": [2, 7], "x": 7.75, "y": 3}, + {"matrix": [2, 8], "x": 8.75, "y": 3}, + {"matrix": [8, 8], "x": 9.75, "y": 3}, + {"matrix": [8, 7], "x": 10.75, "y": 3}, + {"matrix": [8, 5], "x": 11.75, "y": 3}, + {"matrix": [8, 4], "x": 12.75, "y": 3, "w": 2.25}, + {"matrix": [8, 6], "x": 15, "y": 3}, + + {"matrix": [1, 0], "x": 0, "y": 4, "w": 2.25}, + {"matrix": [1, 2], "x": 2.25, "y": 4}, + {"matrix": [1, 3], "x": 3.25, "y": 4}, + {"matrix": [1, 4], "x": 4.25, "y": 4}, + {"matrix": [1, 5], "x": 5.25, "y": 4}, + {"matrix": [1, 6], "x": 6.25, "y": 4}, + {"matrix": [1, 7], "x": 7.25, "y": 4}, + {"matrix": [1, 8], "x": 8.25, "y": 4}, + {"matrix": [7, 8], "x": 9.25, "y": 4}, + {"matrix": [7, 7], "x": 10.25, "y": 4}, + {"matrix": [7, 5], "x": 11.25, "y": 4}, + {"matrix": [7, 4], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [7, 3], "x": 14, "y": 4}, + {"matrix": [7, 6], "x": 15, "y": 4}, + + {"matrix": [0, 0], "x": 0, "y": 5, "w": 1.25}, + {"matrix": [0, 1], "x": 1.25, "y": 5, "w": 1.25}, + {"matrix": [0, 2], "x": 2.5, "y": 5, "w": 1.25}, + {"matrix": [0, 6], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [0, 8], "x": 10, "y": 5, "w": 1.5}, + {"matrix": [0, 5], "x": 11.5, "y": 5, "w": 1.5}, + {"matrix": [0, 4], "x": 13, "y": 5}, + {"matrix": [0, 3], "x": 14, "y": 5}, + {"matrix": [6, 6], "x": 15, "y": 5} + ] + }, "LAYOUT_75_iso": { "layout": [ {"matrix": [5, 0], "x": 0, "y": 0}, diff --git a/keyboards/ymdk/ymd75/rev3/keymaps/default/keymap.c b/keyboards/ymdk/ymd75/rev3/keymaps/default/keymap.c index e51f88bb43b..0df14f00321 100644 --- a/keyboards/ymdk/ymd75/rev3/keymaps/default/keymap.c +++ b/keyboards/ymdk/ymd75/rev3/keymaps/default/keymap.c @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │LCTRL │L_GUI │L_ALT │ SPACE │ R_ALT │ R_CTRL │LEFT │DOWN │RIGHT│ * └──────┴──────┴──────┴──────────────────────────────────────┴────────┴────────┴─────┴─────┴─────┘ */ - [_MAIN] = LAYOUT( + [_MAIN] = LAYOUT_75_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_PSCR, KC_DEL, MO(_FN), 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_HOME, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, @@ -66,7 +66,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │ │ │ │ │ │ │ │ │ │ * └──────┴──────┴──────┴──────────────────────────────────────┴────────┴────────┴─────┴─────┴─────┘ */ - [_FN] = LAYOUT( + [_FN] = LAYOUT_75_ansi( RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, BL_UP, BL_DOWN, P_MACRO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_STEP, KC_TRNS, KC_TRNS, 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/ymdk/ymd75/rev3/keymaps/via/keymap.c b/keyboards/ymdk/ymd75/rev3/keymaps/via/keymap.c index 0d39958db63..9c1c4fe697f 100644 --- a/keyboards/ymdk/ymd75/rev3/keymaps/via/keymap.c +++ b/keyboards/ymdk/ymd75/rev3/keymaps/via/keymap.c @@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │LCTRL │L_GUI │L_ALT │ SPACE │R_ALT| FN │R_CTR│LEFT │DOWN │RIGHT│ * └──────┴──────┴──────┴──────────────────────────────────────┴─────┴─────┴─────┴─────┴─────┘─────┘ */ - [0] = LAYOUT( + [0] = LAYOUT_75_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_PSCR, KC_PAUS, KC_DEL, 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_HOME, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END, @@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), - [1] = LAYOUT( + [1] = LAYOUT_75_ansi( _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, From c10a46aa436fdd55279bf5b78cc5b9b54c90ca56 Mon Sep 17 00:00:00 2001 From: Andrew Kannan Date: Sun, 24 Sep 2023 22:59:38 -0400 Subject: [PATCH 112/144] Add is0gr to QMK (#22024) Co-authored-by: Duncan Sutherland Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com> --- keyboards/cannonkeys/is0gr/info.json | 32 +++++++++++++++++++ .../cannonkeys/is0gr/keymaps/default/keymap.c | 10 ++++++ .../cannonkeys/is0gr/keymaps/via/keymap.c | 11 +++++++ .../cannonkeys/is0gr/keymaps/via/rules.mk | 1 + keyboards/cannonkeys/is0gr/readme.md | 24 ++++++++++++++ keyboards/cannonkeys/is0gr/rules.mk | 2 ++ 6 files changed, 80 insertions(+) create mode 100644 keyboards/cannonkeys/is0gr/info.json create mode 100644 keyboards/cannonkeys/is0gr/keymaps/default/keymap.c create mode 100644 keyboards/cannonkeys/is0gr/keymaps/via/keymap.c create mode 100644 keyboards/cannonkeys/is0gr/keymaps/via/rules.mk create mode 100644 keyboards/cannonkeys/is0gr/readme.md create mode 100644 keyboards/cannonkeys/is0gr/rules.mk diff --git a/keyboards/cannonkeys/is0gr/info.json b/keyboards/cannonkeys/is0gr/info.json new file mode 100644 index 00000000000..3fd95577d89 --- /dev/null +++ b/keyboards/cannonkeys/is0gr/info.json @@ -0,0 +1,32 @@ +{ + "manufacturer": "CannonKeys", + "keyboard_name": "is0GR", + "maintainer": "awkannan", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["B3"], + "rows": ["A15"] + }, + "processor": "STM32F072", + "url": "https://cannonkeys.com", + "usb": { + "device_version": "0.0.1", + "pid": "0xCA04", + "vid": "0x0028" + }, + "community_layouts": ["ortho_1x1"], + "layouts": { + "LAYOUT_ortho_1x1": { + "layout": [ + {"matrix": [0, 0], "x": 0.25, "y": 0, "w": 1.25, "h": 2} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/cannonkeys/is0gr/keymaps/default/keymap.c b/keyboards/cannonkeys/is0gr/keymaps/default/keymap.c new file mode 100644 index 00000000000..49f0cdb4916 --- /dev/null +++ b/keyboards/cannonkeys/is0gr/keymaps/default/keymap.c @@ -0,0 +1,10 @@ +// Copyright 2023 Andrew Kannan +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_1x1( + KC_ENT + ), +}; diff --git a/keyboards/cannonkeys/is0gr/keymaps/via/keymap.c b/keyboards/cannonkeys/is0gr/keymaps/via/keymap.c new file mode 100644 index 00000000000..10451984f06 --- /dev/null +++ b/keyboards/cannonkeys/is0gr/keymaps/via/keymap.c @@ -0,0 +1,11 @@ +// Copyright 2023 Andrew Kannan +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_1x1( + KC_ENT + ), +}; + diff --git a/keyboards/cannonkeys/is0gr/keymaps/via/rules.mk b/keyboards/cannonkeys/is0gr/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/cannonkeys/is0gr/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/cannonkeys/is0gr/readme.md b/keyboards/cannonkeys/is0gr/readme.md new file mode 100644 index 00000000000..f6fb2b8f61e --- /dev/null +++ b/keyboards/cannonkeys/is0gr/readme.md @@ -0,0 +1,24 @@ +# Alchemist Keyboards is0GR + +is0GR Keyboard + +Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan) +Hardware Supported: STM32F072CBT6 or equivalent + +Make example for this keyboard (after setting up your build environment): + + make cannonkeys/is0gr:default + +Flashing example for this keyboard: + + make cannonkeys/is0gr: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 (on this board - it's the only key) and plug in the keyboard +* **Physical reset button**: Bridge the two pads labeled "RESET" on the top of the PCB using some tweezers, and hold the tweezers there until the board enters the bootloader mode +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available (it isn't by default) diff --git a/keyboards/cannonkeys/is0gr/rules.mk b/keyboards/cannonkeys/is0gr/rules.mk new file mode 100644 index 00000000000..0ab54aaaf71 --- /dev/null +++ b/keyboards/cannonkeys/is0gr/rules.mk @@ -0,0 +1,2 @@ +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF From 4d994458f02482a659e0f7580576c92e950321d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20B=C3=BCchler?= Date: Mon, 25 Sep 2023 05:00:13 +0200 Subject: [PATCH 113/144] Document the RP2040-specific PS/2 implementation (#22079) Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com> --- docs/feature_ps2_mouse.md | 23 +++++++++++++++++++ .../drivers/vendor/RP/RP2040/ps2_vendor.c | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/docs/feature_ps2_mouse.md b/docs/feature_ps2_mouse.md index e714d9b8676..766fd6fe78f 100644 --- a/docs/feature_ps2_mouse.md +++ b/docs/feature_ps2_mouse.md @@ -155,6 +155,29 @@ In your keyboard config.h: #endif ``` +### RP2040 PIO Version :id=rp2040-pio-version + +The `PIO` subsystem is a Raspberry Pi RP2040 specific implementation, using the integrated PIO peripheral and is therefore only available on this MCU. + +There are strict requirements for pin ordering but any pair of GPIO pins can be used. The GPIO used for clock must be directly after data, see the included info.json snippet for an example of correct order. + +You may optionally switch the PIO peripheral used with the following define in config.h: +```c +#define PS2_PIO_USE_PIO1 // Force the usage of PIO1 peripheral, by default the PS2 implementation uses the PIO0 peripheral +``` + +Example info.json content: + +```json + "ps2": { + "clock_pin": "GP1", + "data_pin": "GP0", + "driver": "vendor", + "enabled": true, + "mouse_enabled": true + } +``` + ## Additional Settings :id=additional-settings ### PS/2 Mouse Features :id=ps2-mouse-features diff --git a/platforms/chibios/drivers/vendor/RP/RP2040/ps2_vendor.c b/platforms/chibios/drivers/vendor/RP/RP2040/ps2_vendor.c index 119c6354b06..1c61f196bde 100644 --- a/platforms/chibios/drivers/vendor/RP/RP2040/ps2_vendor.c +++ b/platforms/chibios/drivers/vendor/RP/RP2040/ps2_vendor.c @@ -22,7 +22,7 @@ #endif #if PS2_DATA_PIN + 1 != PS2_CLOCK_PIN -# error PS/2 Clock pin must be followed by data pin! +# error PS/2 clock pin must be data pin + 1! #endif static inline void pio_serve_interrupt(void); From 0c4bd1ccdce12e9207054e398c00257d1198a651 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Sep 2023 13:00:34 +1000 Subject: [PATCH 114/144] Bump tj-actions/changed-files from 38 to 39 (#21923) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/format.yml | 2 +- .github/workflows/lint.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml index 11b4a8a9f45..9e8b80c883e 100644 --- a/.github/workflows/format.yml +++ b/.github/workflows/format.yml @@ -35,7 +35,7 @@ jobs: - name: Get changed files id: file_changes - uses: tj-actions/changed-files@v38 + uses: tj-actions/changed-files@v39 - name: Run qmk formatters shell: 'bash {0}' diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index e0286b83fc4..9862ff502c5 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -27,7 +27,7 @@ jobs: - name: Get changed files id: file_changes - uses: tj-actions/changed-files@v38 + uses: tj-actions/changed-files@v39 - name: Print info run: | From 7e923580a51c03a6d45aa4997c7b8e62da6b5cdf Mon Sep 17 00:00:00 2001 From: Ross Montsinger Date: Sun, 24 Sep 2023 23:33:55 -0400 Subject: [PATCH 115/144] Add Palmetto PCB (#21955) --- keyboards/montsinger/palmetto/config.h | 9 + keyboards/montsinger/palmetto/info.json | 649 ++++++++++++++++++ .../palmetto/keymaps/default/keymap.c | 32 + .../montsinger/palmetto/keymaps/via/keymap.c | 32 + .../montsinger/palmetto/keymaps/via/rules.mk | 1 + keyboards/montsinger/palmetto/readme.md | 26 + keyboards/montsinger/palmetto/rules.mk | 1 + 7 files changed, 750 insertions(+) create mode 100755 keyboards/montsinger/palmetto/config.h create mode 100755 keyboards/montsinger/palmetto/info.json create mode 100644 keyboards/montsinger/palmetto/keymaps/default/keymap.c create mode 100644 keyboards/montsinger/palmetto/keymaps/via/keymap.c create mode 100644 keyboards/montsinger/palmetto/keymaps/via/rules.mk create mode 100644 keyboards/montsinger/palmetto/readme.md create mode 100755 keyboards/montsinger/palmetto/rules.mk diff --git a/keyboards/montsinger/palmetto/config.h b/keyboards/montsinger/palmetto/config.h new file mode 100755 index 00000000000..423a60477f4 --- /dev/null +++ b/keyboards/montsinger/palmetto/config.h @@ -0,0 +1,9 @@ +// Copyright 2023 Ross Montsinger +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U +#define RP2040_FLASH_GENERIC_03H diff --git a/keyboards/montsinger/palmetto/info.json b/keyboards/montsinger/palmetto/info.json new file mode 100755 index 00000000000..efe81dd9c30 --- /dev/null +++ b/keyboards/montsinger/palmetto/info.json @@ -0,0 +1,649 @@ +{ + "manufacturer": "Montsinger", + "keyboard_name": "Palmetto", + "maintainer": "Rossman360", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": false + }, + "matrix_pins": { + "cols": ["GP28", "GP27", "GP29", "GP0", "GP1", "GP9", "GP26", "GP18", "GP10", "GP11", "GP25", "GP24", "GP12", "GP21", "GP13"], + "rows": ["GP5", "GP4", "GP3", "GP2", "GP15"] + }, + "processor": "RP2040", + "url": "https://carolinamech.com", + "usb": { + "device_version": "2.0.1", + "pid": "0x0006", + "vid": "0x524D" + }, + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_iso", + "60_iso_split_bs_rshift", + "60_iso_tsangan", + "60_tsangan_hhkb", + "60_hhkb" + ], + "layouts": { + "LAYOUT_60_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, "w": 2}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.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, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 12], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 12.5, "y": 4}, + {"matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_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, "w": 2}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + + {"matrix": [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": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.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, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + + {"matrix": [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": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [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": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 12], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 12.5, "y": 4}, + {"matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_tsangan_hhkb": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 12], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 12.5, "y": 4}, + {"matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_hhkb": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 12], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 12.5, "y": 4} + ] + }, + "LAYOUT_60_iso_tsangan_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 14, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [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": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 13], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 12], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 12.5, "y": 4}, + {"matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5} + ] + } + } +} diff --git a/keyboards/montsinger/palmetto/keymaps/default/keymap.c b/keyboards/montsinger/palmetto/keymaps/default/keymap.c new file mode 100644 index 00000000000..5d7b042b27a --- /dev/null +++ b/keyboards/montsinger/palmetto/keymaps/default/keymap.c @@ -0,0 +1,32 @@ +// Copyright 2023 Ross Montsinger +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +enum layer_names { + _BASE, + _FN1 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_60_ansi( + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FN1), KC_RCTL + ), + + [_FN1] = LAYOUT_60_ansi( + QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, + RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, _______, _______, _______, _______, _______, _______, QK_BOOT + ) +}; diff --git a/keyboards/montsinger/palmetto/keymaps/via/keymap.c b/keyboards/montsinger/palmetto/keymaps/via/keymap.c new file mode 100644 index 00000000000..5d7b042b27a --- /dev/null +++ b/keyboards/montsinger/palmetto/keymaps/via/keymap.c @@ -0,0 +1,32 @@ +// Copyright 2023 Ross Montsinger +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. +enum layer_names { + _BASE, + _FN1 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_60_ansi( + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FN1), KC_RCTL + ), + + [_FN1] = LAYOUT_60_ansi( + QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, + RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_GRV, _______, _______, _______, _______, _______, _______, QK_BOOT + ) +}; diff --git a/keyboards/montsinger/palmetto/keymaps/via/rules.mk b/keyboards/montsinger/palmetto/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/montsinger/palmetto/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/montsinger/palmetto/readme.md b/keyboards/montsinger/palmetto/readme.md new file mode 100644 index 00000000000..d237f9c91cb --- /dev/null +++ b/keyboards/montsinger/palmetto/readme.md @@ -0,0 +1,26 @@ +# Palmetto PCB + +Palmetto PCB from Montsinger (https://i.imgur.com/VmmAW97.jpeg) + +* Keyboard Maintainer: [Ross Montsinger](https://github.com/rossman360) +* Hardware Supported: RP2040 +* Hardware Availability: [Carolina Mech](https://carolinamech.com) + + +Make example for this keyboard (after setting up your build environment): + + make montsinger/palmetto:default + +Flashing example for this keyboard: + + make montsinger/palmetto: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**: Hold the "BOOTMODE" button on the back of the PCB and briefly press the "RESET" 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/montsinger/palmetto/rules.mk b/keyboards/montsinger/palmetto/rules.mk new file mode 100755 index 00000000000..8b137891791 --- /dev/null +++ b/keyboards/montsinger/palmetto/rules.mk @@ -0,0 +1 @@ + From 538978b782bdd3ed034c477e22fa60bf541e3a27 Mon Sep 17 00:00:00 2001 From: spbgzh <72414103+spbgzh@users.noreply.github.com> Date: Mon, 25 Sep 2023 08:13:00 +0300 Subject: [PATCH 116/144] Add zoom98 (#22062) Co-authored-by: Drashna Jaelre Co-authored-by: Joel Challis --- keyboards/meletrix/zoom98/config.h | 24 ++ keyboards/meletrix/zoom98/info.json | 215 ++++++++++++++++++ .../meletrix/zoom98/keymaps/default/keymap.c | 43 ++++ .../meletrix/zoom98/keymaps/default/rules.mk | 1 + .../meletrix/zoom98/keymaps/via/keymap.c | 44 ++++ .../meletrix/zoom98/keymaps/via/rules.mk | 3 + keyboards/meletrix/zoom98/readme.md | 25 ++ keyboards/meletrix/zoom98/rules.mk | 1 + keyboards/meletrix/zoom98/zoom98.c | 31 +++ 9 files changed, 387 insertions(+) create mode 100644 keyboards/meletrix/zoom98/config.h create mode 100644 keyboards/meletrix/zoom98/info.json create mode 100644 keyboards/meletrix/zoom98/keymaps/default/keymap.c create mode 100644 keyboards/meletrix/zoom98/keymaps/default/rules.mk create mode 100644 keyboards/meletrix/zoom98/keymaps/via/keymap.c create mode 100644 keyboards/meletrix/zoom98/keymaps/via/rules.mk create mode 100644 keyboards/meletrix/zoom98/readme.md create mode 100644 keyboards/meletrix/zoom98/rules.mk create mode 100644 keyboards/meletrix/zoom98/zoom98.c diff --git a/keyboards/meletrix/zoom98/config.h b/keyboards/meletrix/zoom98/config.h new file mode 100644 index 00000000000..88c82de3bfc --- /dev/null +++ b/keyboards/meletrix/zoom98/config.h @@ -0,0 +1,24 @@ +/* +Copyright 2023 meletrix + +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 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE diff --git a/keyboards/meletrix/zoom98/info.json b/keyboards/meletrix/zoom98/info.json new file mode 100644 index 00000000000..0a57fc3bb64 --- /dev/null +++ b/keyboards/meletrix/zoom98/info.json @@ -0,0 +1,215 @@ +{ + "keyboard_name": "zoom98", + "manufacturer": "meletrix", + "url": "https://meletrix.com/", + "maintainer": "spbgzh", + "usb": { + "vid": "0x36B5", + "pid": "0x27D6", + "device_version": "0.0.1" + }, + "encoder": { + "rotary": [ + {"pin_a": "B2", "pin_b": "B1", "resolution": 2} + ] + }, + "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 3 + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "rgb_matrix": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "encoder": true + }, + "ws2812": { + "pin": "B7" + }, + "rgb_matrix":{ + "driver":"ws2812", + "max_brightness": 200, + "animations": { + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "rainbow_moving_chevron":true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "typing_heatmap": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_multinexus": true, + "splash": true, + "solid_splash": true + }, + "layout": [ + { "matrix": [0, 1], "x": 0, "y": 0, "flags": 4 }, + { "matrix": [0, 2], "x": 0, "y": 0, "flags": 4 }, + { "matrix": [2, 1], "x": 0, "y": 1, "flags": 4 }, + { "matrix": [2, 2], "x": 0, "y": 1, "flags": 4 }, + { "matrix": [4, 1], "x": 0, "y": 2, "flags": 4 }, + { "matrix": [4, 2], "x": 0, "y": 2, "flags": 4 }, + { "matrix": [6, 1], "x": 0, "y": 3, "flags": 4 }, + { "matrix": [6, 2], "x": 0, "y": 3, "flags": 4 }, + { "matrix": [8, 1], "x": 0, "y": 4, "flags": 4 }, + { "matrix": [8, 2], "x": 0, "y": 4, "flags": 4 }, + { "matrix": [1, 8], "x": 20.5, "y": 0, "flags": 4 }, + { "matrix": [1, 7], "x": 20.5, "y": 0, "flags": 4 }, + { "matrix": [3, 8], "x": 20.5, "y": 1, "flags": 4 }, + { "matrix": [3, 7], "x": 20.5, "y": 1, "flags": 4 }, + { "matrix": [5, 8], "x": 20.5, "y": 2, "flags": 4 }, + { "matrix": [5, 7], "x": 20.5, "y": 2, "flags": 4 }, + { "matrix": [7, 8], "x": 20.5, "y": 3, "flags": 4 }, + { "matrix": [7, 7], "x": 20.5, "y": 3, "flags": 4 }, + { "matrix": [9, 8], "x": 20.5, "y": 4, "flags": 4 }, + { "matrix": [9, 7], "x": 20.5, "y": 4, "flags": 4 }, + { "matrix": [6, 0], "x": 0, "y": 3.25, "flags": 1 } + ] + }, + "matrix_pins": { + "rows": ["E6", "B0", "F1", "D0", "F0", "B3", "C7", "D6", "B6", "C6", "B5", "D4"], + "cols": ["F7", "F4", "F6", "D2", "F5", "D5", "D1", "D7", "D3", "B4"] + }, + "processor": "atmega32u4", + "bootloader": "atmel-dfu", + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "label": "Esc", "x": 0, "y": 0}, + {"matrix": [0, 1], "label": "F1", "x": 1.25, "y": 0}, + {"matrix": [0, 2], "label": "F2", "x": 2.25, "y": 0}, + {"matrix": [0, 3], "label": "F3", "x": 3.25, "y": 0}, + {"matrix": [0, 4], "label": "F4", "x": 4.25, "y": 0}, + {"matrix": [0, 5], "label": "F5", "x": 5.5, "y": 0}, + {"matrix": [0, 6], "label": "F6", "x": 6.5, "y": 0}, + {"matrix": [0, 7], "label": "F7", "x": 7.5, "y": 0}, + {"matrix": [0, 8], "label": "F8", "x": 8.5, "y": 0}, + {"matrix": [0, 9], "label": "F9", "x": 9.75, "y": 0}, + {"matrix": [1, 0], "label": "F10", "x": 10.75, "y": 0}, + {"matrix": [1, 1], "label": "F11", "x": 11.75, "y": 0}, + {"matrix": [1, 2], "label": "F12", "x": 12.75, "y": 0}, + {"matrix": [1, 3], "label": "F13", "x": 14, "y": 0}, + {"matrix": [1, 4], "label": "F14", "x": 15.25, "y": 0}, + {"matrix": [1, 5], "label": "Mute", "x": 16.25, "y": 0}, + {"matrix": [1, 6], "label": "Home", "x": 17.5, "y": 0}, + {"matrix": [1, 7], "label": "Prtsc", "x": 18.5, "y": 0}, + {"matrix": [1, 8], "label": "Scroll", "x": 19.5, "y": 0}, + {"matrix": [1, 9], "label": "Pause", "x": 20.5, "y": 0}, + + {"matrix": [2, 0], "label": "~", "x": 0, "y": 1.25}, + {"matrix": [2, 1], "label": "1", "x": 1, "y": 1.25}, + {"matrix": [2, 2], "label": "2", "x": 2, "y": 1.25}, + {"matrix": [2, 3], "label": "3", "x": 3, "y": 1.25}, + {"matrix": [2, 4], "label": "4", "x": 4, "y": 1.25}, + {"matrix": [2, 5], "label": "5", "x": 5, "y": 1.25}, + {"matrix": [2, 6], "label": "6", "x": 6, "y": 1.25}, + {"matrix": [2, 7], "label": "7", "x": 7, "y": 1.25}, + {"matrix": [2, 8], "label": "8", "x": 8, "y": 1.25}, + {"matrix": [2, 9], "label": "9", "x": 9, "y": 1.25}, + {"matrix": [3, 0], "label": "0", "x": 10, "y": 1.25}, + {"matrix": [3, 1], "label": "-", "x": 11, "y": 1.25}, + {"matrix": [3, 2], "label": "=", "x": 12, "y": 1.25}, + {"matrix": [3, 3], "label": "Backspace", "x": 13, "y": 1.25}, + {"matrix": [7, 4], "label": "Backspace1", "x": 14, "y": 1.25}, + {"matrix": [3, 4], "label": "Ins", "x": 15.25, "y": 1.25}, + {"matrix": [3, 5], "label": "PageUp", "x": 16.25, "y": 1.25}, + {"matrix": [3, 6], "label": "Num", "x": 17.5, "y": 1.25}, + {"matrix": [3, 7], "label": "//", "x": 18.5, "y": 1.25}, + {"matrix": [3, 8], "label": "*", "x": 19.5, "y": 1.25}, + {"matrix": [3, 9], "label": "-", "x": 20.5, "y": 1.25}, + + {"matrix": [4, 0], "label": "Tab", "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [4, 1], "label": "Q", "x": 1.5, "y": 2.25}, + {"matrix": [4, 2], "label": "W", "x": 2.5, "y": 2.25}, + {"matrix": [4, 3], "label": "E", "x": 3.5, "y": 2.25}, + {"matrix": [4, 4], "label": "R", "x": 4.5, "y": 2.25}, + {"matrix": [4, 5], "label": "T", "x": 5.5, "y": 2.25}, + {"matrix": [4, 6], "label": "Y", "x": 6.5, "y": 2.25}, + {"matrix": [4, 7], "label": "U", "x": 7.5, "y": 2.25}, + {"matrix": [4, 8], "label": "I", "x": 8.5, "y": 2.25}, + {"matrix": [4, 9], "label": "O", "x": 9.5, "y": 2.25}, + {"matrix": [5, 0], "label": "P", "x": 10.5, "y": 2.25}, + {"matrix": [5, 1], "label": "[", "x": 11.5, "y": 2.25}, + {"matrix": [5, 2], "label": "]", "x": 12.5, "y": 2.25}, + {"matrix": [5, 3], "label": "\\", "x": 13.5, "y": 2.25, "w": 1.5}, + {"matrix": [5, 4], "label": "Delete", "x": 15.25, "y": 2.25}, + {"matrix": [5, 5], "label": "PageDown", "x": 16.25, "y": 2.25}, + {"matrix": [5, 6], "label": "7", "x": 17.5, "y": 2.25}, + {"matrix": [5, 7], "label": "8", "x": 18.5, "y": 2.25}, + {"matrix": [5, 8], "label": "9", "x": 19.5, "y": 2.25}, + + {"matrix": [6, 0], "label": "Caps Lock", "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [6, 1], "label": "A", "x": 1.75, "y": 3.25}, + {"matrix": [6, 2], "label": "S", "x": 2.75, "y": 3.25}, + {"matrix": [6, 3], "label": "D", "x": 3.75, "y": 3.25}, + {"matrix": [6, 4], "label": "F", "x": 4.75, "y": 3.25}, + {"matrix": [6, 5], "label": "G", "x": 5.75, "y": 3.25}, + {"matrix": [6, 6], "label": "H", "x": 6.75, "y": 3.25}, + {"matrix": [6, 7], "label": "J", "x": 7.75, "y": 3.25}, + {"matrix": [6, 8], "label": "K", "x": 8.75, "y": 3.25}, + {"matrix": [6, 9], "label": "L", "x": 9.75, "y": 3.25}, + {"matrix": [7, 0], "label": ";", "x": 10.75, "y": 3.25}, + {"matrix": [7, 1], "label": "'", "x": 11.75, "y": 3.25}, + {"matrix": [7, 2], "label": "Enter", "x": 12.75, "y": 3.25, "w": 2.25}, + {"matrix": [7, 6], "label": "4", "x": 17.5, "y": 3.25}, + {"matrix": [7, 7], "label": "5", "x": 18.5, "y": 3.25}, + {"matrix": [7, 8], "label": "6", "x": 19.5, "y": 3.25}, + {"matrix": [7, 9], "label": "+", "x": 20.5, "y": 2.25,"h":2}, + + {"matrix": [8, 0], "label": "Shift1", "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [8, 1], "label": "Shift2", "x": 1.25, "y": 4.25}, + {"matrix": [8, 2], "label": "Z", "x": 2.25, "y": 4.25}, + {"matrix": [8, 3], "label": "X", "x": 3.25, "y": 4.25}, + {"matrix": [8, 4], "label": "C", "x": 4.25, "y": 4.25}, + {"matrix": [8, 5], "label": "V", "x": 5.25, "y": 4.25}, + {"matrix": [8, 6], "label": "B", "x": 6.25, "y": 4.25}, + {"matrix": [8, 7], "label": "N", "x": 7.25, "y": 4.25}, + {"matrix": [8, 8], "label": "M", "x": 8.25, "y": 4.25}, + {"matrix": [8, 9], "label": ",", "x": 9.25, "y": 4.25}, + {"matrix": [9, 0], "label": ".", "x": 10.25, "y": 4.25}, + {"matrix": [9, 1], "label": "/", "x": 11.25, "y": 4.25}, + {"matrix": [9, 2], "label": "Shift1", "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [9, 3], "label": "Shift2", "x": 14, "y": 4.25}, + {"matrix": [9, 4], "label": "\u2191", "x": 15.25, "y": 4.25}, + {"matrix": [9, 6], "label": "1", "x": 17.5, "y": 4.25}, + {"matrix": [9, 7], "label": "2", "x": 18.5, "y": 4.25}, + {"matrix": [9, 8], "label": "3", "x": 19.5, "y": 4.25}, + + {"matrix": [10, 0], "label": "Ctrl", "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [10, 1], "label": "Win", "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [10, 2], "label": "Alt", "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [10, 5], "label": "Space", "x": 3.75, "y": 5.25, "w": 2.25}, + {"matrix": [10, 6], "label": "Space", "x": 6, "y": 5.25, "w": 1.25}, + {"matrix": [10, 7], "label": "Space", "x": 7.25, "y": 5.25, "w": 2.75}, + {"matrix": [11, 0], "label": "Alt", "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [11, 1], "label": "Fn", "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [11, 2], "label": "Ctrl", "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [11, 3], "label": "\u2190", "x": 14.25, "y": 5.25}, + {"matrix": [11, 4], "label": "\u2193", "x": 15.25, "y": 5.25}, + {"matrix": [11, 5], "label": "\u2192", "x": 16.25, "y": 5.25}, + {"matrix": [11, 7], "label": "0", "x": 17.5, "y": 5.25, "w": 2}, + {"matrix": [11, 8], "label": ".", "x": 19.5, "y": 5.25}, + {"matrix": [11, 9], "label": "Enter", "x": 20.5, "y": 4.25, "h": 2} + ] + } + } +} diff --git a/keyboards/meletrix/zoom98/keymaps/default/keymap.c b/keyboards/meletrix/zoom98/keymaps/default/keymap.c new file mode 100644 index 00000000000..591c4bdf689 --- /dev/null +++ b/keyboards/meletrix/zoom98/keymaps/default/keymap.c @@ -0,0 +1,43 @@ +/* Copyright 2023 meletrix + * + * 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 + +#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_MPRV, KC_MNXT), }, +}; +#endif + +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_F13, KC_F14, KC_MUTE, KC_HOME, KC_PSCR, KC_SCRL, KC_PAUS, + 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_INS, KC_PGUP, 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_DEL, KC_PGDN, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT, KC_PENT + ), + [1] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; diff --git a/keyboards/meletrix/zoom98/keymaps/default/rules.mk b/keyboards/meletrix/zoom98/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/meletrix/zoom98/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/meletrix/zoom98/keymaps/via/keymap.c b/keyboards/meletrix/zoom98/keymaps/via/keymap.c new file mode 100644 index 00000000000..7ffcdd8e38a --- /dev/null +++ b/keyboards/meletrix/zoom98/keymaps/via/keymap.c @@ -0,0 +1,44 @@ +/* Copyright 2023 meletrix + * + * 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 + + +#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_MNXT, KC_MPRV) }, +}; +#endif + +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_F13, KC_F14, KC_MUTE, KC_HOME, KC_PSCR, KC_SCRL, KC_PAUS, + 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_INS, KC_PGUP, 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_DEL, KC_PGDN, 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT, KC_PENT + ), + [1] = LAYOUT( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; diff --git a/keyboards/meletrix/zoom98/keymaps/via/rules.mk b/keyboards/meletrix/zoom98/keymaps/via/rules.mk new file mode 100644 index 00000000000..5ed7f6a38ca --- /dev/null +++ b/keyboards/meletrix/zoom98/keymaps/via/rules.mk @@ -0,0 +1,3 @@ +ENCODER_MAP_ENABLE = yes +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/meletrix/zoom98/readme.md b/keyboards/meletrix/zoom98/readme.md new file mode 100644 index 00000000000..42b8408e48a --- /dev/null +++ b/keyboards/meletrix/zoom98/readme.md @@ -0,0 +1,25 @@ +# Zoom98 + +More Info at [Zoom98 Wired Version](https://meletrix.com/) +​ +* Keyboard Maintainer: [spbgzh](https://github.com/spbgzh) +* Hardware Supported: Zoom98 Wired Version +* Hardware Availability: [zoom98](https://meletrix.com/) + +Make example for this keyboard (after setting up your build environment): + + make meletrix/zoom98:default + +Flashing example for this keyboard: + + make meletrix/zoom98: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 using one of the following methods: + +* Tap the Reset switch mounted on the PCB +* In the case of the default keymap, use the key combination Fn + Delete +* Hold the Esc key while connecting the USB cable (also erases persistent settings) diff --git a/keyboards/meletrix/zoom98/rules.mk b/keyboards/meletrix/zoom98/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/meletrix/zoom98/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/meletrix/zoom98/zoom98.c b/keyboards/meletrix/zoom98/zoom98.c new file mode 100644 index 00000000000..5ebd292eca4 --- /dev/null +++ b/keyboards/meletrix/zoom98/zoom98.c @@ -0,0 +1,31 @@ +/* Copyright 2023 meletrix + * + * 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 "quantum.h" + +bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { + if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { + return false; + } + if (host_keyboard_led_state().caps_lock) { + for (uint8_t i = led_min; i < led_max; i++) { + if (g_led_config.flags[i] & LED_FLAG_MODIFIER) { + rgb_matrix_set_color(i, RGB_WHITE); + } + } + } + return false; +} From 2fad45132f0777002934e07d17bfe8ec7aa95740 Mon Sep 17 00:00:00 2001 From: Joy Lee Date: Mon, 25 Sep 2023 17:45:48 +0800 Subject: [PATCH 117/144] Added more rgb effects for rpk-001 keyboard (#22120) --- keyboards/phentech/rpk_001/info.json | 46 ++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/keyboards/phentech/rpk_001/info.json b/keyboards/phentech/rpk_001/info.json index 105a126160b..3d89d012ee2 100644 --- a/keyboards/phentech/rpk_001/info.json +++ b/keyboards/phentech/rpk_001/info.json @@ -36,6 +36,52 @@ }, "rgb_matrix": { "driver": "aw20216", + "animations": { + "solid_color": true, + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "rainbow_moving_chevron": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "pixel_fractal": true, + "pixel_flow": true, + "pixel_rain": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_wide": true, + "solid_reactive_multiwide": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_nexus": true, + "solid_reactive_multinexus": true, + "splash": true, + "multisplash": true, + "solid_splash": true, + "solid_multisplash": true + }, "layout": [ { "flags": 4, "matrix": [0, 0], "x": 0, "y": 0 }, { "flags": 4, "matrix": [0, 1], "x": 16, "y": 0 }, From 6eb2e43a8d61694b05016e9a6c95303ff9d5e761 Mon Sep 17 00:00:00 2001 From: Ikko Eltociear Ashimine Date: Tue, 26 Sep 2023 04:40:27 +0900 Subject: [PATCH 118/144] Fix typo in oled_driver (#22134) betwen -> between --- docs/feature_oled_driver.md | 2 +- drivers/oled/oled_driver.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/feature_oled_driver.md b/docs/feature_oled_driver.md index ba10a5a2b9a..e67f80c879e 100644 --- a/docs/feature_oled_driver.md +++ b/docs/feature_oled_driver.md @@ -399,7 +399,7 @@ void oled_scroll_set_area(uint8_t start_line, uint8_t end_line); // Sets scroll speed, 0-7, fastest to slowest. Default is three. // Does not take effect until scrolling is either started or restarted // the ssd1306 supports 8 speeds with the delay -// listed below betwen each frame of the scrolling effect +// listed below between each frame of the scrolling effect // 0=2, 1=3, 2=4, 3=5, 4=25, 5=64, 6=128, 7=256 void oled_scroll_set_speed(uint8_t speed); diff --git a/drivers/oled/oled_driver.h b/drivers/oled/oled_driver.h index 627a3da0ba5..91c376ec273 100644 --- a/drivers/oled/oled_driver.h +++ b/drivers/oled/oled_driver.h @@ -454,7 +454,7 @@ void oled_scroll_set_area(uint8_t start_line, uint8_t end_line); // Sets scroll speed, 0-7, fastest to slowest. Default is three. // Does not take effect until scrolling is either started or restarted // the ssd1306 supports 8 speeds with the delay -// listed below betwen each frame of the scrolling effect +// listed below between each frame of the scrolling effect // 0=2, 1=3, 2=4, 3=5, 4=25, 5=64, 6=128, 7=256 void oled_scroll_set_speed(uint8_t speed); From 8d9c770a8181d0bcc59b89a57e6835735356da91 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Tue, 26 Sep 2023 12:20:32 +1000 Subject: [PATCH 119/144] Fix entry into bootloader for STM32G431. (#22138) --- .../chibios/boards/GENERIC_STM32_F446XE/configs/config.h | 4 ---- .../chibios/boards/GENERIC_STM32_G431XB/configs/config.h | 7 +++++++ 2 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 platforms/chibios/boards/GENERIC_STM32_G431XB/configs/config.h diff --git a/platforms/chibios/boards/GENERIC_STM32_F446XE/configs/config.h b/platforms/chibios/boards/GENERIC_STM32_F446XE/configs/config.h index 90a41326a16..cbb98f90980 100644 --- a/platforms/chibios/boards/GENERIC_STM32_F446XE/configs/config.h +++ b/platforms/chibios/boards/GENERIC_STM32_F446XE/configs/config.h @@ -14,10 +14,6 @@ * along with this program. If not, see . */ -/* Address for jumping to bootloader on STM32 chips. */ -/* It is chip dependent, the correct number can be looked up by checking against ST's application note AN2606. - */ - #ifndef EARLY_INIT_PERFORM_BOOTLOADER_JUMP # define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE #endif diff --git a/platforms/chibios/boards/GENERIC_STM32_G431XB/configs/config.h b/platforms/chibios/boards/GENERIC_STM32_G431XB/configs/config.h new file mode 100644 index 00000000000..2f23d400bb0 --- /dev/null +++ b/platforms/chibios/boards/GENERIC_STM32_G431XB/configs/config.h @@ -0,0 +1,7 @@ +// Copyright 2023 Nick Brassel (@tzarc) +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#ifndef EARLY_INIT_PERFORM_BOOTLOADER_JUMP +# define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE +#endif From 17ae28f0e41aa30937d80e48dc19548c76cc6e43 Mon Sep 17 00:00:00 2001 From: Yanfei Guo Date: Tue, 26 Sep 2023 01:17:20 -0500 Subject: [PATCH 120/144] Fix doc for programmable buttons. (#22136) Co-authored-by: Yanfei Guo --- docs/feature_programmable_button.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/feature_programmable_button.md b/docs/feature_programmable_button.md index 43a9e7fc160..091464e19c0 100644 --- a/docs/feature_programmable_button.md +++ b/docs/feature_programmable_button.md @@ -2,7 +2,7 @@ Programmable Buttons are keys that have no predefined meaning. This means they can be processed on the host side by custom software without the operating system trying to interpret them. -The keycodes are emitted according to the HID Telephony Device page (`0x0B`), Programmable Button usage (`0x07`). On Linux (> 5.14) they are handled automatically and translated to `KEY_MACRO#` keycodes (up to `KEY_MACRO30`). +The keycodes are emitted according to the HID Telephony Device page (`0x0B`), Programmable Button usage (`0x09`). On Linux (> 5.14) they are handled automatically and translated to `KEY_MACRO#` keycodes (up to `KEY_MACRO30`). ?> Currently there is no known support in Windows or macOS. It may be possible to write a custom HID driver to receive these usages, but this is out of the scope of the QMK documentation. From 46c1e7351e8f19c2e884c9338db3fdbabf8d3a17 Mon Sep 17 00:00:00 2001 From: Duncan Sutherland Date: Tue, 26 Sep 2023 07:17:47 +0100 Subject: [PATCH 121/144] rastersoft/minitkl layout corrections (#22130) --- keyboards/rastersoft/minitkl/info.json | 154 +++++++++++++------------ 1 file changed, 78 insertions(+), 76 deletions(-) diff --git a/keyboards/rastersoft/minitkl/info.json b/keyboards/rastersoft/minitkl/info.json index 7de5b4f75dc..e8d06919597 100644 --- a/keyboards/rastersoft/minitkl/info.json +++ b/keyboards/rastersoft/minitkl/info.json @@ -50,21 +50,21 @@ "LAYOUT_iso": { "layout": [ {"label":"esc", "x":0, "y":0, "matrix": [0, 0]}, - {"label":"F1", "x":1, "y":0, "matrix": [0, 1]}, - {"label":"F2", "x":2, "y":0, "matrix": [0, 2]}, - {"label":"F3", "x":3, "y":0, "matrix": [0, 3]}, - {"label":"F4", "x":4, "y":0, "matrix": [0, 4]}, - {"label":"F5", "x":5, "y":0, "matrix": [0, 5]}, - {"label":"F6", "x":6, "y":0, "matrix": [0, 6]}, - {"label":"F7", "x":7, "y":0, "matrix": [0, 7]}, - {"label":"F8", "x":8, "y":0, "matrix": [1, 7]}, - {"label":"F9", "x":9, "y":0, "matrix": [1, 6]}, - {"label":"F10", "x":10, "y":0, "matrix": [1, 5]}, - {"label":"F11", "x":11, "y":0, "matrix": [1, 4]}, - {"label":"F12", "x":12, "y":0, "matrix": [1, 3]}, - {"label":"PrtScr", "x":13, "y":0, "matrix": [1, 2]}, - {"label":"ScrollLock", "x":14, "y":0, "matrix": [1, 1]}, - {"label":"Pause", "x":15, "y":0, "matrix": [1, 0]}, + {"label":"F1", "x":1.25, "y":0, "matrix": [0, 1]}, + {"label":"F2", "x":2.25, "y":0, "matrix": [0, 2]}, + {"label":"F3", "x":3.25, "y":0, "matrix": [0, 3]}, + {"label":"F4", "x":4.25, "y":0, "matrix": [0, 4]}, + {"label":"F5", "x":5.5, "y":0, "matrix": [0, 5]}, + {"label":"F6", "x":6.5, "y":0, "matrix": [0, 6]}, + {"label":"F7", "x":7.5, "y":0, "matrix": [0, 7]}, + {"label":"F8", "x":8.5, "y":0, "matrix": [1, 7]}, + {"label":"F9", "x":9.75, "y":0, "matrix": [1, 6]}, + {"label":"F10", "x":10.75, "y":0, "matrix": [1, 5]}, + {"label":"F11", "x":11.75, "y":0, "matrix": [1, 4]}, + {"label":"F12", "x":12.75, "y":0, "matrix": [1, 3]}, + {"label":"PrtScr", "x":14, "y":0, "matrix": [1, 2]}, + {"label":"ScrollLock", "x":15, "y":0, "matrix": [1, 1]}, + {"label":"Pause", "x":16, "y":0, "matrix": [1, 0]}, {"label":"º", "x":0, "y":1, "matrix": [2, 0]}, {"label":"1", "x":1, "y":1, "matrix": [2, 1]}, @@ -97,7 +97,7 @@ {"label":"^", "x":11.5, "y":2, "matrix": [5, 4]}, {"label":"*", "x":12.5, "y":2, "matrix": [5, 3]}, {"label":"Insert", "x":15, "y":2, "matrix": [5, 1]}, - {"label":"PgUp", "x":15, "y":2, "matrix": [5, 0]}, + {"label":"PgUp", "x":16, "y":2, "matrix": [5, 0]}, {"label":"Shift Lock", "x":0, "y":3, "w":1.75, "matrix": [6, 0]}, {"label":"A", "x":1.75, "y":3, "matrix": [6, 1]}, @@ -134,33 +134,34 @@ {"label":"Ctrl", "x":0, "y":5, "w":1.25, "matrix": [10, 0]}, {"label":"Mod", "x":1.25, "y":5, "w":1.25, "matrix": [10, 1]}, - {"label":"Alt", "x":2.25, "y":5, "w":1.25, "matrix": [10, 2]}, - {"label":"Space", "x":3.5, "y":5, "w":6.5, "matrix": [10, 6]}, - {"label":"AltGr", "x":10, "y":5, "w":1.25, "matrix": [11, 5]}, - {"label":"Menu", "x":11, "y":5, "w":1.25, "matrix": [11, 4]}, - {"label":"Ctrl", "x":12, "y":5, "w":1.25, "matrix": [11, 3]}, - {"label":"Left", "x":13, "y":5, "matrix": [11, 2]}, - {"label":"Bottom", "x":14, "y":5, "matrix": [11, 1]}, - {"label":"Right", "x":15, "y":5, "matrix": [11, 0]} + {"label":"Alt", "x":2.5, "y":5, "w":1.25, "matrix": [10, 2]}, + {"label":"Space", "x":3.75, "y":5, "w":6.5, "matrix": [10, 6]}, + {"label":"AltGr", "x":10.25, "y":5, "w":1.25, "matrix": [11, 5]}, + {"label":"Menu", "x":11.5, "y":5, "w":1.25, "matrix": [11, 4]}, + {"label":"Ctrl", "x":12.75, "y":5, "w":1.25, "matrix": [11, 3]}, + {"label":"Left", "x":14, "y":5, "matrix": [11, 2]}, + {"label":"Bottom", "x":15, "y":5, "matrix": [11, 1]}, + {"label":"Right", "x":16, "y":5, "matrix": [11, 0]} ] - },"LAYOUT_ansi": { + }, + "LAYOUT_ansi": { "layout": [ {"label":"esc", "x":0, "y":0, "matrix": [0, 0]}, - {"label":"F1", "x":1, "y":0, "matrix": [0, 1]}, - {"label":"F2", "x":2, "y":0, "matrix": [0, 2]}, - {"label":"F3", "x":3, "y":0, "matrix": [0, 3]}, - {"label":"F4", "x":4, "y":0, "matrix": [0, 4]}, - {"label":"F5", "x":5, "y":0, "matrix": [0, 5]}, - {"label":"F6", "x":6, "y":0, "matrix": [0, 6]}, - {"label":"F7", "x":7, "y":0, "matrix": [0, 7]}, - {"label":"F8", "x":8, "y":0, "matrix": [1, 7]}, - {"label":"F9", "x":9, "y":0, "matrix": [1, 6]}, - {"label":"F10", "x":10, "y":0, "matrix": [1, 5]}, - {"label":"F11", "x":11, "y":0, "matrix": [1, 4]}, - {"label":"F12", "x":12, "y":0, "matrix": [1, 3]}, - {"label":"PrtScr", "x":13, "y":0, "matrix": [1, 2]}, - {"label":"ScrollLock", "x":14, "y":0, "matrix": [1, 1]}, - {"label":"Pause", "x":15, "y":0, "matrix": [1, 0]}, + {"label":"F1", "x":1.25, "y":0, "matrix": [0, 1]}, + {"label":"F2", "x":2.25, "y":0, "matrix": [0, 2]}, + {"label":"F3", "x":3.25, "y":0, "matrix": [0, 3]}, + {"label":"F4", "x":4.25, "y":0, "matrix": [0, 4]}, + {"label":"F5", "x":5.5, "y":0, "matrix": [0, 5]}, + {"label":"F6", "x":6.5, "y":0, "matrix": [0, 6]}, + {"label":"F7", "x":7.5, "y":0, "matrix": [0, 7]}, + {"label":"F8", "x":8.5, "y":0, "matrix": [1, 7]}, + {"label":"F9", "x":9.75, "y":0, "matrix": [1, 6]}, + {"label":"F10", "x":10.75, "y":0, "matrix": [1, 5]}, + {"label":"F11", "x":11.75, "y":0, "matrix": [1, 4]}, + {"label":"F12", "x":12.75, "y":0, "matrix": [1, 3]}, + {"label":"PrtScr", "x":14, "y":0, "matrix": [1, 2]}, + {"label":"ScrollLock", "x":15, "y":0, "matrix": [1, 1]}, + {"label":"Pause", "x":16, "y":0, "matrix": [1, 0]}, {"label":"º", "x":0, "y":1, "matrix": [2, 0]}, {"label":"1", "x":1, "y":1, "matrix": [2, 1]}, @@ -192,9 +193,9 @@ {"label":"P", "x":10.5, "y":2, "matrix": [5, 5]}, {"label":"[", "x":11.5, "y":2, "matrix": [5, 4]}, {"label":"]", "x":12.5, "y":2, "matrix": [5, 3]}, - {"label":"|", "x":13.75, "y":2, "w":1.25, "matrix": [5, 2]}, + {"label":"|", "x":13.5, "y":2, "w":1.5, "matrix": [5, 2]}, {"label":"Insert", "x":15, "y":2, "matrix": [5, 1]}, - {"label":"PgUp", "x":15, "y":2, "matrix": [5, 0]}, + {"label":"PgUp", "x":16, "y":2, "matrix": [5, 0]}, {"label":"Shift Lock", "x":0, "y":3, "w":1.75, "matrix": [6, 0]}, {"label":"A", "x":1.75, "y":3, "matrix": [6, 1]}, @@ -229,33 +230,34 @@ {"label":"Ctrl", "x":0, "y":5, "w":1.25, "matrix": [10, 0]}, {"label":"Mod", "x":1.25, "y":5, "w":1.25, "matrix": [10, 1]}, - {"label":"Alt", "x":2.25, "y":5, "w":1.25, "matrix": [10, 2]}, - {"label":"Space", "x":3.5, "y":5, "w":6.5, "matrix": [10, 6]}, - {"label":"AltGr", "x":10, "y":5, "w":1.25, "matrix": [11, 5]}, - {"label":"Menu", "x":11, "y":5, "w":1.25, "matrix": [11, 4]}, - {"label":"Ctrl", "x":12, "y":5, "w":1.25, "matrix": [11, 3]}, - {"label":"Left", "x":13, "y":5, "matrix": [11, 2]}, - {"label":"Bottom", "x":14, "y":5, "matrix": [11, 1]}, - {"label":"Right", "x":15, "y":5, "matrix": [11, 0]} + {"label":"Alt", "x":2.5, "y":5, "w":1.25, "matrix": [10, 2]}, + {"label":"Space", "x":3.75, "y":5, "w":6.5, "matrix": [10, 6]}, + {"label":"AltGr", "x":10.25, "y":5, "w":1.25, "matrix": [11, 5]}, + {"label":"Menu", "x":11.5, "y":5, "w":1.25, "matrix": [11, 4]}, + {"label":"Ctrl", "x":12.75, "y":5, "w":1.25, "matrix": [11, 3]}, + {"label":"Left", "x":14, "y":5, "matrix": [11, 2]}, + {"label":"Bottom", "x":15, "y":5, "matrix": [11, 1]}, + {"label":"Right", "x":16, "y":5, "matrix": [11, 0]} ] - },"LAYOUT_hybrid": { + }, + "LAYOUT_hybrid": { "layout": [ {"label":"esc", "x":0, "y":0, "matrix": [0, 0]}, - {"label":"F1", "x":1, "y":0, "matrix": [0, 1]}, - {"label":"F2", "x":2, "y":0, "matrix": [0, 2]}, - {"label":"F3", "x":3, "y":0, "matrix": [0, 3]}, - {"label":"F4", "x":4, "y":0, "matrix": [0, 4]}, - {"label":"F5", "x":5, "y":0, "matrix": [0, 5]}, - {"label":"F6", "x":6, "y":0, "matrix": [0, 6]}, - {"label":"F7", "x":7, "y":0, "matrix": [0, 7]}, - {"label":"F8", "x":8, "y":0, "matrix": [1, 7]}, - {"label":"F9", "x":9, "y":0, "matrix": [1, 6]}, - {"label":"F10", "x":10, "y":0, "matrix": [1, 5]}, - {"label":"F11", "x":11, "y":0, "matrix": [1, 4]}, - {"label":"F12", "x":12, "y":0, "matrix": [1, 3]}, - {"label":"PrtScr", "x":13, "y":0, "matrix": [1, 2]}, - {"label":"ScrollLock", "x":14, "y":0, "matrix": [1, 1]}, - {"label":"Pause", "x":15, "y":0, "matrix": [1, 0]}, + {"label":"F1", "x":1.25, "y":0, "matrix": [0, 1]}, + {"label":"F2", "x":2.25, "y":0, "matrix": [0, 2]}, + {"label":"F3", "x":3.25, "y":0, "matrix": [0, 3]}, + {"label":"F4", "x":4.25, "y":0, "matrix": [0, 4]}, + {"label":"F5", "x":5.5, "y":0, "matrix": [0, 5]}, + {"label":"F6", "x":6.5, "y":0, "matrix": [0, 6]}, + {"label":"F7", "x":7.5, "y":0, "matrix": [0, 7]}, + {"label":"F8", "x":8.5, "y":0, "matrix": [1, 7]}, + {"label":"F9", "x":9.75, "y":0, "matrix": [1, 6]}, + {"label":"F10", "x":10.75, "y":0, "matrix": [1, 5]}, + {"label":"F11", "x":11.75, "y":0, "matrix": [1, 4]}, + {"label":"F12", "x":12.75, "y":0, "matrix": [1, 3]}, + {"label":"PrtScr", "x":14, "y":0, "matrix": [1, 2]}, + {"label":"ScrollLock", "x":15, "y":0, "matrix": [1, 1]}, + {"label":"Pause", "x":16, "y":0, "matrix": [1, 0]}, {"label":"º", "x":0, "y":1, "matrix": [2, 0]}, {"label":"1", "x":1, "y":1, "matrix": [2, 1]}, @@ -287,9 +289,9 @@ {"label":"P", "x":10.5, "y":2, "matrix": [5, 5]}, {"label":"[", "x":11.5, "y":2, "matrix": [5, 4]}, {"label":"]", "x":12.5, "y":2, "matrix": [5, 3]}, - {"label":"|", "x":13.75, "y":2, "w":1.25, "matrix": [5, 2]}, + {"label":"|", "x":13.5, "y":2, "w":1.5, "matrix": [5, 2]}, {"label":"Insert", "x":15, "y":2, "matrix": [5, 1]}, - {"label":"PgUp", "x":15, "y":2, "matrix": [5, 0]}, + {"label":"PgUp", "x":16, "y":2, "matrix": [5, 0]}, {"label":"Shift Lock", "x":0, "y":3, "w":1.75, "matrix": [6, 0]}, {"label":"A", "x":1.75, "y":3, "matrix": [6, 1]}, @@ -325,14 +327,14 @@ {"label":"Ctrl", "x":0, "y":5, "w":1.25, "matrix": [10, 0]}, {"label":"Mod", "x":1.25, "y":5, "w":1.25, "matrix": [10, 1]}, - {"label":"Alt", "x":2.25, "y":5, "w":1.25, "matrix": [10, 2]}, - {"label":"Space", "x":3.5, "y":5, "w":6.5, "matrix": [10, 6]}, - {"label":"AltGr", "x":10, "y":5, "w":1.25, "matrix": [11, 5]}, - {"label":"Menu", "x":11, "y":5, "w":1.25, "matrix": [11, 4]}, - {"label":"Ctrl", "x":12, "y":5, "w":1.25, "matrix": [11, 3]}, - {"label":"Left", "x":13, "y":5, "matrix": [11, 2]}, - {"label":"Bottom", "x":14, "y":5, "matrix": [11, 1]}, - {"label":"Right", "x":15, "y":5, "matrix": [11, 0]} + {"label":"Alt", "x":2.5, "y":5, "w":1.25, "matrix": [10, 2]}, + {"label":"Space", "x":3.75, "y":5, "w":6.5, "matrix": [10, 6]}, + {"label":"AltGr", "x":10.25, "y":5, "w":1.25, "matrix": [11, 5]}, + {"label":"Menu", "x":11.5, "y":5, "w":1.25, "matrix": [11, 4]}, + {"label":"Ctrl", "x":12.75, "y":5, "w":1.25, "matrix": [11, 3]}, + {"label":"Left", "x":14, "y":5, "matrix": [11, 2]}, + {"label":"Bottom", "x":15, "y":5, "matrix": [11, 1]}, + {"label":"Right", "x":16, "y":5, "matrix": [11, 0]} ] } } From ca9664b1accaa8e1c0b9040eddbd49f2ef4e6f97 Mon Sep 17 00:00:00 2001 From: Idan Kamara Date: Tue, 26 Sep 2023 21:06:18 +0300 Subject: [PATCH 122/144] [Keyboard] Add spankbd, 3x5+3 split keyboard (#22003) --- keyboards/idank/spankbd/config.h | 6 + keyboards/idank/spankbd/info.json | 76 +++++++++++ .../idank/spankbd/keymaps/default/keymap.json | 125 ++++++++++++++++++ keyboards/idank/spankbd/keymaps/via/keymap.c | 81 ++++++++++++ keyboards/idank/spankbd/keymaps/via/rules.mk | 2 + keyboards/idank/spankbd/readme.md | 28 ++++ keyboards/idank/spankbd/rules.mk | 1 + keyboards/idank/spankbd/spankbd.c | 29 ++++ 8 files changed, 348 insertions(+) create mode 100644 keyboards/idank/spankbd/config.h create mode 100644 keyboards/idank/spankbd/info.json create mode 100644 keyboards/idank/spankbd/keymaps/default/keymap.json create mode 100644 keyboards/idank/spankbd/keymaps/via/keymap.c create mode 100644 keyboards/idank/spankbd/keymaps/via/rules.mk create mode 100644 keyboards/idank/spankbd/readme.md create mode 100644 keyboards/idank/spankbd/rules.mk create mode 100644 keyboards/idank/spankbd/spankbd.c diff --git a/keyboards/idank/spankbd/config.h b/keyboards/idank/spankbd/config.h new file mode 100644 index 00000000000..e926de7f5f8 --- /dev/null +++ b/keyboards/idank/spankbd/config.h @@ -0,0 +1,6 @@ +// Copyright 2023 Idan Kamara (@idank) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define MASTER_RIGHT diff --git a/keyboards/idank/spankbd/info.json b/keyboards/idank/spankbd/info.json new file mode 100644 index 00000000000..fc9dce46313 --- /dev/null +++ b/keyboards/idank/spankbd/info.json @@ -0,0 +1,76 @@ +{ + "url": "https://github.com/idank/spankbd", + "maintainer": "idank", + "keyboard_name": "Span", + "manufacturer": "holykeebs", + "development_board": "promicro", + "usb": { + "vid": "0xC3AC", + "pid": "0x3140", + "device_version": "0.0.1" + }, + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": [ "F4", "F5", "F6", "F7", "B1" ], + "rows": [ "D4", "C6", "D7", "E6" ] + }, + "diode_direction": "COL2ROW", + "split": { + "enabled": true, + "soft_serial_pin": "D2" + }, + "layouts": { + "LAYOUT_split_3x5_3": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.25}, + {"matrix": [0, 1], "x": 1, "y": 0.125}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0.125}, + {"matrix": [0, 4], "x": 4, "y": 0.375}, + + {"matrix": [4, 4], "x": 8, "y": 0.375}, + {"matrix": [4, 3], "x": 9, "y": 0.125}, + {"matrix": [4, 2], "x": 10, "y": 0}, + {"matrix": [4, 1], "x": 11, "y": 0.125}, + {"matrix": [4, 0], "x": 12, "y": 0.25}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.125}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1.125}, + {"matrix": [1, 4], "x": 4, "y": 1.375}, + + {"matrix": [5, 4], "x": 8, "y": 1.375}, + {"matrix": [5, 3], "x": 9, "y": 1.125}, + {"matrix": [5, 2], "x": 10, "y": 1}, + {"matrix": [5, 1], "x": 11, "y": 1.125}, + {"matrix": [5, 0], "x": 12, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25}, + {"matrix": [2, 1], "x": 1, "y": 2.125}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2.125}, + {"matrix": [2, 4], "x": 4, "y": 2.375}, + + {"matrix": [6, 4], "x": 8, "y": 2.375}, + {"matrix": [6, 3], "x": 9, "y": 2.125}, + {"matrix": [6, 2], "x": 10, "y": 2}, + {"matrix": [6, 1], "x": 11, "y": 2.125}, + {"matrix": [6, 0], "x": 12, "y": 2.25}, + + {"matrix": [3, 2], "x": 2, "y": 3.5}, + {"matrix": [3, 3], "x": 3.25, "y": 3.625, "w": 1.5}, + {"matrix": [3, 4], "x": 5, "y": 3.125, "h": 2}, + + {"matrix": [7, 4], "x": 7, "y": 3.125, "h": 2}, + {"matrix": [7, 3], "x": 8.25, "y": 3.625, "w": 1.5}, + {"matrix": [7, 2], "x": 10, "y": 3.5} + ] + } + } +} diff --git a/keyboards/idank/spankbd/keymaps/default/keymap.json b/keyboards/idank/spankbd/keymaps/default/keymap.json new file mode 100644 index 00000000000..10bb42e1089 --- /dev/null +++ b/keyboards/idank/spankbd/keymaps/default/keymap.json @@ -0,0 +1,125 @@ +{ + "version": 1, + "notes": "Span default keymap", + "documentation": "\"This file is a QMK Configurator export. You can import this at . It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: \n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n", + "keyboard": "idank/spankbd", + "keymap": "default", + "layout": "LAYOUT_split_3x5_3", + "layers": [ + [ + "KC_Q", + "KC_W", + "KC_E", + "KC_R", + "KC_T", + "KC_Y", + "KC_U", + "KC_I", + "KC_O", + "KC_P", + "LCTL_T(KC_A)", + "KC_S", + "KC_D", + "KC_F", + "KC_G", + "KC_H", + "KC_J", + "KC_K", + "KC_L", + "LCTL_T(KC_SCLN)", + "RSFT_T(KC_Z)", + "KC_X", + "KC_C", + "KC_V", + "KC_B", + "KC_N", + "KC_M", + "KC_COMM", + "KC_DOT", + "RSFT_T(KC_SLSH)", + "LGUI_T(KC_ESC)", + "LALT_T(KC_ENT)", + "LT(1,KC_SPC)", + "LT(2,KC_SPC)", + "KC_LSFT", + "RSFT_T(KC_TAB)" + ], + [ + "KC_EXLM", + "KC_AT", + "KC_LCBR", + "KC_RCBR", + "KC_PIPE", + "KC_GRV", + "KC_TILD", + "KC_TRNS", + "KC_TRNS", + "KC_BSLS", + "KC_HASH", + "KC_DLR", + "KC_LPRN", + "KC_RPRN", + "KC_BTN2", + "KC_PPLS", + "KC_MINS", + "KC_SLSH", + "KC_ASTR", + "KC_QUOT", + "KC_PERC", + "KC_CIRC", + "KC_LBRC", + "KC_RBRC", + "KC_BTN1", + "KC_AMPR", + "KC_EQL", + "KC_COMM", + "KC_DOT", + "KC_MINS", + "KC_BSPC", + "KC_SCLN", + "KC_TRNS", + "KC_TRNS", + "KC_SCLN", + "KC_DEL" + ], + [ + "KC_1", + "KC_2", + "KC_3", + "KC_4", + "KC_5", + "KC_6", + "KC_7", + "KC_8", + "KC_9", + "KC_0", + "KC_F1", + "KC_F2", + "KC_F3", + "KC_F4", + "KC_F5", + "KC_LEFT", + "KC_DOWN", + "KC_UP", + "KC_RGHT", + "KC_VOLU", + "KC_F6", + "KC_F7", + "KC_F8", + "KC_F9", + "KC_F10", + "KC_MS_L", + "KC_MS_D", + "KC_MS_U", + "KC_MS_R", + "KC_VOLD", + "KC_F11", + "KC_F12", + "KC_TRNS", + "KC_TRNS", + "KC_MPLY", + "KC_MNXT" + ] + ], + "author": "idank" +} diff --git a/keyboards/idank/spankbd/keymaps/via/keymap.c b/keyboards/idank/spankbd/keymaps/via/keymap.c new file mode 100644 index 00000000000..763631f59de --- /dev/null +++ b/keyboards/idank/spankbd/keymaps/via/keymap.c @@ -0,0 +1,81 @@ +// Copyright 2023 Idan Kamara (@idank) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum { + _ALPHA, // default + _SPECIAL, // special characters + _NUMBERS // numbers/function/motion +}; + +#define KC_CTL_A MT(MOD_LCTL, KC_A) // Tap for A, hold for Control +#define KC_CTL_CL MT(MOD_LCTL, KC_SCLN) // Tap for colon, hold for Control +#define KC_SFT_Z MT(MOD_RSFT, KC_Z) // Tap for Z, hold for Shift +#define KC_SFT_SL MT(MOD_RSFT, KC_SLSH) // Tap for slash, hold for Shift + +#define KC_GUI_ESC MT(MOD_LGUI, KC_ESC) // Tap for Esc, hold for GUI (Meta, Command, Win) +#define KC_ALT_ENT MT(MOD_LALT, KC_ENT) // Tap for Enter, hold for Alt (Option) +#define KC_SPE_SPC LT(_SPECIAL, KC_SPC) // Tap for Space, hold for Special layer +#define KC_NUM_SPC LT(_NUMBERS, KC_SPC) // Tap for Space, hold for Numbers layer +#define KC_SFT_TAB MT(MOD_RSFT, KC_TAB) // Tap for Tab, hold for Right Shift + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap 0: Alpha layer + * + * ,-------------------------------. ,-------------------------------. + * | Q | W | E | R | T | | Y | U | I | O | P | + * |-------+-----+-----+-----+-----| |-----+-----+-----+-----+-------| + * | CTRL A| S | D | F | G | | H | J | K | L |CTRL ; | + * |-------+-----+-----+-----+-----| |-----+-----+-----+-----+-------| + * | SHFT Z| X | C | V | B | | N | M | < | > |SHFT / | + * `-------------------------------' `-------------------------------' + * .------------------------------. .----------------------. + * | ESC META | ENT ALT | SPC SPE | | SPC NUM | SHFT | TAB | + * '------------------------------' '----------------------' + */ + [_ALPHA] = LAYOUT_split_3x5_3( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_CTL_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_CTL_CL, + KC_SFT_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SFT_SL, + KC_GUI_ESC, KC_ALT_ENT, KC_SPE_SPC, KC_NUM_SPC, KC_LSFT, KC_SFT_TAB), + + /* Keymap 1: Special characters layer + * + * ,-------------------------------. ,-------------------------------. + * | ! | @ | { | } | | | | ` | ~ | | | \ | + * |-------+-----+-----+-----+-----| |-----+-----+-----+-----+-------| + * | # | $ | ( | ) | RMB | | + | - | / | * | ' | + * |-------+-----+-----+-----+-----| |-----+-----+-----+-----+-------| + * | % | ^ | [ | ] | LMB | | & | = | , | . | - | + * `-------------------------------' `-------------------------------' + * .------------------. .-----------------. + * | BSPC | ; | = | | = | ; | DEL | + * '------------------' '-----------------' + */ + [_SPECIAL] = LAYOUT_split_3x5_3( + KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_GRV, KC_TILD, KC_TRNS, KC_TRNS, KC_BSLS, + KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_BTN2, KC_PLUS, KC_MINS, KC_SLSH, KC_ASTR, KC_QUOT, + KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_BTN1, KC_AMPR, KC_EQL, KC_COMM, KC_DOT, KC_MINS, + KC_BSPC, KC_SCLN, KC_EQL, KC_EQL, KC_SCLN, KC_DEL), + + /* Keymap 2: Numbers/Function/Motion layer + * + * ,-------------------------------. ,-------------------------------. + * | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | + * |-------+-----+-----+-----+-----| |-----+-----+-----+-----+-------| + * | F1 | F2 | F3 | F4 | F5 | | LFT | DWN | UP | RGT | VOLUP | + * |-------+-----+-----+-----+-----| |-----+-----+-----+-----+-------| + * | F6 | F7 | F8 | F9 | F10 | | MLFT| MDWN| MUP | MRGT| VOLDN | + * `-------------------------------' `-------------------------------' + * .-----------------. .-----------------. + * | F11 | F12 | | | | PLY | SKP | + * '-----------------' '-----------------' + */ + [_NUMBERS] = LAYOUT_split_3x5_3( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_VOLU, + KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_VOLD, + KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT) +}; + diff --git a/keyboards/idank/spankbd/keymaps/via/rules.mk b/keyboards/idank/spankbd/keymaps/via/rules.mk new file mode 100644 index 00000000000..36b7ba9cbc9 --- /dev/null +++ b/keyboards/idank/spankbd/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/idank/spankbd/readme.md b/keyboards/idank/spankbd/readme.md new file mode 100644 index 00000000000..3d09ccbe42d --- /dev/null +++ b/keyboards/idank/spankbd/readme.md @@ -0,0 +1,28 @@ +# Span + +*Span is a 3x5+3 split keyboard, with 2u, 1.5u, 1u thumb clusters.* + +The keyboard layout Span uses is derived from GergoPlex, a keyboard that was originally available on gboards.ca +(now defunct). + +* Keyboard Maintainer: [@idank](https://github.com/idank) +* Hardware Supported: [spankbd](https://github.com/idank/spankbd) +* Hardware Availability: *[holykeebs](https://holykeebs.com)* + +Make example for this keyboard (after setting up your build environment): + + make idank/spankbd:default + +Flashing example for this keyboard: + + make idank/spankbd: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 front of the PCB. Double tap for pro micro, 1 second press for Sea Picro / RP2040s. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. diff --git a/keyboards/idank/spankbd/rules.mk b/keyboards/idank/spankbd/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/idank/spankbd/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/idank/spankbd/spankbd.c b/keyboards/idank/spankbd/spankbd.c new file mode 100644 index 00000000000..7bfd41d2d83 --- /dev/null +++ b/keyboards/idank/spankbd/spankbd.c @@ -0,0 +1,29 @@ +// Copyright 2023 Idan Kamara (@idank) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +#ifdef OLED_ENABLE + +__attribute__((weak)) void oled_render_logo(void) { + // [span) logo + static const char PROGMEM raw_logo[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,192,192,192,192,192,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,255, 1, 1, 1, 64,240,248,248,248,184, 56,120,120, 0, 0, 0,248,248,248,248, 56, 56,120,248,240,240,192, 0, 0, 24,120, 56, 56, 56,120,248,248,240,224, 0, 0,248,248,248,248, 56, 56,120,248,248,240,192, 0, 1, 7,127,255,255,252,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,255, 0, 0, 0, 96,121,123,115,119,119,127,127, 63, 30, 0, 0,255,255,255,255,112,112,120,127,127, 63, 15, 0, 28, 62,127,127,127,115,115,127,127,127,127, 0, 0,127,127,127,127, 0, 0, 0,127,127,127,127, 0, 0,192,252,255,255,127, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 7, 7, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }; + oled_write_raw_P(raw_logo, sizeof(raw_logo)); +} + +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + + oled_render_logo(); + + return false; +} + +#endif From 351b5cd2cd625e031ba88c95ef7c4dfec7a04d80 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 27 Sep 2023 00:48:42 +0100 Subject: [PATCH 123/144] Initial support for CSTM80 (#22137) --- keyboards/drop/cstm80/board.h | 8 + keyboards/drop/cstm80/config.h | 22 ++ keyboards/drop/cstm80/cstm80.c | 96 +++++++ keyboards/drop/cstm80/halconf.h | 7 + keyboards/drop/cstm80/info.json | 272 ++++++++++++++++++ .../drop/cstm80/keymaps/default/keymap.c | 38 +++ keyboards/drop/cstm80/keymaps/via/config.h | 5 + keyboards/drop/cstm80/keymaps/via/keymap.c | 38 +++ keyboards/drop/cstm80/keymaps/via/rules.mk | 1 + keyboards/drop/cstm80/mcuconf.h | 14 + keyboards/drop/cstm80/readme.md | 24 ++ keyboards/drop/cstm80/rules.mk | 4 + keyboards/drop/lib/common.c | 10 +- 13 files changed, 533 insertions(+), 6 deletions(-) create mode 100644 keyboards/drop/cstm80/board.h create mode 100644 keyboards/drop/cstm80/config.h create mode 100644 keyboards/drop/cstm80/cstm80.c create mode 100644 keyboards/drop/cstm80/halconf.h create mode 100644 keyboards/drop/cstm80/info.json create mode 100644 keyboards/drop/cstm80/keymaps/default/keymap.c create mode 100644 keyboards/drop/cstm80/keymaps/via/config.h create mode 100644 keyboards/drop/cstm80/keymaps/via/keymap.c create mode 100644 keyboards/drop/cstm80/keymaps/via/rules.mk create mode 100644 keyboards/drop/cstm80/mcuconf.h create mode 100644 keyboards/drop/cstm80/readme.md create mode 100644 keyboards/drop/cstm80/rules.mk diff --git a/keyboards/drop/cstm80/board.h b/keyboards/drop/cstm80/board.h new file mode 100644 index 00000000000..ed3ea4b1f77 --- /dev/null +++ b/keyboards/drop/cstm80/board.h @@ -0,0 +1,8 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include_next + +#undef STM32_HSECLK +#define STM32_HSECLK 16000000U diff --git a/keyboards/drop/cstm80/config.h b/keyboards/drop/cstm80/config.h new file mode 100644 index 00000000000..2aefadfe303 --- /dev/null +++ b/keyboards/drop/cstm80/config.h @@ -0,0 +1,22 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define I2C1_SCL_PIN B8 +#define I2C1_SDA_PIN B9 + +#define EXTERNAL_EEPROM_I2C_BASE_ADDRESS 0b10101000 +#define EXTERNAL_EEPROM_WP_PIN B7 +#define EEPROM_I2C_24LC256 + +#define DRIVER_ADDR_1 0b1010000 +#define DRIVER_ADDR_2 0b1011111 +#define DRIVER_COUNT 2 +#define RGB_MATRIX_LED_COUNT 88 +#define ISSI_PWM_FREQUENCY 0b010 // 26k + +#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS + +#define RGB_MATRIX_CAPS_LOCK_INDEX 48 diff --git a/keyboards/drop/cstm80/cstm80.c b/keyboards/drop/cstm80/cstm80.c new file mode 100644 index 00000000000..c60f347cb9b --- /dev/null +++ b/keyboards/drop/cstm80/cstm80.c @@ -0,0 +1,96 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#ifdef RGB_MATRIX_ENABLE +# include "rgb_matrix.h" + +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { + { 0, E_1, D_1, F_1 }, + { 0, E_2, D_2, F_2 }, + { 0, E_3, D_3, F_3 }, + { 0, E_4, D_4, F_4 }, + { 0, E_5, D_5, F_5 }, + { 0, E_6, D_6, F_6 }, + { 0, E_7, D_7, F_7 }, + { 0, E_8, D_8, F_8 }, + { 0, E_9, D_9, F_9 }, + { 0, E_10, D_10, F_10 }, + { 0, E_11, D_11, F_11 }, + { 0, E_12, D_12, F_12 }, + { 0, E_13, D_13, F_13 }, + { 0, E_14, D_14, F_14 }, + { 0, E_15, D_15, F_15 }, + { 0, E_16, D_16, F_16 }, + { 0, H_1, G_1, I_1 }, + { 0, H_2, G_2, I_2 }, + { 0, H_3, G_3, I_3 }, + { 0, H_4, G_4, I_4 }, + { 0, H_5, G_5, I_5 }, + { 0, H_6, G_6, I_6 }, + { 0, H_7, G_7, I_7 }, + { 0, H_8, G_8, I_8 }, + { 0, H_9, G_9, I_9 }, + { 0, H_10, G_10, I_10 }, + { 0, H_11, G_11, I_11 }, + { 0, H_12, G_12, I_12 }, + { 0, H_13, G_13, I_13 }, + { 0, H_14, G_14, I_14 }, + { 0, H_15, G_15, I_15 }, + { 0, H_16, G_16, I_16 }, + { 0, K_1, J_1, L_1 }, + { 0, K_2, J_2, L_2 }, + { 0, K_3, J_3, L_3 }, + { 0, K_4, J_4, L_4 }, + { 0, K_5, J_5, L_5 }, + { 0, K_6, J_6, L_6 }, + { 0, K_7, J_7, L_7 }, + { 0, K_8, J_8, L_8 }, + { 0, K_9, J_9, L_9 }, + { 0, K_10, J_10, L_10 }, + { 0, K_11, J_11, L_11 }, + { 0, K_12, J_12, L_12 }, + { 0, K_13, J_13, L_13 }, + { 0, K_14, J_14, L_14 }, + { 0, K_15, J_15, L_15 }, + { 0, K_16, J_16, L_16 }, + { 1, B_1, A_1, C_1 }, + { 1, B_2, A_2, C_2 }, + { 1, B_3, A_3, C_3 }, + { 1, B_4, A_4, C_4 }, + { 1, B_5, A_5, C_5 }, + { 1, B_6, A_6, C_6 }, + { 1, B_7, A_7, C_7 }, + { 1, B_8, A_8, C_8 }, + { 1, B_9, A_9, C_9 }, + { 1, B_10, A_10, C_10 }, + { 1, B_11, A_11, C_11 }, + { 1, B_12, A_12, C_12 }, + { 1, B_13, A_13, C_13 }, + { 1, B_14, A_14, C_14 }, + { 1, B_15, A_15, C_15 }, + { 1, B_16, A_16, C_16 }, + { 1, E_1, D_1, F_1 }, + { 1, E_2, D_2, F_2 }, + { 1, E_3, D_3, F_3 }, + { 1, E_4, D_4, F_4 }, + { 1, E_5, D_5, F_5 }, + { 1, E_6, D_6, F_6 }, + { 1, E_7, D_7, F_7 }, + { 1, E_8, D_8, F_8 }, + { 1, E_9, D_9, F_9 }, + { 1, E_10, D_10, F_10 }, + { 1, E_11, D_11, F_11 }, + { 1, E_12, D_12, F_12 }, + { 1, E_13, D_13, F_13 }, + { 1, H_1, G_1, I_1 }, + { 1, H_2, G_2, I_2 }, + { 1, H_3, G_3, I_3 }, + { 1, H_4, G_4, I_4 }, + { 1, H_5, G_5, I_5 }, + { 1, H_6, G_6, I_6 }, + { 1, H_7, G_7, I_7 }, + { 1, H_8, G_8, I_8 }, + { 1, H_9, G_9, I_9 }, + { 1, H_10, G_10, I_10 }, + { 1, H_11, G_11, I_11 }, +}; +#endif diff --git a/keyboards/drop/cstm80/halconf.h b/keyboards/drop/cstm80/halconf.h new file mode 100644 index 00000000000..2677c2a654c --- /dev/null +++ b/keyboards/drop/cstm80/halconf.h @@ -0,0 +1,7 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define HAL_USE_I2C TRUE + +#include_next diff --git a/keyboards/drop/cstm80/info.json b/keyboards/drop/cstm80/info.json new file mode 100644 index 00000000000..170538027e4 --- /dev/null +++ b/keyboards/drop/cstm80/info.json @@ -0,0 +1,272 @@ +{ + "keyboard_name": "CSTM80", + "manufacturer": "Drop Inc.", + "maintainer": "zvecr", + "processor": "STM32F303", + "bootloader": "tinyuf2", + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["C15", "C14", "C13", "C12", "C11", "C10", "C9", "C8", "C7", "C6", "C5", "C4", "C3", "C2", "C1", "C0", "D2"], + "rows": ["B15", "B14", "B13", "B12", "B11", "B10"] + }, + "usb": { + "vid": "0x359B", + "pid": "0x0004", + "device_version": "1.0.0" + }, + "eeprom": { + "driver": "i2c" + }, + "features": { + "rgb_matrix": true, + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "community_layouts": ["tkl_f13_ansi"], + "layouts": { + "LAYOUT_tkl_f13_ansi": { + "layout": [ + { "matrix": [0, 0], "label":"Esc", "x":0, "y":0}, + { "matrix": [0, 1], "label":"F1", "x":1.25, "y":0}, + { "matrix": [0, 2], "label":"F2", "x":2.25, "y":0}, + { "matrix": [0, 3], "label":"F3", "x":3.25, "y":0}, + { "matrix": [0, 4], "label":"F4", "x":4.25, "y":0}, + { "matrix": [0, 5], "label":"F5", "x":5.5, "y":0}, + { "matrix": [0, 6], "label":"F6", "x":6.5, "y":0}, + { "matrix": [0, 7], "label":"F7", "x":7.5, "y":0}, + { "matrix": [0, 8], "label":"F8", "x":8.5, "y":0}, + { "matrix": [0, 9], "label":"F9", "x":9.75, "y":0}, + { "matrix": [0, 10], "label":"F10", "x":10.75, "y":0}, + { "matrix": [0, 11], "label":"F11", "x":11.75, "y":0}, + { "matrix": [0, 12], "label":"F12", "x":12.75, "y":0}, + { "matrix": [0, 13], "label":"F13", "x":14, "y":0}, + { "matrix": [0, 14], "label":"PrtSc", "x":15.25, "y":0}, + { "matrix": [0, 15], "label":"ScrLk", "x":16.25, "y":0}, + { "matrix": [0, 16], "label":"Pause", "x":17.25, "y":0}, + + { "matrix": [1, 0], "label":"~", "x":0, "y":1.25}, + { "matrix": [1, 1], "label":"!", "x":1, "y":1.25}, + { "matrix": [1, 2], "label":"@", "x":2, "y":1.25}, + { "matrix": [1, 3], "label":"#", "x":3, "y":1.25}, + { "matrix": [1, 4], "label":"$", "x":4, "y":1.25}, + { "matrix": [1, 5], "label":"%", "x":5, "y":1.25}, + { "matrix": [1, 6], "label":"^", "x":6, "y":1.25}, + { "matrix": [1, 7], "label":"&", "x":7, "y":1.25}, + { "matrix": [1, 8], "label":"*", "x":8, "y":1.25}, + { "matrix": [1, 9], "label":"(", "x":9, "y":1.25}, + { "matrix": [1, 10], "label":")", "x":10, "y":1.25}, + { "matrix": [1, 11], "label":"_", "x":11, "y":1.25}, + { "matrix": [1, 12], "label":"+", "x":12, "y":1.25}, + { "matrix": [1, 13], "label":"Bksp", "x":13, "y":1.25, "w":2}, + { "matrix": [1, 14], "label":"Insert", "x":15.25, "y":1.25}, + { "matrix": [1, 15], "label":"Home", "x":16.25, "y":1.25}, + { "matrix": [1, 16], "label":"Page Up", "x":17.25, "y":1.25}, + + { "matrix": [2, 0], "label":"Tab", "x":0, "y":2.25, "w":1.5}, + { "matrix": [2, 1], "label":"Q", "x":1.5, "y":2.25}, + { "matrix": [2, 2], "label":"W", "x":2.5, "y":2.25}, + { "matrix": [2, 3], "label":"E", "x":3.5, "y":2.25}, + { "matrix": [2, 4], "label":"R", "x":4.5, "y":2.25}, + { "matrix": [2, 5], "label":"T", "x":5.5, "y":2.25}, + { "matrix": [2, 6], "label":"Y", "x":6.5, "y":2.25}, + { "matrix": [2, 7], "label":"U", "x":7.5, "y":2.25}, + { "matrix": [2, 8], "label":"I", "x":8.5, "y":2.25}, + { "matrix": [2, 9], "label":"O", "x":9.5, "y":2.25}, + { "matrix": [2, 10], "label":"P", "x":10.5, "y":2.25}, + { "matrix": [2, 11], "label":"{", "x":11.5, "y":2.25}, + { "matrix": [2, 12], "label":"}", "x":12.5, "y":2.25}, + { "matrix": [2, 13], "label":"|", "x":13.5, "y":2.25, "w":1.5}, + { "matrix": [2, 14], "label":"Delete", "x":15.25, "y":2.25}, + { "matrix": [2, 15], "label":"End", "x":16.25, "y":2.25}, + { "matrix": [2, 16], "label":"Page Dn", "x":17.25, "y":2.25}, + + { "matrix": [3, 0], "label":"CapsLk", "x":0, "y":3.25, "w":1.75}, + { "matrix": [3, 1], "label":"A", "x":1.75, "y":3.25}, + { "matrix": [3, 2], "label":"S", "x":2.75, "y":3.25}, + { "matrix": [3, 3], "label":"D", "x":3.75, "y":3.25}, + { "matrix": [3, 4], "label":"F", "x":4.75, "y":3.25}, + { "matrix": [3, 5], "label":"G", "x":5.75, "y":3.25}, + { "matrix": [3, 6], "label":"H", "x":6.75, "y":3.25}, + { "matrix": [3, 7], "label":"J", "x":7.75, "y":3.25}, + { "matrix": [3, 8], "label":"K", "x":8.75, "y":3.25}, + { "matrix": [3, 9], "label":"L", "x":9.75, "y":3.25}, + { "matrix": [3, 10], "label":":", "x":10.75, "y":3.25}, + { "matrix": [3, 11], "label":"\"", "x":11.75, "y":3.25}, + { "matrix": [3, 13], "label":"Enter", "x":12.75, "y":3.25, "w":2.25}, + + { "matrix": [4, 0], "label":"Shift", "x":0, "y":4.25, "w":2.25}, + { "matrix": [4, 1], "label":"Z", "x":2.25, "y":4.25}, + { "matrix": [4, 2], "label":"X", "x":3.25, "y":4.25}, + { "matrix": [4, 3], "label":"C", "x":4.25, "y":4.25}, + { "matrix": [4, 4], "label":"V", "x":5.25, "y":4.25}, + { "matrix": [4, 5], "label":"B", "x":6.25, "y":4.25}, + { "matrix": [4, 6], "label":"N", "x":7.25, "y":4.25}, + { "matrix": [4, 7], "label":"M", "x":8.25, "y":4.25}, + { "matrix": [4, 8], "label":"<", "x":9.25, "y":4.25}, + { "matrix": [4, 9], "label":">", "x":10.25, "y":4.25}, + { "matrix": [4, 10], "label":"?", "x":11.25, "y":4.25}, + { "matrix": [4, 12], "label":"Shift", "x":12.25, "y":4.25, "w":2.75}, + { "matrix": [4, 15], "label":"\u2191", "x":16.25, "y":4.25}, + + { "matrix": [5, 0], "label":"Ctrl", "x":0, "y":5.25, "w":1.25}, + { "matrix": [5, 1], "label":"Win", "x":1.25, "y":5.25, "w":1.25}, + { "matrix": [5, 2], "label":"Alt", "x":2.5, "y":5.25, "w":1.25}, + { "matrix": [5, 6], "label":" ", "x":3.75, "y":5.25, "w":6.25}, + { "matrix": [5, 10], "label":"Alt", "x":10, "y":5.25, "w":1.25}, + { "matrix": [5, 11], "label":"Fn", "x":11.25, "y":5.25, "w":1.25}, + { "matrix": [5, 12], "label":"Menu", "x":12.5, "y":5.25, "w":1.25}, + { "matrix": [5, 13], "label":"Ctrl", "x":13.75, "y":5.25, "w":1.25}, + { "matrix": [5, 14], "label":"\u2190", "x":15.25, "y":5.25}, + { "matrix": [5, 15], "label":"\u2193", "x":16.25, "y":5.25}, + { "matrix": [5, 16], "label":"\u2192", "x":17.25, "y":5.25} + ] + } + }, + "rgb_matrix": { + "driver": "is31fl3733", + "animations": { + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "rainbow_moving_chevron": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "pixel_fractal": true, + "pixel_flow": true, + "pixel_rain": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_wide": true, + "solid_reactive_multiwide": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_nexus": true, + "solid_reactive_multinexus": true, + "splash": true, + "multisplash": true, + "solid_splash": true, + "solid_multisplash": true + }, + "layout": [ + { "flags": 4, "matrix": [0, 0], "x": 6, "y": 8 }, + { "flags": 4, "matrix": [0, 1], "x": 21, "y": 8 }, + { "flags": 4, "matrix": [0, 2], "x": 33, "y": 8 }, + { "flags": 4, "matrix": [0, 3], "x": 45, "y": 8 }, + { "flags": 4, "matrix": [0, 4], "x": 57, "y": 8 }, + { "flags": 4, "matrix": [0, 5], "x": 74, "y": 8 }, + { "flags": 4, "matrix": [0, 6], "x": 86, "y": 8 }, + { "flags": 4, "matrix": [0, 7], "x": 98, "y": 8 }, + { "flags": 4, "matrix": [0, 8], "x": 110, "y": 8 }, + { "flags": 4, "matrix": [0, 9], "x": 125, "y": 8 }, + { "flags": 4, "matrix": [0, 10], "x": 137, "y": 8 }, + { "flags": 4, "matrix": [0, 11], "x": 150, "y": 8 }, + { "flags": 4, "matrix": [0, 12], "x": 161, "y": 8 }, + { "flags": 4, "matrix": [0, 13], "x": 176, "y": 8 }, + { "flags": 4, "matrix": [0, 14], "x": 192, "y": 8 }, + { "flags": 4, "matrix": [0, 15], "x": 204, "y": 8 }, + + { "flags": 4, "matrix": [1, 0], "x": 6, "y": 21 }, + { "flags": 4, "matrix": [1, 1], "x": 18, "y": 21 }, + { "flags": 4, "matrix": [1, 2], "x": 37, "y": 21 }, + { "flags": 4, "matrix": [1, 3], "x": 43, "y": 21 }, + { "flags": 4, "matrix": [1, 4], "x": 55, "y": 21 }, + { "flags": 4, "matrix": [1, 5], "x": 67, "y": 21 }, + { "flags": 4, "matrix": [1, 6], "x": 79, "y": 21 }, + { "flags": 4, "matrix": [1, 7], "x": 92, "y": 21 }, + { "flags": 4, "matrix": [1, 8], "x": 104, "y": 21 }, + { "flags": 4, "matrix": [1, 9], "x": 116, "y": 21 }, + { "flags": 4, "matrix": [1, 10], "x": 128, "y": 21 }, + { "flags": 4, "matrix": [1, 11], "x": 141, "y": 21 }, + { "flags": 4, "matrix": [1, 12], "x": 153, "y": 21 }, + { "flags": 4, "matrix": [1, 13], "x": 171, "y": 21 }, + { "flags": 4, "matrix": [1, 14], "x": 192, "y": 21 }, + { "flags": 4, "matrix": [1, 15], "x": 204, "y": 21 }, + + { "flags": 4, "matrix": [2, 0], "x": 9, "y": 31 }, + { "flags": 4, "matrix": [2, 1], "x": 24, "y": 31 }, + { "flags": 4, "matrix": [2, 2], "x": 36, "y": 31 }, + { "flags": 4, "matrix": [2, 3], "x": 48, "y": 31 }, + { "flags": 4, "matrix": [2, 4], "x": 61, "y": 31 }, + { "flags": 4, "matrix": [2, 5], "x": 73, "y": 31 }, + { "flags": 4, "matrix": [2, 6], "x": 86, "y": 31 }, + { "flags": 4, "matrix": [2, 7], "x": 98, "y": 31 }, + { "flags": 4, "matrix": [2, 8], "x": 110, "y": 31 }, + { "flags": 4, "matrix": [2, 9], "x": 122, "y": 31 }, + { "flags": 4, "matrix": [2, 10], "x": 134, "y": 31 }, + { "flags": 4, "matrix": [2, 11], "x": 146, "y": 31 }, + { "flags": 4, "matrix": [2, 12], "x": 159, "y": 31 }, + { "flags": 4, "matrix": [2, 13], "x": 174, "y": 31 }, + { "flags": 4, "matrix": [2, 14], "x": 192, "y": 31 }, + { "flags": 4, "matrix": [2, 15], "x": 204, "y": 31 }, + + { "flags": 4, "matrix": [3, 0], "x": 11, "y": 41 }, + { "flags": 4, "matrix": [3, 1], "x": 27, "y": 41 }, + { "flags": 4, "matrix": [3, 2], "x": 40, "y": 41 }, + { "flags": 4, "matrix": [3, 3], "x": 52, "y": 41 }, + { "flags": 4, "matrix": [3, 4], "x": 64, "y": 41 }, + { "flags": 4, "matrix": [3, 5], "x": 76, "y": 41 }, + { "flags": 4, "matrix": [3, 6], "x": 88, "y": 41 }, + { "flags": 4, "matrix": [3, 7], "x": 100, "y": 41 }, + { "flags": 4, "matrix": [3, 8], "x": 113, "y": 41 }, + { "flags": 4, "matrix": [3, 9], "x": 124, "y": 41 }, + { "flags": 4, "matrix": [3, 10], "x": 137, "y": 41 }, + { "flags": 4, "matrix": [3, 11], "x": 150, "y": 41 }, + { "flags": 4, "matrix": [3, 12], "x": 170, "y": 41 }, + { "flags": 4, "matrix": [0, 16], "x": 217, "y": 8 }, + { "flags": 4, "matrix": [1, 16], "x": 217, "y": 21 }, + { "flags": 4, "matrix": [2, 16], "x": 217, "y": 31 }, + + { "flags": 4, "matrix": [4, 0], "x": 13, "y": 51 }, + { "flags": 4, "matrix": [4, 1], "x": 34, "y": 51 }, + { "flags": 4, "matrix": [4, 2], "x": 45, "y": 51 }, + { "flags": 4, "matrix": [4, 3], "x": 58, "y": 51 }, + { "flags": 4, "matrix": [4, 4], "x": 70, "y": 51 }, + { "flags": 4, "matrix": [4, 5], "x": 82, "y": 51 }, + { "flags": 4, "matrix": [4, 6], "x": 94, "y": 51 }, + { "flags": 4, "matrix": [4, 7], "x": 107, "y": 51 }, + { "flags": 4, "matrix": [4, 8], "x": 119, "y": 51 }, + { "flags": 4, "matrix": [4, 9], "x": 131, "y": 51 }, + { "flags": 4, "matrix": [4, 10], "x": 143, "y": 51 }, + { "flags": 4, "matrix": [4, 12], "x": 166, "y": 51 }, + { "flags": 4, "matrix": [4, 15], "x": 204, "y": 51 }, + + { "flags": 4, "matrix": [5, 0], "x": 8, "y": 61 }, + { "flags": 4, "matrix": [5, 1], "x": 23, "y": 61 }, + { "flags": 4, "matrix": [5, 2], "x": 38, "y": 61 }, + { "flags": 4, "matrix": [5, 6], "x": 84, "y": 61 }, + { "flags": 4, "matrix": [5, 10], "x": 129, "y": 61 }, + { "flags": 4, "matrix": [5, 11], "x": 144, "y": 61 }, + { "flags": 4, "matrix": [5, 12], "x": 160, "y": 61 }, + { "flags": 4, "matrix": [5, 13], "x": 175, "y": 61 }, + { "flags": 4, "matrix": [5, 14], "x": 192, "y": 61 }, + { "flags": 4, "matrix": [5, 15], "x": 204, "y": 61 }, + { "flags": 4, "matrix": [5, 16], "x": 217, "y": 61 } + ] + } +} diff --git a/keyboards/drop/cstm80/keymaps/default/keymap.c b/keyboards/drop/cstm80/keymaps/default/keymap.c new file mode 100644 index 00000000000..e820a0a7435 --- /dev/null +++ b/keyboards/drop/cstm80/keymaps/default/keymap.c @@ -0,0 +1,38 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐ + * │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││F13││PSc│Scr│Pse│ + * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐┌───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp││Ins│Hom│PgU│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ ││Del│End│PgD│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤┌───┼───┼───┐ + * │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl││ ← │ ↓ │ → │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ + */ + [0] = LAYOUT_tkl_f13_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_F13, KC_PSCR, KC_SCRL, KC_PAUS, + 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_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_BSLS, 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_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_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_tkl_f13_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, + _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,_______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, EE_CLR, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/drop/cstm80/keymaps/via/config.h b/keyboards/drop/cstm80/keymaps/via/config.h new file mode 100644 index 00000000000..616f8e32910 --- /dev/null +++ b/keyboards/drop/cstm80/keymaps/via/config.h @@ -0,0 +1,5 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define DYNAMIC_KEYMAP_LAYER_COUNT 8 diff --git a/keyboards/drop/cstm80/keymaps/via/keymap.c b/keyboards/drop/cstm80/keymaps/via/keymap.c new file mode 100644 index 00000000000..e820a0a7435 --- /dev/null +++ b/keyboards/drop/cstm80/keymaps/via/keymap.c @@ -0,0 +1,38 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐ + * │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││F13││PSc│Scr│Pse│ + * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐┌───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp││Ins│Hom│PgU│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ ││Del│End│PgD│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤┌───┼───┼───┐ + * │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl││ ← │ ↓ │ → │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ + */ + [0] = LAYOUT_tkl_f13_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_F13, KC_PSCR, KC_SCRL, KC_PAUS, + 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_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_BSLS, 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_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_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_tkl_f13_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, + _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,_______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, EE_CLR, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/drop/cstm80/keymaps/via/rules.mk b/keyboards/drop/cstm80/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/drop/cstm80/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/drop/cstm80/mcuconf.h b/keyboards/drop/cstm80/mcuconf.h new file mode 100644 index 00000000000..819aa70bf7f --- /dev/null +++ b/keyboards/drop/cstm80/mcuconf.h @@ -0,0 +1,14 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include_next + +#undef STM32_PLLM_VALUE +#define STM32_PLLM_VALUE 16 + +#undef STM32_PREDIV_VALUE +#define STM32_PREDIV_VALUE 2 + +#undef STM32_I2C_USE_I2C1 +#define STM32_I2C_USE_I2C1 TRUE diff --git a/keyboards/drop/cstm80/readme.md b/keyboards/drop/cstm80/readme.md new file mode 100644 index 00000000000..f0851cc045b --- /dev/null +++ b/keyboards/drop/cstm80/readme.md @@ -0,0 +1,24 @@ +# CSTM80 + +The CSTM80 is a tenkeyless keyboard with customizable switch plates and weights, as well as a magnetically attached top case. + +* Keyboard Maintainer: [zvecr](https://github.com/zvecr) +* Hardware Availability: [Drop CSTM80 Mechanical Keyboard](https://drop.com/buy/drop-cstm80-mechanical-keyboard) + +Make example for this keyboard (after setting up your build environment): + + make drop/cstm80:default + +Flashing example for this keyboard: + + make drop/cstm80: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**: Quickly double tap the button located under the spacebar +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/drop/cstm80/rules.mk b/keyboards/drop/cstm80/rules.mk new file mode 100644 index 00000000000..21d76468cf5 --- /dev/null +++ b/keyboards/drop/cstm80/rules.mk @@ -0,0 +1,4 @@ +UF2_DEVICE_TYPE_ID = 0x8bfa7750 +UF2CONV_ARGS = --device-type $(UF2_DEVICE_TYPE_ID) + +SRC += lib/common.c diff --git a/keyboards/drop/lib/common.c b/keyboards/drop/lib/common.c index b393e7650b4..04845ed17a0 100644 --- a/keyboards/drop/lib/common.c +++ b/keyboards/drop/lib/common.c @@ -5,17 +5,15 @@ # include "quantum.h" # include "rgb_matrix.h" -# define LED_FLAG_ANY_SWITCH (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR) - # ifdef RGB_MATRIX_CAPS_LOCK_INDEX bool rgb_matrix_indicators_kb(void) { if (!rgb_matrix_indicators_user()) { return false; } - if (host_keyboard_led_state().caps_lock) { + if (host_keyboard_led_state().caps_lock && (rgb_matrix_get_flags() != LED_FLAG_NONE)) { rgb_matrix_set_color(RGB_MATRIX_CAPS_LOCK_INDEX, RGB_WHITE); - } else if ((rgb_matrix_get_flags() & LED_FLAG_ANY_SWITCH) == 0) { + } else if (rgb_matrix_get_flags() == LED_FLAG_UNDERGLOW) { rgb_matrix_set_color(RGB_MATRIX_CAPS_LOCK_INDEX, RGB_OFF); } return true; @@ -33,9 +31,9 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) { case RGB_TOG: switch (rgb_matrix_get_flags()) { case LED_FLAG_ALL: - rgb_matrix_set_flags(LED_FLAG_ANY_SWITCH); + rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); break; - case LED_FLAG_ANY_SWITCH: + case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); break; case LED_FLAG_UNDERGLOW: From 25c850e7626534ca112edb5708f42af10302fff5 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 27 Sep 2023 00:49:07 +0100 Subject: [PATCH 124/144] Add support for YMD75 V4 - ISO (#22128) --- keyboards/ymdk/ymd75/rev4/iso/board.h | 8 + keyboards/ymdk/ymd75/rev4/iso/config.h | 11 + keyboards/ymdk/ymd75/rev4/iso/halconf.h | 7 + keyboards/ymdk/ymd75/rev4/iso/info.json | 277 ++++++++++++++++++ .../ymd75/rev4/iso/keymaps/default/keymap.c | 37 +++ .../ymdk/ymd75/rev4/iso/keymaps/via/keymap.c | 37 +++ .../ymdk/ymd75/rev4/iso/keymaps/via/rules.mk | 1 + keyboards/ymdk/ymd75/rev4/iso/mcuconf.h | 11 + keyboards/ymdk/ymd75/rev4/iso/readme.md | 24 ++ keyboards/ymdk/ymd75/rev4/iso/rules.mk | 1 + 10 files changed, 414 insertions(+) create mode 100644 keyboards/ymdk/ymd75/rev4/iso/board.h create mode 100644 keyboards/ymdk/ymd75/rev4/iso/config.h create mode 100644 keyboards/ymdk/ymd75/rev4/iso/halconf.h create mode 100644 keyboards/ymdk/ymd75/rev4/iso/info.json create mode 100644 keyboards/ymdk/ymd75/rev4/iso/keymaps/default/keymap.c create mode 100644 keyboards/ymdk/ymd75/rev4/iso/keymaps/via/keymap.c create mode 100644 keyboards/ymdk/ymd75/rev4/iso/keymaps/via/rules.mk create mode 100644 keyboards/ymdk/ymd75/rev4/iso/mcuconf.h create mode 100644 keyboards/ymdk/ymd75/rev4/iso/readme.md create mode 100644 keyboards/ymdk/ymd75/rev4/iso/rules.mk diff --git a/keyboards/ymdk/ymd75/rev4/iso/board.h b/keyboards/ymdk/ymd75/rev4/iso/board.h new file mode 100644 index 00000000000..3cd18021028 --- /dev/null +++ b/keyboards/ymdk/ymd75/rev4/iso/board.h @@ -0,0 +1,8 @@ +// Copyright 2023 zvecr +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include_next + +#undef STM32_HSECLK +#define STM32_HSECLK 16000000 diff --git a/keyboards/ymdk/ymd75/rev4/iso/config.h b/keyboards/ymdk/ymd75/rev4/iso/config.h new file mode 100644 index 00000000000..317c0ec2362 --- /dev/null +++ b/keyboards/ymdk/ymd75/rev4/iso/config.h @@ -0,0 +1,11 @@ +// Copyright 2023 zvecr +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define RGB_DISABLE_WHEN_USB_SUSPENDED + +#define WS2812_PWM_DRIVER PWMD4 +#define WS2812_PWM_CHANNEL 4 +#define WS2812_PWM_PAL_MODE 2 +#define WS2812_DMA_STREAM STM32_DMA1_STREAM7 +#define WS2812_DMA_CHANNEL 7 diff --git a/keyboards/ymdk/ymd75/rev4/iso/halconf.h b/keyboards/ymdk/ymd75/rev4/iso/halconf.h new file mode 100644 index 00000000000..782eea99a40 --- /dev/null +++ b/keyboards/ymdk/ymd75/rev4/iso/halconf.h @@ -0,0 +1,7 @@ +// Copyright 2023 zvecr +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/ymdk/ymd75/rev4/iso/info.json b/keyboards/ymdk/ymd75/rev4/iso/info.json new file mode 100644 index 00000000000..d7e27dbdeb1 --- /dev/null +++ b/keyboards/ymdk/ymd75/rev4/iso/info.json @@ -0,0 +1,277 @@ +{ + "keyboard_name": "YMD75 V4", + "manufacturer": "YMDK", + "url": "", + "maintainer": "zvecr", + "processor": "STM32F103", + "bootloader": "uf2boot", + "board": "STM32_F103_STM32DUINO", + "diode_direction": "ROW2COL", + "matrix_pins": { + "cols": ["A7","B0","B1","B2","B10","B11","A5","A15","B3"], + "rows": ["A6","A4","A3","A2","A1","A0","A8","B15","B14","B13","B12","A9"] + }, + "usb": { + "vid": "0x594D", + "pid": "0x7549", + "device_version": "4.0.0" + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "ws2812": { + "driver": "pwm", + "pin": "B9" + }, + "rgb_matrix": { + "driver": "ws2812", + "max_brightness": 200, + "animations": { + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "rainbow_moving_chevron": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "pixel_fractal": true, + "pixel_flow": true, + "pixel_rain": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_wide": true, + "solid_reactive_multiwide": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_nexus": true, + "solid_reactive_multinexus": true, + "splash": true, + "multisplash": true, + "solid_splash": true, + "solid_multisplash": true + }, + "layout": [ + { "flags": 4, "matrix": [0, 0], "x": 0, "y": 0 }, + { "flags": 4, "matrix": [0, 1], "x": 15, "y": 0 }, + { "flags": 4, "matrix": [0, 2], "x": 30, "y": 0 }, + { "flags": 4, "matrix": [0, 3], "x": 45, "y": 0 }, + { "flags": 4, "matrix": [0, 4], "x": 60, "y": 0 }, + { "flags": 4, "matrix": [0, 5], "x": 75, "y": 0 }, + { "flags": 4, "matrix": [0, 6], "x": 90, "y": 0 }, + { "flags": 4, "matrix": [0, 7], "x": 105, "y": 0 }, + { "flags": 4, "matrix": [0, 8], "x": 119, "y": 0 }, + { "flags": 4, "matrix": [6, 8], "x": 134, "y": 0 }, + { "flags": 4, "matrix": [6, 7], "x": 149, "y": 0 }, + { "flags": 4, "matrix": [6, 5], "x": 164, "y": 0 }, + { "flags": 4, "matrix": [6, 4], "x": 179, "y": 0 }, + { "flags": 4, "matrix": [6, 3], "x": 194, "y": 0 }, + { "flags": 4, "matrix": [6, 6], "x": 209, "y": 0 }, + { "flags": 4, "matrix": [6, 2], "x": 224, "y": 0 }, + { "flags": 4, "matrix": [1, 0], "x": 0, "y": 13 }, + { "flags": 4, "matrix": [1, 1], "x": 15, "y": 13 }, + { "flags": 4, "matrix": [1, 2], "x": 30, "y": 13 }, + { "flags": 4, "matrix": [1, 3], "x": 45, "y": 13 }, + { "flags": 4, "matrix": [1, 4], "x": 60, "y": 13 }, + { "flags": 4, "matrix": [1, 5], "x": 75, "y": 13 }, + { "flags": 4, "matrix": [1, 6], "x": 90, "y": 13 }, + { "flags": 4, "matrix": [1, 7], "x": 105, "y": 13 }, + { "flags": 4, "matrix": [1, 8], "x": 119, "y": 13 }, + { "flags": 4, "matrix": [7, 8], "x": 134, "y": 13 }, + { "flags": 4, "matrix": [7, 7], "x": 149, "y": 13 }, + { "flags": 4, "matrix": [7, 5], "x": 164, "y": 13 }, + { "flags": 4, "matrix": [7, 4], "x": 179, "y": 13 }, + { "flags": 4, "matrix": [7, 6], "x": 202, "y": 13 }, + { "flags": 4, "matrix": [7, 2], "x": 224, "y": 13 }, + { "flags": 4, "matrix": [2, 0], "x": 4, "y": 26 }, + { "flags": 4, "matrix": [2, 1], "x": 22, "y": 26 }, + { "flags": 4, "matrix": [2, 2], "x": 37, "y": 26 }, + { "flags": 4, "matrix": [2, 3], "x": 52, "y": 26 }, + { "flags": 4, "matrix": [2, 4], "x": 67, "y": 26 }, + { "flags": 4, "matrix": [2, 5], "x": 82, "y": 26 }, + { "flags": 4, "matrix": [2, 6], "x": 97, "y": 26 }, + { "flags": 4, "matrix": [2, 7], "x": 112, "y": 26 }, + { "flags": 4, "matrix": [2, 8], "x": 127, "y": 26 }, + { "flags": 4, "matrix": [8, 8], "x": 142, "y": 26 }, + { "flags": 4, "matrix": [8, 7], "x": 157, "y": 26 }, + { "flags": 4, "matrix": [8, 5], "x": 172, "y": 26 }, + { "flags": 4, "matrix": [8, 4], "x": 187, "y": 26 }, + { "flags": 4, "matrix": [8, 3], "x": 207, "y": 32 }, + { "flags": 4, "matrix": [8, 6], "x": 224, "y": 26 }, + { "flags": 4, "matrix": [3, 0], "x": 6, "y": 38 }, + { "flags": 4, "matrix": [3, 1], "x": 26, "y": 38 }, + { "flags": 4, "matrix": [3, 2], "x": 41, "y": 38 }, + { "flags": 4, "matrix": [3, 3], "x": 56, "y": 38 }, + { "flags": 4, "matrix": [3, 4], "x": 71, "y": 38 }, + { "flags": 4, "matrix": [3, 5], "x": 86, "y": 38 }, + { "flags": 4, "matrix": [3, 6], "x": 101, "y": 38 }, + { "flags": 4, "matrix": [3, 7], "x": 116, "y": 38 }, + { "flags": 4, "matrix": [3, 8], "x": 131, "y": 38 }, + { "flags": 4, "matrix": [9, 8], "x": 146, "y": 38 }, + { "flags": 4, "matrix": [9, 7], "x": 161, "y": 38 }, + { "flags": 4, "matrix": [9, 5], "x": 175, "y": 38 }, + { "flags": 4, "matrix": [9, 4], "x": 190, "y": 38 }, + { "flags": 4, "matrix": [9, 6], "x": 224, "y": 38 }, + { "flags": 4, "matrix": [4, 0], "x": 2, "y": 51 }, + { "flags": 4, "matrix": [4, 1], "x": 19, "y": 51 }, + { "flags": 4, "matrix": [4, 2], "x": 34, "y": 51 }, + { "flags": 4, "matrix": [4, 3], "x": 49, "y": 51 }, + { "flags": 4, "matrix": [4, 4], "x": 63, "y": 51 }, + { "flags": 4, "matrix": [4, 5], "x": 78, "y": 51 }, + { "flags": 4, "matrix": [4, 6], "x": 93, "y": 51 }, + { "flags": 4, "matrix": [4, 7], "x": 108, "y": 51 }, + { "flags": 4, "matrix": [4, 8], "x": 123, "y": 51 }, + { "flags": 4, "matrix": [10, 8], "x": 138, "y": 51 }, + { "flags": 4, "matrix": [10, 7], "x": 153, "y": 51 }, + { "flags": 4, "matrix": [10, 5], "x": 168, "y": 51 }, + { "flags": 4, "matrix": [10, 4], "x": 189, "y": 51 }, + { "flags": 4, "matrix": [10, 3], "x": 209, "y": 51 }, + { "flags": 4, "matrix": [10, 6], "x": 224, "y": 51 }, + { "flags": 4, "matrix": [5, 0], "x": 2, "y": 64 }, + { "flags": 4, "matrix": [5, 1], "x": 21, "y": 64 }, + { "flags": 4, "matrix": [5, 2], "x": 39, "y": 64 }, + { "flags": 4, "matrix": [5, 6], "x": 95, "y": 64 }, + { "flags": 4, "matrix": [5, 8], "x": 149, "y": 64 }, + { "flags": 4, "matrix": [5, 7], "x": 164, "y": 64 }, + { "flags": 4, "matrix": [5, 5], "x": 179, "y": 64 }, + { "flags": 4, "matrix": [5, 4], "x": 194, "y": 64 }, + { "flags": 4, "matrix": [5, 3], "x": 209, "y": 64 }, + { "flags": 4, "matrix": [11, 6], "x": 224, "y": 64 }, + { "flags": 2, "x": 1, "y": 5 }, + { "flags": 2, "x": 38, "y": 5 }, + { "flags": 2, "x": 75, "y": 5 }, + { "flags": 2, "x": 112, "y": 5 }, + { "flags": 2, "x": 149, "y": 5 }, + { "flags": 2, "x": 186, "y": 5 }, + { "flags": 2, "x": 223, "y": 5 }, + { "flags": 2, "x": 223, "y": 32 }, + { "flags": 2, "x": 223, "y": 60 }, + { "flags": 2, "x": 186, "y": 60 }, + { "flags": 2, "x": 149, "y": 60 }, + { "flags": 2, "x": 112, "y": 60 }, + { "flags": 2, "x": 75, "y": 60 }, + { "flags": 2, "x": 38, "y": 60 }, + { "flags": 2, "x": 1, "y": 60 }, + { "flags": 2, "x": 1, "y": 32 } + ] + }, + "community_layouts": ["75_iso"], + "layouts": { + "LAYOUT_75_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": [6, 8], "x":9, "y":0}, + {"matrix": [6, 7], "x":10, "y":0}, + {"matrix": [6, 5], "x":11, "y":0}, + {"matrix": [6, 4], "x":12, "y":0}, + {"matrix": [6, 3], "x":13, "y":0}, + {"matrix": [6, 6], "x":14, "y":0}, + {"matrix": [6, 2], "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": [7, 8], "x":9, "y":1}, + {"matrix": [7, 7], "x":10, "y":1}, + {"matrix": [7, 5], "x":11, "y":1}, + {"matrix": [7, 4], "x":12, "y":1}, + {"matrix": [7, 6], "x":13, "y":1, "w":2}, + {"matrix": [7, 2], "x":15, "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": [8, 8], "x":9.5, "y":2}, + {"matrix": [8, 7], "x":10.5, "y":2}, + {"matrix": [8, 5], "x":11.5, "y":2}, + {"matrix": [8, 4], "x":12.5, "y":2}, + {"matrix": [8, 6], "x":15, "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": [9, 8], "x":9.75, "y":3}, + {"matrix": [9, 7], "x":10.75, "y":3}, + {"matrix": [9, 5], "x":11.75, "y":3}, + {"matrix": [9, 4], "x":12.75, "y":3}, + {"matrix": [8, 3], "x":13.75, "y":2, "w":1.25, "h":2}, + {"matrix": [9, 6], "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": [10, 8], "x":9.25, "y":4}, + {"matrix": [10, 7], "x":10.25, "y":4}, + {"matrix": [10, 5], "x":11.25, "y":4}, + {"matrix": [10, 4], "x":12.25, "y":4, "w":1.75}, + {"matrix": [10, 3], "x":14, "y":4}, + {"matrix": [10, 6], "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, 2], "x":2.5, "y":5, "w":1.25}, + {"matrix": [5, 6], "x":3.75, "y":5, "w":6.25}, + {"matrix": [5, 8], "x":10, "y":5}, + {"matrix": [5, 7], "x":11, "y":5}, + {"matrix": [5, 5], "x":12, "y":5}, + {"matrix": [5, 4], "x":13, "y":5}, + {"matrix": [5, 3], "x":14, "y":5}, + {"matrix": [11, 6], "x":15, "y":5} + ] + } + } +} + diff --git a/keyboards/ymdk/ymd75/rev4/iso/keymaps/default/keymap.c b/keyboards/ymdk/ymd75/rev4/iso/keymaps/default/keymap.c new file mode 100644 index 00000000000..15dc1dc8b70 --- /dev/null +++ b/keyboards/ymdk/ymd75/rev4/iso/keymaps/default/keymap.c @@ -0,0 +1,37 @@ +// Copyright 2023 zvecr +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │Esc│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│PSc│Pse│Del│ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┤ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│Hom│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │PgU│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent├───┤ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │PgD│ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ + * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │End│ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤ + * │Ctrl│GUI │Alt │ │Alt│GUI│Ctl│ ← │ ↓ │ → │ + * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘ + */ + [0] = LAYOUT_75_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_PSCR, KC_PAUS, KC_DEL, + 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_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGUP, + 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_PGDN, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_75_iso( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; diff --git a/keyboards/ymdk/ymd75/rev4/iso/keymaps/via/keymap.c b/keyboards/ymdk/ymd75/rev4/iso/keymaps/via/keymap.c new file mode 100644 index 00000000000..15dc1dc8b70 --- /dev/null +++ b/keyboards/ymdk/ymd75/rev4/iso/keymaps/via/keymap.c @@ -0,0 +1,37 @@ +// Copyright 2023 zvecr +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │Esc│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│PSc│Pse│Del│ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┤ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│Hom│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │PgU│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ Ent├───┤ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │ │PgD│ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ + * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │End│ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤ + * │Ctrl│GUI │Alt │ │Alt│GUI│Ctl│ ← │ ↓ │ → │ + * └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘ + */ + [0] = LAYOUT_75_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_PSCR, KC_PAUS, KC_DEL, + 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_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGUP, + 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_PGDN, + 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_END, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_75_iso( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_TOG, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; diff --git a/keyboards/ymdk/ymd75/rev4/iso/keymaps/via/rules.mk b/keyboards/ymdk/ymd75/rev4/iso/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/ymdk/ymd75/rev4/iso/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/ymdk/ymd75/rev4/iso/mcuconf.h b/keyboards/ymdk/ymd75/rev4/iso/mcuconf.h new file mode 100644 index 00000000000..a7e5a1c0588 --- /dev/null +++ b/keyboards/ymdk/ymd75/rev4/iso/mcuconf.h @@ -0,0 +1,11 @@ +// Copyright 2023 zvecr +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include_next + +#undef STM32_PWM_USE_TIM4 +#define STM32_PWM_USE_TIM4 TRUE + +#undef STM32_PLLXTPRE +#define STM32_PLLXTPRE STM32_PLLXTPRE_DIV2 diff --git a/keyboards/ymdk/ymd75/rev4/iso/readme.md b/keyboards/ymdk/ymd75/rev4/iso/readme.md new file mode 100644 index 00000000000..43b0c922249 --- /dev/null +++ b/keyboards/ymdk/ymd75/rev4/iso/readme.md @@ -0,0 +1,24 @@ +# YMD75 V4 + +75% per key RGB hotswap PCB with North Facing LED. + +* Keyboard Maintainer: [zvecr](https://github.com/zvecr) +* Hardware Availability: + +Make example for this keyboard (after setting up your build environment): + + make ymdk/ymd75/rev4/iso:default + +Flashing example for this keyboard: + + make ymdk/ymd75/rev4/iso: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**: Quickly double tap 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/ymdk/ymd75/rev4/iso/rules.mk b/keyboards/ymdk/ymd75/rev4/iso/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/ymdk/ymd75/rev4/iso/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From 0ecb03ad47a1ec1871537cd9fa3ea39cc60f52aa Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 27 Sep 2023 03:57:57 +0100 Subject: [PATCH 125/144] Drop V2 production updates (#22147) --- keyboards/drop/alt/v2/config.h | 1 - keyboards/drop/alt/v2/info.json | 1 + keyboards/drop/ctrl/v2/config.h | 1 - keyboards/drop/ctrl/v2/info.json | 1 + keyboards/drop/shift/v2/config.h | 1 - keyboards/drop/shift/v2/info.json | 1 + 6 files changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/drop/alt/v2/config.h b/keyboards/drop/alt/v2/config.h index f3f432390e1..5de22f7bcf5 100644 --- a/keyboards/drop/alt/v2/config.h +++ b/keyboards/drop/alt/v2/config.h @@ -21,7 +21,6 @@ #define ISSI_PWM_FREQUENCY 0b010 // 26k #define RGB_DISABLE_WHEN_USB_SUSPENDED -#define RGB_MATRIX_DEFAULT_VAL 100 #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/drop/alt/v2/info.json b/keyboards/drop/alt/v2/info.json index bfd7942fffd..c234f03090c 100644 --- a/keyboards/drop/alt/v2/info.json +++ b/keyboards/drop/alt/v2/info.json @@ -105,6 +105,7 @@ }, "rgb_matrix": { "driver": "is31fl3733", + "max_brightness": 191, "animations": { "alphas_mods": true, "gradient_up_down": true, diff --git a/keyboards/drop/ctrl/v2/config.h b/keyboards/drop/ctrl/v2/config.h index 539c505cb38..2cff42074a3 100644 --- a/keyboards/drop/ctrl/v2/config.h +++ b/keyboards/drop/ctrl/v2/config.h @@ -21,7 +21,6 @@ #define ISSI_PWM_FREQUENCY 0b010 // 26k #define RGB_DISABLE_WHEN_USB_SUSPENDED -#define RGB_MATRIX_DEFAULT_VAL 100 #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/drop/ctrl/v2/info.json b/keyboards/drop/ctrl/v2/info.json index 3d113591208..11af6a553c6 100644 --- a/keyboards/drop/ctrl/v2/info.json +++ b/keyboards/drop/ctrl/v2/info.json @@ -125,6 +125,7 @@ }, "rgb_matrix": { "driver": "is31fl3733", + "max_brightness": 191, "animations": { "alphas_mods": true, "gradient_up_down": true, diff --git a/keyboards/drop/shift/v2/config.h b/keyboards/drop/shift/v2/config.h index 6c651d1f83a..a4faafe3949 100644 --- a/keyboards/drop/shift/v2/config.h +++ b/keyboards/drop/shift/v2/config.h @@ -22,7 +22,6 @@ #define ISSI_PWM_FREQUENCY 0b010 // 26k #define RGB_DISABLE_WHEN_USB_SUSPENDED -#define RGB_MATRIX_DEFAULT_VAL 100 #define RGB_MATRIX_KEYPRESSES #define RGB_MATRIX_FRAMEBUFFER_EFFECTS diff --git a/keyboards/drop/shift/v2/info.json b/keyboards/drop/shift/v2/info.json index 44a3a5fc984..3615fdef4fc 100644 --- a/keyboards/drop/shift/v2/info.json +++ b/keyboards/drop/shift/v2/info.json @@ -133,6 +133,7 @@ }, "rgb_matrix": { "driver": "is31fl3733", + "max_brightness": 191, "animations": { "alphas_mods": true, "gradient_up_down": true, From fb0c64a567b6dd2536aae0c2df56a915ffa72404 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Thu, 28 Sep 2023 20:48:58 +1000 Subject: [PATCH 126/144] Allow inline generation of compile_commands.json while doing a `qmk compile`, using `--compiledb` (#21549) --- lib/python/qmk/cli/compile.py | 16 +++++ .../qmk/cli/generate/compilation_database.py | 63 ++++++++++--------- 2 files changed, 48 insertions(+), 31 deletions(-) diff --git a/lib/python/qmk/cli/compile.py b/lib/python/qmk/cli/compile.py index 3d632e74a9b..2478ea1fed7 100755 --- a/lib/python/qmk/cli/compile.py +++ b/lib/python/qmk/cli/compile.py @@ -7,10 +7,12 @@ from argcomplete.completers import FilesCompleter from milc import cli import qmk.path +from qmk.constants import QMK_FIRMWARE from qmk.decorators import automagic_keyboard, automagic_keymap from qmk.commands import compile_configurator_json, create_make_command, parse_configurator_json, build_environment from qmk.keyboard import keyboard_completer, keyboard_folder_or_all, is_all_keyboards from qmk.keymap import keymap_completer, locate_keymap +from qmk.cli.generate.compilation_database import write_compilation_database def _is_keymap_target(keyboard, keymap): @@ -30,6 +32,7 @@ def _is_keymap_target(keyboard, keymap): @cli.argument('-j', '--parallel', type=int, default=1, help="Set the number of parallel make jobs; 0 means unlimited.") @cli.argument('-e', '--env', arg_only=True, action='append', default=[], help="Set a variable to be passed to make. May be passed multiple times.") @cli.argument('-c', '--clean', arg_only=True, action='store_true', help="Remove object files before compiling.") +@cli.argument('--compiledb', arg_only=True, action='store_true', help="Generates the clang compile_commands.json file during build. Implies --clean.") @cli.subcommand('Compile a QMK Firmware.') @automagic_keyboard @automagic_keymap @@ -53,6 +56,9 @@ def compile(cli): # Determine the compile command commands = [] + current_keyboard = None + current_keymap = None + if cli.args.filename: # If a configurator JSON was provided generate a keymap and compile it user_keymap = parse_configurator_json(cli.args.filename) @@ -69,11 +75,21 @@ def compile(cli): commands.append(create_make_command(cli.config.compile.keyboard, cli.config.compile.keymap, 'clean', **envs)) commands.append(create_make_command(cli.config.compile.keyboard, cli.config.compile.keymap, parallel=cli.config.compile.parallel, **envs)) + current_keyboard = cli.config.compile.keyboard + current_keymap = cli.config.compile.keymap + if not commands: cli.log.error('You must supply a configurator export, both `--keyboard` and `--keymap`, or be in a directory for a keyboard or keymap.') cli.print_help() return False + if cli.args.compiledb: + if current_keyboard is None or current_keymap is None: + cli.log.error('You must supply both `--keyboard` and `--keymap` or be in a directory with a keymap to generate a compile_commands.json file.') + cli.print_help() + return False + write_compilation_database(current_keyboard, current_keymap, QMK_FIRMWARE / 'compile_commands.json') + cli.log.info('Compiling keymap with {fg_cyan}%s', ' '.join(commands[-1])) if not cli.args.dry_run: cli.echo('\n') diff --git a/lib/python/qmk/cli/generate/compilation_database.py b/lib/python/qmk/cli/generate/compilation_database.py index 5e1a18a69b2..9e5c266516d 100755 --- a/lib/python/qmk/cli/generate/compilation_database.py +++ b/lib/python/qmk/cli/generate/compilation_database.py @@ -76,33 +76,9 @@ def parse_make_n(f: Iterator[str]) -> List[Dict[str, str]]: return records -@cli.argument('-kb', '--keyboard', type=keyboard_folder, completer=keyboard_completer, help='The keyboard\'s name') -@cli.argument('-km', '--keymap', completer=keymap_completer, help='The keymap\'s name') -@cli.subcommand('Create a compilation database.') -@automagic_keyboard -@automagic_keymap -def generate_compilation_database(cli: MILC) -> Union[bool, int]: - """Creates a compilation database for the given keyboard build. - - Does a make clean, then a make -n for this target and uses the dry-run output to create - a compilation database (compile_commands.json). This file can help some IDEs and - IDE-like editors work better. For more information about this: - - https://clang.llvm.org/docs/JSONCompilationDatabase.html - """ - command = None - # check both config domains: the magic decorator fills in `generate_compilation_database` but the user is - # more likely to have set `compile` in their config file. - current_keyboard = cli.config.generate_compilation_database.keyboard or cli.config.user.keyboard - current_keymap = cli.config.generate_compilation_database.keymap or cli.config.user.keymap - - if current_keyboard and current_keymap: - # Generate the make command for a specific keyboard/keymap. - command = create_make_command(current_keyboard, current_keymap, dry_run=True) - elif not current_keyboard: - cli.log.error('Could not determine keyboard!') - elif not current_keymap: - cli.log.error('Could not determine keymap!') +def write_compilation_database(keyboard: str, keymap: str, output_path: Path) -> bool: + # Generate the make command for a specific keyboard/keymap. + command = create_make_command(keyboard, keymap, dry_run=True) if not command: cli.log.error('You must supply both `--keyboard` and `--keymap`, or be in a directory for a keyboard or keymap.') @@ -128,9 +104,34 @@ def generate_compilation_database(cli: MILC) -> Union[bool, int]: cli.log.info("Found %s compile commands", len(db)) - dbpath = QMK_FIRMWARE / 'compile_commands.json' - - cli.log.info(f"Writing build database to {dbpath}") - dbpath.write_text(json.dumps(db, indent=4)) + cli.log.info(f"Writing build database to {output_path}") + output_path.write_text(json.dumps(db, indent=4)) return True + + +@cli.argument('-kb', '--keyboard', type=keyboard_folder, completer=keyboard_completer, help='The keyboard\'s name') +@cli.argument('-km', '--keymap', completer=keymap_completer, help='The keymap\'s name') +@cli.subcommand('Create a compilation database.') +@automagic_keyboard +@automagic_keymap +def generate_compilation_database(cli: MILC) -> Union[bool, int]: + """Creates a compilation database for the given keyboard build. + + Does a make clean, then a make -n for this target and uses the dry-run output to create + a compilation database (compile_commands.json). This file can help some IDEs and + IDE-like editors work better. For more information about this: + + https://clang.llvm.org/docs/JSONCompilationDatabase.html + """ + # check both config domains: the magic decorator fills in `generate_compilation_database` but the user is + # more likely to have set `compile` in their config file. + current_keyboard = cli.config.generate_compilation_database.keyboard or cli.config.user.keyboard + current_keymap = cli.config.generate_compilation_database.keymap or cli.config.user.keymap + + if not current_keyboard: + cli.log.error('Could not determine keyboard!') + elif not current_keymap: + cli.log.error('Could not determine keymap!') + + return write_compilation_database(current_keyboard, current_keymap, QMK_FIRMWARE / 'compile_commands.json') From c5706ef79105cb5e782d01271fe420fd798d3573 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Fri, 29 Sep 2023 06:48:20 +1000 Subject: [PATCH 127/144] Allow for `qmk mass-compile all:` (#22116) Co-authored-by: Joel Challis --- lib/python/qmk/cli/mass_compile.py | 127 ++++++++++--------- lib/python/qmk/keyboard.py | 2 + lib/python/qmk/search.py | 196 +++++++++++++++++++---------- 3 files changed, 198 insertions(+), 127 deletions(-) diff --git a/lib/python/qmk/cli/mass_compile.py b/lib/python/qmk/cli/mass_compile.py index 1032dc82d14..1227f435e74 100755 --- a/lib/python/qmk/cli/mass_compile.py +++ b/lib/python/qmk/cli/mass_compile.py @@ -9,8 +9,69 @@ from milc import cli from qmk.constants import QMK_FIRMWARE from qmk.commands import _find_make, get_make_parallel_args -from qmk.keyboard import resolve_keyboard -from qmk.search import search_keymap_targets +from qmk.search import search_keymap_targets, search_make_targets + + +def mass_compile_targets(targets, clean, dry_run, no_temp, parallel, env): + if len(targets) == 0: + return + + make_cmd = _find_make() + builddir = Path(QMK_FIRMWARE) / '.build' + makefile = builddir / 'parallel_kb_builds.mk' + + if dry_run: + cli.log.info('Compilation targets:') + for target in sorted(targets): + cli.log.info(f"{{fg_cyan}}qmk compile -kb {target[0]} -km {target[1]}{{fg_reset}}") + else: + if clean: + cli.run([make_cmd, 'clean'], capture_output=False, stdin=DEVNULL) + + builddir.mkdir(parents=True, exist_ok=True) + with open(makefile, "w") as f: + for target in sorted(targets): + keyboard_name = target[0] + keymap_name = target[1] + keyboard_safe = keyboard_name.replace('/', '_') + build_log = f"{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}.{keymap_name}" + failed_log = f"{QMK_FIRMWARE}/.build/failed.log.{os.getpid()}.{keyboard_safe}.{keymap_name}" + # yapf: disable + f.write( + f"""\ +all: {keyboard_safe}_{keymap_name}_binary +{keyboard_safe}_{keymap_name}_binary: + @rm -f "{build_log}" || true + @echo "Compiling QMK Firmware for target: '{keyboard_name}:{keymap_name}'..." >>"{build_log}" + +@$(MAKE) -C "{QMK_FIRMWARE}" -f "{QMK_FIRMWARE}/builddefs/build_keyboard.mk" KEYBOARD="{keyboard_name}" KEYMAP="{keymap_name}" COLOR=true SILENT=false {' '.join(env)} \\ + >>"{build_log}" 2>&1 \\ + || cp "{build_log}" "{failed_log}" + @{{ grep '\[ERRORS\]' "{build_log}" >/dev/null 2>&1 && printf "Build %-64s \e[1;31m[ERRORS]\e[0m\\n" "{keyboard_name}:{keymap_name}" ; }} \\ + || {{ grep '\[WARNINGS\]' "{build_log}" >/dev/null 2>&1 && printf "Build %-64s \e[1;33m[WARNINGS]\e[0m\\n" "{keyboard_name}:{keymap_name}" ; }} \\ + || printf "Build %-64s \e[1;32m[OK]\e[0m\\n" "{keyboard_name}:{keymap_name}" + @rm -f "{build_log}" || true +"""# noqa + ) + # yapf: enable + + if no_temp: + # yapf: disable + f.write( + f"""\ + @rm -rf "{QMK_FIRMWARE}/.build/{keyboard_safe}_{keymap_name}.elf" 2>/dev/null || true + @rm -rf "{QMK_FIRMWARE}/.build/{keyboard_safe}_{keymap_name}.map" 2>/dev/null || true + @rm -rf "{QMK_FIRMWARE}/.build/obj_{keyboard_safe}_{keymap_name}" || true +"""# noqa + ) + # yapf: enable + f.write('\n') + + cli.run([make_cmd, *get_make_parallel_args(parallel), '-f', makefile.as_posix(), 'all'], capture_output=False, stdin=DEVNULL) + + # Check for failures + failures = [f for f in builddir.glob(f'failed.log.{os.getpid()}.*')] + if len(failures) > 0: + return False @cli.argument('builds', nargs='*', arg_only=True, help="List of builds in form : to compile in parallel. Specifying this overrides all other target search options.") @@ -33,67 +94,9 @@ from qmk.search import search_keymap_targets def mass_compile(cli): """Compile QMK Firmware against all keyboards. """ - make_cmd = _find_make() - if cli.args.clean: - cli.run([make_cmd, 'clean'], capture_output=False, stdin=DEVNULL) - - builddir = Path(QMK_FIRMWARE) / '.build' - makefile = builddir / 'parallel_kb_builds.mk' - if len(cli.args.builds) > 0: - targets = list(sorted(set([(resolve_keyboard(e[0]), e[1]) for e in [b.split(':') for b in cli.args.builds]]))) + targets = search_make_targets(cli.args.builds, cli.args.filter) else: targets = search_keymap_targets(cli.args.keymap, cli.args.filter) - if len(targets) == 0: - return - - if cli.args.dry_run: - cli.log.info('Compilation targets:') - for target in sorted(targets): - cli.log.info(f"{{fg_cyan}}qmk compile -kb {target[0]} -km {target[1]}{{fg_reset}}") - else: - builddir.mkdir(parents=True, exist_ok=True) - with open(makefile, "w") as f: - for target in sorted(targets): - keyboard_name = target[0] - keymap_name = target[1] - keyboard_safe = keyboard_name.replace('/', '_') - build_log = f"{QMK_FIRMWARE}/.build/build.log.{os.getpid()}.{keyboard_safe}.{keymap_name}" - failed_log = f"{QMK_FIRMWARE}/.build/failed.log.{os.getpid()}.{keyboard_safe}.{keymap_name}" - # yapf: disable - f.write( - f"""\ -all: {keyboard_safe}_{keymap_name}_binary -{keyboard_safe}_{keymap_name}_binary: - @rm -f "{build_log}" || true - @echo "Compiling QMK Firmware for target: '{keyboard_name}:{keymap_name}'..." >>"{build_log}" - +@$(MAKE) -C "{QMK_FIRMWARE}" -f "{QMK_FIRMWARE}/builddefs/build_keyboard.mk" KEYBOARD="{keyboard_name}" KEYMAP="{keymap_name}" COLOR=true SILENT=false {' '.join(cli.args.env)} \\ - >>"{build_log}" 2>&1 \\ - || cp "{build_log}" "{failed_log}" - @{{ grep '\[ERRORS\]' "{build_log}" >/dev/null 2>&1 && printf "Build %-64s \e[1;31m[ERRORS]\e[0m\\n" "{keyboard_name}:{keymap_name}" ; }} \\ - || {{ grep '\[WARNINGS\]' "{build_log}" >/dev/null 2>&1 && printf "Build %-64s \e[1;33m[WARNINGS]\e[0m\\n" "{keyboard_name}:{keymap_name}" ; }} \\ - || printf "Build %-64s \e[1;32m[OK]\e[0m\\n" "{keyboard_name}:{keymap_name}" - @rm -f "{build_log}" || true -"""# noqa - ) - # yapf: enable - - if cli.args.no_temp: - # yapf: disable - f.write( - f"""\ - @rm -rf "{QMK_FIRMWARE}/.build/{keyboard_safe}_{keymap_name}.elf" 2>/dev/null || true - @rm -rf "{QMK_FIRMWARE}/.build/{keyboard_safe}_{keymap_name}.map" 2>/dev/null || true - @rm -rf "{QMK_FIRMWARE}/.build/obj_{keyboard_safe}_{keymap_name}" || true -"""# noqa - ) - # yapf: enable - f.write('\n') - - cli.run([make_cmd, *get_make_parallel_args(cli.args.parallel), '-f', makefile.as_posix(), 'all'], capture_output=False, stdin=DEVNULL) - - # Check for failures - failures = [f for f in builddir.glob(f'failed.log.{os.getpid()}.*')] - if len(failures) > 0: - return False + return mass_compile_targets(targets, cli.args.clean, cli.args.dry_run, cli.args.no_temp, cli.args.parallel, cli.args.env) diff --git a/lib/python/qmk/keyboard.py b/lib/python/qmk/keyboard.py index 3e5cae4b22e..18ca5a95341 100644 --- a/lib/python/qmk/keyboard.py +++ b/lib/python/qmk/keyboard.py @@ -1,6 +1,7 @@ """Functions that help us work with keyboards. """ from array import array +from functools import lru_cache from math import ceil from pathlib import Path import os @@ -144,6 +145,7 @@ def list_keyboards(resolve_defaults=True): return sorted(set(found)) +@lru_cache(maxsize=None) def resolve_keyboard(keyboard): cur_dir = Path('keyboards') rules = parse_rules_mk_file(cur_dir / keyboard / 'rules.mk') diff --git a/lib/python/qmk/search.py b/lib/python/qmk/search.py index 2bbbc7806fc..0b5d4892189 100644 --- a/lib/python/qmk/search.py +++ b/lib/python/qmk/search.py @@ -1,10 +1,12 @@ """Functions for searching through QMK keyboards and keymaps. """ import contextlib +import functools import fnmatch import logging import multiprocessing import re +from typing import List, Tuple from dotty_dict import dotty from milc import cli @@ -31,95 +33,159 @@ def ignore_logging(): def _all_keymaps(keyboard): + """Returns a list of tuples of (keyboard, keymap) for all keymaps for the given keyboard. + """ with ignore_logging(): - return (keyboard, qmk.keymap.list_keymaps(keyboard)) + keyboard = qmk.keyboard.resolve_keyboard(keyboard) + return [(keyboard, keymap) for keymap in qmk.keymap.list_keymaps(keyboard)] def _keymap_exists(keyboard, keymap): + """Returns the keyboard name if the keyboard+keymap combination exists, otherwise None. + """ with ignore_logging(): return keyboard if qmk.keymap.locate_keymap(keyboard, keymap) is not None else None -def _load_keymap_info(keyboard, keymap): +def _load_keymap_info(kb_km): + """Returns a tuple of (keyboard, keymap, info.json) for the given keyboard/keymap combination. + """ with ignore_logging(): - return (keyboard, keymap, keymap_json(keyboard, keymap)) + return (kb_km[0], kb_km[1], keymap_json(kb_km[0], kb_km[1])) -def search_keymap_targets(keymap='default', filters=[], print_vals=[]): - targets = [] +def expand_make_targets(targets: List[str]) -> List[Tuple[str, str]]: + """Expand a list of make targets into a list of (keyboard, keymap) tuples. - with multiprocessing.Pool() as pool: - cli.log.info(f'Retrieving list of keyboards with keymap "{keymap}"...') - target_list = [] + Caters for 'all' in either keyboard or keymap, or both. + """ + split_targets = [] + for target in targets: + split_target = target.split(':') + if len(split_target) != 2: + cli.log.error(f"Invalid build target: {target}") + return [] + split_targets.append((split_target[0], split_target[1])) + return expand_keymap_targets(split_targets) + + +def _expand_keymap_target(keyboard: str, keymap: str, all_keyboards: List[str] = None) -> List[Tuple[str, str]]: + """Expand a keyboard input and keymap input into a list of (keyboard, keymap) tuples. + + Caters for 'all' in either keyboard or keymap, or both. + """ + if all_keyboards is None: + all_keyboards = qmk.keyboard.list_keyboards() + + if keyboard == 'all': + with multiprocessing.Pool() as pool: + if keymap == 'all': + cli.log.info('Retrieving list of all keyboards and keymaps...') + targets = [] + for kb in pool.imap_unordered(_all_keymaps, all_keyboards): + targets.extend(kb) + return targets + else: + cli.log.info(f'Retrieving list of keyboards with keymap "{keymap}"...') + keyboard_filter = functools.partial(_keymap_exists, keymap=keymap) + return [(kb, keymap) for kb in filter(lambda e: e is not None, pool.imap_unordered(keyboard_filter, all_keyboards))] + else: if keymap == 'all': - kb_to_kms = pool.map(_all_keymaps, qmk.keyboard.list_keyboards()) - for targets in kb_to_kms: - keyboard = targets[0] - keymaps = targets[1] - target_list.extend([(keyboard, keymap) for keymap in keymaps]) + keyboard = qmk.keyboard.resolve_keyboard(keyboard) + cli.log.info(f'Retrieving list of keymaps for keyboard "{keyboard}"...') + return _all_keymaps(keyboard) else: - target_list = [(kb, keymap) for kb in filter(lambda kb: kb is not None, pool.starmap(_keymap_exists, [(kb, keymap) for kb in qmk.keyboard.list_keyboards()]))] + return [(qmk.keyboard.resolve_keyboard(keyboard), keymap)] - if len(filters) == 0: - targets = [(kb, km, {}) for kb, km in target_list] - else: - cli.log.info('Parsing data for all matching keyboard/keymap combinations...') - valid_keymaps = [(e[0], e[1], dotty(e[2])) for e in pool.starmap(_load_keymap_info, target_list)] - function_re = re.compile(r'^(?P[a-zA-Z]+)\((?P[a-zA-Z0-9_\.]+)(,\s*(?P[^#]+))?\)$') - equals_re = re.compile(r'^(?P[a-zA-Z0-9_\.]+)\s*=\s*(?P[^#]+)$') +def expand_keymap_targets(targets: List[Tuple[str, str]]) -> List[Tuple[str, str]]: + """Expand a list of (keyboard, keymap) tuples inclusive of 'all', into a list of explicit (keyboard, keymap) tuples. + """ + overall_targets = [] + all_keyboards = qmk.keyboard.list_keyboards() + for target in targets: + overall_targets.extend(_expand_keymap_target(target[0], target[1], all_keyboards)) + return list(sorted(set(overall_targets))) - for filter_expr in filters: - function_match = function_re.match(filter_expr) - equals_match = equals_re.match(filter_expr) - if function_match is not None: - func_name = function_match.group('function').lower() - key = function_match.group('key') - value = function_match.group('value') +def _filter_keymap_targets(target_list: List[Tuple[str, str]], filters: List[str] = [], print_vals: List[str] = []) -> List[Tuple[str, str, List[Tuple[str, str]]]]: + """Filter a list of (keyboard, keymap) tuples based on the supplied filters. - if value is not None: - if func_name == 'length': - valid_keymaps = filter(lambda e, key=key, value=value: key in e[2] and len(e[2].get(key)) == int(value), valid_keymaps) - elif func_name == 'contains': - valid_keymaps = filter(lambda e, key=key, value=value: key in e[2] and value in e[2].get(key), valid_keymaps) - else: - cli.log.warning(f'Unrecognized filter expression: {function_match.group(0)}') - continue + Optionally includes the values of the queried info.json keys. + """ + if len(filters) == 0 and len(print_vals) == 0: + targets = [(kb, km, {}) for kb, km in target_list] + else: + cli.log.info('Parsing data for all matching keyboard/keymap combinations...') + with multiprocessing.Pool() as pool: + valid_keymaps = [(e[0], e[1], dotty(e[2])) for e in pool.imap_unordered(_load_keymap_info, target_list)] - cli.log.info(f'Filtering on condition: {{fg_green}}{func_name}{{fg_reset}}({{fg_cyan}}{key}{{fg_reset}}, {{fg_cyan}}{value}{{fg_reset}})...') + function_re = re.compile(r'^(?P[a-zA-Z]+)\((?P[a-zA-Z0-9_\.]+)(,\s*(?P[^#]+))?\)$') + equals_re = re.compile(r'^(?P[a-zA-Z0-9_\.]+)\s*=\s*(?P[^#]+)$') + + for filter_expr in filters: + function_match = function_re.match(filter_expr) + equals_match = equals_re.match(filter_expr) + + if function_match is not None: + func_name = function_match.group('function').lower() + key = function_match.group('key') + value = function_match.group('value') + + if value is not None: + if func_name == 'length': + valid_keymaps = filter(lambda e, key=key, value=value: key in e[2] and len(e[2].get(key)) == int(value), valid_keymaps) + elif func_name == 'contains': + valid_keymaps = filter(lambda e, key=key, value=value: key in e[2] and value in e[2].get(key), valid_keymaps) else: - if func_name == 'exists': - valid_keymaps = filter(lambda e, key=key: key in e[2], valid_keymaps) - elif func_name == 'absent': - valid_keymaps = filter(lambda e, key=key: key not in e[2], valid_keymaps) - else: - cli.log.warning(f'Unrecognized filter expression: {function_match.group(0)}') - continue + cli.log.warning(f'Unrecognized filter expression: {function_match.group(0)}') + continue - cli.log.info(f'Filtering on condition: {{fg_green}}{func_name}{{fg_reset}}({{fg_cyan}}{key}{{fg_reset}})...') - - elif equals_match is not None: - key = equals_match.group('key') - value = equals_match.group('value') - cli.log.info(f'Filtering on condition: {{fg_cyan}}{key}{{fg_reset}} == {{fg_cyan}}{value}{{fg_reset}}...') - - def _make_filter(k, v): - expr = fnmatch.translate(v) - rule = re.compile(f'^{expr}$', re.IGNORECASE) - - def f(e): - lhs = e[2].get(k) - lhs = str(False if lhs is None else lhs) - return rule.search(lhs) is not None - - return f - - valid_keymaps = filter(_make_filter(key, value), valid_keymaps) + cli.log.info(f'Filtering on condition: {{fg_green}}{func_name}{{fg_reset}}({{fg_cyan}}{key}{{fg_reset}}, {{fg_cyan}}{value}{{fg_reset}})...') else: - cli.log.warning(f'Unrecognized filter expression: {filter_expr}') - continue + if func_name == 'exists': + valid_keymaps = filter(lambda e, key=key: key in e[2], valid_keymaps) + elif func_name == 'absent': + valid_keymaps = filter(lambda e, key=key: key not in e[2], valid_keymaps) + else: + cli.log.warning(f'Unrecognized filter expression: {function_match.group(0)}') + continue + + cli.log.info(f'Filtering on condition: {{fg_green}}{func_name}{{fg_reset}}({{fg_cyan}}{key}{{fg_reset}})...') + + elif equals_match is not None: + key = equals_match.group('key') + value = equals_match.group('value') + cli.log.info(f'Filtering on condition: {{fg_cyan}}{key}{{fg_reset}} == {{fg_cyan}}{value}{{fg_reset}}...') + + def _make_filter(k, v): + expr = fnmatch.translate(v) + rule = re.compile(f'^{expr}$', re.IGNORECASE) + + def f(e): + lhs = e[2].get(k) + lhs = str(False if lhs is None else lhs) + return rule.search(lhs) is not None + + return f + + valid_keymaps = filter(_make_filter(key, value), valid_keymaps) + else: + cli.log.warning(f'Unrecognized filter expression: {filter_expr}') + continue targets = [(e[0], e[1], [(p, e[2].get(p)) for p in print_vals]) for e in valid_keymaps] return targets + + +def search_keymap_targets(keymap='default', filters: List[str] = [], print_vals: List[str] = []) -> List[Tuple[str, str, List[Tuple[str, str]]]]: + """Search for build targets matching the supplied criteria. + """ + return list(sorted(_filter_keymap_targets(expand_keymap_targets([('all', keymap)]), filters, print_vals), key=lambda e: (e[0], e[1]))) + + +def search_make_targets(targets: List[str], filters: List[str] = [], print_vals: List[str] = []) -> List[Tuple[str, str, List[Tuple[str, str]]]]: + """Search for build targets matching the supplied criteria. + """ + return list(sorted(_filter_keymap_targets(expand_make_targets(targets), filters, print_vals), key=lambda e: (e[0], e[1]))) From 0edc68f7cda59dbaf6c807e136972d9f64e79df1 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu, 28 Sep 2023 21:34:30 -0700 Subject: [PATCH 128/144] HnahKB Freyr Layout Additions (#22150) * Add layout/matrix diagram [docs] * Add `LAYOUT_tkl_ansi_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_ansi_tsangan_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_ansi_tsangan` [enhancement] * Add `LAYOUT_tkl_ansi_wkl_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_ansi_wkl` [enhancement] * Add `LAYOUT_tkl_iso_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_iso_tsangan_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_iso_tsangan` [enhancement] * Add `LAYOUT_tkl_iso_wkl_split_bs_rshift` [enhancement] * Add `LAYOUT_tkl_iso_wkl` [enhancement] * Extend Community Layout support Add as supported layouts: - `tkl_ansi_split_bs_rshift` - `tkl_ansi_tsangan` - `tkl_ansi_tsangan_split_bs_rshift` - `tkl_iso_split_bs_rshift` - `tkl_iso_tsangan` - `tkl_iso_tsangan_split_bs_rshift` [enhancement] --- keyboards/hnahkb/freyr/info.json | 1043 +++++++++++++++++++++- keyboards/hnahkb/freyr/matrix_diagram.md | 30 + 2 files changed, 1072 insertions(+), 1 deletion(-) create mode 100644 keyboards/hnahkb/freyr/matrix_diagram.md diff --git a/keyboards/hnahkb/freyr/info.json b/keyboards/hnahkb/freyr/info.json index 0bc3c9a9c64..26d1fc52d8a 100644 --- a/keyboards/hnahkb/freyr/info.json +++ b/keyboards/hnahkb/freyr/info.json @@ -24,7 +24,7 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", - "community_layouts": ["tkl_ansi", "tkl_iso"], + "community_layouts": ["tkl_ansi", "tkl_ansi_split_bs_rshift", "tkl_ansi_tsangan", "tkl_ansi_tsangan_split_bs_rshift", "tkl_iso", "tkl_iso_split_bs_rshift", "tkl_iso_tsangan", "tkl_iso_tsangan_split_bs_rshift"], "layouts": { "LAYOUT_all": { "layout": [ @@ -238,6 +238,524 @@ {"matrix": [6, 9], "x": 17.25, "y": 5.25} ] }, + "LAYOUT_tkl_ansi_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [0, 2], "x": 3, "y": 0}, + {"matrix": [0, 3], "x": 4, "y": 0}, + {"matrix": [0, 4], "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": [6, 0], "x": 11, "y": 0}, + {"matrix": [6, 1], "x": 12, "y": 0}, + {"matrix": [6, 2], "x": 13, "y": 0}, + {"matrix": [6, 3], "x": 14, "y": 0}, + + {"matrix": [6, 4], "x": 15.25, "y": 0}, + {"matrix": [6, 5], "x": 16.25, "y": 0}, + {"matrix": [6, 6], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [7, 0], "x": 10, "y": 1.25}, + {"matrix": [7, 1], "x": 11, "y": 1.25}, + {"matrix": [7, 2], "x": 12, "y": 1.25}, + {"matrix": [7, 3], "x": 13, "y": 1.25}, + {"matrix": [7, 4], "x": 14, "y": 1.25}, + + {"matrix": [7, 5], "x": 15.25, "y": 1.25}, + {"matrix": [7, 6], "x": 16.25, "y": 1.25}, + {"matrix": [6, 7], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [8, 0], "x": 10.5, "y": 2.25}, + {"matrix": [8, 1], "x": 11.5, "y": 2.25}, + {"matrix": [8, 2], "x": 12.5, "y": 2.25}, + {"matrix": [8, 3], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [7, 8], "x": 15.25, "y": 2.25}, + {"matrix": [7, 7], "x": 16.25, "y": 2.25}, + {"matrix": [6, 8], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [9, 0], "x": 10.75, "y": 3.25}, + {"matrix": [9, 1], "x": 11.75, "y": 3.25}, + {"matrix": [8, 4], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [9, 5], "x": 10.25, "y": 4.25}, + {"matrix": [9, 4], "x": 11.25, "y": 4.25}, + {"matrix": [8, 5], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [9, 3], "x": 14, "y": 4.25}, + + {"matrix": [7, 9], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 3], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [5, 4], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 5], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 7], "x": 13.75, "y": 5.25, "w": 1.25}, + + {"matrix": [5, 8], "x": 15.25, "y": 5.25}, + {"matrix": [5, 9], "x": 16.25, "y": 5.25}, + {"matrix": [6, 9], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_ansi_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [0, 2], "x": 3, "y": 0}, + {"matrix": [0, 3], "x": 4, "y": 0}, + {"matrix": [0, 4], "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": [6, 0], "x": 11, "y": 0}, + {"matrix": [6, 1], "x": 12, "y": 0}, + {"matrix": [6, 2], "x": 13, "y": 0}, + {"matrix": [6, 3], "x": 14, "y": 0}, + + {"matrix": [6, 4], "x": 15.25, "y": 0}, + {"matrix": [6, 5], "x": 16.25, "y": 0}, + {"matrix": [6, 6], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [7, 0], "x": 10, "y": 1.25}, + {"matrix": [7, 1], "x": 11, "y": 1.25}, + {"matrix": [7, 2], "x": 12, "y": 1.25}, + {"matrix": [7, 3], "x": 13, "y": 1.25, "w": 2}, + + {"matrix": [7, 5], "x": 15.25, "y": 1.25}, + {"matrix": [7, 6], "x": 16.25, "y": 1.25}, + {"matrix": [6, 7], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [8, 0], "x": 10.5, "y": 2.25}, + {"matrix": [8, 1], "x": 11.5, "y": 2.25}, + {"matrix": [8, 2], "x": 12.5, "y": 2.25}, + {"matrix": [8, 3], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [7, 8], "x": 15.25, "y": 2.25}, + {"matrix": [7, 7], "x": 16.25, "y": 2.25}, + {"matrix": [6, 8], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [9, 0], "x": 10.75, "y": 3.25}, + {"matrix": [9, 1], "x": 11.75, "y": 3.25}, + {"matrix": [8, 4], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [9, 5], "x": 10.25, "y": 4.25}, + {"matrix": [9, 4], "x": 11.25, "y": 4.25}, + {"matrix": [9, 3], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"matrix": [7, 9], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 3], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 5], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 12.5, "y": 5.25}, + {"matrix": [5, 7], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 8], "x": 15.25, "y": 5.25}, + {"matrix": [5, 9], "x": 16.25, "y": 5.25}, + {"matrix": [6, 9], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_ansi_tsangan_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [0, 2], "x": 3, "y": 0}, + {"matrix": [0, 3], "x": 4, "y": 0}, + {"matrix": [0, 4], "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": [6, 0], "x": 11, "y": 0}, + {"matrix": [6, 1], "x": 12, "y": 0}, + {"matrix": [6, 2], "x": 13, "y": 0}, + {"matrix": [6, 3], "x": 14, "y": 0}, + + {"matrix": [6, 4], "x": 15.25, "y": 0}, + {"matrix": [6, 5], "x": 16.25, "y": 0}, + {"matrix": [6, 6], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [7, 0], "x": 10, "y": 1.25}, + {"matrix": [7, 1], "x": 11, "y": 1.25}, + {"matrix": [7, 2], "x": 12, "y": 1.25}, + {"matrix": [7, 3], "x": 13, "y": 1.25}, + {"matrix": [7, 4], "x": 14, "y": 1.25}, + + {"matrix": [7, 5], "x": 15.25, "y": 1.25}, + {"matrix": [7, 6], "x": 16.25, "y": 1.25}, + {"matrix": [6, 7], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [8, 0], "x": 10.5, "y": 2.25}, + {"matrix": [8, 1], "x": 11.5, "y": 2.25}, + {"matrix": [8, 2], "x": 12.5, "y": 2.25}, + {"matrix": [8, 3], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [7, 8], "x": 15.25, "y": 2.25}, + {"matrix": [7, 7], "x": 16.25, "y": 2.25}, + {"matrix": [6, 8], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [9, 0], "x": 10.75, "y": 3.25}, + {"matrix": [9, 1], "x": 11.75, "y": 3.25}, + {"matrix": [8, 4], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [9, 5], "x": 10.25, "y": 4.25}, + {"matrix": [9, 4], "x": 11.25, "y": 4.25}, + {"matrix": [8, 5], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [9, 3], "x": 14, "y": 4.25}, + + {"matrix": [7, 9], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 3], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 5], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 12.5, "y": 5.25}, + {"matrix": [5, 7], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 8], "x": 15.25, "y": 5.25}, + {"matrix": [5, 9], "x": 16.25, "y": 5.25}, + {"matrix": [6, 9], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_ansi_wkl": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [0, 2], "x": 3, "y": 0}, + {"matrix": [0, 3], "x": 4, "y": 0}, + {"matrix": [0, 4], "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": [6, 0], "x": 11, "y": 0}, + {"matrix": [6, 1], "x": 12, "y": 0}, + {"matrix": [6, 2], "x": 13, "y": 0}, + {"matrix": [6, 3], "x": 14, "y": 0}, + + {"matrix": [6, 4], "x": 15.25, "y": 0}, + {"matrix": [6, 5], "x": 16.25, "y": 0}, + {"matrix": [6, 6], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [7, 0], "x": 10, "y": 1.25}, + {"matrix": [7, 1], "x": 11, "y": 1.25}, + {"matrix": [7, 2], "x": 12, "y": 1.25}, + {"matrix": [7, 3], "x": 13, "y": 1.25, "w": 2}, + + {"matrix": [7, 5], "x": 15.25, "y": 1.25}, + {"matrix": [7, 6], "x": 16.25, "y": 1.25}, + {"matrix": [6, 7], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [8, 0], "x": 10.5, "y": 2.25}, + {"matrix": [8, 1], "x": 11.5, "y": 2.25}, + {"matrix": [8, 2], "x": 12.5, "y": 2.25}, + {"matrix": [8, 3], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [7, 8], "x": 15.25, "y": 2.25}, + {"matrix": [7, 7], "x": 16.25, "y": 2.25}, + {"matrix": [6, 8], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [9, 0], "x": 10.75, "y": 3.25}, + {"matrix": [9, 1], "x": 11.75, "y": 3.25}, + {"matrix": [8, 4], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [9, 5], "x": 10.25, "y": 4.25}, + {"matrix": [9, 4], "x": 11.25, "y": 4.25}, + {"matrix": [9, 3], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"matrix": [7, 9], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 3], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 5], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 7], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 8], "x": 15.25, "y": 5.25}, + {"matrix": [5, 9], "x": 16.25, "y": 5.25}, + {"matrix": [6, 9], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_ansi_wkl_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [0, 2], "x": 3, "y": 0}, + {"matrix": [0, 3], "x": 4, "y": 0}, + {"matrix": [0, 4], "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": [6, 0], "x": 11, "y": 0}, + {"matrix": [6, 1], "x": 12, "y": 0}, + {"matrix": [6, 2], "x": 13, "y": 0}, + {"matrix": [6, 3], "x": 14, "y": 0}, + + {"matrix": [6, 4], "x": 15.25, "y": 0}, + {"matrix": [6, 5], "x": 16.25, "y": 0}, + {"matrix": [6, 6], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [7, 0], "x": 10, "y": 1.25}, + {"matrix": [7, 1], "x": 11, "y": 1.25}, + {"matrix": [7, 2], "x": 12, "y": 1.25}, + {"matrix": [7, 3], "x": 13, "y": 1.25}, + {"matrix": [7, 4], "x": 14, "y": 1.25}, + + {"matrix": [7, 5], "x": 15.25, "y": 1.25}, + {"matrix": [7, 6], "x": 16.25, "y": 1.25}, + {"matrix": [6, 7], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [8, 0], "x": 10.5, "y": 2.25}, + {"matrix": [8, 1], "x": 11.5, "y": 2.25}, + {"matrix": [8, 2], "x": 12.5, "y": 2.25}, + {"matrix": [8, 3], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [7, 8], "x": 15.25, "y": 2.25}, + {"matrix": [7, 7], "x": 16.25, "y": 2.25}, + {"matrix": [6, 8], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [9, 0], "x": 10.75, "y": 3.25}, + {"matrix": [9, 1], "x": 11.75, "y": 3.25}, + {"matrix": [8, 4], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [9, 5], "x": 10.25, "y": 4.25}, + {"matrix": [9, 4], "x": 11.25, "y": 4.25}, + {"matrix": [8, 5], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [9, 3], "x": 14, "y": 4.25}, + + {"matrix": [7, 9], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 3], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 5], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 7], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 8], "x": 15.25, "y": 5.25}, + {"matrix": [5, 9], "x": 16.25, "y": 5.25}, + {"matrix": [6, 9], "x": 17.25, "y": 5.25} + ] + }, "LAYOUT_tkl_iso": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, @@ -338,6 +856,529 @@ {"matrix": [5, 6], "x": 12.5, "y": 5.25, "w": 1.25}, {"matrix": [5, 7], "x": 13.75, "y": 5.25, "w": 1.25}, + {"matrix": [5, 8], "x": 15.25, "y": 5.25}, + {"matrix": [5, 9], "x": 16.25, "y": 5.25}, + {"matrix": [6, 9], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_iso_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [0, 2], "x": 3, "y": 0}, + {"matrix": [0, 3], "x": 4, "y": 0}, + {"matrix": [0, 4], "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": [6, 0], "x": 11, "y": 0}, + {"matrix": [6, 1], "x": 12, "y": 0}, + {"matrix": [6, 2], "x": 13, "y": 0}, + {"matrix": [6, 3], "x": 14, "y": 0}, + + {"matrix": [6, 4], "x": 15.25, "y": 0}, + {"matrix": [6, 5], "x": 16.25, "y": 0}, + {"matrix": [6, 6], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [7, 0], "x": 10, "y": 1.25}, + {"matrix": [7, 1], "x": 11, "y": 1.25}, + {"matrix": [7, 2], "x": 12, "y": 1.25}, + {"matrix": [7, 3], "x": 13, "y": 1.25}, + {"matrix": [7, 4], "x": 14, "y": 1.25}, + + {"matrix": [7, 5], "x": 15.25, "y": 1.25}, + {"matrix": [7, 6], "x": 16.25, "y": 1.25}, + {"matrix": [6, 7], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [8, 0], "x": 10.5, "y": 2.25}, + {"matrix": [8, 1], "x": 11.5, "y": 2.25}, + {"matrix": [8, 2], "x": 12.5, "y": 2.25}, + + {"matrix": [7, 8], "x": 15.25, "y": 2.25}, + {"matrix": [7, 7], "x": 16.25, "y": 2.25}, + {"matrix": [6, 8], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [9, 0], "x": 10.75, "y": 3.25}, + {"matrix": [9, 1], "x": 11.75, "y": 3.25}, + {"matrix": [9, 2], "x": 12.75, "y": 3.25}, + {"matrix": [8, 4], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [9, 5], "x": 10.25, "y": 4.25}, + {"matrix": [9, 4], "x": 11.25, "y": 4.25}, + {"matrix": [8, 5], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [9, 3], "x": 14, "y": 4.25}, + + {"matrix": [7, 9], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 3], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [5, 4], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [5, 5], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [5, 6], "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [5, 7], "x": 13.75, "y": 5.25, "w": 1.25}, + + {"matrix": [5, 8], "x": 15.25, "y": 5.25}, + {"matrix": [5, 9], "x": 16.25, "y": 5.25}, + {"matrix": [6, 9], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_iso_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [0, 2], "x": 3, "y": 0}, + {"matrix": [0, 3], "x": 4, "y": 0}, + {"matrix": [0, 4], "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": [6, 0], "x": 11, "y": 0}, + {"matrix": [6, 1], "x": 12, "y": 0}, + {"matrix": [6, 2], "x": 13, "y": 0}, + {"matrix": [6, 3], "x": 14, "y": 0}, + + {"matrix": [6, 4], "x": 15.25, "y": 0}, + {"matrix": [6, 5], "x": 16.25, "y": 0}, + {"matrix": [6, 6], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [7, 0], "x": 10, "y": 1.25}, + {"matrix": [7, 1], "x": 11, "y": 1.25}, + {"matrix": [7, 2], "x": 12, "y": 1.25}, + {"matrix": [7, 3], "x": 13, "y": 1.25, "w": 2}, + + {"matrix": [7, 5], "x": 15.25, "y": 1.25}, + {"matrix": [7, 6], "x": 16.25, "y": 1.25}, + {"matrix": [6, 7], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [8, 0], "x": 10.5, "y": 2.25}, + {"matrix": [8, 1], "x": 11.5, "y": 2.25}, + {"matrix": [8, 2], "x": 12.5, "y": 2.25}, + + {"matrix": [7, 8], "x": 15.25, "y": 2.25}, + {"matrix": [7, 7], "x": 16.25, "y": 2.25}, + {"matrix": [6, 8], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [9, 0], "x": 10.75, "y": 3.25}, + {"matrix": [9, 1], "x": 11.75, "y": 3.25}, + {"matrix": [9, 2], "x": 12.75, "y": 3.25}, + {"matrix": [8, 4], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [9, 5], "x": 10.25, "y": 4.25}, + {"matrix": [9, 4], "x": 11.25, "y": 4.25}, + {"matrix": [9, 3], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"matrix": [7, 9], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 3], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 5], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 12.5, "y": 5.25}, + {"matrix": [5, 7], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 8], "x": 15.25, "y": 5.25}, + {"matrix": [5, 9], "x": 16.25, "y": 5.25}, + {"matrix": [6, 9], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_iso_tsangan_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [0, 2], "x": 3, "y": 0}, + {"matrix": [0, 3], "x": 4, "y": 0}, + {"matrix": [0, 4], "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": [6, 0], "x": 11, "y": 0}, + {"matrix": [6, 1], "x": 12, "y": 0}, + {"matrix": [6, 2], "x": 13, "y": 0}, + {"matrix": [6, 3], "x": 14, "y": 0}, + + {"matrix": [6, 4], "x": 15.25, "y": 0}, + {"matrix": [6, 5], "x": 16.25, "y": 0}, + {"matrix": [6, 6], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [7, 0], "x": 10, "y": 1.25}, + {"matrix": [7, 1], "x": 11, "y": 1.25}, + {"matrix": [7, 2], "x": 12, "y": 1.25}, + {"matrix": [7, 3], "x": 13, "y": 1.25}, + {"matrix": [7, 4], "x": 14, "y": 1.25}, + + {"matrix": [7, 5], "x": 15.25, "y": 1.25}, + {"matrix": [7, 6], "x": 16.25, "y": 1.25}, + {"matrix": [6, 7], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [8, 0], "x": 10.5, "y": 2.25}, + {"matrix": [8, 1], "x": 11.5, "y": 2.25}, + {"matrix": [8, 2], "x": 12.5, "y": 2.25}, + + {"matrix": [7, 8], "x": 15.25, "y": 2.25}, + {"matrix": [7, 7], "x": 16.25, "y": 2.25}, + {"matrix": [6, 8], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [9, 0], "x": 10.75, "y": 3.25}, + {"matrix": [9, 1], "x": 11.75, "y": 3.25}, + {"matrix": [9, 2], "x": 12.75, "y": 3.25}, + {"matrix": [8, 4], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [9, 5], "x": 10.25, "y": 4.25}, + {"matrix": [9, 4], "x": 11.25, "y": 4.25}, + {"matrix": [8, 5], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [9, 3], "x": 14, "y": 4.25}, + + {"matrix": [7, 9], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 1], "x": 1.5, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 3], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 5], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 6], "x": 12.5, "y": 5.25}, + {"matrix": [5, 7], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 8], "x": 15.25, "y": 5.25}, + {"matrix": [5, 9], "x": 16.25, "y": 5.25}, + {"matrix": [6, 9], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_iso_wkl": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [0, 2], "x": 3, "y": 0}, + {"matrix": [0, 3], "x": 4, "y": 0}, + {"matrix": [0, 4], "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": [6, 0], "x": 11, "y": 0}, + {"matrix": [6, 1], "x": 12, "y": 0}, + {"matrix": [6, 2], "x": 13, "y": 0}, + {"matrix": [6, 3], "x": 14, "y": 0}, + + {"matrix": [6, 4], "x": 15.25, "y": 0}, + {"matrix": [6, 5], "x": 16.25, "y": 0}, + {"matrix": [6, 6], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [7, 0], "x": 10, "y": 1.25}, + {"matrix": [7, 1], "x": 11, "y": 1.25}, + {"matrix": [7, 2], "x": 12, "y": 1.25}, + {"matrix": [7, 3], "x": 13, "y": 1.25, "w": 2}, + + {"matrix": [7, 5], "x": 15.25, "y": 1.25}, + {"matrix": [7, 6], "x": 16.25, "y": 1.25}, + {"matrix": [6, 7], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [8, 0], "x": 10.5, "y": 2.25}, + {"matrix": [8, 1], "x": 11.5, "y": 2.25}, + {"matrix": [8, 2], "x": 12.5, "y": 2.25}, + + {"matrix": [7, 8], "x": 15.25, "y": 2.25}, + {"matrix": [7, 7], "x": 16.25, "y": 2.25}, + {"matrix": [6, 8], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [9, 0], "x": 10.75, "y": 3.25}, + {"matrix": [9, 1], "x": 11.75, "y": 3.25}, + {"matrix": [9, 2], "x": 12.75, "y": 3.25}, + {"matrix": [8, 4], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [9, 5], "x": 10.25, "y": 4.25}, + {"matrix": [9, 4], "x": 11.25, "y": 4.25}, + {"matrix": [9, 3], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"matrix": [7, 9], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 3], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 5], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 7], "x": 13.5, "y": 5.25, "w": 1.5}, + + {"matrix": [5, 8], "x": 15.25, "y": 5.25}, + {"matrix": [5, 9], "x": 16.25, "y": 5.25}, + {"matrix": [6, 9], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_iso_wkl_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [0, 2], "x": 3, "y": 0}, + {"matrix": [0, 3], "x": 4, "y": 0}, + {"matrix": [0, 4], "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": [6, 0], "x": 11, "y": 0}, + {"matrix": [6, 1], "x": 12, "y": 0}, + {"matrix": [6, 2], "x": 13, "y": 0}, + {"matrix": [6, 3], "x": 14, "y": 0}, + + {"matrix": [6, 4], "x": 15.25, "y": 0}, + {"matrix": [6, 5], "x": 16.25, "y": 0}, + {"matrix": [6, 6], "x": 17.25, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1.25}, + {"matrix": [1, 4], "x": 4, "y": 1.25}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 6, "y": 1.25}, + {"matrix": [1, 7], "x": 7, "y": 1.25}, + {"matrix": [1, 8], "x": 8, "y": 1.25}, + {"matrix": [1, 9], "x": 9, "y": 1.25}, + {"matrix": [7, 0], "x": 10, "y": 1.25}, + {"matrix": [7, 1], "x": 11, "y": 1.25}, + {"matrix": [7, 2], "x": 12, "y": 1.25}, + {"matrix": [7, 3], "x": 13, "y": 1.25}, + {"matrix": [7, 4], "x": 14, "y": 1.25}, + + {"matrix": [7, 5], "x": 15.25, "y": 1.25}, + {"matrix": [7, 6], "x": 16.25, "y": 1.25}, + {"matrix": [6, 7], "x": 17.25, "y": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [2, 1], "x": 1.5, "y": 2.25}, + {"matrix": [2, 2], "x": 2.5, "y": 2.25}, + {"matrix": [2, 3], "x": 3.5, "y": 2.25}, + {"matrix": [2, 4], "x": 4.5, "y": 2.25}, + {"matrix": [2, 5], "x": 5.5, "y": 2.25}, + {"matrix": [2, 6], "x": 6.5, "y": 2.25}, + {"matrix": [2, 7], "x": 7.5, "y": 2.25}, + {"matrix": [2, 8], "x": 8.5, "y": 2.25}, + {"matrix": [2, 9], "x": 9.5, "y": 2.25}, + {"matrix": [8, 0], "x": 10.5, "y": 2.25}, + {"matrix": [8, 1], "x": 11.5, "y": 2.25}, + {"matrix": [8, 2], "x": 12.5, "y": 2.25}, + + {"matrix": [7, 8], "x": 15.25, "y": 2.25}, + {"matrix": [7, 7], "x": 16.25, "y": 2.25}, + {"matrix": [6, 8], "x": 17.25, "y": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [3, 1], "x": 1.75, "y": 3.25}, + {"matrix": [3, 2], "x": 2.75, "y": 3.25}, + {"matrix": [3, 3], "x": 3.75, "y": 3.25}, + {"matrix": [3, 4], "x": 4.75, "y": 3.25}, + {"matrix": [3, 5], "x": 5.75, "y": 3.25}, + {"matrix": [3, 6], "x": 6.75, "y": 3.25}, + {"matrix": [3, 7], "x": 7.75, "y": 3.25}, + {"matrix": [3, 8], "x": 8.75, "y": 3.25}, + {"matrix": [3, 9], "x": 9.75, "y": 3.25}, + {"matrix": [9, 0], "x": 10.75, "y": 3.25}, + {"matrix": [9, 1], "x": 11.75, "y": 3.25}, + {"matrix": [9, 2], "x": 12.75, "y": 3.25}, + {"matrix": [8, 4], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.25}, + {"matrix": [4, 2], "x": 2.25, "y": 4.25}, + {"matrix": [4, 3], "x": 3.25, "y": 4.25}, + {"matrix": [4, 4], "x": 4.25, "y": 4.25}, + {"matrix": [4, 5], "x": 5.25, "y": 4.25}, + {"matrix": [4, 6], "x": 6.25, "y": 4.25}, + {"matrix": [4, 7], "x": 7.25, "y": 4.25}, + {"matrix": [4, 8], "x": 8.25, "y": 4.25}, + {"matrix": [4, 9], "x": 9.25, "y": 4.25}, + {"matrix": [9, 5], "x": 10.25, "y": 4.25}, + {"matrix": [9, 4], "x": 11.25, "y": 4.25}, + {"matrix": [8, 5], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [9, 3], "x": 14, "y": 4.25}, + + {"matrix": [7, 9], "x": 16.25, "y": 4.25}, + + {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 3], "x": 4, "y": 5.25, "w": 7}, + {"matrix": [5, 5], "x": 11, "y": 5.25, "w": 1.5}, + {"matrix": [5, 7], "x": 13.5, "y": 5.25, "w": 1.5}, + {"matrix": [5, 8], "x": 15.25, "y": 5.25}, {"matrix": [5, 9], "x": 16.25, "y": 5.25}, {"matrix": [6, 9], "x": 17.25, "y": 5.25} diff --git a/keyboards/hnahkb/freyr/matrix_diagram.md b/keyboards/hnahkb/freyr/matrix_diagram.md new file mode 100644 index 00000000000..643ee77f01c --- /dev/null +++ b/keyboards/hnahkb/freyr/matrix_diagram.md @@ -0,0 +1,30 @@ +# Matrix Diagram for HnahKB Freyr + +``` +┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐┌───┬───┬───┐ +│00 │ │01 │02 │03 │04 │ │06 │07 │08 │09 │ │60 │61 │62 │63 ││64 │65 │66 │ +└───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘└───┴───┴───┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ ┌───────┐ +│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │70 │71 │72 │73 │74 ││75 │76 │67 │ │73 │ 2u Backspace +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ └─┬─────┤ ┌─────┐ +│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │80 │81 │82 │83 ││78 │77 │68 │ │ │ │83 │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤└───┴───┴───┘ ┌──┴┐84 │ ISO Enter ┌──┴─────┤ ANSI Enter +│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │90 │91 │92 │84 │ │92 │ │ │84 │ +├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┤ ┌───┐ └───┴────┘ └────────┘ +│40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │95 │94 │85 │93 │ │79 │ +├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬──┴─┬────┤┌───┼───┼───┐ +│50 │51 │52 │53 │54 │55 │56 │57 ││58 │59 │69 │ +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ +┌────────┐ ┌──────────┐ +│40 │ 2.25u LShift 2.75u RShift │93 │ +└────────┘ └──────────┘ + ┌──────┬───┐ + 1.75u/1u RShift │85 │93 │ + └──────┴───┘ +┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ +│50 │51 │52 │53 │55 │56 │57 │ Tsangan/WKL +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +┌────┬──┬────┬────┬───────────────────────┬────┬────┬──┬────┐ +│50 │ │51 │52 │53 │55 │56 │ │57 │ 6u Centered Spacebar +└────┘ └────┴────┴───────────────────────┴────┴────┘ └────┘ +``` From f214ee7f3ab506d0f758f4f3197a0a329c388db9 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Thu, 28 Sep 2023 21:55:14 -0700 Subject: [PATCH 129/144] Rura66 Layout Data (#22155) * Friendly-format `info.json` [style] * Update layout data - separate keyboard halves - add vertical stagger [refactor] --- keyboards/rura66/rev1/info.json | 236 ++++++++++++++++---------------- 1 file changed, 118 insertions(+), 118 deletions(-) diff --git a/keyboards/rura66/rev1/info.json b/keyboards/rura66/rev1/info.json index efab211fca5..591d6228b72 100644 --- a/keyboards/rura66/rev1/info.json +++ b/keyboards/rura66/rev1/info.json @@ -1,121 +1,121 @@ { - "keyboard_name": "RURA66", - "manufacturer": "ShinoharaTa", - "url": "https://github.com/ShinoharaTa/keyboards/tree/master/RURA66", - "maintainer": "ShinoharaTa", - "usb": { - "vid": "0x7335", - "pid": "0x0200", - "device_version": "0.0.1" - }, - "rgb_matrix": { - "driver": "ws2812" - }, - "rgblight": { - "saturation_steps": 8, - "brightness_steps": 8, - "led_count": 66, - "max_brightness": 120, - "split_count": [33, 33], - "animations": { - "rainbow_mood": true, - "rainbow_swirl": true, - "static_gradient": true, - "rgb_test": true + "keyboard_name": "RURA66", + "manufacturer": "ShinoharaTa", + "url": "https://github.com/ShinoharaTa/keyboards/tree/master/RURA66", + "maintainer": "ShinoharaTa", + "usb": { + "vid": "0x7335", + "pid": "0x0200", + "device_version": "0.0.1" + }, + "rgb_matrix": { + "driver": "ws2812" + }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 66, + "max_brightness": 120, + "split_count": [33, 33], + "animations": { + "rainbow_mood": true, + "rainbow_swirl": true, + "static_gradient": true, + "rgb_test": true + } + }, + "matrix_pins": { + "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"], + "rows": ["D4", "C6", "D7", "E6", "B4"] + }, + "diode_direction": "COL2ROW", + "split": { + "soft_serial_pin": "D2" + }, + "ws2812": { + "pin": "D3" + }, + "processor": "atmega32u4", + "bootloader": "caterina", + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.75}, + {"matrix": [0, 1], "x": 1, "y": 0.75}, + {"matrix": [0, 2], "x": 2, "y": 0.25}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + + {"matrix": [5, 5], "x": 11, "y": 0}, + {"matrix": [5, 4], "x": 12, "y": 0}, + {"matrix": [5, 3], "x": 13, "y": 0}, + {"matrix": [5, 2], "x": 14, "y": 0.25}, + {"matrix": [5, 1], "x": 15, "y": 0.75}, + {"matrix": [5, 0], "x": 16, "y": 0.75}, + + {"matrix": [1, 0], "x": 0, "y": 1.75}, + {"matrix": [1, 1], "x": 1, "y": 1.75}, + {"matrix": [1, 2], "x": 2, "y": 1.25}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + + {"matrix": [6, 5], "x": 11, "y": 1}, + {"matrix": [6, 4], "x": 12, "y": 1}, + {"matrix": [6, 3], "x": 13, "y": 1}, + {"matrix": [6, 2], "x": 14, "y": 1.25}, + {"matrix": [6, 1], "x": 15, "y": 1.75}, + {"matrix": [6, 0], "x": 16, "y": 1.75}, + + {"matrix": [2, 0], "x": 0, "y": 2.75}, + {"matrix": [2, 1], "x": 1, "y": 2.75}, + {"matrix": [2, 2], "x": 2, "y": 2.25}, + {"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": [7, 6], "x": 10, "y": 2}, + {"matrix": [7, 5], "x": 11, "y": 2}, + {"matrix": [7, 4], "x": 12, "y": 2}, + {"matrix": [7, 3], "x": 13, "y": 2}, + {"matrix": [7, 2], "x": 14, "y": 2.25}, + {"matrix": [7, 1], "x": 15, "y": 2.75}, + {"matrix": [7, 0], "x": 16, "y": 2.75}, + + {"matrix": [3, 0], "x": 0, "y": 3.75}, + {"matrix": [3, 1], "x": 1, "y": 3.75}, + {"matrix": [3, 2], "x": 2, "y": 3.25}, + {"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": [0, 6], "x": 7, "y": 3.8}, + {"matrix": [5, 6], "x": 9, "y": 3.8}, + {"matrix": [8, 6], "x": 10, "y": 3}, + {"matrix": [8, 5], "x": 11, "y": 3}, + {"matrix": [8, 4], "x": 12, "y": 3}, + {"matrix": [8, 3], "x": 13, "y": 3}, + {"matrix": [8, 2], "x": 14, "y": 3.25}, + {"matrix": [8, 1], "x": 15, "y": 3.75}, + {"matrix": [8, 0], "x": 16, "y": 3.75}, + + {"matrix": [4, 0], "x": 0, "y": 4.75, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4.75, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4.25, "w": 1.25}, + + {"matrix": [4, 5], "x": 4.8, "y": 4}, + {"matrix": [4, 6], "x": 6, "y": 4.4}, + {"matrix": [1, 6], "x": 7, "y": 4.8}, + {"matrix": [6, 6], "x": 9, "y": 4.8}, + {"matrix": [9, 6], "x": 10, "y": 4.4}, + {"matrix": [9, 5], "x": 11.2, "y": 4}, + + {"matrix": [9, 2], "x": 13.25, "y": 4.25, "w": 1.25}, + {"matrix": [9, 1], "x": 14.5, "y": 4.75, "w": 1.25}, + {"matrix": [9, 0], "x": 15.75, "y": 4.75, "w": 1.25} + ] + } } - }, - "matrix_pins": { - "cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"], - "rows": ["D4", "C6", "D7", "E6", "B4"] - }, - "diode_direction": "COL2ROW", - "split": { - "soft_serial_pin": "D2" - }, - "ws2812": { - "pin": "D3" - }, - "processor": "atmega32u4", - "bootloader": "caterina", - "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": [5, 5], "x": 10, "y": 0}, - {"matrix": [5, 4], "x": 11, "y": 0}, - {"matrix": [5, 3], "x": 12, "y": 0}, - {"matrix": [5, 2], "x": 13, "y": 0}, - {"matrix": [5, 1], "x": 14, "y": 0}, - {"matrix": [5, 0], "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": [6, 5], "x": 10, "y": 1}, - {"matrix": [6, 4], "x": 11, "y": 1}, - {"matrix": [6, 3], "x": 12, "y": 1}, - {"matrix": [6, 2], "x": 13, "y": 1}, - {"matrix": [6, 1], "x": 14, "y": 1}, - {"matrix": [6, 0], "x": 15, "y": 1}, - - {"matrix": [2, 0], "x": 0, "y": 2}, - {"matrix": [2, 1], "x": 1, "y": 2}, - {"matrix": [2, 2], "x": 2, "y": 2}, - {"matrix": [2, 3], "x": 3, "y": 2}, - {"matrix": [2, 4], "x": 4, "y": 2}, - {"matrix": [2, 5], "x": 5, "y": 2}, - {"matrix": [2, 6], "x": 6, "y": 2}, - - {"matrix": [7, 6], "x": 9, "y": 2}, - {"matrix": [7, 5], "x": 10, "y": 2}, - {"matrix": [7, 4], "x": 11, "y": 2}, - {"matrix": [7, 3], "x": 12, "y": 2}, - {"matrix": [7, 2], "x": 13, "y": 2}, - {"matrix": [7, 1], "x": 14, "y": 2}, - {"matrix": [7, 0], "x": 15, "y": 2}, - - {"matrix": [3, 0], "x": 0, "y": 3}, - {"matrix": [3, 1], "x": 1, "y": 3}, - {"matrix": [3, 2], "x": 2, "y": 3}, - {"matrix": [3, 3], "x": 3, "y": 3}, - {"matrix": [3, 4], "x": 4, "y": 3}, - {"matrix": [3, 5], "x": 5, "y": 3}, - {"matrix": [3, 6], "x": 6, "y": 3}, - {"matrix": [0, 6], "x": 7, "y": 3}, - {"matrix": [5, 6], "x": 8, "y": 3}, - {"matrix": [8, 6], "x": 9, "y": 3}, - {"matrix": [8, 5], "x": 10, "y": 3}, - {"matrix": [8, 4], "x": 11, "y": 3}, - {"matrix": [8, 3], "x": 12, "y": 3}, - {"matrix": [8, 2], "x": 13, "y": 3}, - {"matrix": [8, 1], "x": 14, "y": 3}, - {"matrix": [8, 0], "x": 15, "y": 3}, - - {"matrix": [4, 0], "x": 0, "y": 4}, - {"matrix": [4, 1], "x": 1, "y": 4}, - {"matrix": [4, 2], "x": 2, "y": 4}, - - {"matrix": [4, 5], "x": 5, "y": 4}, - {"matrix": [4, 6], "x": 6, "y": 4}, - {"matrix": [1, 6], "x": 7, "y": 4}, - {"matrix": [6, 6], "x": 8, "y": 4}, - {"matrix": [9, 6], "x": 9, "y": 4}, - {"matrix": [9, 5], "x": 10, "y": 4}, - - {"matrix": [9, 2], "x": 13, "y": 4}, - {"matrix": [9, 1], "x": 14, "y": 4}, - {"matrix": [9, 0], "x": 15, "y": 4} - ] - } - } } From daea202bfdcb257acb11f14997bdab49b3afb870 Mon Sep 17 00:00:00 2001 From: DUILCHOI <48977039+duilchoi@users.noreply.github.com> Date: Fri, 29 Sep 2023 15:39:15 +0900 Subject: [PATCH 130/144] add linworks fave60 (#20796) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Duncan Sutherland --- keyboards/linworks/fave60/config.h | 25 + keyboards/linworks/fave60/info.json | 446 ++++++++++++++++++ .../linworks/fave60/keymaps/default/keymap.c | 33 ++ .../linworks/fave60/keymaps/via/keymap.c | 33 ++ .../linworks/fave60/keymaps/via/rules.mk | 1 + keyboards/linworks/fave60/readme.md | 28 ++ keyboards/linworks/fave60/rules.mk | 0 7 files changed, 566 insertions(+) create mode 100644 keyboards/linworks/fave60/config.h create mode 100644 keyboards/linworks/fave60/info.json create mode 100644 keyboards/linworks/fave60/keymaps/default/keymap.c create mode 100644 keyboards/linworks/fave60/keymaps/via/keymap.c create mode 100644 keyboards/linworks/fave60/keymaps/via/rules.mk create mode 100644 keyboards/linworks/fave60/readme.md create mode 100644 keyboards/linworks/fave60/rules.mk diff --git a/keyboards/linworks/fave60/config.h b/keyboards/linworks/fave60/config.h new file mode 100644 index 00000000000..55402104ddb --- /dev/null +++ b/keyboards/linworks/fave60/config.h @@ -0,0 +1,25 @@ +/* +Copyright 2020 Moritz Plattner + +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 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + diff --git a/keyboards/linworks/fave60/info.json b/keyboards/linworks/fave60/info.json new file mode 100644 index 00000000000..c801c594cae --- /dev/null +++ b/keyboards/linworks/fave60/info.json @@ -0,0 +1,446 @@ +{ + "manufacturer": "Lx3", + "keyboard_name": "fave60", + "maintainer": "keydler", + "processor": "atmega32u4", + "bootloader": "atmel-dfu", + "backlight": { + "pin": "B7", + "breathing": true + }, + "ws2812": { + "pin": "F5" + }, + "rgblight": { + "led_count": 18, + "sleep": true, + "animations": { + "knight": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "twinkle": true + } + }, + "diode_direction": "COL2ROW", + "features": { + "backlight": true, + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "matrix_pins": { + "cols": ["D6", "D4", "B5", "B4", "B6", "C6", "C7", "F4", "F0", "E6", "D1", "D2", "D3", "D5", "B0"], + "rows": ["F6", "F7", "D7", "F1", "D0"] + }, + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x000D", + "vid": "0x4C58" + }, + "Layout_aliases": { + "LAYOUT_all": "LAYOUT_60_ansi_split_bs_rshift" + }, + "community_layouts": [ + "60_ansi", + "60_ansi_tsangan", + "60_ansi_split_bs_rshift", + "60_tsangan_hhkb" + ], + "layouts": { + "LAYOUT_60_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, 14], "w": 2, "x": 13, "y": 0 }, + { "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1 }, + { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "matrix": [3, 1], "w": 2.25, "x": 0, "y": 3 }, + { "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "matrix": [3, 13], "w": 2.75, "x": 12.25, "y": 3 }, + { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4 }, + { "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, + { "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, + { "matrix": [4, 13], "w": 1.25, "x": 12.5, "y": 4 }, + { "matrix": [4, 14], "w": 1.25, "x": 13.75, "y": 4 } + ] + }, + "LAYOUT_60_ansi_split_bs_rshift": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 1], "x": 1, "y": 0 }, + { "matrix": [0, 2], "x": 2, "y": 0 }, + { "matrix": [0, 3], "x": 3, "y": 0 }, + { "matrix": [0, 4], "x": 4, "y": 0 }, + { "matrix": [0, 5], "x": 5, "y": 0 }, + { "matrix": [0, 6], "x": 6, "y": 0 }, + { "matrix": [0, 7], "x": 7, "y": 0 }, + { "matrix": [0, 8], "x": 8, "y": 0 }, + { "matrix": [0, 9], "x": 9, "y": 0 }, + { "matrix": [0, 10], "x": 10, "y": 0 }, + { "matrix": [0, 11], "x": 11, "y": 0 }, + { "matrix": [0, 12], "x": 12, "y": 0 }, + { "matrix": [0, 13], "x": 13, "y": 0 }, + { "matrix": [0, 14], "x": 14, "y": 0 }, + { "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1 }, + { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "matrix": [3, 1], "w": 2.25, "x": 0, "y": 3 }, + { "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3 }, + { "matrix": [3, 14], "x": 14, "y": 3 }, + { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4 }, + { "matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4 }, + { "matrix": [4, 3], "w": 1.25, "x": 2.5, "y": 4 }, + { "matrix": [4, 6], "w": 6.25, "x": 3.75, "y": 4 }, + { "matrix": [4, 10], "w": 1.25, "x": 10, "y": 4 }, + { "matrix": [4, 11], "w": 1.25, "x": 11.25, "y": 4 }, + { "matrix": [4, 13], "w": 1.25, "x": 12.5, "y": 4 }, + { "matrix": [4, 14], "w": 1.25, "x": 13.75, "y": 4 } + ] + }, + "LAYOUT_60_ansi_tsangan": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 1], "x": 1, "y": 0 }, + { "matrix": [0, 2], "x": 2, "y": 0 }, + { "matrix": [0, 3], "x": 3, "y": 0 }, + { "matrix": [0, 4], "x": 4, "y": 0 }, + { "matrix": [0, 5], "x": 5, "y": 0 }, + { "matrix": [0, 6], "x": 6, "y": 0 }, + { "matrix": [0, 7], "x": 7, "y": 0 }, + { "matrix": [0, 8], "x": 8, "y": 0 }, + { "matrix": [0, 9], "x": 9, "y": 0 }, + { "matrix": [0, 10], "x": 10, "y": 0 }, + { "matrix": [0, 11], "x": 11, "y": 0 }, + { "matrix": [0, 12], "x": 12, "y": 0 }, + { "matrix": [0, 14], "w": 2, "x": 13, "y": 0 }, + { "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1 }, + { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "matrix": [3, 1], "w": 2.25, "x": 0, "y": 3 }, + { "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "matrix": [3, 13], "w": 2.75, "x": 12.25, "y": 3 }, + { "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 }, + { "matrix": [4, 1], "x": 1.5, "y": 4 }, + { "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 }, + { "matrix": [4, 6], "w": 7, "x": 4, "y": 4 }, + { "matrix": [4, 11], "w": 1.5, "x": 11, "y": 4 }, + { "matrix": [4, 13], "x": 12.5, "y": 4 }, + { "matrix": [4, 14], "w": 1.5, "x": 13.5, "y": 4 } + ] + }, + "LAYOUT_60_tsangan_hhkb": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 1], "x": 1, "y": 0 }, + { "matrix": [0, 2], "x": 2, "y": 0 }, + { "matrix": [0, 3], "x": 3, "y": 0 }, + { "matrix": [0, 4], "x": 4, "y": 0 }, + { "matrix": [0, 5], "x": 5, "y": 0 }, + { "matrix": [0, 6], "x": 6, "y": 0 }, + { "matrix": [0, 7], "x": 7, "y": 0 }, + { "matrix": [0, 8], "x": 8, "y": 0 }, + { "matrix": [0, 9], "x": 9, "y": 0 }, + { "matrix": [0, 10], "x": 10, "y": 0 }, + { "matrix": [0, 11], "x": 11, "y": 0 }, + { "matrix": [0, 12], "x": 12, "y": 0 }, + { "matrix": [0, 13], "x": 13, "y": 0 }, + { "matrix": [0, 14], "x": 14, "y": 0 }, + { "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1 }, + { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "matrix": [3, 1], "w": 2.25, "x": 0, "y": 3 }, + { "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3 }, + { "matrix": [3, 14], "x": 14, "y": 3 }, + { "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 }, + { "matrix": [4, 1], "x": 1.5, "y": 4 }, + { "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 }, + { "matrix": [4, 6], "w": 7, "x": 4, "y": 4 }, + { "matrix": [4, 11], "w": 1.5, "x": 11, "y": 4 }, + { "matrix": [4, 13], "x": 12.5, "y": 4 }, + { "matrix": [4, 14], "w": 1.5, "x": 13.5, "y": 4 } + ] + }, + "LAYOUT_winkeyless": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 1], "x": 1, "y": 0 }, + { "matrix": [0, 2], "x": 2, "y": 0 }, + { "matrix": [0, 3], "x": 3, "y": 0 }, + { "matrix": [0, 4], "x": 4, "y": 0 }, + { "matrix": [0, 5], "x": 5, "y": 0 }, + { "matrix": [0, 6], "x": 6, "y": 0 }, + { "matrix": [0, 7], "x": 7, "y": 0 }, + { "matrix": [0, 8], "x": 8, "y": 0 }, + { "matrix": [0, 9], "x": 9, "y": 0 }, + { "matrix": [0, 10], "x": 10, "y": 0 }, + { "matrix": [0, 11], "x": 11, "y": 0 }, + { "matrix": [0, 12], "x": 12, "y": 0 }, + { "matrix": [0, 14], "w": 2, "x": 13, "y": 0 }, + { "matrix": [1, 0], "w": 1.5, "x": 0, "y": 1 }, + { "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1 }, + { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "matrix": [3, 1], "w": 2.25, "x": 0, "y": 3 }, + { "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "matrix": [3, 13], "w": 2.75, "x": 12.25, "y": 3 }, + { "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 }, + { "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 }, + { "matrix": [4, 6], "w": 7, "x": 4, "y": 4 }, + { "matrix": [4, 11], "w": 1.5, "x": 11, "y": 4 }, + { "matrix": [4, 14], "w": 1.5, "x": 13.5, "y": 4 } + ] + }, + "LAYOUT_winkeyless_split": { + "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], "w": 1.5, "x": 0, "y": 1 }, + { "matrix": [1, 2], "x": 1.5, "y": 1 }, + { "matrix": [1, 3], "x": 2.5, "y": 1 }, + { "matrix": [1, 4], "x": 3.5, "y": 1 }, + { "matrix": [1, 5], "x": 4.5, "y": 1 }, + { "matrix": [1, 6], "x": 5.5, "y": 1 }, + { "matrix": [1, 7], "x": 6.5, "y": 1 }, + { "matrix": [1, 8], "x": 7.5, "y": 1 }, + { "matrix": [1, 9], "x": 8.5, "y": 1 }, + { "matrix": [1, 10], "x": 9.5, "y": 1 }, + { "matrix": [1, 11], "x": 10.5, "y": 1 }, + { "matrix": [1, 12], "x": 11.5, "y": 1 }, + { "matrix": [1, 13], "x": 12.5, "y": 1 }, + { "matrix": [1, 14], "w": 1.5, "x": 13.5, "y": 1 }, + { "matrix": [2, 0], "w": 1.75, "x": 0, "y": 2 }, + { "matrix": [2, 2], "x": 1.75, "y": 2 }, + { "matrix": [2, 3], "x": 2.75, "y": 2 }, + { "matrix": [2, 4], "x": 3.75, "y": 2 }, + { "matrix": [2, 5], "x": 4.75, "y": 2 }, + { "matrix": [2, 6], "x": 5.75, "y": 2 }, + { "matrix": [2, 7], "x": 6.75, "y": 2 }, + { "matrix": [2, 8], "x": 7.75, "y": 2 }, + { "matrix": [2, 9], "x": 8.75, "y": 2 }, + { "matrix": [2, 10], "x": 9.75, "y": 2 }, + { "matrix": [2, 11], "x": 10.75, "y": 2 }, + { "matrix": [2, 12], "x": 11.75, "y": 2 }, + { "matrix": [2, 13], "w": 2.25, "x": 12.75, "y": 2 }, + { "matrix": [3, 1], "w": 2.25, "x": 0, "y": 3 }, + { "matrix": [3, 2], "x": 2.25, "y": 3 }, + { "matrix": [3, 3], "x": 3.25, "y": 3 }, + { "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "matrix": [3, 5], "x": 5.25, "y": 3 }, + { "matrix": [3, 6], "x": 6.25, "y": 3 }, + { "matrix": [3, 7], "x": 7.25, "y": 3 }, + { "matrix": [3, 8], "x": 8.25, "y": 3 }, + { "matrix": [3, 9], "x": 9.25, "y": 3 }, + { "matrix": [3, 10], "x": 10.25, "y": 3 }, + { "matrix": [3, 11], "x": 11.25, "y": 3 }, + { "matrix": [3, 12], "w": 1.75, "x": 12.25, "y": 3 }, + { "matrix": [3, 14], "x": 14, "y": 3 }, + { "matrix": [4, 0], "w": 1.5, "x": 0, "y": 4 }, + { "matrix": [4, 3], "w": 1.5, "x": 2.5, "y": 4 }, + { "matrix": [4, 6], "w": 7, "x": 4, "y": 4 }, + { "matrix": [4, 11], "w": 1.5, "x": 11, "y": 4 }, + { "matrix": [4, 14], "w": 1.5, "x": 13.5, "y": 4 } + ] + } + } +} + diff --git a/keyboards/linworks/fave60/keymaps/default/keymap.c b/keyboards/linworks/fave60/keymaps/default/keymap.c new file mode 100644 index 00000000000..497aabde0fb --- /dev/null +++ b/keyboards/linworks/fave60/keymaps/default/keymap.c @@ -0,0 +1,33 @@ +/* Copyright 2020 noroadsleft + * + * 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_60_ansi( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_MENU, KC_RCTL + ), + [1] = LAYOUT_60_ansi( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS, _______, + _______, BL_TOGG, BL_DOWN, BL_UP, BL_STEP, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_LCBR, KC_RCBR, KC_PIPE, + _______, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, KC_COLN, KC_DQUO, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_LT, KC_GT, KC_QUES, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/linworks/fave60/keymaps/via/keymap.c b/keyboards/linworks/fave60/keymaps/via/keymap.c new file mode 100644 index 00000000000..497aabde0fb --- /dev/null +++ b/keyboards/linworks/fave60/keymaps/via/keymap.c @@ -0,0 +1,33 @@ +/* Copyright 2020 noroadsleft + * + * 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_60_ansi( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_MENU, KC_RCTL + ), + [1] = LAYOUT_60_ansi( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS, _______, + _______, BL_TOGG, BL_DOWN, BL_UP, BL_STEP, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, KC_LCBR, KC_RCBR, KC_PIPE, + _______, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, KC_COLN, KC_DQUO, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_LT, KC_GT, KC_QUES, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/linworks/fave60/keymaps/via/rules.mk b/keyboards/linworks/fave60/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/linworks/fave60/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/linworks/fave60/readme.md b/keyboards/linworks/fave60/readme.md new file mode 100644 index 00000000000..234010e00c6 --- /dev/null +++ b/keyboards/linworks/fave60/readme.md @@ -0,0 +1,28 @@ +# linworks/fave60 + +![linworks/fave60 front](https://i.imgur.com/lv97Ymuh.png) +![linworks/fave60 back](https://i.imgur.com/xBLhQIoh.png) + +The Fave60 PCB is a 60 keys keyboard designed by Lx3 (Linworks). + +* Keyboard Maintainer: [keydler](https://github.com/duilchoi) +* Hardware Supported: Fave 60 PCBs +* Hardware Availability: Groupbuy.Check the ongoing ones on [the Linworks Discord](https://discord.gg/UC8gTdVnsj) + +Make example for this keyboard (after setting up your build environment): + + make linworks/fave60:default + +Flashing example for this keyboard: + + make linworks/fave60: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/linworks/fave60/rules.mk b/keyboards/linworks/fave60/rules.mk new file mode 100644 index 00000000000..e69de29bb2d From 5626a9282cfe28cd267c5351e68e15914a5578bb Mon Sep 17 00:00:00 2001 From: DOIO2022 <116554792+DOIO2022@users.noreply.github.com> Date: Fri, 29 Sep 2023 14:42:45 +0800 Subject: [PATCH 131/144] Add KB12 keyboard (#21605) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Pablo Martínez <58857054+elpekenin@users.noreply.github.com> Co-authored-by: Less/Rikki <86894501+lesshonor@users.noreply.github.com> Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/doio/kb12/config.h | 70 ++++++++++++++++++ keyboards/doio/kb12/info.json | 78 ++++++++++++++++++++ keyboards/doio/kb12/keymaps/default/keymap.c | 55 ++++++++++++++ keyboards/doio/kb12/keymaps/via/keymap.c | 55 ++++++++++++++ keyboards/doio/kb12/keymaps/via/rules.mk | 2 + keyboards/doio/kb12/readme.md | 24 ++++++ keyboards/doio/kb12/rules.mk | 1 + 7 files changed, 285 insertions(+) create mode 100644 keyboards/doio/kb12/config.h create mode 100644 keyboards/doio/kb12/info.json create mode 100644 keyboards/doio/kb12/keymaps/default/keymap.c create mode 100644 keyboards/doio/kb12/keymaps/via/keymap.c create mode 100644 keyboards/doio/kb12/keymaps/via/rules.mk create mode 100644 keyboards/doio/kb12/readme.md create mode 100644 keyboards/doio/kb12/rules.mk diff --git a/keyboards/doio/kb12/config.h b/keyboards/doio/kb12/config.h new file mode 100644 index 00000000000..c7ea434320e --- /dev/null +++ b/keyboards/doio/kb12/config.h @@ -0,0 +1,70 @@ +/* Copyright 2022 DOIO + * Copyright 2022 DOIO2022 + * + * 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 + +/* RGB Matrix config */ +#define RGB_MATRIX_LED_COUNT 12 +#define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS +#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_UP_DOWN +#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS + +/* RGB Matrix effect */ +#define ENABLE_RGB_MATRIX_ALPHAS_MODS +#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +#define ENABLE_RGB_MATRIX_BREATHING +#define ENABLE_RGB_MATRIX_BAND_SAT +#define ENABLE_RGB_MATRIX_BAND_VAL +#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT +#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL +#define ENABLE_RGB_MATRIX_CYCLE_ALL +#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN +#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN +#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL +#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL +#define ENABLE_RGB_MATRIX_DUAL_BEACON +#define ENABLE_RGB_MATRIX_RAINBOW_BEACON +#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +#define ENABLE_RGB_MATRIX_RAINDROPS +#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +#define ENABLE_RGB_MATRIX_HUE_BREATHING +#define ENABLE_RGB_MATRIX_HUE_PENDULUM +#define ENABLE_RGB_MATRIX_HUE_WAVE +#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL +#define ENABLE_RGB_MATRIX_PIXEL_RAIN +#define ENABLE_RGB_MATRIX_TYPING_HEATMAP +#define ENABLE_RGB_MATRIX_DIGITAL_RAIN +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +#define ENABLE_RGB_MATRIX_SPLASH +#define ENABLE_RGB_MATRIX_MULTISPLASH +#define ENABLE_RGB_MATRIX_SOLID_SPLASH +#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH diff --git a/keyboards/doio/kb12/info.json b/keyboards/doio/kb12/info.json new file mode 100644 index 00000000000..fc75fd8c0d9 --- /dev/null +++ b/keyboards/doio/kb12/info.json @@ -0,0 +1,78 @@ +{ + "keyboard_name": "KB12-01", + "manufacturer": "DOIO", + "url": "", + "maintainer": "DOIO2022", + "usb": { + "vid": "0xD010", + "pid": "0x1201", + "device_version": "0.0.1" + }, + "rgb_matrix": { + "driver": "ws2812" + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 75, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 150, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 224, "y": 0, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 32, "flags": 4}, + {"matrix": [1, 1], "x": 75, "y": 32, "flags": 4}, + {"matrix": [1, 2], "x": 150, "y": 32, "flags": 4}, + {"matrix": [1, 3], "x": 224, "y": 32, "flags": 4}, + {"matrix": [2, 0], "x": 0, "y": 64, "flags": 4}, + {"matrix": [2, 1], "x": 75, "y": 64, "flags": 4}, + {"matrix": [2, 2], "x": 150, "y": 64, "flags": 4}, + {"matrix": [2, 3], "x": 224, "y": 64, "flags": 4} + ], + "max_brightness": 200 + }, + "matrix_pins": { + "cols": ["B14", "B13", "B12", "B0", "A7"], + "rows": ["B3", "B4", "B9"] + }, + "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 6 + }, + "encoder": { + "rotary": [ + {"pin_a": "B5", "pin_b": "B6"} + ] + }, + "ws2812": { + "pin": "A10" + }, + "processor": "STM32F103", + "bootloader": "stm32duino", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true, + "encoder": true + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "matrix": [0, 4], "x": 0, "y": 0 }, + { "matrix": [0, 0], "x": 3.25, "y": 0 }, + { "matrix": [0, 1], "x": 4.25, "y": 0 }, + { "matrix": [0, 2], "x": 5.25, "y": 0 }, + { "matrix": [0, 3], "x": 6.25, "y": 0 }, + + { "matrix": [1, 0], "x": 7.75, "y": 0 }, + { "matrix": [1, 1], "x": 8.75, "y": 0 }, + { "matrix": [1, 2], "x": 9.75, "y": 0 }, + { "matrix": [1, 3], "x": 10.75, "y": 0 }, + + { "matrix": [2, 0], "x": 12.25, "y": 0 }, + { "matrix": [2, 1], "x": 13.25, "y": 0 }, + { "matrix": [2, 2], "x": 14.25, "y": 0 }, + { "matrix": [2, 3], "x": 15.25, "y": 0 } + ] + } + } +} diff --git a/keyboards/doio/kb12/keymaps/default/keymap.c b/keyboards/doio/kb12/keymaps/default/keymap.c new file mode 100644 index 00000000000..72360f1a8b2 --- /dev/null +++ b/keyboards/doio/kb12/keymaps/default/keymap.c @@ -0,0 +1,55 @@ +/* Copyright 2022 DOIO + * Copyright 2022 DOIO2022 + * + * 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 + +enum layer_names { + _LAY0, + _LAY1, + _LAY2, + _LAY3, + _LAY4, + _LAY5 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_LAY0] = LAYOUT( + TO(1), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12), + [_LAY1] = LAYOUT( + TO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [_LAY2] = LAYOUT( + TO(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [_LAY3] = LAYOUT( + TO(4), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [_LAY4] = LAYOUT( + TO(5), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [_LAY5] = LAYOUT( + TO(0), RGB_TOG, RGB_MOD, RGB_SPI, RGB_SPD, RGB_SAI, RGB_SAD, RGB_HUI, RGB_HUD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS) + +}; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_LAY0] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN) }, + [_LAY1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_LAY2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_LAY3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_LAY4] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_LAY5] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; +#endif diff --git a/keyboards/doio/kb12/keymaps/via/keymap.c b/keyboards/doio/kb12/keymaps/via/keymap.c new file mode 100644 index 00000000000..72360f1a8b2 --- /dev/null +++ b/keyboards/doio/kb12/keymaps/via/keymap.c @@ -0,0 +1,55 @@ +/* Copyright 2022 DOIO + * Copyright 2022 DOIO2022 + * + * 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 + +enum layer_names { + _LAY0, + _LAY1, + _LAY2, + _LAY3, + _LAY4, + _LAY5 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_LAY0] = LAYOUT( + TO(1), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12), + [_LAY1] = LAYOUT( + TO(2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [_LAY2] = LAYOUT( + TO(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [_LAY3] = LAYOUT( + TO(4), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [_LAY4] = LAYOUT( + TO(5), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [_LAY5] = LAYOUT( + TO(0), RGB_TOG, RGB_MOD, RGB_SPI, RGB_SPD, RGB_SAI, RGB_SAD, RGB_HUI, RGB_HUD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS) + +}; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_LAY0] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN) }, + [_LAY1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_LAY2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_LAY3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_LAY4] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_LAY5] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; +#endif diff --git a/keyboards/doio/kb12/keymaps/via/rules.mk b/keyboards/doio/kb12/keymaps/via/rules.mk new file mode 100644 index 00000000000..f1adcab005e --- /dev/null +++ b/keyboards/doio/kb12/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/doio/kb12/readme.md b/keyboards/doio/kb12/readme.md new file mode 100644 index 00000000000..1dd7a310f16 --- /dev/null +++ b/keyboards/doio/kb12/readme.md @@ -0,0 +1,24 @@ +# doio/kb12 + +QMK for DOIO Knob 12% . + +* Keyboard Maintainer: DOIO2022 +* Hardware Supported: DOIO Knob 12% + +Make example for this keyboard (after setting up your build environment): + + make doio/kb12:default + +Flashing example for this keyboard: + + make doio/kb12: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 +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/doio/kb12/rules.mk b/keyboards/doio/kb12/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/doio/kb12/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From ab1e851e7da929669514d000bd675adbc9b9f8ae Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri, 29 Sep 2023 00:30:59 -0700 Subject: [PATCH 132/144] 4pplet Eagle/Viper Rep Rev.A Layout Additions II (#22161) --- .../4pplet/eagle_viper_rep/rev_a/info.json | 429 ++++++++++++++++++ .../eagle_viper_rep/rev_a/matrix_diagram.md | 4 +- 2 files changed, 431 insertions(+), 2 deletions(-) diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/info.json b/keyboards/4pplet/eagle_viper_rep/rev_a/info.json index 4be993daea1..c08f53f7b7d 100644 --- a/keyboards/4pplet/eagle_viper_rep/rev_a/info.json +++ b/keyboards/4pplet/eagle_viper_rep/rev_a/info.json @@ -41,6 +41,16 @@ }, "processor": "STM32F072", "bootloader": "stm32-dfu", + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_tsangan_hhkb", + "60_hhkb", + "60_iso", + "60_iso_split_bs_rshift", + "60_iso_tsangan" + ], "layouts": { "LAYOUT_all": { "layout": [ @@ -115,6 +125,75 @@ {"label": "Ctrl", "matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25} ] }, + "LAYOUT_60_ansi": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [1, 0], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 1], "x": 2, "y": 0}, + {"label": "#", "matrix": [1, 1], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 2], "x": 4, "y": 0}, + {"label": "%", "matrix": [1, 2], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 3], "x": 6, "y": 0}, + {"label": "&", "matrix": [1, 3], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 4], "x": 8, "y": 0}, + {"label": "(", "matrix": [1, 4], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 5], "x": 10, "y": 0}, + {"label": "_", "matrix": [1, 5], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 6], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [3, 6], "x": 13, "y": 0, "w": 2}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [3, 5], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [2, 6], "x": 12.5, "y": 1}, + {"label": "|", "matrix": [5, 6], "x": 13.5, "y": 1, "w": 1.5}, + + {"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [4, 5], "x": 10.75, "y": 2}, + {"label": "\"", "matrix": [5, 5], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [7, 6], "x": 12.75, "y": 2, "w": 2.25}, + + {"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [7, 4], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [6, 5], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [7, 5], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75}, + + {"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [9, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [9, 4], "x": 10, "y": 4, "w": 1.25}, + {"label": "Menu", "matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25} + ] + }, "LAYOUT_60_ansi_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, @@ -186,6 +265,74 @@ {"label": "Ctrl", "matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25} ] }, + "LAYOUT_60_ansi_tsangan": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [1, 0], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 1], "x": 2, "y": 0}, + {"label": "#", "matrix": [1, 1], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 2], "x": 4, "y": 0}, + {"label": "%", "matrix": [1, 2], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 3], "x": 6, "y": 0}, + {"label": "&", "matrix": [1, 3], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 4], "x": 8, "y": 0}, + {"label": "(", "matrix": [1, 4], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 5], "x": 10, "y": 0}, + {"label": "_", "matrix": [1, 5], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 6], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [3, 6], "x": 13, "y": 0, "w": 2}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [3, 5], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [2, 6], "x": 12.5, "y": 1}, + {"label": "|", "matrix": [5, 6], "x": 13.5, "y": 1, "w": 1.5}, + + {"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [4, 5], "x": 10.75, "y": 2}, + {"label": "\"", "matrix": [5, 5], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [7, 6], "x": 12.75, "y": 2, "w": 2.25}, + + {"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [7, 4], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [6, 5], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [7, 5], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75}, + + {"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [9, 0], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [9, 3], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [9, 5], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} + ] + }, "LAYOUT_60_tsangan_hhkb": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, @@ -323,6 +470,288 @@ {"label": "GUI", "matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, {"label": "Alt", "matrix": [9, 5], "x": 12.5, "y": 4} ] + }, + "LAYOUT_60_iso": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [1, 0], "x": 1, "y": 0}, + {"label": "\"", "matrix": [0, 1], "x": 2, "y": 0}, + {"label": "\u00a3", "matrix": [1, 1], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 2], "x": 4, "y": 0}, + {"label": "%", "matrix": [1, 2], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 3], "x": 6, "y": 0}, + {"label": "&", "matrix": [1, 3], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 4], "x": 8, "y": 0}, + {"label": "(", "matrix": [1, 4], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 5], "x": 10, "y": 0}, + {"label": "_", "matrix": [1, 5], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 6], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [3, 6], "x": 13, "y": 0, "w": 2}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [3, 5], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [2, 6], "x": 12.5, "y": 1}, + + {"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [4, 5], "x": 10.75, "y": 2}, + {"label": "@", "matrix": [5, 5], "x": 11.75, "y": 2}, + {"label": "~", "matrix": [4, 6], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [7, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "|", "matrix": [7, 0], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [7, 4], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [6, 5], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [7, 5], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75}, + + {"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [9, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [9, 4], "x": 10, "y": 4, "w": 1.25}, + {"label": "Menu", "matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [1, 0], "x": 1, "y": 0}, + {"label": "\"", "matrix": [0, 1], "x": 2, "y": 0}, + {"label": "\u00a3", "matrix": [1, 1], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 2], "x": 4, "y": 0}, + {"label": "%", "matrix": [1, 2], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 3], "x": 6, "y": 0}, + {"label": "&", "matrix": [1, 3], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 4], "x": 8, "y": 0}, + {"label": "(", "matrix": [1, 4], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 5], "x": 10, "y": 0}, + {"label": "_", "matrix": [1, 5], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 6], "x": 12, "y": 0}, + {"label": "|", "matrix": [1, 6], "x": 13, "y": 0}, + {"label": "Backspace", "matrix": [3, 6], "x": 14, "y": 0}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [3, 5], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [2, 6], "x": 12.5, "y": 1}, + + {"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [4, 5], "x": 10.75, "y": 2}, + {"label": "@", "matrix": [5, 5], "x": 11.75, "y": 2}, + {"label": "~", "matrix": [4, 6], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [7, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "|", "matrix": [7, 0], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [7, 4], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [6, 5], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [7, 5], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Fn", "matrix": [9, 6], "x": 14, "y": 3}, + + {"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [9, 0], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "Space", "matrix": [9, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [9, 4], "x": 10, "y": 4, "w": 1.25}, + {"label": "Menu", "matrix": [8, 5], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [9, 5], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_tsangan": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [1, 0], "x": 1, "y": 0}, + {"label": "\"", "matrix": [0, 1], "x": 2, "y": 0}, + {"label": "\u00a3", "matrix": [1, 1], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 2], "x": 4, "y": 0}, + {"label": "%", "matrix": [1, 2], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 3], "x": 6, "y": 0}, + {"label": "&", "matrix": [1, 3], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 4], "x": 8, "y": 0}, + {"label": "(", "matrix": [1, 4], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 5], "x": 10, "y": 0}, + {"label": "_", "matrix": [1, 5], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 6], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [3, 6], "x": 13, "y": 0, "w": 2}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [3, 5], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [2, 6], "x": 12.5, "y": 1}, + + {"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [4, 5], "x": 10.75, "y": 2}, + {"label": "@", "matrix": [5, 5], "x": 11.75, "y": 2}, + {"label": "~", "matrix": [4, 6], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [7, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "|", "matrix": [7, 0], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [7, 4], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [6, 5], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [7, 5], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 2.75}, + + {"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [9, 0], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [9, 3], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [9, 5], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_tsangan_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [1, 0], "x": 1, "y": 0}, + {"label": "\"", "matrix": [0, 1], "x": 2, "y": 0}, + {"label": "\u00a3", "matrix": [1, 1], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 2], "x": 4, "y": 0}, + {"label": "%", "matrix": [1, 2], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 3], "x": 6, "y": 0}, + {"label": "&", "matrix": [1, 3], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 4], "x": 8, "y": 0}, + {"label": "(", "matrix": [1, 4], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 5], "x": 10, "y": 0}, + {"label": "_", "matrix": [1, 5], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 6], "x": 12, "y": 0}, + {"label": "|", "matrix": [1, 6], "x": 13, "y": 0}, + {"label": "Backspace", "matrix": [3, 6], "x": 14, "y": 0}, + + {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [3, 0], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [2, 1], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [3, 1], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [2, 2], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [3, 2], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [2, 3], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [3, 3], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [2, 4], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [3, 4], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [2, 5], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [3, 5], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [2, 6], "x": 12.5, "y": 1}, + + {"label": "Caps Lock", "matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [5, 0], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [4, 1], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [5, 1], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [4, 2], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [5, 2], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [4, 3], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [5, 3], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [4, 4], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [5, 4], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [4, 5], "x": 10.75, "y": 2}, + {"label": "@", "matrix": [5, 5], "x": 11.75, "y": 2}, + {"label": "~", "matrix": [4, 6], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [7, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"label": "Shift", "matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "|", "matrix": [7, 0], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [6, 1], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [7, 1], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [6, 2], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [7, 2], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [6, 3], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [7, 3], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [6, 4], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [7, 4], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [6, 5], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [7, 5], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Fn", "matrix": [9, 6], "x": 14, "y": 3}, + + {"label": "Ctrl", "matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [9, 0], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [9, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"label": "Space", "matrix": [9, 3], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [9, 5], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} + ] } } } diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/matrix_diagram.md b/keyboards/4pplet/eagle_viper_rep/rev_a/matrix_diagram.md index 6a51e0447ea..8ec59179b01 100644 --- a/keyboards/4pplet/eagle_viper_rep/rev_a/matrix_diagram.md +++ b/keyboards/4pplet/eagle_viper_rep/rev_a/matrix_diagram.md @@ -2,7 +2,7 @@ ``` ┌───────┐ - 2u Backspace │36? │ + 2u Backspace │36 │ └───────┘ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ │00 │10 │01 │11 │02 │12 │03 │13 │04 │14 │05 │15 │06 │16 │36 │ @@ -19,6 +19,6 @@ │60 │ 2.25u LShift 2.75u RShift │66 │ └────────┘ └──────────┘ ┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ -│80 │90 │91 │93 │85 │95 │86 │ Tsangan/WKL/HHKB +│80 │90 │91 │93 │85 │95 │86 │ Tsangan/HHKB └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ ``` From cfb4bb9b98dccd12132b784a6656ddefdb524728 Mon Sep 17 00:00:00 2001 From: Moritz Plattner Date: Fri, 29 Sep 2023 13:19:03 +0200 Subject: [PATCH 133/144] teleport/native: switch from wrongly used user to kb function, boost matrix scan rate (#21172) * enable LTO * change from _user to _kb function * switch matrix io delay to nops, add opt=3 for higher scan rates * disable console which was enabled for testing but collides with endpoint used by VIA * switched from opt=3 to opt=2 * Update keyboards/teleport/native/native.c Co-authored-by: Joel Challis * slightly upped debounce, as some testers had chatter with async + default debounce --------- Co-authored-by: Joel Challis --- keyboards/teleport/native/ansi/keymaps/perfmode/config.h | 5 ++++- keyboards/teleport/native/ansi/keymaps/perfmode/keymap.c | 3 +++ keyboards/teleport/native/ansi/keymaps/perfmode/rules.mk | 1 + keyboards/teleport/native/info.json | 3 ++- keyboards/teleport/native/iso/keymaps/perfmode/config.h | 5 ++++- keyboards/teleport/native/iso/keymaps/perfmode/keymap.c | 3 +++ keyboards/teleport/native/iso/keymaps/perfmode/rules.mk | 1 + keyboards/teleport/native/native.c | 4 +++- 8 files changed, 21 insertions(+), 4 deletions(-) diff --git a/keyboards/teleport/native/ansi/keymaps/perfmode/config.h b/keyboards/teleport/native/ansi/keymaps/perfmode/config.h index a99590cd1c5..896166db12b 100644 --- a/keyboards/teleport/native/ansi/keymaps/perfmode/config.h +++ b/keyboards/teleport/native/ansi/keymaps/perfmode/config.h @@ -20,4 +20,7 @@ along with this program. If not, see . /* Increase eeprom size to allow for 5 layers */ #define WEAR_LEVELING_BACKING_SIZE 16384 -#define WEAR_LEVELING_LOGICAL_SIZE 4096 \ No newline at end of file +#define WEAR_LEVELING_LOGICAL_SIZE 4096 + +/* Increase debounce, as asym eager seems to lead to chatter with the fast polling rate in some cases */ +#define DEBOUNCE 7 \ No newline at end of file diff --git a/keyboards/teleport/native/ansi/keymaps/perfmode/keymap.c b/keyboards/teleport/native/ansi/keymaps/perfmode/keymap.c index 1a7852a062e..abe6188ccfd 100644 --- a/keyboards/teleport/native/ansi/keymaps/perfmode/keymap.c +++ b/keyboards/teleport/native/ansi/keymaps/perfmode/keymap.c @@ -15,6 +15,9 @@ */ #include QMK_KEYBOARD_H +// tested and working +void matrix_io_delay(void) { __asm__ volatile("nop\nnop\nnop\n"); } + enum layers{ BASE, GAME, diff --git a/keyboards/teleport/native/ansi/keymaps/perfmode/rules.mk b/keyboards/teleport/native/ansi/keymaps/perfmode/rules.mk index b735c48f20f..d6c9b615e02 100644 --- a/keyboards/teleport/native/ansi/keymaps/perfmode/rules.mk +++ b/keyboards/teleport/native/ansi/keymaps/perfmode/rules.mk @@ -1,4 +1,5 @@ DEBOUNCE_TYPE = asym_eager_defer_pk +OPT = 2 VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/teleport/native/info.json b/keyboards/teleport/native/info.json index 7aec5f77ed6..87b97e5b2d1 100644 --- a/keyboards/teleport/native/info.json +++ b/keyboards/teleport/native/info.json @@ -19,7 +19,8 @@ "console": false, "extrakey": true, "mousekey": true, - "nkro": true + "nkro": true, + "lto": true }, "diode_direction": "ROW2COL", "matrix_pins": { diff --git a/keyboards/teleport/native/iso/keymaps/perfmode/config.h b/keyboards/teleport/native/iso/keymaps/perfmode/config.h index a99590cd1c5..896166db12b 100644 --- a/keyboards/teleport/native/iso/keymaps/perfmode/config.h +++ b/keyboards/teleport/native/iso/keymaps/perfmode/config.h @@ -20,4 +20,7 @@ along with this program. If not, see . /* Increase eeprom size to allow for 5 layers */ #define WEAR_LEVELING_BACKING_SIZE 16384 -#define WEAR_LEVELING_LOGICAL_SIZE 4096 \ No newline at end of file +#define WEAR_LEVELING_LOGICAL_SIZE 4096 + +/* Increase debounce, as asym eager seems to lead to chatter with the fast polling rate in some cases */ +#define DEBOUNCE 7 \ No newline at end of file diff --git a/keyboards/teleport/native/iso/keymaps/perfmode/keymap.c b/keyboards/teleport/native/iso/keymaps/perfmode/keymap.c index 3be8eec3ddf..96e9925fd5a 100644 --- a/keyboards/teleport/native/iso/keymaps/perfmode/keymap.c +++ b/keyboards/teleport/native/iso/keymaps/perfmode/keymap.c @@ -15,6 +15,9 @@ */ #include QMK_KEYBOARD_H +// tested and working +void matrix_io_delay(void) { __asm__ volatile("nop\nnop\nnop\n"); } + enum layers{ BASE, GAME, diff --git a/keyboards/teleport/native/iso/keymaps/perfmode/rules.mk b/keyboards/teleport/native/iso/keymaps/perfmode/rules.mk index b735c48f20f..d6c9b615e02 100644 --- a/keyboards/teleport/native/iso/keymaps/perfmode/rules.mk +++ b/keyboards/teleport/native/iso/keymaps/perfmode/rules.mk @@ -1,4 +1,5 @@ DEBOUNCE_TYPE = asym_eager_defer_pk +OPT = 2 VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/teleport/native/native.c b/keyboards/teleport/native/native.c index 042e2bfa95e..c3cac80c221 100644 --- a/keyboards/teleport/native/native.c +++ b/keyboards/teleport/native/native.c @@ -17,9 +17,11 @@ #include "quantum.h" /* This board has !SDB of the is31 wired to D2. Set high to enable */ -void keyboard_post_init_user(void) { +void keyboard_post_init_kb(void) { setPinOutput(B9); writePinHigh(B9); + + keyboard_post_init_user(); } #ifdef RGB_MATRIX_ENABLE From b404d5e9e4907314df19fea93876b1b2a8f4ff5b Mon Sep 17 00:00:00 2001 From: Andrew Kannan Date: Fri, 29 Sep 2023 22:43:40 -0400 Subject: [PATCH 134/144] Add Brutalv2 60 Keyboard (#22094) Co-authored-by: Duncan Sutherland --- keyboards/cannonkeys/brutalv2_60/config.h | 10 + keyboards/cannonkeys/brutalv2_60/info.json | 700 ++++++++++++++++++ .../brutalv2_60/keymaps/default/keymap.c | 36 + .../brutalv2_60/keymaps/via/keymap.c | 36 + .../brutalv2_60/keymaps/via/rules.mk | 1 + keyboards/cannonkeys/brutalv2_60/readme.md | 24 + keyboards/cannonkeys/brutalv2_60/rules.mk | 1 + 7 files changed, 808 insertions(+) create mode 100644 keyboards/cannonkeys/brutalv2_60/config.h create mode 100644 keyboards/cannonkeys/brutalv2_60/info.json create mode 100644 keyboards/cannonkeys/brutalv2_60/keymaps/default/keymap.c create mode 100644 keyboards/cannonkeys/brutalv2_60/keymaps/via/keymap.c create mode 100644 keyboards/cannonkeys/brutalv2_60/keymaps/via/rules.mk create mode 100644 keyboards/cannonkeys/brutalv2_60/readme.md create mode 100644 keyboards/cannonkeys/brutalv2_60/rules.mk diff --git a/keyboards/cannonkeys/brutalv2_60/config.h b/keyboards/cannonkeys/brutalv2_60/config.h new file mode 100644 index 00000000000..8b8e7f9aa55 --- /dev/null +++ b/keyboards/cannonkeys/brutalv2_60/config.h @@ -0,0 +1,10 @@ +// Copyright 2023 Andrew Kannan +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U + +#define PICO_XOSC_STARTUP_DELAY_MULTIPLIER 64 + diff --git a/keyboards/cannonkeys/brutalv2_60/info.json b/keyboards/cannonkeys/brutalv2_60/info.json new file mode 100644 index 00000000000..3ee5f0d576b --- /dev/null +++ b/keyboards/cannonkeys/brutalv2_60/info.json @@ -0,0 +1,700 @@ +{ + "manufacturer": "CannonKeys", + "keyboard_name": "Brutal V2 60", + "maintainer": "awkannan", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "indicators": { + "caps_lock": "GP12", + "on_state": 0 + }, + "matrix_pins": { + "cols": ["GP3", "GP2", "GP29", "GP28", "GP27", "GP26", "GP25", "GP24", "GP23", "GP22", "GP21", "GP20", "GP19", "GP18"], + "rows": ["GP4", "GP5", "GP13", "GP14", "GP10"] + }, + "processor": "RP2040", + "url": "https://cannonkeys.com", + "usb": { + "device_version": "0.0.1", + "pid": "0x000B", + "vid": "0xCA04" + }, + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_tsangan_hhkb", + "60_hhkb", + "60_iso", + "60_iso_split_bs_rshift", + "60_iso_tsangan" + ], + "layouts": { + "LAYOUT_all": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [2, 12], "x": 14, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3}, + {"matrix": [3, 3], "x": 3.25, "y": 3}, + {"matrix": [3, 4], "x": 4.25, "y": 3}, + {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 6], "x": 6.25, "y": 3}, + {"matrix": [3, 7], "x": 7.25, "y": 3}, + {"matrix": [3, 8], "x": 8.25, "y": 3}, + {"matrix": [3, 9], "x": 9.25, "y": 3}, + {"matrix": [3, 10], "x": 10.25, "y": 3}, + {"matrix": [3, 11], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Fn", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Bksp", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Del", "matrix": [2, 12], "x": 14, "y": 0}, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Fn", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Fn", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_ansi_tsangan": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [4, 12], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_tsangan_hhkb": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Bksp", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Del", "matrix": [2, 12], "x": 14, "y": 0}, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "|", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Fn", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [4, 12], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_hhkb": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "|", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "~", "matrix": [2, 12], "x": 14, "y": 0}, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "Bspc", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "Ctrl", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Fn", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "Alt", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "Win", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"label": "Win", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Alt", "matrix": [4, 12], "x": 12.5, "y": 4} + ] + }, + "LAYOUT_60_iso": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "|", "matrix": [1, 13], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "|", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Fn", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Bksp", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Del", "matrix": [2, 12], "x": 14, "y": 0}, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "|", "matrix": [1, 13], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "|", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Fn", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "Win", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "Fn", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25}, + {"label": "Ctrl", "matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} + ] + }, + "LAYOUT_60_iso_tsangan": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "|", "matrix": [1, 13], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "|", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 13], "x": 12.25, "y": 3, "w": 2.75}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [4, 12], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_iso_tsangan_split_bs_rshift": { + "layout": [ + {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "@", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "#", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "$", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "%", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "^", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "&", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "*", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "(", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": ")", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "_", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "+", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "Bksp", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "Del", "matrix": [2, 12], "x": 14, "y": 0}, + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "|", "matrix": [1, 13], "x": 12.75, "y": 2}, + {"label": "Enter", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "|", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "Fn", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4}, + {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "Win", "matrix": [4, 12], "x": 12.5, "y": 4}, + {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + } + } +} diff --git a/keyboards/cannonkeys/brutalv2_60/keymaps/default/keymap.c b/keyboards/cannonkeys/brutalv2_60/keymaps/default/keymap.c new file mode 100644 index 00000000000..4678bab52a5 --- /dev/null +++ b/keyboards/cannonkeys/brutalv2_60/keymaps/default/keymap.c @@ -0,0 +1,36 @@ +// Copyright 2023 Andrew Kannan +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layers { + _BASE, + _FN1, + _FN2, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_all( + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_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, MO(_FN2), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FN1), KC_RCTL + ), + + [_FN1] = LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, QK_BOOT + ), + + [_FN2] = LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, + _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_HOME, KC_PGDN, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, DB_TOGG, QK_BOOT + ) +}; diff --git a/keyboards/cannonkeys/brutalv2_60/keymaps/via/keymap.c b/keyboards/cannonkeys/brutalv2_60/keymaps/via/keymap.c new file mode 100644 index 00000000000..4678bab52a5 --- /dev/null +++ b/keyboards/cannonkeys/brutalv2_60/keymaps/via/keymap.c @@ -0,0 +1,36 @@ +// Copyright 2023 Andrew Kannan +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layers { + _BASE, + _FN1, + _FN2, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BASE] = LAYOUT_all( + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_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_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, MO(_FN2), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FN1), KC_RCTL + ), + + [_FN1] = LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, + _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, QK_BOOT + ), + + [_FN2] = LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, + _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_HOME, KC_PGDN, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, DB_TOGG, QK_BOOT + ) +}; diff --git a/keyboards/cannonkeys/brutalv2_60/keymaps/via/rules.mk b/keyboards/cannonkeys/brutalv2_60/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/cannonkeys/brutalv2_60/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/cannonkeys/brutalv2_60/readme.md b/keyboards/cannonkeys/brutalv2_60/readme.md new file mode 100644 index 00000000000..8c08e3a30aa --- /dev/null +++ b/keyboards/cannonkeys/brutalv2_60/readme.md @@ -0,0 +1,24 @@ +# Brutal v2 60 + +Brutal v2 60 Keyboard + +Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan) +Hardware Supported: RP2040 + +Make example for this keyboard (after setting up your build environment): + + make cannonkeys/brutalv2_60:default + +Flashing example for this keyboard: + + make cannonkeys/brutalv2_60: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**: Hold the "BOOTMODE" button on the back of the PCB and briefly press the "RESET" 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/cannonkeys/brutalv2_60/rules.mk b/keyboards/cannonkeys/brutalv2_60/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/cannonkeys/brutalv2_60/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From c23d873e1a83f0c889ecb4863ec7bef5f89ee148 Mon Sep 17 00:00:00 2001 From: Brian Low Date: Sat, 30 Sep 2023 12:15:47 -0600 Subject: [PATCH 135/144] keyboards: Add support for Sofle Choc (#16736) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-developed-by: Brian Low Co-developed-by: duese Co-authored-by: Thomas Weißschuh --- keyboards/sofle_choc/info.json | 176 ++++++++++++++++++ keyboards/sofle_choc/keymaps/default/config.h | 29 +++ keyboards/sofle_choc/keymaps/default/keymap.c | 48 +++++ keyboards/sofle_choc/keymaps/default/rules.mk | 1 + keyboards/sofle_choc/keymaps/via/config.h | 29 +++ keyboards/sofle_choc/keymaps/via/keymap.c | 48 +++++ keyboards/sofle_choc/keymaps/via/rules.mk | 2 + keyboards/sofle_choc/readme.md | 25 +++ keyboards/sofle_choc/rules.mk | 0 keyboards/sofle_choc/sofle_choc.c | 48 +++++ 10 files changed, 406 insertions(+) create mode 100644 keyboards/sofle_choc/info.json create mode 100644 keyboards/sofle_choc/keymaps/default/config.h create mode 100644 keyboards/sofle_choc/keymaps/default/keymap.c create mode 100644 keyboards/sofle_choc/keymaps/default/rules.mk create mode 100644 keyboards/sofle_choc/keymaps/via/config.h create mode 100644 keyboards/sofle_choc/keymaps/via/keymap.c create mode 100644 keyboards/sofle_choc/keymaps/via/rules.mk create mode 100644 keyboards/sofle_choc/readme.md create mode 100644 keyboards/sofle_choc/rules.mk create mode 100644 keyboards/sofle_choc/sofle_choc.c diff --git a/keyboards/sofle_choc/info.json b/keyboards/sofle_choc/info.json new file mode 100644 index 00000000000..172f60256eb --- /dev/null +++ b/keyboards/sofle_choc/info.json @@ -0,0 +1,176 @@ +{ + "manufacturer": "Brian Low", + "keyboard_name": "Sofle Choc", + "maintainer": "Brian Low ", + "build": { + "lto": true + }, + "diode_direction": "COL2ROW", + "encoder": { + "enabled": true, + "rotary": [ + { "pin_a": "F5", "pin_b": "F4" } + ] + }, + "features": { + "oled": true, + "rgb_matrix": true, + "extrakey": true + }, + "development_board": "promicro", + "rgb_matrix": { + "driver": "ws2812", + "split_count": [29, 29], + "layout": [ + { "flags": 4, "matrix": [0, 5], "x": 95, "y": 7 }, + { "flags": 4, "matrix": [1, 5], "x": 95, "y": 21 }, + { "flags": 4, "matrix": [2, 5], "x": 95, "y": 36 }, + { "flags": 4, "matrix": [3, 5], "x": 95, "y": 50 }, + { "flags": 4, "matrix": [4, 4], "x":115, "y": 64 }, + { "flags": 4, "matrix": [4, 3], "x": 95, "y": 64 }, + { "flags": 4, "matrix": [4, 2], "x": 76, "y": 62 }, + { "flags": 4, "matrix": [3, 4], "x": 76, "y": 48 }, + { "flags": 4, "matrix": [2, 4], "x": 76, "y": 33 }, + { "flags": 4, "matrix": [1, 4], "x": 76, "y": 19 }, + { "flags": 4, "matrix": [0, 4], "x": 76, "y": 5 }, + { "flags": 4, "matrix": [0, 3], "x": 57, "y": 3 }, + { "flags": 4, "matrix": [1, 3], "x": 57, "y": 17 }, + { "flags": 4, "matrix": [2, 3], "x": 57, "y": 31 }, + { "flags": 4, "matrix": [3, 3], "x": 57, "y": 46 }, + { "flags": 4, "matrix": [4, 1], "x": 57, "y": 62 }, + { "flags": 4, "matrix": [4, 0], "x": 38, "y": 64 }, + { "flags": 4, "matrix": [3, 2], "x": 38, "y": 48 }, + { "flags": 4, "matrix": [2, 2], "x": 38, "y": 33 }, + { "flags": 4, "matrix": [1, 2], "x": 38, "y": 19 }, + { "flags": 4, "matrix": [0, 2], "x": 38, "y": 5 }, + { "flags": 4, "matrix": [0, 1], "x": 19, "y": 7 }, + { "flags": 4, "matrix": [1, 1], "x": 19, "y": 21 }, + { "flags": 4, "matrix": [2, 1], "x": 19, "y": 36 }, + { "flags": 4, "matrix": [3, 1], "x": 19, "y": 50 }, + { "flags": 4, "matrix": [3, 0], "x": 0, "y": 50 }, + { "flags": 4, "matrix": [2, 0], "x": 0, "y": 36 }, + { "flags": 4, "matrix": [1, 0], "x": 0, "y": 21 }, + { "flags": 4, "matrix": [0, 0], "x": 0, "y": 7 }, + + { "flags": 4, "matrix": [5, 5], "x":129, "y": 7 }, + { "flags": 4, "matrix": [6, 5], "x":129, "y": 21 }, + { "flags": 4, "matrix": [7, 5], "x":129, "y": 36 }, + { "flags": 4, "matrix": [8, 5], "x":129, "y": 50 }, + { "flags": 4, "matrix": [9, 4], "x":119, "y": 64 }, + { "flags": 4, "matrix": [9, 3], "x":129, "y": 64 }, + { "flags": 4, "matrix": [9, 2], "x":148, "y": 62 }, + { "flags": 4, "matrix": [8, 4], "x":148, "y": 48 }, + { "flags": 4, "matrix": [7, 4], "x":148, "y": 33 }, + { "flags": 4, "matrix": [6, 4], "x":148, "y": 19 }, + { "flags": 4, "matrix": [5, 4], "x":148, "y": 5 }, + { "flags": 4, "matrix": [5, 3], "x":167, "y": 3 }, + { "flags": 4, "matrix": [6, 3], "x":167, "y": 17 }, + { "flags": 4, "matrix": [7, 3], "x":167, "y": 31 }, + { "flags": 4, "matrix": [8, 3], "x":167, "y": 46 }, + { "flags": 4, "matrix": [9, 1], "x":167, "y": 62 }, + { "flags": 4, "matrix": [9, 0], "x":186, "y": 64 }, + { "flags": 4, "matrix": [8, 2], "x":186, "y": 48 }, + { "flags": 4, "matrix": [7, 2], "x":186, "y": 33 }, + { "flags": 4, "matrix": [6, 2], "x":186, "y": 19 }, + { "flags": 4, "matrix": [5, 2], "x":186, "y": 5 }, + { "flags": 4, "matrix": [5, 1], "x":209, "y": 7 }, + { "flags": 4, "matrix": [6, 1], "x":209, "y": 21 }, + { "flags": 4, "matrix": [7, 1], "x":209, "y": 36 }, + { "flags": 4, "matrix": [8, 1], "x":209, "y": 50 }, + { "flags": 4, "matrix": [8, 0], "x":224, "y": 50 }, + { "flags": 4, "matrix": [7, 0], "x":224, "y": 36 }, + { "flags": 4, "matrix": [6, 0], "x":224, "y": 21 }, + { "flags": 4, "matrix": [5, 0], "x":224, "y": 7 } + ] + }, + "split": { + "enabled": true, + "soft_serial_pin": "D2", + "encoder": { + "right": { + "rotary": [ + { "pin_a": "F4", "pin_b": "F5" } + ] + } + } + }, + "url": "https://github.com/josefadamcik/SofleKeyboard", + "usb": { + "device_version": "0.0.1", + "pid": "0x0287", + "vid": "0xFC32" + }, + "ws2812": { + "pin": "D3" + }, + "matrix_pins": { + "cols": ["F6", "F7", "B1", "B3", "B2", "B6"], + "rows": ["C6", "D7", "E6", "B4", "B5"] + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.5}, + {"matrix": [0, 1], "x": 1, "y": 0.375}, + {"matrix": [0, 2], "x": 2, "y": 0.125}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0.125}, + {"matrix": [0, 5], "x": 5, "y": 0.25}, + {"matrix": [5, 5], "x": 10.5, "y": 0.25}, + {"matrix": [5, 4], "x": 11.5, "y": 0.125}, + {"matrix": [5, 3], "x": 12.5, "y": 0}, + {"matrix": [5, 2], "x": 13.5, "y": 0.125}, + {"matrix": [5, 1], "x": 14.5, "y": 0.375}, + {"matrix": [5, 0], "x": 15.5, "y": 0.5}, + {"matrix": [1, 0], "x": 0, "y": 1.5}, + {"matrix": [1, 1], "x": 1, "y": 1.375}, + {"matrix": [1, 2], "x": 2, "y": 1.125}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1.125}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [6, 5], "x": 10.5, "y": 1.25}, + {"matrix": [6, 4], "x": 11.5, "y": 1.125}, + {"matrix": [6, 3], "x": 12.5, "y": 1}, + {"matrix": [6, 2], "x": 13.5, "y": 1.125}, + {"matrix": [6, 1], "x": 14.5, "y": 1.375}, + {"matrix": [6, 0], "x": 15.5, "y": 1.5}, + {"matrix": [2, 0], "x": 0, "y": 2.5}, + {"matrix": [2, 1], "x": 1, "y": 2.375}, + {"matrix": [2, 2], "x": 2, "y": 2.125}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2.125}, + {"matrix": [2, 5], "x": 5, "y": 2.25}, + {"matrix": [7, 5], "x": 10.5, "y": 2.25}, + {"matrix": [7, 4], "x": 11.5, "y": 2.125}, + {"matrix": [7, 3], "x": 12.5, "y": 2}, + {"matrix": [7, 2], "x": 13.5, "y": 2.125}, + {"matrix": [7, 1], "x": 14.5, "y": 2.375}, + {"matrix": [7, 0], "x": 15.5, "y": 2.5}, + {"matrix": [3, 0], "x": 0, "y": 3.5}, + {"matrix": [3, 1], "x": 1, "y": 3.375}, + {"matrix": [3, 2], "x": 2, "y": 3.125}, + {"matrix": [3, 3], "x": 3, "y": 3}, + {"matrix": [3, 4], "x": 4, "y": 3.125}, + {"matrix": [3, 5], "x": 5, "y": 3.25}, + {"matrix": [4, 5], "x": 6, "y": 2.75}, + {"matrix": [9, 5], "x": 9.5, "y": 2.75}, + {"matrix": [8, 5], "x": 10.5, "y": 3.25}, + {"matrix": [8, 4], "x": 11.5, "y": 3.125}, + {"matrix": [8, 3], "x": 12.5, "y": 3}, + {"matrix": [8, 2], "x": 13.5, "y": 3.125}, + {"matrix": [8, 1], "x": 14.5, "y": 3.375}, + {"matrix": [8, 0], "x": 15.5, "y": 3.5}, + {"matrix": [4, 0], "x": 1.5, "y": 4.375}, + {"matrix": [4, 1], "x": 2.5, "y": 4.125}, + {"matrix": [4, 2], "x": 3.5, "y": 4.15}, + {"matrix": [4, 3], "x": 4.5, "y": 4.25}, + {"matrix": [4, 4], "x": 6, "y": 4.25, "h": 1.5}, + {"matrix": [9, 4], "x": 9.5, "y": 4.25, "h": 1.5}, + {"matrix": [9, 3], "x": 11, "y": 4.25}, + {"matrix": [9, 2], "x": 12, "y": 4.15}, + {"matrix": [9, 1], "x": 13, "y": 4.125}, + {"matrix": [9, 0], "x": 14, "y": 4.375} + ] + } + } +} diff --git a/keyboards/sofle_choc/keymaps/default/config.h b/keyboards/sofle_choc/keymaps/default/config.h new file mode 100644 index 00000000000..93f173e84de --- /dev/null +++ b/keyboards/sofle_choc/keymaps/default/config.h @@ -0,0 +1,29 @@ +/* Copyright 2023 Brian Low + * + * 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 + +// Enabling this option changes the startup behavior to listen for an +// active USB communication to delegate which part is master and which +// is slave. With this option enabled and theres’s USB communication, +// then that half assumes it is the master, otherwise it assumes it +// is the slave. +// +// I've found this helps with some ProMicros where the slave does not boot +#define SPLIT_USB_DETECT + +#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define SPLIT_TRANSPORT_MIRROR // If LED_MATRIX_KEYPRESSES or LED_MATRIX_KEYRELEASES is enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 100 // limits maximum brightness of LEDs (max 255). Higher may cause the controller to crash. diff --git a/keyboards/sofle_choc/keymaps/default/keymap.c b/keyboards/sofle_choc/keymaps/default/keymap.c new file mode 100644 index 00000000000..3850466f177 --- /dev/null +++ b/keyboards/sofle_choc/keymaps/default/keymap.c @@ -0,0 +1,48 @@ +/* Copyright 2023 Brian Low + * + * 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] = { +/* + * QWERTY + * ,-----------------------------------------. ,-----------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | ESC | Q | W | E | R | T | | Y | U | I | O | P | Bspc | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Tab | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' | + * |------+------+------+------+------+------| Mute | | Pause |------+------+------+------+------+------| + * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift| + * `-----------------------------------------/ / \ \-----------------------------------------' + * | LCTL | LGUI | LCMD | LALT | /Enter / \Space \ | RALT | RCMD | RGUI | RCTL | + * | | | | |/ / \ \ | | | | | + * `----------------------------------' '------''---------------------------' + */ + +LAYOUT( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MPLY,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LCMD, KC_LALT, KC_ENT, KC_SPC, KC_RALT, KC_RCMD, KC_RGUI, KC_RCTL +) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) }, +}; +#endif diff --git a/keyboards/sofle_choc/keymaps/default/rules.mk b/keyboards/sofle_choc/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/sofle_choc/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/sofle_choc/keymaps/via/config.h b/keyboards/sofle_choc/keymaps/via/config.h new file mode 100644 index 00000000000..93f173e84de --- /dev/null +++ b/keyboards/sofle_choc/keymaps/via/config.h @@ -0,0 +1,29 @@ +/* Copyright 2023 Brian Low + * + * 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 + +// Enabling this option changes the startup behavior to listen for an +// active USB communication to delegate which part is master and which +// is slave. With this option enabled and theres’s USB communication, +// then that half assumes it is the master, otherwise it assumes it +// is the slave. +// +// I've found this helps with some ProMicros where the slave does not boot +#define SPLIT_USB_DETECT + +#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +#define SPLIT_TRANSPORT_MIRROR // If LED_MATRIX_KEYPRESSES or LED_MATRIX_KEYRELEASES is enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR +#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 100 // limits maximum brightness of LEDs (max 255). Higher may cause the controller to crash. diff --git a/keyboards/sofle_choc/keymaps/via/keymap.c b/keyboards/sofle_choc/keymaps/via/keymap.c new file mode 100644 index 00000000000..3850466f177 --- /dev/null +++ b/keyboards/sofle_choc/keymaps/via/keymap.c @@ -0,0 +1,48 @@ +/* Copyright 2023 Brian Low + * + * 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] = { +/* + * QWERTY + * ,-----------------------------------------. ,-----------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | ESC | Q | W | E | R | T | | Y | U | I | O | P | Bspc | + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Tab | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' | + * |------+------+------+------+------+------| Mute | | Pause |------+------+------+------+------+------| + * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift| + * `-----------------------------------------/ / \ \-----------------------------------------' + * | LCTL | LGUI | LCMD | LALT | /Enter / \Space \ | RALT | RCMD | RGUI | RCTL | + * | | | | |/ / \ \ | | | | | + * `----------------------------------' '------''---------------------------' + */ + +LAYOUT( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MPLY,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LCMD, KC_LALT, KC_ENT, KC_SPC, KC_RALT, KC_RCMD, KC_RGUI, KC_RCTL +) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) }, +}; +#endif diff --git a/keyboards/sofle_choc/keymaps/via/rules.mk b/keyboards/sofle_choc/keymaps/via/rules.mk new file mode 100644 index 00000000000..715838ecc5d --- /dev/null +++ b/keyboards/sofle_choc/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +ENCODER_MAP_ENABLE = yes +VIA_ENABLE = yes diff --git a/keyboards/sofle_choc/readme.md b/keyboards/sofle_choc/readme.md new file mode 100644 index 00000000000..5b8f47ec5a6 --- /dev/null +++ b/keyboards/sofle_choc/readme.md @@ -0,0 +1,25 @@ +# Sofle Choc Keyboard + +![Sofle Choc Photo](https://i.imgur.com/MhSEAZYh.jpg) + +The Sofle Choc is 6×4+5 keys column-staggered split keyboard. Based on Lily58, Corne and Helix keyboards. The Sofle Choc variant uses low profile Kailh choc switches, hotswap sockets, per-key RGB using the easier to solder SK6812 Mini-E, and is fairly thin at 15mm from desktop to top of keycaps. + +More details about the keyboard and build guide: [Sofle Choc Build GUide](https://josefadamcik.github.io/SofleKeyboard/build_guide_choc.html) + +* Keyboard Maintainer: [Brian Low](https://github.com/brianlow/) +* Hardware Supported: Sofle Choc PCB 2.x, ProMicro +* Hardware Availability: [PCB & Case Data](https://github.com/josefadamcik/SofleKeyboard) + +Make example for this keyboard (after setting up your build environment): + + make sofle_choc:default + +Flashing example for this keyboard: + + make sofle_choc:default:flash + +Press reset button twice on the keyboard when asked. + +Disconnect the first half, connect the second one and repeat the process. + +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/sofle_choc/rules.mk b/keyboards/sofle_choc/rules.mk new file mode 100644 index 00000000000..e69de29bb2d diff --git a/keyboards/sofle_choc/sofle_choc.c b/keyboards/sofle_choc/sofle_choc.c new file mode 100644 index 00000000000..64385907b9b --- /dev/null +++ b/keyboards/sofle_choc/sofle_choc.c @@ -0,0 +1,48 @@ +/* Copyright 2022 Brian Low + * + * 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 "quantum.h" + +#ifdef OLED_ENABLE + +static void render_logo(void) { + static const char PROGMEM qmk_logo[] = { + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, + 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, + 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 + }; + + oled_write_P(qmk_logo, false); +} + +oled_rotation_t oled_init_kb(oled_rotation_t rotation) { + if (is_keyboard_master()) { + return OLED_ROTATION_180; + } + return rotation; +} + +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + + render_logo(); + + return false; +} + +#endif From 8813bdf5ddfc9fdcbcaf7d4bddb44f7673dbfe9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=83=95=E3=82=A3=E3=83=AB=E3=82=BF=E3=83=BC=E3=83=9A?= =?UTF-8?q?=E3=83=BC=E3=83=91=E3=83=BC?= <76888457+filterpaper@users.noreply.github.com> Date: Sun, 1 Oct 2023 13:33:57 +0800 Subject: [PATCH 136/144] Remove rosetta instructions for Apple Silicon (#22174) --- docs/newbs_getting_started.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/docs/newbs_getting_started.md b/docs/newbs_getting_started.md index a16207f267b..68e37679b80 100644 --- a/docs/newbs_getting_started.md +++ b/docs/newbs_getting_started.md @@ -56,7 +56,7 @@ QMK maintains a Homebrew tap and formula which will automatically install the CL You will need to install Homebrew. Follow the instructions on https://brew.sh. -!> **NOTE:** If you are using Apple Silicon, such as the M1, you will need to install a rosetta compatible version of Homebrew. This version does not override the base Homebrew. This can be done by running `arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"`. See here: [Rosetta-compatible Homebrew](https://stackoverflow.com/questions/64882584/how-to-run-the-homebrew-installer-under-rosetta-2-on-m1-macbook) +?> If you are using an Apple Silicon machine, the installation process will take significantly longer because GitHub actions do not have native runners to build binary packages for the ARM and AVR toolchains. #### Installation @@ -64,10 +64,6 @@ Install the QMK CLI by running: brew install qmk/qmk/qmk -Install the QMK CLI on an Apple Silicon Mac by running: - - arch -x86_64 brew install qmk/qmk/qmk - ### ** Linux/WSL ** ?> **Note for WSL users**: By default, the installation process will clone the QMK repository into your WSL home directory, but if you have cloned manually, ensure that it is located inside the WSL instance instead of the Windows filesystem (ie. not in `/mnt`), as accessing it is currently [extremely slow](https://github.com/microsoft/WSL/issues/4197). From 1b7a538353347e564edce2c78a7b155a50ac3c4b Mon Sep 17 00:00:00 2001 From: casuanoob <96005765+casuanoob@users.noreply.github.com> Date: Mon, 2 Oct 2023 04:55:54 +1100 Subject: [PATCH 137/144] Bastard Keyboards: Add support for Dilemma Max (4x6_4) (#22064) * tentatively add dilemma 4x6_4 WIP untested PR by Casuanoob. Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- keyboards/bastardkb/dilemma/4x6_4/4x6_4.c | 59 ++++ keyboards/bastardkb/dilemma/4x6_4/config.h | 62 ++++ keyboards/bastardkb/dilemma/4x6_4/halconf.h | 22 ++ keyboards/bastardkb/dilemma/4x6_4/info.json | 265 ++++++++++++++++++ .../dilemma/4x6_4/keymaps/default/keymap.c | 73 +++++ .../dilemma/4x6_4/keymaps/default/readme.md | 2 + .../dilemma/4x6_4/keymaps/via/config.h | 20 ++ .../dilemma/4x6_4/keymaps/via/keymap.c | 132 +++++++++ .../dilemma/4x6_4/keymaps/via/readme.md | 47 ++++ .../dilemma/4x6_4/keymaps/via/rules.mk | 2 + keyboards/bastardkb/dilemma/4x6_4/mcuconf.h | 23 ++ keyboards/bastardkb/dilemma/4x6_4/readme.md | 5 + keyboards/bastardkb/dilemma/4x6_4/rules.mk | 6 + keyboards/bastardkb/dilemma/readme.md | 15 +- 14 files changed, 728 insertions(+), 5 deletions(-) create mode 100644 keyboards/bastardkb/dilemma/4x6_4/4x6_4.c create mode 100644 keyboards/bastardkb/dilemma/4x6_4/config.h create mode 100644 keyboards/bastardkb/dilemma/4x6_4/halconf.h create mode 100644 keyboards/bastardkb/dilemma/4x6_4/info.json create mode 100644 keyboards/bastardkb/dilemma/4x6_4/keymaps/default/keymap.c create mode 100644 keyboards/bastardkb/dilemma/4x6_4/keymaps/default/readme.md create mode 100644 keyboards/bastardkb/dilemma/4x6_4/keymaps/via/config.h create mode 100644 keyboards/bastardkb/dilemma/4x6_4/keymaps/via/keymap.c create mode 100644 keyboards/bastardkb/dilemma/4x6_4/keymaps/via/readme.md create mode 100644 keyboards/bastardkb/dilemma/4x6_4/keymaps/via/rules.mk create mode 100644 keyboards/bastardkb/dilemma/4x6_4/mcuconf.h create mode 100644 keyboards/bastardkb/dilemma/4x6_4/readme.md create mode 100644 keyboards/bastardkb/dilemma/4x6_4/rules.mk diff --git a/keyboards/bastardkb/dilemma/4x6_4/4x6_4.c b/keyboards/bastardkb/dilemma/4x6_4/4x6_4.c new file mode 100644 index 00000000000..c80ccbc8eb8 --- /dev/null +++ b/keyboards/bastardkb/dilemma/4x6_4/4x6_4.c @@ -0,0 +1,59 @@ +/** + * Copyright 2020 Christopher Courtney (@drashna) + * Copyright 2021 Quentin LEBASTARD + * Copyright 2022 Charly Delay (@0xcharly) + * Copyright 2023 casuanoob (@casuanoob) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Publicw 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 "quantum.h" + +#ifdef SWAP_HANDS_ENABLE +const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { + /* Left hand, matrix positions */ + {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}}, + {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}}, + {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}}, + {{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}}, + {{0, 9}, {1, 9}, {2, 9}, {3, 9}, {4, 9}, {5, 9}}, + /* Right hand, matrix positions */ + {{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}}, + {{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}}, + {{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}}, + {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}}, + {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}} +}; + +# ifdef ENCODER_MAP_ENABLE +const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {1, 0}; +# endif +#endif + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { + return false; + } + switch (index) { + case 0: // Left-half encoder, mouse scroll. + tap_code(clockwise ? KC_MS_WH_DOWN : KC_MS_WH_UP); + break; + case 1: // Right-half encoder, volume control. + tap_code(clockwise ? KC_AUDIO_VOL_UP : KC_AUDIO_VOL_DOWN); + break; + } + return true; +} +#endif // ENCODER_ENABLE diff --git a/keyboards/bastardkb/dilemma/4x6_4/config.h b/keyboards/bastardkb/dilemma/4x6_4/config.h new file mode 100644 index 00000000000..a8240177505 --- /dev/null +++ b/keyboards/bastardkb/dilemma/4x6_4/config.h @@ -0,0 +1,62 @@ +/** + * Copyright 2022 Charly Delay (@0xcharly) + * Copyright 2023 casuanoob (@casuanoob) + * + * 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 + +/* Handedness. */ +#define SPLIT_HAND_PIN GP29 +#define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left. + +/* VBUS detection. */ +#define USB_VBUS_PIN GP19 + +/* CRC. */ +#define CRC8_USE_TABLE +#define CRC8_OPTIMIZE_SPEED + +/* Cirque trackpad over SPI. */ +#define SPI_DRIVER SPID0 +#define SPI_SCK_PIN GP22 +#define SPI_MOSI_PIN GP23 +#define SPI_MISO_PIN GP20 +#define POINTING_DEVICE_CS_PIN GP21 +#undef CIRQUE_PINNACLE_DIAMETER_MM +#define CIRQUE_PINNACLE_DIAMETER_MM 40 + +/* Reset. */ +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17 +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U + +/* RGB matrix support. */ +#define SPLIT_TRANSPORT_MIRROR +#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS + +// Startup values. +#define RGB_MATRIX_DEFAULT_HUE 0 +#define RGB_MATRIX_DEFAULT_SAT 255 +#define RGB_MATRIX_DEFAULT_VAL 64 + +// Rainbow swirl as startup mode. +#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT + +// Slow swirl at startup. +#define RGB_MATRIX_DEFAULT_SPD 32 diff --git a/keyboards/bastardkb/dilemma/4x6_4/halconf.h b/keyboards/bastardkb/dilemma/4x6_4/halconf.h new file mode 100644 index 00000000000..57d15376d63 --- /dev/null +++ b/keyboards/bastardkb/dilemma/4x6_4/halconf.h @@ -0,0 +1,22 @@ +/** + * Copyright 2022 Charly Delay (@0xcharly) + * + * 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_SPI TRUE + +#include_next diff --git a/keyboards/bastardkb/dilemma/4x6_4/info.json b/keyboards/bastardkb/dilemma/4x6_4/info.json new file mode 100644 index 00000000000..7b3aaf55673 --- /dev/null +++ b/keyboards/bastardkb/dilemma/4x6_4/info.json @@ -0,0 +1,265 @@ +{ + "keyboard_name": "Dilemma Max", + "usb": { + "device_version": "1.0.0", + "pid": "0x1837" + }, + "processor": "RP2040", + "bootloader": "rp2040", + "board": "GENERIC_RP_RP2040", + "matrix_pins": { + "cols": ["GP14", "GP8", "GP9", "GP7", "GP6", "GP28"], + "rows": ["GP15", "GP4", "GP5", "GP27", "GP26"] + }, + "diode_direction": "ROW2COL", + "split": { + "enabled": true, + "soft_serial_pin": "GP1", + "bootmagic": { + "matrix": [5, 0] + } + }, + "encoder": { + "enabled" : true, + "rotary" : [ + {"pin_a": "GP25", "pin_b": "GP24"} + ] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true, + "caps_word": true + }, + "ws2812": { + "pin": "GP10", + "driver": "vendor" + }, + "rgb_matrix": { + "driver": "ws2812", + "split_count": [52, 52], + "max_brightness": 176, + "center_point": [112, 28], + "animations": { + "solid_color": true, + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "rainbow_moving_chevron": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "pixel_fractal": true, + "pixel_flow": true, + "pixel_rain": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_wide": true, + "solid_reactive_multiwide": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_nexus": true, + "solid_reactive_multinexus": true, + "splash": true, + "multisplash": true, + "solid_splash": true, + "solid_multisplash": true + }, + "layout": [ + {"x": 81, "y": 4, "flags": 2}, + {"x": 65, "y": 2, "flags": 2}, + {"x": 40, "y": 0, "flags": 2}, + {"x": 29, "y": 9, "flags": 2}, + {"x": 16, "y": 9, "flags": 2}, + {"x": 0, "y": 16, "flags": 2}, + {"x": 0, "y": 29, "flags": 2}, + {"x": 0, "y": 40, "flags": 2}, + {"x": 5, "y": 50, "flags": 2}, + {"x": 17, "y": 49, "flags": 2}, + {"x": 28, "y": 44, "flags": 2}, + {"x": 40, "y": 43, "flags": 2}, + {"x": 49, "y": 51, "flags": 2}, + {"x": 62, "y": 53, "flags": 2}, + {"x": 73, "y": 56, "flags": 2}, + {"x": 85, "y": 59, "flags": 2}, + {"x": 100, "y": 64, "flags": 2}, + {"x": 106, "y": 55, "flags": 2}, + {"x": 107, "y": 45, "flags": 2}, + {"x": 91, "y": 51, "flags": 2}, + {"x": 94, "y": 40, "flags": 2}, + {"x": 108, "y": 33, "flags": 2}, + {"x": 106, "y": 25, "flags": 2}, + {"x": 108, "y": 16, "flags": 2}, + + {"matrix": [0, 5], "x": 75, "y": 10, "flags": 4}, + {"matrix": [0, 4], "x": 62, "y": 9, "flags": 4}, + {"matrix": [0, 3], "x": 49, "y": 6, "flags": 4}, + {"matrix": [0, 2], "x": 35, "y": 10, "flags": 4}, + {"matrix": [0, 1], "x": 22, "y": 16, "flags": 4}, + {"matrix": [0, 0], "x": 9, "y": 16, "flags": 1}, + {"matrix": [1, 0], "x": 9, "y": 27, "flags": 1}, + {"matrix": [1, 1], "x": 22, "y": 27, "flags": 4}, + {"matrix": [1, 2], "x": 35, "y": 20, "flags": 4}, + {"matrix": [1, 3], "x": 49, "y": 17, "flags": 4}, + {"matrix": [1, 4], "x": 62, "y": 19, "flags": 4}, + {"matrix": [1, 5], "x": 75, "y": 21, "flags": 4}, + {"matrix": [2, 5], "x": 75, "y": 31, "flags": 4}, + {"matrix": [2, 4], "x": 62, "y": 30, "flags": 4}, + {"matrix": [2, 3], "x": 49, "y": 27, "flags": 4}, + {"matrix": [2, 2], "x": 35, "y": 31, "flags": 4}, + {"matrix": [2, 1], "x": 22, "y": 37, "flags": 4}, + {"matrix": [2, 0], "x": 9, "y": 37, "flags": 1}, + {"matrix": [3, 0], "x": 9, "y": 48, "flags": 1}, + {"matrix": [3, 1], "x": 22, "y": 48, "flags": 4}, + {"matrix": [3, 2], "x": 35, "y": 41, "flags": 4}, + {"matrix": [3, 3], "x": 49, "y": 38, "flags": 4}, + {"matrix": [3, 4], "x": 62, "y": 40, "flags": 4}, + {"matrix": [3, 5], "x": 75, "y": 42, "flags": 4}, + {"matrix": [4, 3], "x": 54, "y": 51, "flags": 4}, + {"matrix": [4, 1], "x": 68, "y": 53, "flags": 4}, + {"matrix": [4, 2], "x": 81, "y": 57, "flags": 4}, + {"matrix": [4, 4], "x": 92, "y": 64, "flags": 4}, + + {"x": 143, "y": 4, "flags": 2}, + {"x": 159, "y": 2, "flags": 2}, + {"x": 184, "y": 0, "flags": 2}, + {"x": 195, "y": 9, "flags": 2}, + {"x": 208, "y": 9, "flags": 2}, + {"x": 224, "y": 16, "flags": 2}, + {"x": 224, "y": 29, "flags": 2}, + {"x": 224, "y": 40, "flags": 2}, + {"x": 219, "y": 50, "flags": 2}, + {"x": 207, "y": 49, "flags": 2}, + {"x": 196, "y": 44, "flags": 2}, + {"x": 184, "y": 43, "flags": 2}, + {"x": 176, "y": 51, "flags": 2}, + {"x": 162, "y": 53, "flags": 2}, + {"x": 151, "y": 56, "flags": 2}, + {"x": 139, "y": 59, "flags": 2}, + {"x": 124, "y": 64, "flags": 2}, + {"x": 118, "y": 55, "flags": 2}, + {"x": 117, "y": 45, "flags": 2}, + {"x": 133, "y": 51, "flags": 2}, + {"x": 130, "y": 40, "flags": 2}, + {"x": 116, "y": 33, "flags": 2}, + {"x": 118, "y": 25, "flags": 2}, + {"x": 116, "y": 16, "flags": 2}, + + {"matrix": [5, 5], "x": 149, "y": 10, "flags": 4}, + {"matrix": [5, 4], "x": 162, "y": 9, "flags": 4}, + {"matrix": [5, 3], "x": 175, "y": 6, "flags": 4}, + {"matrix": [5, 2], "x": 189, "y": 10, "flags": 4}, + {"matrix": [5, 1], "x": 202, "y": 16, "flags": 4}, + {"matrix": [5, 0], "x": 215, "y": 16, "flags": 1}, + {"matrix": [6, 0], "x": 215, "y": 27, "flags": 1}, + {"matrix": [6, 1], "x": 202, "y": 27, "flags": 4}, + {"matrix": [6, 2], "x": 189, "y": 20, "flags": 4}, + {"matrix": [6, 3], "x": 175, "y": 17, "flags": 4}, + {"matrix": [6, 4], "x": 162, "y": 19, "flags": 4}, + {"matrix": [6, 5], "x": 149, "y": 21, "flags": 4}, + {"matrix": [7, 5], "x": 149, "y": 31, "flags": 4}, + {"matrix": [7, 4], "x": 162, "y": 30, "flags": 4}, + {"matrix": [7, 3], "x": 175, "y": 27, "flags": 4}, + {"matrix": [7, 2], "x": 189, "y": 31, "flags": 4}, + {"matrix": [7, 1], "x": 202, "y": 37, "flags": 4}, + {"matrix": [7, 0], "x": 215, "y": 37, "flags": 1}, + {"matrix": [8, 0], "x": 215, "y": 48, "flags": 1}, + {"matrix": [8, 1], "x": 202, "y": 48, "flags": 4}, + {"matrix": [8, 2], "x": 189, "y": 41, "flags": 4}, + {"matrix": [8, 3], "x": 175, "y": 38, "flags": 4}, + {"matrix": [8, 4], "x": 162, "y": 40, "flags": 4}, + {"matrix": [8, 5], "x": 149, "y": 42, "flags": 4}, + {"matrix": [9, 4], "x": 170, "y": 51, "flags": 4}, + {"matrix": [9, 2], "x": 156, "y": 53, "flags": 4}, + {"matrix": [9, 1], "x": 143, "y": 57, "flags": 4}, + {"matrix": [9, 3], "x": 132, "y": 64, "flags": 4} + ] + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label":"L00", "matrix": [0, 0], "x":0, "y":0}, + {"label":"L01", "matrix": [0, 1], "x":1, "y":0}, + {"label":"L02", "matrix": [0, 2], "x":2, "y":0}, + {"label":"L03", "matrix": [0, 3], "x":3, "y":0}, + {"label":"L04", "matrix": [0, 4], "x":4, "y":0}, + {"label":"L05", "matrix": [0, 5], "x":5, "y":0}, + {"label":"R05", "matrix": [5, 5], "x":8, "y":0}, + {"label":"R04", "matrix": [5, 4], "x":9, "y":0}, + {"label":"R03", "matrix": [5, 3], "x":10, "y":0}, + {"label":"R02", "matrix": [5, 2], "x":11, "y":0}, + {"label":"R01", "matrix": [5, 1], "x":12, "y":0}, + {"label":"R00", "matrix": [5, 0], "x":13, "y":0}, + {"label":"L10", "matrix": [1, 0], "x":0, "y":1}, + {"label":"L11", "matrix": [1, 1], "x":1, "y":1}, + {"label":"L12", "matrix": [1, 2], "x":2, "y":1}, + {"label":"L13", "matrix": [1, 3], "x":3, "y":1}, + {"label":"L14", "matrix": [1, 4], "x":4, "y":1}, + {"label":"L15", "matrix": [1, 5], "x":5, "y":1}, + {"label":"R15", "matrix": [6, 5], "x":8, "y":1}, + {"label":"R14", "matrix": [6, 4], "x":9, "y":1}, + {"label":"R13", "matrix": [6, 3], "x":10, "y":1}, + {"label":"R12", "matrix": [6, 2], "x":11, "y":1}, + {"label":"R11", "matrix": [6, 1], "x":12, "y":1}, + {"label":"R10", "matrix": [6, 0], "x":13, "y":1}, + {"label":"L20", "matrix": [2, 0], "x":0, "y":2}, + {"label":"L21", "matrix": [2, 1], "x":1, "y":2}, + {"label":"L22", "matrix": [2, 2], "x":2, "y":2}, + {"label":"L23", "matrix": [2, 3], "x":3, "y":2}, + {"label":"L24", "matrix": [2, 4], "x":4, "y":2}, + {"label":"L25", "matrix": [2, 5], "x":5, "y":2}, + {"label":"R25", "matrix": [7, 5], "x":8, "y":2}, + {"label":"R24", "matrix": [7, 4], "x":9, "y":2}, + {"label":"R23", "matrix": [7, 3], "x":10, "y":2}, + {"label":"R22", "matrix": [7, 2], "x":11, "y":2}, + {"label":"R21", "matrix": [7, 1], "x":12, "y":2}, + {"label":"R20", "matrix": [7, 0], "x":13, "y":2}, + {"label":"L30", "matrix": [3, 0], "x":0, "y":3}, + {"label":"L31", "matrix": [3, 1], "x":1, "y":3}, + {"label":"L32", "matrix": [3, 2], "x":2, "y":3}, + {"label":"L33", "matrix": [3, 3], "x":3, "y":3}, + {"label":"L34", "matrix": [3, 4], "x":4, "y":3}, + {"label":"L35", "matrix": [3, 5], "x":5, "y":3}, + {"label":"R35", "matrix": [8, 5], "x":8, "y":3}, + {"label":"R34", "matrix": [8, 4], "x":9, "y":3}, + {"label":"R33", "matrix": [8, 3], "x":10, "y":3}, + {"label":"R32", "matrix": [8, 2], "x":11, "y":3}, + {"label":"R31", "matrix": [8, 1], "x":12, "y":3}, + {"label":"R30", "matrix": [8, 0], "x":13, "y":3}, + {"label":"L43", "matrix": [4, 3], "x":2.5, "y":4}, + {"label":"L41", "matrix": [4, 1], "x":3.5, "y":4}, + {"label":"L42", "matrix": [4, 2], "x":4.5, "y":4}, + {"label":"L44", "matrix": [4, 4], "x":5.5, "y":4}, + {"label":"R44", "matrix": [9, 4], "x":7.5, "y":4}, + {"label":"R42", "matrix": [9, 2], "x":8.5, "y":4}, + {"label":"R41", "matrix": [9, 1], "x":9.5, "y":4}, + {"label":"R43", "matrix": [9, 3], "x":10.5, "y":4} + ] + } + } +} diff --git a/keyboards/bastardkb/dilemma/4x6_4/keymaps/default/keymap.c b/keyboards/bastardkb/dilemma/4x6_4/keymaps/default/keymap.c new file mode 100644 index 00000000000..2e5564f5e93 --- /dev/null +++ b/keyboards/bastardkb/dilemma/4x6_4/keymaps/default/keymap.c @@ -0,0 +1,73 @@ +/** + * Copyright 2021 Charly Delay (@0xcharly) + * Copyright 2023 casuanoob (@casuanoob) + * + * 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 + +enum dilemma_keymap_layers { + LAYER_BASE = 0, + LAYER_LOWER, + LAYER_RAISE, +}; + +#define LOWER MO(LAYER_LOWER) +#define RAISE MO(LAYER_RAISE) + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [LAYER_BASE] = 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ + KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ + KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LALT, + // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯ + KC_LALT, KC_BSPC, KC_SPC, LOWER, RAISE, KC_ENT, KC_DEL, KC_LGUI + // ╰───────────────────────────────────╯ ╰───────────────────────────────────╯ + ), + + [LAYER_LOWER] = LAYOUT( + // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮ + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, + // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ + RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_P7, KC_P8, KC_P9, KC_RBRC, XXXXXXX, + // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ + RGB_TOG, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_PPLS, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PEQL, + // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ + RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, EE_CLR, QK_BOOT, KC_PAST, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_PDOT, + // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯ + XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______ + // ╰───────────────────────────────────╯ ╰───────────────────────────────────╯ + ), + + [LAYER_RAISE] = LAYOUT( + // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮ + KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ + KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, + // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ + KC_MPLY, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI, KC_MUTE, + // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ + KC_MPRV, KC_HOME, KC_PGUP, KC_PGDN, KC_END, XXXXXXX, QK_BOOT, EE_CLR, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, + // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯ + _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX + // ╰───────────────────────────────────╯ ╰───────────────────────────────────╯ + ), +}; +// clang-format on diff --git a/keyboards/bastardkb/dilemma/4x6_4/keymaps/default/readme.md b/keyboards/bastardkb/dilemma/4x6_4/keymaps/default/readme.md new file mode 100644 index 00000000000..2005c2fec91 --- /dev/null +++ b/keyboards/bastardkb/dilemma/4x6_4/keymaps/default/readme.md @@ -0,0 +1,2 @@ +# Dilemma Max (4x6+4) default keymap + diff --git a/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/config.h b/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/config.h new file mode 100644 index 00000000000..24322f99044 --- /dev/null +++ b/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/config.h @@ -0,0 +1,20 @@ +/** + * Copyright 2021 Charly Delay (@0xcharly) + * Copyright 2023 casuanoob (@casuanoob) + * + * 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 DYNAMIC_KEYMAP_LAYER_COUNT 8 diff --git a/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/keymap.c b/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/keymap.c new file mode 100644 index 00000000000..68602b27222 --- /dev/null +++ b/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/keymap.c @@ -0,0 +1,132 @@ +/** + * Copyright 2021 Charly Delay (@0xcharly) + * Copyright 2023 casuanoob (@casuanoob) + * + * 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 + +enum dilemma_keymap_layers { + LAYER_BASE = 0, + LAYER_LOWER, + LAYER_RAISE, + LAYER_POINTER, +}; + +// Automatically enable sniping-mode on the pointer layer. +// #define DILEMMA_AUTO_SNIPING_ON_LAYER LAYER_POINTER + +#define LOWER MO(LAYER_LOWER) +#define RAISE MO(LAYER_RAISE) +#define PT_Z LT(LAYER_POINTER, KC_Z) +#define PT_SLSH LT(LAYER_POINTER, KC_SLSH) + +#ifndef POINTING_DEVICE_ENABLE +# define DRGSCRL KC_NO +# define DPI_MOD KC_NO +# define S_D_MOD KC_NO +# define SNIPING KC_NO +#endif // !POINTING_DEVICE_ENABLE + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [LAYER_BASE] = 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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ + KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ + KC_LCTL, PT_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, PT_SLSH, KC_LALT, + // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯ + KC_LALT, KC_BSPC, KC_SPC, LOWER, RAISE, KC_ENT, KC_DEL, KC_MUTE + // ╰───────────────────────────────────╯ ╰───────────────────────────────────╯ + ), + + [LAYER_LOWER] = LAYOUT( + // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮ + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, + // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ + RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_P7, KC_P8, KC_P9, KC_RBRC, XXXXXXX, + // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ + RGB_TOG, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_PPLS, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PEQL, + // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ + RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PAST, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_PDOT, + // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯ + XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX + // ╰───────────────────────────────────╯ ╰───────────────────────────────────╯ + ), + + [LAYER_RAISE] = LAYOUT( + // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮ + KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ + KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, + // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ + KC_MPLY, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI, KC_MUTE, + // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ + KC_MPRV, KC_HOME, KC_PGUP, KC_PGDN, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, + // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯ + XXXXXXX, _______, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX + // ╰───────────────────────────────────╯ ╰───────────────────────────────────╯ + ), + + [LAYER_POINTER] = LAYOUT( + // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DPI_MOD, S_D_MOD, S_D_MOD, DPI_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ + XXXXXXX, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, XXXXXXX, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI, XXXXXXX, + // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤ + XXXXXXX, _______, DRGSCRL, SNIPING, EE_CLR, QK_BOOT, QK_BOOT, EE_CLR, SNIPING, DRGSCRL, _______, XXXXXXX, + // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯ + XXXXXXX, KC_BTN2, KC_BTN1, KC_BTN3, KC_BTN3, KC_BTN1, KC_BTN2, XXXXXXX + // ╰───────────────────────────────────╯ ╰───────────────────────────────────╯ + ), +}; +// clang-format on + +#ifdef POINTING_DEVICE_ENABLE +# ifdef DILEMMA_AUTO_SNIPING_ON_LAYER +layer_state_t layer_state_set_user(layer_state_t state) { + dilemma_set_pointer_sniping_enabled(layer_state_cmp(state, DILEMMA_AUTO_SNIPING_ON_LAYER)); + return state; +} +# endif // DILEMMA_AUTO_SNIPING_ON_LAYER +#endif // POINTING_DEVICE_ENABLEE + +#ifdef RGB_MATRIX_ENABLE +// Forward-declare this helper function since it is defined in rgb_matrix.c. +void rgb_matrix_update_pwm_buffers(void); +#endif + +#ifdef ENCODER_MAP_ENABLE +// clang-format off +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [LAYER_BASE] = {ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLU, KC_VOLD)}, + [LAYER_LOWER] = {ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(KC_LEFT, KC_RGHT)}, + [LAYER_RAISE] = {ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLU, KC_VOLD)}, + [LAYER_POINTER] = {ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI)}, +}; +// clang-format on +#endif // ENCODER_MAP_ENABLE + +void shutdown_user(void) { +#ifdef RGB_MATRIX_ENABLE + rgb_matrix_sethsv_noeeprom(HSV_RED); + rgb_matrix_update_pwm_buffers(); +#endif // RGB_MATRIX_ENABLE +} diff --git a/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/readme.md b/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/readme.md new file mode 100644 index 00000000000..f3636c8a40e --- /dev/null +++ b/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/readme.md @@ -0,0 +1,47 @@ +# Dilemma Max `via` keymap + +The Dilemma Max `via` keymap is based on the original [Dactyl Manuform](../../../../../handwired/dactyl_manuform) default keymap, with some features and changes specific to the Dilemma. + +This layout also supports VIA. + +## Customizing the keymap + +### Dynamic DPI scaling + +Use the following keycodes to change the default DPI: + +- `POINTER_DEFAULT_DPI_FORWARD`: increases the DPI; decreases when shifted; +- `POINTER_DEFAULT_DPI_REVERSE`: decreases the DPI; increases when shifted. + +There's a maximum of 16 possible values for the sniping mode DPI. See the [Dilemma documentation](../../README.md) for more information. + +Use the following keycodes to change the sniping mode DPI: + +- `POINTER_SNIPING_DPI_FORWARD`: increases the DPI; decreases when shifted; +- `POINTER_SNIPING_DPI_REVERSE`: decreases the DPI; increases when shifted. + +There's a maximum of 4 possible values for the sniping mode DPI. See the [Dilemma documentation](../../README.md) for more information. + +### Drag-scroll + +Use the `DRAGSCROLL_MODE` keycode to enable drag-scroll on hold. Use the `DRAGSCROLL_TOGGLE` keycode to enable/disable drag-scroll on key press. + +### Circular scroll + +By default, the firmware is configured to enable the circular scroll feature on Cirque trackpad. + +To disable this, add the following to your keymap: + +```c +#undef POINTING_DEVICE_GESTURES_SCROLL_ENABLE +``` + +### Sniping + +Use the `SNIPING_MODE` keycode to enable sniping mode on hold. Use the `SNIPING_TOGGLE` keycode to enable/disable sniping mode on key press. + +Change the value of `DILEMMA_AUTO_SNIPING_ON_LAYER` to automatically enable sniping mode on layer change. By default, sniping mode is enabled on the pointer layer: + +```c +#define DILEMMA_AUTO_SNIPING_ON_LAYER LAYER_POINTER +``` diff --git a/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/rules.mk b/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/rules.mk new file mode 100644 index 00000000000..f1adcab005e --- /dev/null +++ b/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/bastardkb/dilemma/4x6_4/mcuconf.h b/keyboards/bastardkb/dilemma/4x6_4/mcuconf.h new file mode 100644 index 00000000000..52b726a56d5 --- /dev/null +++ b/keyboards/bastardkb/dilemma/4x6_4/mcuconf.h @@ -0,0 +1,23 @@ +/** + * Copyright 2022 Charly Delay (@0xcharly) + * + * 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 + +#undef RP_SPI_USE_SPI0 +#define RP_SPI_USE_SPI0 TRUE diff --git a/keyboards/bastardkb/dilemma/4x6_4/readme.md b/keyboards/bastardkb/dilemma/4x6_4/readme.md new file mode 100644 index 00000000000..30dd2a99f1d --- /dev/null +++ b/keyboards/bastardkb/dilemma/4x6_4/readme.md @@ -0,0 +1,5 @@ +# Dilemma Max (4x6+4) + +This keyboard is an upsized version of the [3x5+3 Dilemma](../3x5_3/). + +The Dilemma Max is available at [bastardkb.com](https://bastardkb.com). diff --git a/keyboards/bastardkb/dilemma/4x6_4/rules.mk b/keyboards/bastardkb/dilemma/4x6_4/rules.mk new file mode 100644 index 00000000000..9f83631e63d --- /dev/null +++ b/keyboards/bastardkb/dilemma/4x6_4/rules.mk @@ -0,0 +1,6 @@ +TRI_LAYER_ENABLE = yes # Tri Layers + +SERIAL_DRIVER = vendor + +POINTING_DEVICE_ENABLE = yes +POINTING_DEVICE_DRIVER = cirque_pinnacle_spi diff --git a/keyboards/bastardkb/dilemma/readme.md b/keyboards/bastardkb/dilemma/readme.md index ac3c818bd6f..876400ae52a 100644 --- a/keyboards/bastardkb/dilemma/readme.md +++ b/keyboards/bastardkb/dilemma/readme.md @@ -1,16 +1,21 @@ # Dilemma -A very small keyboard made for ergonomic enthusiasts. +A family of split keyboards with embedded RP2040 controllers, support for Cirque GlidePoint circle trackpads, and SPI + I2C breakouts for other peripherals - Keyboard Maintainer: [Bastard Keyboards](https://github.com/Bastardkb/) -- Hardware Supported: RP2040-based controller (_eg._ Splinky, Elite-c, ...) +- Hardware Supported: [Bastardkb Dilemma](https://github.com/Bastardkb/Dilemma) - Hardware Availability: [Bastardkb.com](https://bastardkb.com/) -A pre-assembled version (with embedded controller) is also available. +A DIY version of the 3x5_2 PCB with promicro compatible footprint is also available. Make example for this keyboard (after setting up your build environment): - make bastardkb/dilemma/3x5_2/splinky:default - make bastardkb/dilemma/3x5_2/assembled:default + make bastardkb/dilemma/3x5_3:default + make bastardkb/dilemma/4x6_4:default + +Flashing example for this keyboard: + + make bastardkb/dilemma/3x5_3:default:flash + make bastardkb/dilemma/4x6_4:default:flash See the [keyboard build instructions](http://docs.bastardkb.com/) From 997a6747ee83c87de92d9444e2bc57c981dbf260 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Mon, 2 Oct 2023 11:49:53 +0100 Subject: [PATCH 138/144] Miscellaneous fixes for recently merged keyboards (#22179) --- keyboards/bastardkb/dilemma/4x6_4/config.h | 8 ----- keyboards/bastardkb/dilemma/4x6_4/info.json | 3 +- keyboards/bastardkb/dilemma/4x6_4/rules.mk | 2 -- keyboards/doio/kb12/config.h | 1 - keyboards/era/klein/config.h | 2 -- keyboards/keychron/q9_plus/config.h | 4 --- keyboards/keychron/q9_plus/q9_plus.c | 1 - keyboards/qck75/v1/config.h | 2 -- keyboards/sofle_choc/info.json | 36 ++++++++++++++++++++- keyboards/sofle_choc/keymaps/via/rules.mk | 5 +++ 10 files changed, 42 insertions(+), 22 deletions(-) diff --git a/keyboards/bastardkb/dilemma/4x6_4/config.h b/keyboards/bastardkb/dilemma/4x6_4/config.h index a8240177505..9c76cb76f9e 100644 --- a/keyboards/bastardkb/dilemma/4x6_4/config.h +++ b/keyboards/bastardkb/dilemma/4x6_4/config.h @@ -50,13 +50,5 @@ #define RGB_MATRIX_FRAMEBUFFER_EFFECTS // Startup values. -#define RGB_MATRIX_DEFAULT_HUE 0 -#define RGB_MATRIX_DEFAULT_SAT 255 #define RGB_MATRIX_DEFAULT_VAL 64 - -// Rainbow swirl as startup mode. -#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT - -// Slow swirl at startup. #define RGB_MATRIX_DEFAULT_SPD 32 diff --git a/keyboards/bastardkb/dilemma/4x6_4/info.json b/keyboards/bastardkb/dilemma/4x6_4/info.json index 7b3aaf55673..ba07a7fccf2 100644 --- a/keyboards/bastardkb/dilemma/4x6_4/info.json +++ b/keyboards/bastardkb/dilemma/4x6_4/info.json @@ -33,7 +33,8 @@ "mousekey": true, "nkro": true, "rgb_matrix": true, - "caps_word": true + "caps_word": true, + "tri_layer": true }, "ws2812": { "pin": "GP10", diff --git a/keyboards/bastardkb/dilemma/4x6_4/rules.mk b/keyboards/bastardkb/dilemma/4x6_4/rules.mk index 9f83631e63d..4923c2c84a5 100644 --- a/keyboards/bastardkb/dilemma/4x6_4/rules.mk +++ b/keyboards/bastardkb/dilemma/4x6_4/rules.mk @@ -1,5 +1,3 @@ -TRI_LAYER_ENABLE = yes # Tri Layers - SERIAL_DRIVER = vendor POINTING_DEVICE_ENABLE = yes diff --git a/keyboards/doio/kb12/config.h b/keyboards/doio/kb12/config.h index c7ea434320e..d853409b858 100644 --- a/keyboards/doio/kb12/config.h +++ b/keyboards/doio/kb12/config.h @@ -19,7 +19,6 @@ /* RGB Matrix config */ #define RGB_MATRIX_LED_COUNT 12 -#define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_UP_DOWN #define RGB_DISABLE_WHEN_USB_SUSPENDED #define RGB_MATRIX_KEYPRESSES diff --git a/keyboards/era/klein/config.h b/keyboards/era/klein/config.h index e74b7d73d3c..1033bc738e7 100644 --- a/keyboards/era/klein/config.h +++ b/keyboards/era/klein/config.h @@ -21,9 +21,7 @@ #define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_B /* RGB Matrix */ -#define WS2812_PIO_USE_PIO1 // Force the usage of PIO1 peripheral, by default the WS2812 implementation uses the PIO0 peripheral #define RGB_MATRIX_DEFAULT_VAL 60 #define RGB_MATRIX_FRAMEBUFFER_EFFECTS #define RGB_MATRIX_KEYPRESSES #define RGB_DISABLE_WHEN_USB_SUSPENDED -#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT \ No newline at end of file diff --git a/keyboards/keychron/q9_plus/config.h b/keyboards/keychron/q9_plus/config.h index c6cd09b3881..a8cba07e902 100755 --- a/keyboards/keychron/q9_plus/config.h +++ b/keyboards/keychron/q9_plus/config.h @@ -52,7 +52,3 @@ /* Old default behavior of mod-taps */ #define HOLD_ON_OTHER_KEY_PRESS - -/* Factory test keys */ -#define F_RESET_KEY1 KC_7 -#define FN_KEY1 MO(4) diff --git a/keyboards/keychron/q9_plus/q9_plus.c b/keyboards/keychron/q9_plus/q9_plus.c index f0f304def68..848117d323b 100755 --- a/keyboards/keychron/q9_plus/q9_plus.c +++ b/keyboards/keychron/q9_plus/q9_plus.c @@ -67,7 +67,6 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; } - // RGB_MATRIX_INDICATOR_SET_COLOR(index, red, green, blue); if (host_keyboard_led_state().caps_lock) { RGB_MATRIX_INDICATOR_SET_COLOR(CAPS_LOCK_LED_INDEX, 255, 255, 255); diff --git a/keyboards/qck75/v1/config.h b/keyboards/qck75/v1/config.h index 01d875e3d4c..06d945ebf74 100644 --- a/keyboards/qck75/v1/config.h +++ b/keyboards/qck75/v1/config.h @@ -16,5 +16,3 @@ #define OLED_TIMEOUT 120000 #define OLED_BRIGHTNESS 120 - -#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 21 diff --git a/keyboards/sofle_choc/info.json b/keyboards/sofle_choc/info.json index 172f60256eb..b59def38b0d 100644 --- a/keyboards/sofle_choc/info.json +++ b/keyboards/sofle_choc/info.json @@ -13,14 +13,48 @@ ] }, "features": { + "bootmagic": true, "oled": true, "rgb_matrix": true, - "extrakey": true + "extrakey": true, + "mousekey": true }, "development_board": "promicro", "rgb_matrix": { "driver": "ws2812", "split_count": [29, 29], + "animations": { + "solid_color": true, + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "rainbow_moving_chevron": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "pixel_fractal": true, + "pixel_flow": true, + "pixel_rain": true + }, "layout": [ { "flags": 4, "matrix": [0, 5], "x": 95, "y": 7 }, { "flags": 4, "matrix": [1, 5], "x": 95, "y": 21 }, diff --git a/keyboards/sofle_choc/keymaps/via/rules.mk b/keyboards/sofle_choc/keymaps/via/rules.mk index 715838ecc5d..8a52d2aa542 100644 --- a/keyboards/sofle_choc/keymaps/via/rules.mk +++ b/keyboards/sofle_choc/keymaps/via/rules.mk @@ -1,2 +1,7 @@ ENCODER_MAP_ENABLE = yes VIA_ENABLE = yes + +# Reduce compiled size +MOUSEKEY_ENABLE = no +SPACE_CADET_ENABLE = no +GRAVE_ESC_ENABLE = no From f33881b1da15955b43c463611f7a24390d4acd5d Mon Sep 17 00:00:00 2001 From: Sergey Fedorov Date: Tue, 3 Oct 2023 16:27:00 +0900 Subject: [PATCH 139/144] Add Soulstone keyboard (#22093) --- keyboards/strech/soulstone/config.h | 24 ++++++ keyboards/strech/soulstone/info.json | 84 +++++++++++++++++++ .../strech/soulstone/keymaps/default/keymap.c | 44 ++++++++++ .../strech/soulstone/keymaps/via/keymap.c | 44 ++++++++++ .../strech/soulstone/keymaps/via/rules.mk | 1 + keyboards/strech/soulstone/readme.md | 30 +++++++ keyboards/strech/soulstone/rules.mk | 1 + keyboards/strech/soulstone/soulstone.c | 30 +++++++ 8 files changed, 258 insertions(+) create mode 100644 keyboards/strech/soulstone/config.h create mode 100644 keyboards/strech/soulstone/info.json create mode 100644 keyboards/strech/soulstone/keymaps/default/keymap.c create mode 100644 keyboards/strech/soulstone/keymaps/via/keymap.c create mode 100644 keyboards/strech/soulstone/keymaps/via/rules.mk create mode 100644 keyboards/strech/soulstone/readme.md create mode 100644 keyboards/strech/soulstone/rules.mk create mode 100644 keyboards/strech/soulstone/soulstone.c diff --git a/keyboards/strech/soulstone/config.h b/keyboards/strech/soulstone/config.h new file mode 100644 index 00000000000..425546d77eb --- /dev/null +++ b/keyboards/strech/soulstone/config.h @@ -0,0 +1,24 @@ +/* Copyright 2023 Strech + * + * 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 + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +#define LAYER_INDICATOR_LED_PIN B3 diff --git a/keyboards/strech/soulstone/info.json b/keyboards/strech/soulstone/info.json new file mode 100644 index 00000000000..53037d1460f --- /dev/null +++ b/keyboards/strech/soulstone/info.json @@ -0,0 +1,84 @@ +{ + "keyboard_name": "Soulstone", + "maintainer": "Strech", + "manufacturer": "Strech", + "usb": { + "vid": "0xB030", + "pid": "0x0001", + "device_version": "1.0.0" + }, + "processor": "atmega32u4", + "bootloader": "atmel-dfu", + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "console": false, + "command": false, + "nkro": true + }, + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["B7", "F1", "B0", "F4", "E6", "F0", "D5", "D3", "D2", "D1", "B4", "D7", "D6"], + "rows": ["D0", "D4", "B5", "F5"] + }, + "indicators": { + "caps_lock": "B1", + "num_lock": "B2" + }, + "dynamic_keymap": { + "layer_count": 6 + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "label": "Esc"}, + {"matrix": [0, 1], "x": 1, "y": 0, "label": "Q"}, + {"matrix": [0, 2], "x": 2, "y": 0, "label": "W"}, + {"matrix": [0, 3], "x": 3, "y": 0, "label": "E"}, + {"matrix": [0, 4], "x": 4, "y": 0, "label": "R"}, + {"matrix": [0, 5], "x": 5, "y": 0, "label": "T"}, + {"matrix": [0, 6], "x": 7, "y": 0, "label": "Y"}, + {"matrix": [0, 7], "x": 8, "y": 0, "label": "U"}, + {"matrix": [0, 8], "x": 9, "y": 0, "label": "I"}, + {"matrix": [0, 9], "x": 10, "y": 0, "label": "O"}, + {"matrix": [0, 10], "x": 11, "y": 0, "label": "P"}, + {"matrix": [0, 11], "x": 12, "y": 0, "label": "Del"}, + {"matrix": [0, 12], "x": 13, "y": 0, "label": "Bspc"}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25, "label": "Tab"}, + {"matrix": [1, 1], "x": 1.25, "y": 1, "label": "A"}, + {"matrix": [1, 2], "x": 2.25, "y": 1, "label": "S"}, + {"matrix": [1, 3], "x": 3.25, "y": 1, "label": "D"}, + {"matrix": [1, 4], "x": 4.25, "y": 1, "label": "F"}, + {"matrix": [1, 5], "x": 5.25, "y": 1, "label": "G"}, + {"matrix": [1, 6], "x": 7.25, "y": 1, "label": "H"}, + {"matrix": [1, 7], "x": 8.25, "y": 1, "label": "J"}, + {"matrix": [1, 8], "x": 9.25, "y": 1, "label": "K"}, + {"matrix": [1, 9], "x": 10.25, "y": 1, "label": "L"}, + {"matrix": [1, 10], "x": 11.25, "y": 1, "label": ";"}, + {"matrix": [1, 12], "x": 12.25, "y": 1, "w": 1.5, "label": "Enter"}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75, "label": "L Shift"}, + {"matrix": [2, 1], "x": 1.75, "y": 2, "label": "Z"}, + {"matrix": [2, 2], "x": 2.75, "y": 2, "label": "X"}, + {"matrix": [2, 3], "x": 3.75, "y": 2, "label": "C"}, + {"matrix": [2, 4], "x": 4.75, "y": 2, "label": "V"}, + {"matrix": [2, 5], "x": 5.75, "y": 2, "label": "B"}, + {"matrix": [2, 6], "x": 6.75, "y": 2, "label": "MO(3)"}, + {"matrix": [2, 7], "x": 7.75, "y": 2, "label": "N"}, + {"matrix": [2, 8], "x": 8.75, "y": 2, "label": "M"}, + {"matrix": [2, 9], "x": 9.75, "y": 2, "label": ","}, + {"matrix": [2, 10], "x": 10.75, "y": 2, "label": "."}, + {"matrix": [2, 11], "x": 11.75, "y": 2, "label": "/"}, + {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 1.25, "label": "R Shift"}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25, "label": "L Ctrl"}, + {"matrix": [3, 1], "x": 1.25, "y": 3, "w": 1.25, "label": "L Alt"}, + {"matrix": [3, 3], "x": 3.50, "y": 3, "w": 1.25, "label": "MO(2)"}, + {"matrix": [3, 4], "x": 4.75, "y": 3, "w": 2, "label": "MO(1)"}, + {"matrix": [3, 6], "x": 6.75, "y": 3, "w": 2.25, "label": "Space"}, + {"matrix": [3, 8], "x": 9, "y": 3, "w": 1.25, "label": "R Alt"}, + {"matrix": [3, 11], "x": 11.50, "y": 3, "w": 1.25, "label": "R GUI"}, + {"matrix": [3, 12], "x": 12.75, "y": 3, "w": 1.25, "label": "R Ctrl"} + ] + } + } +} diff --git a/keyboards/strech/soulstone/keymaps/default/keymap.c b/keyboards/strech/soulstone/keymaps/default/keymap.c new file mode 100644 index 00000000000..7dc655b6193 --- /dev/null +++ b/keyboards/strech/soulstone/keymaps/default/keymap.c @@ -0,0 +1,44 @@ +/* Copyright 2023 Strech + * + * 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_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(3), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LALT, MO(2), MO(1), KC_SPC, KC_RALT, KC_RGUI, KC_RCTL + ), + [1] = LAYOUT( + KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, + KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_SCLN, KC_BSLS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT( + KC_TRNS, 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_LNUM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_LBRC, KC_RBRC, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PENT, KC_PDOT, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/strech/soulstone/keymaps/via/keymap.c b/keyboards/strech/soulstone/keymaps/via/keymap.c new file mode 100644 index 00000000000..7dc655b6193 --- /dev/null +++ b/keyboards/strech/soulstone/keymaps/via/keymap.c @@ -0,0 +1,44 @@ +/* Copyright 2023 Strech + * + * 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_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(3), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LALT, MO(2), MO(1), KC_SPC, KC_RALT, KC_RGUI, KC_RCTL + ), + [1] = LAYOUT( + KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, + KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_SCLN, KC_BSLS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT( + KC_TRNS, 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_LNUM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_LBRC, KC_RBRC, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PENT, KC_PDOT, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/strech/soulstone/keymaps/via/rules.mk b/keyboards/strech/soulstone/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/strech/soulstone/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/strech/soulstone/readme.md b/keyboards/strech/soulstone/readme.md new file mode 100644 index 00000000000..07c792f0eb5 --- /dev/null +++ b/keyboards/strech/soulstone/readme.md @@ -0,0 +1,30 @@ +# Soulstone + +![Soulstone](https://i.imgur.com/aQBsgZ9h.jpg) + +A hotswap PCB inspired by an elegant [prime_e](https://www.primekb.com/products/prime_e-rev-2-pcb), +45% ergo keyboard. It is compatible with `rev2` (RGB and non-RGB) which makes it +fit to any `rev2` compatible case. + +* Keyboard Maintainer: [Strech](https://github.com/Strech) +* Hardware Supported: Soulstone +* Hardware Availability: Coming soon + +Make example for this keyboard (after setting up your build environment): + + make strech/soulstone:default + +Flashing example for this keyboard: + + make strech/soulstone: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 using one of the following methods: + +* Tap the Reset switch mounted on the PCB +* Hold down the key at (0,0) in the matrix (usually the top left key or `Escape`) and plug in the keyboard diff --git a/keyboards/strech/soulstone/rules.mk b/keyboards/strech/soulstone/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/strech/soulstone/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/strech/soulstone/soulstone.c b/keyboards/strech/soulstone/soulstone.c new file mode 100644 index 00000000000..4a951aff9d2 --- /dev/null +++ b/keyboards/strech/soulstone/soulstone.c @@ -0,0 +1,30 @@ +/* Copyright 2023 Strech + * + * 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 "quantum.h" + +// Prepare layer indicator LED +void keyboard_post_init_kb(void) { + setPinOutput(LAYER_INDICATOR_LED_PIN); + writePinLow(LAYER_INDICATOR_LED_PIN); + keyboard_post_init_user(); +} + +// Function for layer indicator LED +layer_state_t layer_state_set_kb(layer_state_t state) { + writePin(LAYER_INDICATOR_LED_PIN, !layer_state_cmp(state, 0)); + return layer_state_set_user(state); +} From bc5d407bf723057df8b450947239fb44923de505 Mon Sep 17 00:00:00 2001 From: Syenasweta Date: Tue, 3 Oct 2023 14:34:06 +0700 Subject: [PATCH 140/144] [Keyboard] Add SyenaKeyboards (#22168) Co-authored-by: Syenasweta --- keyboards/syenakeyboards/aswagata/info.json | 36 +++++++++++++++++++ .../aswagata/keymaps/default/keymap.c | 11 ++++++ .../aswagata/keymaps/via/keymap.c | 11 ++++++ .../aswagata/keymaps/via/rules.mk | 1 + keyboards/syenakeyboards/aswagata/readme.md | 25 +++++++++++++ keyboards/syenakeyboards/aswagata/rules.mk | 1 + 6 files changed, 85 insertions(+) create mode 100644 keyboards/syenakeyboards/aswagata/info.json create mode 100644 keyboards/syenakeyboards/aswagata/keymaps/default/keymap.c create mode 100644 keyboards/syenakeyboards/aswagata/keymaps/via/keymap.c create mode 100644 keyboards/syenakeyboards/aswagata/keymaps/via/rules.mk create mode 100644 keyboards/syenakeyboards/aswagata/readme.md create mode 100644 keyboards/syenakeyboards/aswagata/rules.mk diff --git a/keyboards/syenakeyboards/aswagata/info.json b/keyboards/syenakeyboards/aswagata/info.json new file mode 100644 index 00000000000..1f2cf798bb7 --- /dev/null +++ b/keyboards/syenakeyboards/aswagata/info.json @@ -0,0 +1,36 @@ +{ + "manufacturer": "Syenasweta", + "keyboard_name": "SyenaKeyboards Aswagata", + "maintainer": "syenasweta", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": true, + "console": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP20", "GP21"], + "rows": ["GP10", "GP11"] + }, + "processor": "RP2040", + "url": "https://github.com/syenasweta/syenakeyboards", + "usb": { + "device_version": "1.0.0", + "pid": "0x4173", + "vid": "0x5373" + } + "layouts": { + "LAYOUT_ortho_2x2": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1} + ] + } + } +} diff --git a/keyboards/syenakeyboards/aswagata/keymaps/default/keymap.c b/keyboards/syenakeyboards/aswagata/keymaps/default/keymap.c new file mode 100644 index 00000000000..48bdb8ffb4f --- /dev/null +++ b/keyboards/syenakeyboards/aswagata/keymaps/default/keymap.c @@ -0,0 +1,11 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_2x2( + KC_COPY, KC_PASTE, + KC_SELECT, KC_CUT + ) +}; diff --git a/keyboards/syenakeyboards/aswagata/keymaps/via/keymap.c b/keyboards/syenakeyboards/aswagata/keymaps/via/keymap.c new file mode 100644 index 00000000000..4dd47067440 --- /dev/null +++ b/keyboards/syenakeyboards/aswagata/keymaps/via/keymap.c @@ -0,0 +1,11 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ortho_2x2( + KC_COPY, KC_PASTE, + KC_SELECT, KC_CUT + ) +}; \ No newline at end of file diff --git a/keyboards/syenakeyboards/aswagata/keymaps/via/rules.mk b/keyboards/syenakeyboards/aswagata/keymaps/via/rules.mk new file mode 100644 index 00000000000..036bd6d1c3e --- /dev/null +++ b/keyboards/syenakeyboards/aswagata/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/syenakeyboards/aswagata/readme.md b/keyboards/syenakeyboards/aswagata/readme.md new file mode 100644 index 00000000000..5b9673d96f3 --- /dev/null +++ b/keyboards/syenakeyboards/aswagata/readme.md @@ -0,0 +1,25 @@ +# SyenaKeyboards Aswagata + +![SyenaKeyboards Aswagata](https://i.imgur.com/JMiFegah.jpg) + +Aswagata is a macropad with four buttons. The default functions are `copy`, `paste`, `cut`, and `select` for Linux, but can be customized. + +* Keyboard Maintainer: [Syenasweta](https://github.com/syenasweta) +* Hardware Supported: RP2040 +* Hardware Availability: [Tokopedia (Syenasweta)](https://tokopedia.link/gDJ6Rgp4xDb) + +Make example for this keyboard (after setting up your build environment): + + make syenakeyboards/aswagata:default + +Flashing example for this keyboard: + + make syenakeyboards/aswagata: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 1 ways: + +* **Bootmagic reset**: Hold down the top left key (assigned to `copy` by default) and plug in the keyboard. diff --git a/keyboards/syenakeyboards/aswagata/rules.mk b/keyboards/syenakeyboards/aswagata/rules.mk new file mode 100644 index 00000000000..7ff128fa692 --- /dev/null +++ b/keyboards/syenakeyboards/aswagata/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file From a638f6e5aae3bdfe6c5a2b120ad6e5fa0fcba467 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 4 Oct 2023 01:19:04 +0100 Subject: [PATCH 141/144] Fix minimum python version references (#22191) --- docs/cli.md | 4 ++-- docs/cli_development.md | 6 +++--- docs/coding_conventions_python.md | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/cli.md b/docs/cli.md index 8684479d0c1..feb5458d395 100644 --- a/docs/cli.md +++ b/docs/cli.md @@ -6,7 +6,7 @@ The QMK CLI makes building and working with QMK keyboards easier. We have provid ### Requirements :id=requirements -QMK requires Python 3.6 or greater. We try to keep the number of requirements small but you will also need to install the packages listed in [`requirements.txt`](https://github.com/qmk/qmk_firmware/blob/master/requirements.txt). These are installed automatically when you install the QMK CLI. +QMK requires Python 3.7 or greater. We try to keep the number of requirements small but you will also need to install the packages listed in [`requirements.txt`](https://github.com/qmk/qmk_firmware/blob/master/requirements.txt). These are installed automatically when you install the QMK CLI. ### Install Using Homebrew (macOS, some Linux) :id=install-using-homebrew @@ -20,7 +20,7 @@ qmk setup # This will clone `qmk/qmk_firmware` and optionally set up your build ### Install Using pip :id=install-using-easy_install-or-pip -If your system is not listed above you can install QMK manually. First ensure that you have Python 3.6 (or later) installed and have installed pip. Then install QMK with this command: +If your system is not listed above you can install QMK manually. First ensure that you have Python 3.7 (or later) installed and have installed pip. Then install QMK with this command: ``` python3 -m pip install qmk diff --git a/docs/cli_development.md b/docs/cli_development.md index d878deff17c..8d4ee625352 100644 --- a/docs/cli_development.md +++ b/docs/cli_development.md @@ -44,7 +44,7 @@ def hello(cli): First we import the `cli` object from `milc`. This is how we interact with the user and control the script's behavior. We use `@cli.argument()` to define a command line flag, `--name`. This also creates a configuration variable named `hello.name` (and the corresponding `user.name`) which the user can set so they don't have to specify the argument. The `cli.subcommand()` decorator designates this function as a subcommand. The name of the subcommand will be taken from the name of the function. -Once inside our function we find a typical "Hello, World!" program. We use `cli.log` to access the underlying [Logger Object](https://docs.python.org/3.6/library/logging.html#logger-objects), whose behavior is user controllable. We also access the value for name supplied by the user as `cli.config.hello.name`. The value for `cli.config.hello.name` will be determined by looking at the `--name` argument supplied by the user, if not provided it will use the value in the `qmk.ini` config file, and if neither of those is provided it will fall back to the default supplied in the `cli.argument()` decorator. +Once inside our function we find a typical "Hello, World!" program. We use `cli.log` to access the underlying [Logger Object](https://docs.python.org/3.7/library/logging.html#logger-objects), whose behavior is user controllable. We also access the value for name supplied by the user as `cli.config.hello.name`. The value for `cli.config.hello.name` will be determined by looking at the `--name` argument supplied by the user, if not provided it will use the value in the `qmk.ini` config file, and if neither of those is provided it will fall back to the default supplied in the `cli.argument()` decorator. # User Interaction @@ -56,13 +56,13 @@ There are two main methods for outputting text in a subcommand- `cli.log` and `c You can use special tokens to colorize your text, to make it easier to understand the output of your program. See [Colorizing Text](#colorizing-text) below. -Both of these methods support built-in string formatting using python's [printf style string format operations](https://docs.python.org/3.6/library/stdtypes.html#old-string-formatting). You can use tokens such as `%s` and `%d` within your text strings then pass the values as arguments. See our Hello, World program above for an example. +Both of these methods support built-in string formatting using python's [printf style string format operations](https://docs.python.org/3.7/library/stdtypes.html#old-string-formatting). You can use tokens such as `%s` and `%d` within your text strings then pass the values as arguments. See our Hello, World program above for an example. You should never use the format operator (`%`) directly, always pass values as arguments. ### Logging (`cli.log`) -The `cli.log` object gives you access to a [Logger Object](https://docs.python.org/3.6/library/logging.html#logger-objects). We have configured our log output to show the user a nice emoji for each log level (or the log level name if their terminal does not support unicode.) This way the user can tell at a glance which messages are most important when something goes wrong. +The `cli.log` object gives you access to a [Logger Object](https://docs.python.org/3.7/library/logging.html#logger-objects). We have configured our log output to show the user a nice emoji for each log level (or the log level name if their terminal does not support unicode.) This way the user can tell at a glance which messages are most important when something goes wrong. The default log level is `INFO`. If the user runs `qmk -v ` the default log level will be set to `DEBUG`. diff --git a/docs/coding_conventions_python.md b/docs/coding_conventions_python.md index 2b687034487..1ed27ee46ab 100644 --- a/docs/coding_conventions_python.md +++ b/docs/coding_conventions_python.md @@ -317,7 +317,7 @@ At the time of this writing our tests are not very comprehensive. Looking at the ## Integration Tests -Integration tests can be found in `lib/python/qmk/tests/test_cli_commands.py`. This is where CLI commands are actually run and their overall behavior is verified. We use [`subprocess`](https://docs.python.org/3.6/library/subprocess.html#module-subprocess) to launch each CLI command and a combination of checking output and returncode to determine if the right thing happened. +Integration tests can be found in `lib/python/qmk/tests/test_cli_commands.py`. This is where CLI commands are actually run and their overall behavior is verified. We use [`subprocess`](https://docs.python.org/3.7/library/subprocess.html#module-subprocess) to launch each CLI command and a combination of checking output and returncode to determine if the right thing happened. ## Unit Tests From d9fa80c0b0044bb951694aead215d72e4a51807c Mon Sep 17 00:00:00 2001 From: Coom <1655787+coomstoolbox@users.noreply.github.com> Date: Wed, 4 Oct 2023 12:40:57 +0900 Subject: [PATCH 142/144] Added /handwired/ziyoulang_k3_mod (#21965) Co-authored-by: Duncan Sutherland Co-authored-by: Drashna Jaelre --- .../handwired/ziyoulang_k3_mod/info.json | 142 ++++++++++++++++++ .../ziyoulang_k3_mod/keymaps/default/keymap.c | 45 ++++++ .../ziyoulang_k3_mod/keymaps/via/keymap.c | 34 +++++ .../ziyoulang_k3_mod/keymaps/via/rules.mk | 3 + .../handwired/ziyoulang_k3_mod/readme.md | 33 ++++ keyboards/handwired/ziyoulang_k3_mod/rules.mk | 1 + 6 files changed, 258 insertions(+) create mode 100644 keyboards/handwired/ziyoulang_k3_mod/info.json create mode 100644 keyboards/handwired/ziyoulang_k3_mod/keymaps/default/keymap.c create mode 100644 keyboards/handwired/ziyoulang_k3_mod/keymaps/via/keymap.c create mode 100644 keyboards/handwired/ziyoulang_k3_mod/keymaps/via/rules.mk create mode 100644 keyboards/handwired/ziyoulang_k3_mod/readme.md create mode 100644 keyboards/handwired/ziyoulang_k3_mod/rules.mk diff --git a/keyboards/handwired/ziyoulang_k3_mod/info.json b/keyboards/handwired/ziyoulang_k3_mod/info.json new file mode 100644 index 00000000000..127cc51299c --- /dev/null +++ b/keyboards/handwired/ziyoulang_k3_mod/info.json @@ -0,0 +1,142 @@ +{ + "keyboard_name": "ziyoulang k3 mod", + "development_board": "bluepill", + "usb": { + "device_version": "1.0.0", + "pid": "0xE002", + "vid": "0x5006" + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": false + }, + "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 3 + }, + "matrix_pins": { + "cols": ["B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15", "A10", "A9", "A8", "B15", "B14", "B13", "B12", "B1", "B0", "A7", "A6", "A5", "A4"], + "rows": ["C14", "C15", "A0", "A1", "A2", "A3"] + }, + "community_layouts": ["96_ansi"], + "layouts": { + "LAYOUT_96_ansi": { + "layout": [ + {"label":"Esc", "x":0, "y":0, "matrix": [0, 0]}, + {"label":"F1", "x":1, "y":0, "matrix": [0, 2]}, + {"label":"F2", "x":2, "y":0, "matrix": [0, 3]}, + {"label":"F3", "x":3, "y":0, "matrix": [0, 4]}, + {"label":"F4", "x":4, "y":0, "matrix": [0, 5]}, + {"label":"F5", "x":5, "y":0, "matrix": [0, 6]}, + {"label":"F6", "x":6, "y":0, "matrix": [0, 7]}, + {"label":"F7", "x":7, "y":0, "matrix": [0, 8]}, + {"label":"F8", "x":8, "y":0, "matrix": [0, 9]}, + {"label":"F9", "x":9, "y":0, "matrix": [0, 10]}, + {"label":"F10", "x":10, "y":0, "matrix": [0, 11]}, + {"label":"F11", "x":11, "y":0, "matrix": [0, 12]}, + {"label":"F12", "x":12, "y":0, "matrix": [0, 13]}, + {"label":"PrtSc", "x":13, "y":0, "matrix": [0, 14]}, + {"label":"Delete", "x":14, "y":0, "matrix": [0, 15]}, + {"label":"Home", "x":15.5, "y":0, "matrix": [0, 16]}, + {"label":"Insert", "x":16.5, "y":0, "matrix": [0, 17]}, + {"label":"PgUp", "x":17.5, "y":0, "matrix": [0, 18]}, + {"label":"PgDn", "x":18.5, "y":0, "matrix": [0, 19]}, + + {"label":"~", "x":0, "y":1.25, "matrix": [1, 0]}, + {"label":"!", "x":1, "y":1.25, "matrix": [1, 1]}, + {"label":"@", "x":2, "y":1.25, "matrix": [1, 2]}, + {"label":"#", "x":3, "y":1.25, "matrix": [1, 3]}, + {"label":"$", "x":4, "y":1.25, "matrix": [1, 4]}, + {"label":"%", "x":5, "y":1.25, "matrix": [1, 5]}, + {"label":"^", "x":6, "y":1.25, "matrix": [1, 6]}, + {"label":"&", "x":7, "y":1.25, "matrix": [1, 7]}, + {"label":"*", "x":8, "y":1.25, "matrix": [1, 8]}, + {"label":"(", "x":9, "y":1.25, "matrix": [1, 9]}, + {"label":")", "x":10, "y":1.25, "matrix": [1, 10]}, + {"label":"_", "x":11, "y":1.25, "matrix": [1, 11]}, + {"label":"+", "x":12, "y":1.25, "matrix": [1, 12]}, + {"label":"Backspace", "x":13, "y":1.25, "w":2, "matrix": [1, 13]}, + {"label":"Num Lock", "x":15.5, "y":1.25, "matrix": [1, 17]}, + {"label":"/", "x":16.5, "y":1.25, "matrix": [1, 18]}, + {"label":"*", "x":17.5, "y":1.25, "matrix": [1, 19]}, + {"label":"-", "x":18.5, "y":1.25, "matrix": [1, 20]}, + + {"label":"Tab", "x":0, "y":2.25, "w":1.5, "matrix": [2, 0]}, + {"label":"Q", "x":1.5, "y":2.25, "matrix": [2, 1]}, + {"label":"W", "x":2.5, "y":2.25, "matrix": [2, 2]}, + {"label":"E", "x":3.5, "y":2.25, "matrix": [2, 3]}, + {"label":"R", "x":4.5, "y":2.25, "matrix": [2, 4]}, + {"label":"T", "x":5.5, "y":2.25, "matrix": [2, 5]}, + {"label":"Y", "x":6.5, "y":2.25, "matrix": [2, 6]}, + {"label":"U", "x":7.5, "y":2.25, "matrix": [2, 7]}, + {"label":"I", "x":8.5, "y":2.25, "matrix": [2, 8]}, + {"label":"O", "x":9.5, "y":2.25, "matrix": [2, 9]}, + {"label":"P", "x":10.5, "y":2.25, "matrix": [2, 10]}, + {"label":"{", "x":11.5, "y":2.25, "matrix": [2, 11]}, + {"label":"}", "x":12.5, "y":2.25, "matrix": [2, 12]}, + {"label":"|", "x":13.5, "y":2.25, "w":1.5, "matrix": [2, 13]}, + {"label":"7", "x":15.5, "y":2.25, "matrix": [2, 17]}, + {"label":"8", "x":16.5, "y":2.25, "matrix": [2, 18]}, + {"label":"9", "x":17.5, "y":2.25, "matrix": [2, 19]}, + {"label":"+", "x":18.5, "y":2.25, "h":2, "matrix": [2, 20]}, + + {"label":"Caps Lock", "x":0, "y":3.25, "w":1.75, "matrix": [3, 0]}, + {"label":"A", "x":1.75, "y":3.25, "matrix": [3, 2]}, + {"label":"S", "x":2.75, "y":3.25, "matrix": [3, 3]}, + {"label":"D", "x":3.75, "y":3.25, "matrix": [3, 4]}, + {"label":"F", "x":4.75, "y":3.25, "matrix": [3, 5]}, + {"label":"G", "x":5.75, "y":3.25, "matrix": [3, 6]}, + {"label":"H", "x":6.75, "y":3.25, "matrix": [3, 7]}, + {"label":"J", "x":7.75, "y":3.25, "matrix": [3, 8]}, + {"label":"K", "x":8.75, "y":3.25, "matrix": [3, 9]}, + {"label":"L", "x":9.75, "y":3.25, "matrix": [3, 10]}, + {"label":":", "x":10.75, "y":3.25, "matrix": [3, 11]}, + {"label":"\"", "x":11.75, "y":3.25, "matrix": [3, 12]}, + {"label":"Enter", "x":12.75, "y":3.25, "w":2.25, "matrix": [3, 13]}, + {"label":"4", "x":15.5, "y":3.25, "matrix": [3, 17]}, + {"label":"5", "x":16.5, "y":3.25, "matrix": [3, 18]}, + {"label":"6", "x":17.5, "y":3.25, "matrix": [3, 19]}, + + {"label":"Shift", "x":0, "y":4.25, "w":2.25, "matrix": [4, 0]}, + {"label":"Z", "x":2.25, "y":4.25, "matrix": [4, 2]}, + {"label":"X", "x":3.25, "y":4.25, "matrix": [4, 3]}, + {"label":"C", "x":4.25, "y":4.25, "matrix": [4, 4]}, + {"label":"V", "x":5.25, "y":4.25, "matrix": [4, 5]}, + {"label":"B", "x":6.25, "y":4.25, "matrix": [4, 6]}, + {"label":"N", "x":7.25, "y":4.25, "matrix": [4, 7]}, + {"label":"M", "x":8.25, "y":4.25, "matrix": [4, 8]}, + {"label":"<", "x":9.25, "y":4.25, "matrix": [4, 9]}, + {"label":">", "x":10.25, "y":4.25, "matrix": [4, 10]}, + {"label":"?", "x":11.25, "y":4.25, "matrix": [4, 11]}, + {"label":"Shift", "x":12.25, "y":4.25, "w":1.75, "matrix": [4, 13]}, + {"label":"1", "x":15.5, "y":4.25, "matrix": [4, 17]}, + {"label":"2", "x":16.5, "y":4.25, "matrix": [4, 18]}, + {"label":"3", "x":17.5, "y":4.25, "matrix": [4, 19]}, + {"label":"Enter", "x":18.5, "y":4.25, "h":2, "matrix": [4, 20]}, + + {"label":"\u2191", "x":14.25, "y":4.5, "matrix": [4, 15]}, + + {"label":"Ctrl", "x":0, "y":5.25, "w":1.25, "matrix": [5, 0]}, + {"label":"Win", "x":1.25, "y":5.25, "w":1.25, "matrix": [5, 2]}, + {"label":"Alt", "x":2.5, "y":5.25, "w":1.25, "matrix": [5, 3]}, + {"x":3.75, "y":5.25, "w":6.25, "matrix": [5, 6]}, + {"label":"Alt", "x":10, "y":5.25, "matrix": [5, 10]}, + {"label":"Fn", "x":11, "y":5.25, "matrix": [5, 11]}, + {"label":"Ctrl", "x":12, "y":5.25, "matrix": [5, 13]}, + {"label":"0", "x":16.5, "y":5.25, "matrix": [5, 17]}, + {"label":".", "x":17.5, "y":5.25, "matrix": [5, 19]}, + + {"label":"\u2190", "x":13.25, "y":5.5, "matrix": [5, 14]}, + {"label":"\u2193", "x":14.25, "y":5.5, "matrix": [5, 15]}, + {"label":"\u2192", "x":15.25, "y":5.5, "matrix": [5, 16]} + ] + } + }, + "manufacturer": "Coom", + "maintainer": "coomstoolbox", + "url": "" +} \ No newline at end of file diff --git a/keyboards/handwired/ziyoulang_k3_mod/keymaps/default/keymap.c b/keyboards/handwired/ziyoulang_k3_mod/keymaps/default/keymap.c new file mode 100644 index 00000000000..6cd7d864036 --- /dev/null +++ b/keyboards/handwired/ziyoulang_k3_mod/keymaps/default/keymap.c @@ -0,0 +1,45 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┐ + * │Esc│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│PSc│Del│ │Hom│Ins│PgU│PgD│ + * └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘ └───┴───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Num│ / │ * │ - │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │ 7 │ 8 │ 9 │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┼───┼───┤ + │ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ │ 4 │ 5 │ 6 │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬┬──┴┐├───┼───┼───┼───┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift││ ↑ ││ 1 │ 2 │ 3 │ │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬┬──┴┼───┼┴──┬┼───┼───┤Ent│ + * │Ctrl│GUI │Alt │ │Alt│ Fn│Ctr││ ← │ ↓ │ → ││ 0 │ . │ │ + * └────┴────┴────┴────────────────────────┴───┴───┴───┘└───┴───┴───┘└───┴───┴───┘ + */ + [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_PSCR, KC_DEL, KC_HOME, KC_INS, 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_PPLS, + 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_P0, KC_PDOT, + KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_96_ansi( + QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, _______, KC_SCRL, KC_PAUS, + + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______ + ) +}; diff --git a/keyboards/handwired/ziyoulang_k3_mod/keymaps/via/keymap.c b/keyboards/handwired/ziyoulang_k3_mod/keymaps/via/keymap.c new file mode 100644 index 00000000000..08825dacce0 --- /dev/null +++ b/keyboards/handwired/ziyoulang_k3_mod/keymaps/via/keymap.c @@ -0,0 +1,34 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┐ + * │Esc│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│PSc│Del│ │Hom│Ins│PgU│PgD│ + * └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘ └───┴───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Num│ / │ * │ - │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │ 7 │ 8 │ 9 │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┼───┼───┤ + │ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ │ 4 │ 5 │ 6 │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬┬──┴┐├───┼───┼───┼───┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift││ ↑ ││ 1 │ 2 │ 3 │ │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬┬──┴┼───┼┴──┬┼───┼───┤Ent│ + * │Ctrl│GUI │Alt │ │Alt│ Fn│Ctr││ ← │ ↓ │ → ││ 0 │ . │ │ + * └────┴────┴────┴────────────────────────┴───┴───┴───┘└───┴───┴───┘└───┴───┴───┘ + */ + [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_PSCR, KC_DEL, KC_HOME, KC_INS, 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_PPLS, + 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_P1, KC_P2, KC_P3, KC_PENT, + KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_P0, KC_PDOT, + KC_LEFT, KC_DOWN, KC_RGHT + ) +}; diff --git a/keyboards/handwired/ziyoulang_k3_mod/keymaps/via/rules.mk b/keyboards/handwired/ziyoulang_k3_mod/keymaps/via/rules.mk new file mode 100644 index 00000000000..ea877d67869 --- /dev/null +++ b/keyboards/handwired/ziyoulang_k3_mod/keymaps/via/rules.mk @@ -0,0 +1,3 @@ +VIA_ENABLE = yes +MOUSEKEY_ENABLE = no +LTO_ENABLE = yes diff --git a/keyboards/handwired/ziyoulang_k3_mod/readme.md b/keyboards/handwired/ziyoulang_k3_mod/readme.md new file mode 100644 index 00000000000..7e247fde198 --- /dev/null +++ b/keyboards/handwired/ziyoulang_k3_mod/readme.md @@ -0,0 +1,33 @@ +# ziyoulang_k3_mod + +![ziyoulang_k3_mod](https://i.imgur.com/z9mUvIoh.jpg) + + +This base keyboard has SX83099 IC causes some problems. I needed QMK as an alternative, especially since the controller freezes when the backlight is off. + +* Keyboard Maintainer: [Coom](https://github.com/coomstoolbox) +* Hardware Supported: Ziyoulang K3,Blue Pill +* Hardware Availability: [Base Keyboard](https://www.aliexpress.com/item/1005005458088199.html), [Blue Pill Board](https://www.aliexpress.com/item/32812837487.html) + +Make example for this keyboard (after setting up your build environment): + + make handwired/ziyoulang_k3_mod:default + +Flashing example for this keyboard: + + make handwired/ziyoulang_k3_mod: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). + +## Requires hand wired + +[KiCAD wiring diagram](https://github.com/coomstoolbox/ZK3-BP-MOD-wiring-diagram) + +![explanation](https://i.imgur.com/yvhvhoBh.png) + +## Bootloader + +Enter the bootloader in 2 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/handwired/ziyoulang_k3_mod/rules.mk b/keyboards/handwired/ziyoulang_k3_mod/rules.mk new file mode 100644 index 00000000000..6e7633bfe01 --- /dev/null +++ b/keyboards/handwired/ziyoulang_k3_mod/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From 5485d5023eae4653805d1acb481cf438ff8a80e0 Mon Sep 17 00:00:00 2001 From: yuezp <49514776+LXF-YZP@users.noreply.github.com> Date: Wed, 4 Oct 2023 12:02:42 +0800 Subject: [PATCH 143/144] Add the Split67 keyboard PCB (#22107) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: “yuezp” <“yuezpchn@126.com”> --- keyboards/split67/config.h | 26 +++++ keyboards/split67/info.json | 111 +++++++++++++++++++++ keyboards/split67/keymaps/default/keymap.c | 33 ++++++ keyboards/split67/keymaps/via/keymap.c | 60 +++++++++++ keyboards/split67/keymaps/via/rules.mk | 1 + keyboards/split67/readme.md | 26 +++++ keyboards/split67/rules.mk | 1 + 7 files changed, 258 insertions(+) create mode 100644 keyboards/split67/config.h create mode 100644 keyboards/split67/info.json create mode 100644 keyboards/split67/keymaps/default/keymap.c create mode 100644 keyboards/split67/keymaps/via/keymap.c create mode 100644 keyboards/split67/keymaps/via/rules.mk create mode 100644 keyboards/split67/readme.md create mode 100644 keyboards/split67/rules.mk diff --git a/keyboards/split67/config.h b/keyboards/split67/config.h new file mode 100644 index 00000000000..9d50d9bdd1c --- /dev/null +++ b/keyboards/split67/config.h @@ -0,0 +1,26 @@ +/* +Copyright 2012 Jun Wako +Copyright 2015 Jack Humbert + +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 +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + + + diff --git a/keyboards/split67/info.json b/keyboards/split67/info.json new file mode 100644 index 00000000000..f24eea4ce07 --- /dev/null +++ b/keyboards/split67/info.json @@ -0,0 +1,111 @@ +{ + "manufacturer": "yuezp", + "keyboard_name": "split_67", + "maintainer": "qmk", + "build": { + "lto": true + }, + "development_board": "promicro", + "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 3 + }, + "features": { + "bootmagic": true, + "extrakey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["F6", "F7", "B1", "B3", "B2", "B6", null, null], + "rows": ["D4", "C6", "D7", "E6", "B4"] + }, + "split": { + "enabled": true, + "matrix_pins": { + "right": { + "cols": ["F5", "F6", "F7", "B1", "B3", "B2", "B6", "B5"], + "rows": ["D4", "C6", "D7", "E6", "B4"] + } + }, + "soft_serial_pin": "D0" + }, + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0xBBBC", + "vid": "0xCCCD" + }, + "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": [4, 5], "x": 6, "y": 0}, + {"matrix": [5, 0], "x": 9, "y": 0}, + {"matrix": [5, 1], "x": 10, "y": 0}, + {"matrix": [5, 2], "x": 11, "y": 0}, + {"matrix": [5, 3], "x": 12, "y": 0}, + {"matrix": [5, 4], "x": 13, "y": 0}, + {"matrix": [5, 5], "x": 14, "y": 0}, + {"matrix": [5, 6], "x": 15, "y": 0, "w": 2}, + {"matrix": [5, 7], "x": 17.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": [6, 0], "x": 8.5, "y": 1}, + {"matrix": [6, 1], "x": 9.5, "y": 1}, + {"matrix": [6, 2], "x": 10.5, "y": 1}, + {"matrix": [6, 3], "x": 11.5, "y": 1}, + {"matrix": [6, 4], "x": 12.5, "y": 1}, + {"matrix": [6, 5], "x": 13.5, "y": 1}, + {"matrix": [6, 6], "x": 14.5, "y": 1}, + {"matrix": [6, 7], "x": 15.5, "y": 1, "w": 1.5}, + {"matrix": [7, 7], "x": 17.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": [7, 0], "x": 8.75, "y": 2}, + {"matrix": [7, 1], "x": 9.75, "y": 2}, + {"matrix": [7, 2], "x": 10.75, "y": 2}, + {"matrix": [7, 3], "x": 11.75, "y": 2}, + {"matrix": [7, 4], "x": 12.75, "y": 2}, + {"matrix": [7, 5], "x": 13.75, "y": 2}, + {"matrix": [7, 6], "x": 14.75, "y": 2, "w": 2.25}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 1], "x": 2.25, "y": 3}, + {"matrix": [3, 2], "x": 3.25, "y": 3}, + {"matrix": [3, 3], "x": 4.25, "y": 3}, + {"matrix": [3, 4], "x": 5.25, "y": 3}, + {"matrix": [3, 5], "x": 6.25, "y": 3}, + {"matrix": [8, 0], "x": 9.25, "y": 3}, + {"matrix": [8, 1], "x": 10.25, "y": 3}, + {"matrix": [8, 2], "x": 11.25, "y": 3}, + {"matrix": [8, 3], "x": 12.25, "y": 3}, + {"matrix": [8, 4], "x": 13.25, "y": 3}, + {"matrix": [8, 5], "x": 14.25, "y": 3, "w": 2}, + {"matrix": [8, 6], "x": 16.25, "y": 3}, + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 3], "x": 3.75, "y": 4, "w": 2.25}, + {"matrix": [4, 4], "x": 6, "y": 4}, + {"matrix": [9, 0], "x": 9, "y": 4, "w": 2.75}, + {"matrix": [9, 1], "x": 11.75, "y": 4, "w": 1.25}, + {"matrix": [9, 2], "x": 13, "y": 4, "w": 1.25}, + {"matrix": [9, 3], "x": 15.25, "y": 4}, + {"matrix": [9, 4], "x": 16.25, "y": 4}, + {"matrix": [9, 5], "x": 17.25, "y": 4} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/split67/keymaps/default/keymap.c b/keyboards/split67/keymaps/default/keymap.c new file mode 100644 index 00000000000..4e896f4aa59 --- /dev/null +++ b/keyboards/split67/keymaps/default/keymap.c @@ -0,0 +1,33 @@ +/* Copyright 2021 JasonRen(biu) + * + * 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_BSPC, KC_INS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RCTL, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT), + +[1] = LAYOUT( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC, 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_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LGUI, KC_TRNS, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; diff --git a/keyboards/split67/keymaps/via/keymap.c b/keyboards/split67/keymaps/via/keymap.c new file mode 100644 index 00000000000..cb14ee19bf7 --- /dev/null +++ b/keyboards/split67/keymaps/via/keymap.c @@ -0,0 +1,60 @@ +/* Copyright 2021 JasonRen(biu) + * + * 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] = { + +/* Keymap (Base Layer) Default Layer +* .-------------------------------------. .---------------------------------------------------. +* |Esc | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 8 | 9 | 0 | - | = | Backsp| Insert | +* |-------------------------------------| |---------------------------------------------------| +* |Tab | Q | W | E | R | T | | | Y | U | I | O | P | [ | ] | \ | +* |-------------------------------------| |---------------------------------------------------| +* |Ctrl | A | S | D | F | G | | | H | J | K | L | ; | ' | Return| Delete | +* |-------------------------------------| |---------------------------------------------------| +* |Shift | Z | X | C | V | B | | | N | M | , | . | / | Shift | Up | | +* |-------------------------------------| |---------------------------------------------------| +* |Ctrl | Win| Alt| Space| Fn | | | |Space| Ctrl| Alt| Lef| Dow| Rig | | | +* .-------------------------------------. .---------------------------------------------------. +*/ +[0] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_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_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RCTL, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT), + + +/* Keymap Fn Layer +* .----------------------------------------. .---------------------------------------------------. +* | | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | | | +* |----------------------------------------| |---------------------------------------------------| +* | | | | | | | | | | | | | | | | | +* |----------------------------------------| |---------------------------------------------------| +* | | | | | | | | | | | | | | | | | +* |----------------------------------------| |---------------------------------------------------| +* | | | | | | | | | | | | | | | | | +* |----------------------------------------| |---------------------------------------------------| +* | | | | | | | | | | | | | | | | | +* .----------------------------------------. .---------------------------------------------------. +*/ +[1] = LAYOUT( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC, 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_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_LGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS) +}; diff --git a/keyboards/split67/keymaps/via/rules.mk b/keyboards/split67/keymaps/via/rules.mk new file mode 100644 index 00000000000..1e5b99807cb --- /dev/null +++ b/keyboards/split67/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/split67/readme.md b/keyboards/split67/readme.md new file mode 100644 index 00000000000..e42fa9f9ff6 --- /dev/null +++ b/keyboards/split67/readme.md @@ -0,0 +1,26 @@ +# split67 + +![split67](https://i.imgur.com/2eC03Smh.jpg) + +A 65% keys split keyboard. + +* Keyboard Maintainer: https://github.com/LXF-YZP +* Hardware Supported: Pro Micro, (ATmega32u4) + +Make example for this keyboard (after setting up your build environment): + + make split67:default + +Flashing example for this keyboard: + + make split67: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 \ No newline at end of file diff --git a/keyboards/split67/rules.mk b/keyboards/split67/rules.mk new file mode 100644 index 00000000000..7ff128fa692 --- /dev/null +++ b/keyboards/split67/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file From 6e93b59f6134753e6167caf425de666999710c6d Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed, 4 Oct 2023 03:17:01 -0700 Subject: [PATCH 144/144] Monstargear XO87 Soldered: correct layout data (#22199) Correct key positions on the bottom row for `LAYOUT_tkl_ansi_tsangan`. [chore] --- keyboards/monstargear/xo87/solderable/info.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/monstargear/xo87/solderable/info.json b/keyboards/monstargear/xo87/solderable/info.json index 7013ce903db..4c569a89dfd 100644 --- a/keyboards/monstargear/xo87/solderable/info.json +++ b/keyboards/monstargear/xo87/solderable/info.json @@ -346,9 +346,9 @@ {"label": "\u2191", "matrix": [4, 14], "x": 16.25, "y": 4.25}, {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5}, - {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 5.25}, + {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25}, {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5}, - {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 7}, + {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7}, {"label": "Alt", "matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5}, {"label": "Fn", "matrix": [5, 12], "x": 12.5, "y": 5.25}, {"label": "Ctrl", "matrix": [4, 15], "x": 13.5, "y": 5.25, "w": 1.5},