From fba0408cb3735867167cfd3e990e0cbd7f58d165 Mon Sep 17 00:00:00 2001 From: Duncan Sutherland Date: Sun, 1 Sep 2024 04:46:47 +0100 Subject: [PATCH 01/66] Add matrix diagram for EC 60X (#24045) * add matrix_diagram.md * Update matrix_diagram.md * Update matrix_diagram.md * Update matrix_diagram.md * unix line endings --- keyboards/cipulot/ec_60x/matrix_diagram.md | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 keyboards/cipulot/ec_60x/matrix_diagram.md diff --git a/keyboards/cipulot/ec_60x/matrix_diagram.md b/keyboards/cipulot/ec_60x/matrix_diagram.md new file mode 100644 index 00000000000..92fae552a3b --- /dev/null +++ b/keyboards/cipulot/ec_60x/matrix_diagram.md @@ -0,0 +1,44 @@ +# Matrix Diagram for Cipulot EC 60 + +``` + ┌───────┐ + 2u Backpace │0E │ + └───────┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│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 │ 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 │3E │ +├────┼───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴───┼───┴┬────┬┴───┤ +│40 │41 │42 │44 │46 │48 │4A │4B │4C │4D │ +└────┴────┴────┴────────┴────┴──────────┴────┴────┴────┴────┘ +Shift Row: +┌────────┐ ┌──────────┐ +│30 │ 2.25u LShift 2.75u RShift │3D │ +└────────┘ └──────────┘ + ┌───┬──────┐ + 1u-1.75u RShift │3C │3D │ + └───┴──────┘ +Bottom Row: +┌────┬────┬────┬────────────────────────┬────┬────┬────┬────┐ +│40 │41 │42 │46 │4A │4B │4C │4D │ 6.25u Spacebar +└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ +┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐ +│40** │41*│42 │46 │4B │4C*│4D** │ Tsangan/WKL*/HHKB** +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +┌─────┬───┬─────┬───────────────────────┬─────┬───┬───┬─────┐ +│40* │41 │42 │46 │4A │4B │4C*│4D* │ Infinity/True HHKB* +└─────┴───┴─────┴───────────────────────┴─────┴───┴───┴─────┘ + ┌───────────┬───────────┐ + │44 │48 │ Split 6u Spacebar (3u-3u) + └───────────┴───────────┘ + ┌─────────┬───┬─────────┐ + │44 │46 │48 │ Split 6u Spacebar (2.5u-1u-2.5u) + └─────────┴───┴─────────┘ +┌─────┬───┬─────┬─────┬─────────┬─────┬─────┬─────┬───┬─────┐ +│40 │41*│42 │44 │46 │48 │4A │4B │4C*│4D │ JIS/JIS WKL* +└─────┴───┴─────┴─────┴─────────┴─────┴─────┴─────┴───┴─────┘ +``` From 884a808813fe9e5f90aab4079a5944997465161e Mon Sep 17 00:00:00 2001 From: Stefan Otte Date: Sun, 1 Sep 2024 18:59:21 +0200 Subject: [PATCH 02/66] doc: "docker getting started" mentions `flash` limitations (#24336) * doc: "docker getting started" mentions `flash` limitations Mass storage bootloader don't work with `flash` target. * Update docs/getting_started_docker.md Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> --------- Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> --- docs/getting_started_docker.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/getting_started_docker.md b/docs/getting_started_docker.md index 6e69b17d347..2d90d8566ab 100644 --- a/docs/getting_started_docker.md +++ b/docs/getting_started_docker.md @@ -5,6 +5,7 @@ This project includes a Docker workflow that will allow you to build a new firmw ## Requirements The main prerequisite is a working `docker` or `podman` install. + * [Docker CE](https://docs.docker.com/install/#supported-platforms) * [Podman](https://podman.io/getting-started/installation) @@ -18,6 +19,7 @@ cd qmk_firmware ``` Run the following command to build a keymap: + ``` util/docker_build.sh : # For example: util/docker_build.sh planck/rev6:default @@ -32,6 +34,8 @@ util/docker_build.sh keyboard:keymap:target # For example: util/docker_build.sh planck/rev6:default:flash ``` +Note that mass storage bootloaders are not supported by the `flash` target. In this case you will have to manually copy the firmware file to the keyboard. + You can also start the script without any parameters, in which case it will ask you to input the build parameters one by one, which you may find easier to use: ``` From 28b6a8841fcc4f3198b107f1ae0bf4e3badf3fca Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 2 Sep 2024 09:13:28 +1000 Subject: [PATCH 03/66] Add `60_ansi_tsangan_split_bs_rshift` to community layouts (#24186) --- keyboards/1upkeyboards/1up60hte/keyboard.json | 10 ++- .../1up60hte/keymaps/default/keymap.c | 4 +- keyboards/1upkeyboards/pi60/keyboard.json | 13 +++- .../eagle_viper_rep/rev_a/keyboard.json | 10 ++- .../eagle_viper_rep/rev_b/keyboard.json | 10 ++- keyboards/4pplet/steezy60/rev_a/keyboard.json | 9 ++- keyboards/4pplet/steezy60/rev_b/keyboard.json | 9 ++- .../4pplet/waffling60/rev_e/keyboard.json | 16 +++- .../waffling60/rev_e_ansi/keyboard.json | 7 +- keyboards/acheron/arctic/keyboard.json | 5 +- .../acheron/arctic/keymaps/default/keymap.c | 4 +- keyboards/ah/haven60/keyboard.json | 17 +++- keyboards/ai03/polaris/keyboard.json | 11 ++- .../keymaps/default_ansi_tsangan/keymap.c | 4 +- keyboards/alas/keyboard.json | 15 +++- keyboards/ares/keyboard.json | 21 ++++- keyboards/argyle/keyboard.json | 7 +- keyboards/atxkb/1894/keyboard.json | 11 ++- .../keymaps/default_ansi_tsangan/keymap.c | 4 +- keyboards/bioi/f60/keyboard.json | 17 +++- keyboards/bioi/g60/keyboard.json | 7 +- keyboards/bioi/g60ble/keyboard.json | 13 +++- keyboards/blank/blank01/keyboard.json | 5 +- .../blank/blank01/keymaps/default/keymap.c | 4 +- keyboards/buildakb/mw60/keyboard.json | 21 ++++- keyboards/cannonkeys/an_c/keyboard.json | 7 +- .../cannonkeys/an_c/keymaps/tsangan/keymap.c | 4 +- keyboards/cannonkeys/bastion60/keyboard.json | 10 ++- .../cannonkeys/brutalv2_60/keyboard.json | 10 ++- .../cannonkeys/db60/hotswap/keyboard.json | 10 ++- keyboards/cannonkeys/db60/j02/keyboard.json | 11 ++- .../cannonkeys/db60/keymaps/tsangan/keymap.c | 4 +- keyboards/cannonkeys/db60/rev2/keyboard.json | 11 ++- keyboards/cannonkeys/ellipse/keyboard.json | 10 ++- keyboards/cannonkeys/ellipse_hs/keyboard.json | 7 +- .../ellipse_hs/keymaps/default/keymap.c | 8 +- keyboards/cannonkeys/instant60/keyboard.json | 10 ++- .../instant60/keymaps/tsangan/keymap.c | 4 +- keyboards/cannonkeys/leviatan/keyboard.json | 11 ++- .../leviatan/keymaps/tsangan/keymap.c | 4 +- keyboards/cannonkeys/moment/keyboard.json | 12 ++- keyboards/cannonkeys/moment_hs/keyboard.json | 7 +- .../moment_hs/keymaps/default/keymap.c | 8 +- keyboards/cannonkeys/vector/keyboard.json | 10 ++- keyboards/checkerboards/g_idb60/keyboard.json | 7 +- .../g_idb60/keymaps/default/keymap.c | 6 +- keyboards/checkerboards/nop60/keyboard.json | 9 ++- .../checkerboards/nop60/keymaps/7u/keymap.c | 6 +- .../nop60/keymaps/default/keymap.c | 6 +- keyboards/chickenman/ciel/keyboard.json | 11 ++- keyboards/chlx/lfn_merro60/keyboard.json | 21 ++++- keyboards/chlx/merro60/keyboard.json | 13 +++- .../chlx/merro60/keymaps/tsangan/keymap.c | 4 +- keyboards/chlx/ppr_merro60/keyboard.json | 21 ++++- .../chlx/ppr_merro60/keymaps/tsangan/keymap.c | 4 +- keyboards/chlx/str_merro60/keyboard.json | 13 +++- .../chlx/str_merro60/keymaps/tsangan/keymap.c | 4 +- keyboards/cipulot/chroma/keyboard.json | 17 +++- keyboards/cipulot/mnk_60_ec/keyboard.json | 11 ++- .../mnk_60_ec/keymaps/default/keymap.c | 6 +- .../cutie_club/keebcats/denis/keyboard.json | 16 +++- keyboards/deemen17/de60fs/keyboard.json | 7 +- keyboards/dnworks/sbl/keyboard.json | 10 ++- keyboards/dp60/keyboard.json | 12 ++- keyboards/dyz/dyz60_hs/keyboard.json | 13 +++- keyboards/dz60/keyboard.json | 15 +++- keyboards/dztech/dz60rgb_wkl/info.json | 7 +- .../dz60rgb_wkl/keymaps/default/keymap.c | 6 +- keyboards/dztech/dz60v2/keyboard.json | 8 +- keyboards/dztech/tofu60/keyboard.json | 8 +- keyboards/evyd13/plain60/keyboard.json | 14 +++- keyboards/exclusive/e6_rgb/keyboard.json | 12 ++- .../e6_rgb/keymaps/60_tsangan_hhkb/keymap.c | 4 +- keyboards/fjlabs/midway60/keyboard.json | 10 ++- keyboards/fjlabs/polaris/keyboard.json | 10 ++- keyboards/fjlabs/sinanjuwk/keyboard.json | 7 +- keyboards/foxlab/leaf60/hotswap/keyboard.json | 5 +- .../leaf60/hotswap/keymaps/default/keymap.c | 4 +- .../geonworks/frogmini/fmh/keyboard.json | 11 ++- .../frogmini/fmh/keymaps/default/keymap.c | 8 +- .../geonworks/frogmini/fms/keyboard.json | 8 +- .../keymap.c | 8 +- keyboards/gh60/revc/keyboard.json | 12 ++- keyboards/handwired/fruity60/keyboard.json | 7 +- .../fruity60/keymaps/default/keymap.c | 4 +- keyboards/hineybush/h60/keyboard.json | 12 ++- keyboards/horrortroll/paws60/keyboard.json | 12 ++- keyboards/idb/idb_60/keyboard.json | 5 +- keyboards/illusion/rosa/keyboard.json | 8 +- .../inett_studio/sqx/hotswap/keyboard.json | 7 +- .../sqx/hotswap/keymaps/default/keymap.c | 4 +- .../inett_studio/sqx/universal/keyboard.json | 13 +++- keyboards/iriskeyboards/keyboard.json | 10 ++- keyboards/jacky_studio/piggy60/info.json | 5 +- .../piggy60/keymaps/default/keymap.c | 4 +- .../piggy60/rev1/hotswap/keyboard.json | 2 +- .../piggy60/rev1/solder/keyboard.json | 2 +- .../jacky_studio/piggy60/rev2/keyboard.json | 7 +- keyboards/jaykeeb/jk60/keyboard.json | 15 +++- keyboards/kc60/keyboard.json | 15 +++- keyboards/keyten/diablo/keyboard.json | 7 +- .../keyten/diablo/keymaps/default/keymap.c | 4 +- keyboards/keyten/imi60/keyboard.json | 7 +- .../keyten/imi60/keymaps/default/keymap.c | 4 +- keyboards/keyten/kt60_m/keyboard.json | 7 +- .../keyten/kt60_m/keymaps/default/keymap.c | 4 +- keyboards/keyten/kt60hs_t/keyboard.json | 7 +- .../keyten/kt60hs_t/keymaps/default/keymap.c | 4 +- keyboards/kkatano/bakeneko60/keyboard.json | 11 ++- keyboards/kopibeng/mnk60_stm32/keyboard.json | 9 ++- keyboards/kopibeng/xt60/keyboard.json | 10 ++- keyboards/kopibeng/xt60_singa/keyboard.json | 10 ++- keyboards/linworks/fave60/keyboard.json | 7 +- keyboards/linworks/fave60a/keyboard.json | 7 +- .../linworks/fave60a/keymaps/default/keymap.c | 4 +- keyboards/mechkeys/acr60/keyboard.json | 24 +++++- keyboards/mechlovin/jay60/keyboard.json | 7 +- keyboards/melgeek/mj6xy/info.json | 5 +- .../keymaps/default_60_tsangan_hhkb/keymap.c | 4 +- .../mmkeyboard/class60/soldered/keyboard.json | 21 ++++- keyboards/monoflex60/keyboard.json | 7 +- .../keymaps/60_tsangan_hhkb/keymap.c | 4 +- keyboards/montsinger/palmetto/keyboard.json | 8 +- keyboards/mtbkeys/mtb60/solder/keyboard.json | 7 +- .../nightly_boards/daily60/keyboard.json | 10 ++- keyboards/novelkeys/skelett60/keyboard.json | 21 ++++- keyboards/noxary/260/keyboard.json | 12 ++- keyboards/pearlboards/pandora/keyboard.json | 10 ++- keyboards/protozoa/cassini/keyboard.json | 10 ++- keyboards/quarkeys/z60/solder/keyboard.json | 15 +++- .../ratio60_hotswap/rev_a/keyboard.json | 13 +++- keyboards/rmi_kb/mona/v1/keyboard.json | 5 +- keyboards/rmi_kb/mona/v1_1/keyboard.json | 5 +- keyboards/rmi_kb/mona/v32a/keyboard.json | 5 +- .../krush/krush60/solder/keyboard.json | 5 +- .../solder/keymaps/60_tsangan_hhkb/keymap.c | 4 +- keyboards/sawnsprojects/okayu/info.json | 10 ++- keyboards/senselessclay/had60/keyboard.json | 10 ++- .../smithrune/iron160/iron160_h/keyboard.json | 7 +- .../iron160_h/keymaps/default/keymap.c | 4 +- .../smithrune/iron160/iron160_s/keyboard.json | 10 ++- keyboards/stratos/keyboard.json | 16 +++- .../stratos/keymaps/tsangan_hhkb/keymap.c | 4 +- keyboards/studiokestra/cascade/keyboard.json | 5 +- .../keymaps/default_tsangan_hhkb/keymap.c | 4 +- keyboards/studiokestra/nue/keyboard.json | 10 ++- keyboards/synthlabs/060/keyboard.json | 7 +- keyboards/tr60w/keyboard.json | 5 +- keyboards/tr60w/keymaps/default/keymap.c | 4 +- keyboards/unikorn/keyboard.json | 5 +- keyboards/unikorn/keymaps/tsangan/keymap.c | 4 +- keyboards/vertex/arc60/keyboard.json | 10 ++- keyboards/vertex/arc60h/keyboard.json | 8 +- keyboards/weirdo/geminate60/keyboard.json | 10 ++- keyboards/weirdo/naiping/nphhkb/keyboard.json | 7 +- .../naiping/nphhkb/keymaps/default/keymap.c | 4 +- keyboards/wekey/polaris/keyboard.json | 11 ++- keyboards/westfoxtrot/prophet/keyboard.json | 10 ++- keyboards/wilba_tech/wt60_b/keyboard.json | 7 +- .../wt60_b/keymaps/default/keymap.c | 8 +- keyboards/wilba_tech/wt60_bx/keyboard.json | 7 +- .../wt60_bx/keymaps/default/keymap.c | 8 +- keyboards/wilba_tech/wt60_c/keyboard.json | 7 +- .../wt60_c/keymaps/default/keymap.c | 8 +- keyboards/wilba_tech/wt60_d/keyboard.json | 8 +- keyboards/wilba_tech/wt60_g/keyboard.json | 10 ++- keyboards/wilba_tech/wt60_g2/keyboard.json | 7 +- .../wt60_g2/keymaps/default/keymap.c | 8 +- keyboards/xelus/dawn60/info.json | 3 +- keyboards/xelus/dawn60/rev1/keyboard.json | 2 +- keyboards/xelus/dawn60/rev1_qmk/keyboard.json | 2 +- keyboards/xelus/rs60/info.json | 10 ++- keyboards/xelus/rs60/rev1/keyboard.json | 2 +- keyboards/xelus/rs60/rev2_0/keyboard.json | 2 +- keyboards/xelus/rs60/rev2_1/keyboard.json | 2 +- keyboards/zeix/eden/keyboard.json | 7 +- keyboards/zeix/qwertyqop60hs/keyboard.json | 7 +- .../keymap.c | 27 +++++++ .../60_ansi_tsangan_split_bs_rshift/info.json | 77 +++++++++++++++++++ .../layout.json | 5 ++ .../60_ansi_tsangan_split_bs_rshift/readme.md | 3 + layouts/default/readme.md | 30 ++++---- 182 files changed, 1209 insertions(+), 435 deletions(-) create mode 100644 layouts/default/60_ansi_tsangan_split_bs_rshift/default_60_ansi_tsangan_split_bs_rshift/keymap.c create mode 100644 layouts/default/60_ansi_tsangan_split_bs_rshift/info.json create mode 100644 layouts/default/60_ansi_tsangan_split_bs_rshift/layout.json create mode 100644 layouts/default/60_ansi_tsangan_split_bs_rshift/readme.md diff --git a/keyboards/1upkeyboards/1up60hte/keyboard.json b/keyboards/1upkeyboards/1up60hte/keyboard.json index 53e91017ddc..7f8a660d80f 100644 --- a/keyboards/1upkeyboards/1up60hte/keyboard.json +++ b/keyboards/1upkeyboards/1up60hte/keyboard.json @@ -62,11 +62,15 @@ "processor": "atmega32u4", "bootloader": "atmel-dfu", "layout_aliases": { - "LAYOUT_tsangan": "LAYOUT_60_tsangan_hhkb" + "LAYOUT_tsangan": "LAYOUT_60_ansi_tsangan_split_bs_rshift", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, - "community_layouts": ["60_hhkb", "60_tsangan_hhkb"], + "community_layouts": [ + "60_hhkb", + "60_ansi_tsangan_split_bs_rshift" + ], "layouts": { - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/1upkeyboards/1up60hte/keymaps/default/keymap.c b/keyboards/1upkeyboards/1up60hte/keymaps/default/keymap.c index 40d3d5c3e90..bc21fb2c4ae 100644 --- a/keyboards/1upkeyboards/1up60hte/keymaps/default/keymap.c +++ b/keyboards/1upkeyboards/1up60hte/keymaps/default/keymap.c @@ -17,7 +17,7 @@ along with this program. If not, see . #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_60_tsangan_hhkb( + [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL ), - [1] = LAYOUT_60_tsangan_hhkb( + [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, KC_CAPS, BL_TOGG, BL_DOWN, BL_UP, BL_STEP, _______, _______, _______, _______, KC_SCRL, KC_PAUS, KC_UP, _______, KC_CLR, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, KC_MPRV, KC_MNXT, UG_VALD, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, diff --git a/keyboards/1upkeyboards/pi60/keyboard.json b/keyboards/1upkeyboards/pi60/keyboard.json index 45c3876a6b6..ca3007ee76d 100644 --- a/keyboards/1upkeyboards/pi60/keyboard.json +++ b/keyboards/1upkeyboards/pi60/keyboard.json @@ -104,15 +104,20 @@ }, "community_layouts": [ "60_ansi", + "60_ansi_arrow", "60_ansi_split_bs_rshift", "60_ansi_tsangan", - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_hhkb", - "60_ansi_arrow", "60_iso", + "60_iso_arrow", "60_iso_split_bs_rshift", - "60_iso_tsangan" + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -394,7 +399,7 @@ {"label": "RCtrl", "matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/keyboard.json b/keyboards/4pplet/eagle_viper_rep/rev_a/keyboard.json index 18d8ba5d8aa..59a518b9713 100644 --- a/keyboards/4pplet/eagle_viper_rep/rev_a/keyboard.json +++ b/keyboards/4pplet/eagle_viper_rep/rev_a/keyboard.json @@ -64,12 +64,16 @@ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", - "60_iso_tsangan" + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -352,7 +356,7 @@ {"label": "Ctrl", "matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "!", "matrix": [1, 0], "x": 1, "y": 0}, diff --git a/keyboards/4pplet/eagle_viper_rep/rev_b/keyboard.json b/keyboards/4pplet/eagle_viper_rep/rev_b/keyboard.json index e0356d5dad5..bf7d11f74ba 100644 --- a/keyboards/4pplet/eagle_viper_rep/rev_b/keyboard.json +++ b/keyboards/4pplet/eagle_viper_rep/rev_b/keyboard.json @@ -64,17 +64,19 @@ "processor": "STM32F072", "bootloader": "stm32-dfu", "layout_aliases": { - "LAYOUT": "LAYOUT_all" + "LAYOUT": "LAYOUT_all", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, "community_layouts": [ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", - "60_iso_tsangan" + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift" ], "layouts": { "LAYOUT_all": { @@ -360,7 +362,7 @@ {"label": "Ctrl", "matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [1, 0], "x": 1, "y": 0}, diff --git a/keyboards/4pplet/steezy60/rev_a/keyboard.json b/keyboards/4pplet/steezy60/rev_a/keyboard.json index ffd44642230..bbc3d1601b8 100644 --- a/keyboards/4pplet/steezy60/rev_a/keyboard.json +++ b/keyboards/4pplet/steezy60/rev_a/keyboard.json @@ -18,11 +18,11 @@ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", - "60_iso_tsangan", - "60_tsangan_hhkb" + "60_iso_tsangan" ], "diode_direction": "COL2ROW", "matrix_pins": { @@ -57,6 +57,9 @@ "ws2812": { "pin": "D3" }, + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -591,7 +594,7 @@ {"label": "Ctrl", "matrix": [4, 11], "w": 1.5, "x": 13.5, "y": 4} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/4pplet/steezy60/rev_b/keyboard.json b/keyboards/4pplet/steezy60/rev_b/keyboard.json index 8ff41bd1561..810f7f8cb95 100644 --- a/keyboards/4pplet/steezy60/rev_b/keyboard.json +++ b/keyboards/4pplet/steezy60/rev_b/keyboard.json @@ -14,11 +14,11 @@ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", - "60_iso_tsangan", - "60_tsangan_hhkb" + "60_iso_tsangan" ], "diode_direction": "COL2ROW", "matrix_pins": { @@ -53,6 +53,9 @@ "ws2812": { "pin": "A8" }, + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -587,7 +590,7 @@ {"label": "Ctrl", "matrix": [4, 11], "w": 1.5, "x": 13.5, "y": 4} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/4pplet/waffling60/rev_e/keyboard.json b/keyboards/4pplet/waffling60/rev_e/keyboard.json index 4cd2501bbd4..9adf6dada3a 100644 --- a/keyboards/4pplet/waffling60/rev_e/keyboard.json +++ b/keyboards/4pplet/waffling60/rev_e/keyboard.json @@ -49,7 +49,19 @@ "ws2812": { "pin": "A8" }, - "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan", "60_tsangan_hhkb"], + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift", + "60_hhkb", + "60_iso", + "60_iso_split_bs_rshift", + "60_iso_tsangan" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi": { "layout": [ @@ -510,7 +522,7 @@ {"label": "Ctrl", "matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/4pplet/waffling60/rev_e_ansi/keyboard.json b/keyboards/4pplet/waffling60/rev_e_ansi/keyboard.json index a1b5d0e11eb..15d3c7cfe9e 100644 --- a/keyboards/4pplet/waffling60/rev_e_ansi/keyboard.json +++ b/keyboards/4pplet/waffling60/rev_e_ansi/keyboard.json @@ -50,9 +50,12 @@ "pin": "A8" }, "community_layouts": [ - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_hhkb" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -122,7 +125,7 @@ {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/acheron/arctic/keyboard.json b/keyboards/acheron/arctic/keyboard.json index cc686be5fa2..5b5768a490c 100644 --- a/keyboards/acheron/arctic/keyboard.json +++ b/keyboards/acheron/arctic/keyboard.json @@ -29,6 +29,9 @@ "diode_direction": "COL2ROW", "processor": "STM32F072", "bootloader": "stm32-dfu", + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi_tsangan": { "layout": [ @@ -98,7 +101,7 @@ {"matrix": [4, 11], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/acheron/arctic/keymaps/default/keymap.c b/keyboards/acheron/arctic/keymaps/default/keymap.c index 041b814bb99..dc5b32a5f1f 100755 --- a/keyboards/acheron/arctic/keymaps/default/keymap.c +++ b/keyboards/acheron/arctic/keymaps/default/keymap.c @@ -17,13 +17,13 @@ along with this program. If not, see . #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_60_tsangan_hhkb( + [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( QK_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_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_RSFT, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(1) , KC_RCTL ), - [1] = LAYOUT_60_tsangan_hhkb( + [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( KC_GRV, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_TRNS, KC_TRNS, KC_DEL, KC_DEL, KC_TRNS, KC_TRNS, KC_UP , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_PGUP, KC_TRNS, diff --git a/keyboards/ah/haven60/keyboard.json b/keyboards/ah/haven60/keyboard.json index a9c2afb0b37..0eb5d8aa20e 100644 --- a/keyboards/ah/haven60/keyboard.json +++ b/keyboards/ah/haven60/keyboard.json @@ -46,7 +46,20 @@ "twinkle": true } }, - "community_layouts": ["60_ansi_tsangan", "60_tsangan_hhkb", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb", "60_iso_tsangan", "60_iso_tsangan_split_bs_rshift", "60_iso_wkl", "60_iso_wkl_split_bs_rshift"], + "community_layouts": [ + "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift", + "60_ansi_wkl", + "60_ansi_wkl_split_bs_rshift", + "60_hhkb", + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift", + "60_iso_wkl", + "60_iso_wkl_split_bs_rshift" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -179,7 +192,7 @@ {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/ai03/polaris/keyboard.json b/keyboards/ai03/polaris/keyboard.json index decedbab3df..7e6ab9aec72 100644 --- a/keyboards/ai03/polaris/keyboard.json +++ b/keyboards/ai03/polaris/keyboard.json @@ -58,7 +58,14 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", - "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_tsangan_hhkb"], + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan_split_bs_rshift" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -274,7 +281,7 @@ {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/ai03/polaris/keymaps/default_ansi_tsangan/keymap.c b/keyboards/ai03/polaris/keymaps/default_ansi_tsangan/keymap.c index 10190e13c48..ff4a61e4e4b 100644 --- a/keyboards/ai03/polaris/keymaps/default_ansi_tsangan/keymap.c +++ b/keyboards/ai03/polaris/keymaps/default_ansi_tsangan/keymap.c @@ -21,14 +21,14 @@ enum layer_names { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_60_tsangan_hhkb( /* Base */ + [_BASE] = LAYOUT_60_ansi_tsangan_split_bs_rshift( /* 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, MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_DEL, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ), - [_FN] = LAYOUT_60_tsangan_hhkb( /* FN */ + [_FN] = LAYOUT_60_ansi_tsangan_split_bs_rshift( /* FN */ 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_DEL, KC_BSPC, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, BL_STEP, _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, diff --git a/keyboards/alas/keyboard.json b/keyboards/alas/keyboard.json index b5617189dec..41fa879a69a 100755 --- a/keyboards/alas/keyboard.json +++ b/keyboards/alas/keyboard.json @@ -25,7 +25,18 @@ "diode_direction": "COL2ROW", "processor": "STM32F072", "bootloader": "stm32-dfu", - "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"], + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift", + "60_iso", + "60_iso_split_bs_rshift", + "60_iso_tsangan" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -518,7 +529,7 @@ {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/ares/keyboard.json b/keyboards/ares/keyboard.json index 38945657027..f1e650397eb 100644 --- a/keyboards/ares/keyboard.json +++ b/keyboards/ares/keyboard.json @@ -52,9 +52,24 @@ "processor": "atmega32a", "bootloader": "bootloadhid", "layout_aliases": { - "LAYOUT": "LAYOUT_all" + "LAYOUT": "LAYOUT_all", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, - "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_tsangan_hhkb", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan", "60_iso_tsangan_split_bs_rshift", "60_iso_wkl", "60_iso_wkl_split_bs_rshift"], + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift", + "60_ansi_wkl", + "60_ansi_wkl_split_bs_rshift", + "60_hhkb", + "60_iso", + "60_iso_split_bs_rshift", + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift", + "60_iso_wkl", + "60_iso_wkl_split_bs_rshift" + ], "layouts": { "LAYOUT_all": { "layout": [ @@ -337,7 +352,7 @@ {"matrix": [0, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [4, 0], "x": 0, "y": 0}, {"matrix": [4, 1], "x": 1, "y": 0}, diff --git a/keyboards/argyle/keyboard.json b/keyboards/argyle/keyboard.json index 82dbe1562af..a7bfc335df9 100755 --- a/keyboards/argyle/keyboard.json +++ b/keyboards/argyle/keyboard.json @@ -45,7 +45,7 @@ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb", @@ -56,6 +56,9 @@ "60_iso_wkl", "60_iso_wkl_split_bs_rshift" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi": { "layout": [ @@ -837,7 +840,7 @@ {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/atxkb/1894/keyboard.json b/keyboards/atxkb/1894/keyboard.json index 5abaf88eb0b..878c3d998c1 100644 --- a/keyboards/atxkb/1894/keyboard.json +++ b/keyboards/atxkb/1894/keyboard.json @@ -60,7 +60,14 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", - "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_tsangan_hhkb"], + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan_split_bs_rshift" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -276,7 +283,7 @@ {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/atxkb/1894/keymaps/default_ansi_tsangan/keymap.c b/keyboards/atxkb/1894/keymaps/default_ansi_tsangan/keymap.c index 10190e13c48..ff4a61e4e4b 100644 --- a/keyboards/atxkb/1894/keymaps/default_ansi_tsangan/keymap.c +++ b/keyboards/atxkb/1894/keymaps/default_ansi_tsangan/keymap.c @@ -21,14 +21,14 @@ enum layer_names { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_60_tsangan_hhkb( /* Base */ + [_BASE] = LAYOUT_60_ansi_tsangan_split_bs_rshift( /* 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, MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_DEL, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ), - [_FN] = LAYOUT_60_tsangan_hhkb( /* FN */ + [_FN] = LAYOUT_60_ansi_tsangan_split_bs_rshift( /* FN */ 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_DEL, KC_BSPC, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, BL_STEP, _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, diff --git a/keyboards/bioi/f60/keyboard.json b/keyboards/bioi/f60/keyboard.json index 9adbb2f48ab..8974a68e027 100644 --- a/keyboards/bioi/f60/keyboard.json +++ b/keyboards/bioi/f60/keyboard.json @@ -53,7 +53,20 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", - "community_layouts": ["60_ansi", "60_ansi_tsangan", "60_ansi_split_bs_rshift", "60_hhkb", "60_tsangan_hhkb", "60_ansi_arrow", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan"], + "community_layouts": [ + "60_ansi", + "60_ansi_arrow", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift", + "60_hhkb", + "60_iso", + "60_iso_split_bs_rshift", + "60_iso_tsangan" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -406,7 +419,7 @@ {"matrix": [4, 12], "x": 12.5, "y": 4} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/bioi/g60/keyboard.json b/keyboards/bioi/g60/keyboard.json index b98aee8273f..4140abfbe2f 100644 --- a/keyboards/bioi/g60/keyboard.json +++ b/keyboards/bioi/g60/keyboard.json @@ -64,6 +64,9 @@ }, "processor": "atmega32u4", "bootloader": "qmk-dfu", + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -282,7 +285,7 @@ {"label": "\u2192", "matrix": [4, 13], "x": 14, "y": 4} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, @@ -496,7 +499,7 @@ {"label": "\u2192", "matrix": [4, 13], "x": 14, "y": 4} ] }, - "LAYOUT_60_tsangan_hhkb_iso": { + "LAYOUT_60_iso_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/bioi/g60ble/keyboard.json b/keyboards/bioi/g60ble/keyboard.json index 2d09fadff08..8b24556b37f 100644 --- a/keyboards/bioi/g60ble/keyboard.json +++ b/keyboards/bioi/g60ble/keyboard.json @@ -60,7 +60,16 @@ }, "processor": "atmega32u4", "bootloader": "qmk-dfu", - "community_layouts": ["60_ansi", "60_iso", "60_hhkb", "60_ansi_split_bs_rshift", "60_tsangan_hhkb"], + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan_split_bs_rshift", + "60_hhkb", + "60_iso" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -415,7 +424,7 @@ {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/blank/blank01/keyboard.json b/keyboards/blank/blank01/keyboard.json index f8af736bef8..672a292def3 100644 --- a/keyboards/blank/blank01/keyboard.json +++ b/keyboards/blank/blank01/keyboard.json @@ -32,8 +32,11 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/blank/blank01/keymaps/default/keymap.c b/keyboards/blank/blank01/keymaps/default/keymap.c index 2e2a863f278..03f8987fa7e 100644 --- a/keyboards/blank/blank01/keymaps/default/keymap.c +++ b/keyboards/blank/blank01/keymaps/default/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Default layer - [0] = LAYOUT_60_tsangan_hhkb( + [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_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, @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), // Fn1 Layer - [1] = LAYOUT_60_tsangan_hhkb( + [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_TRNS, KC_TRNS, KC_UP, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, diff --git a/keyboards/buildakb/mw60/keyboard.json b/keyboards/buildakb/mw60/keyboard.json index 9a8b7955a85..9969768345b 100644 --- a/keyboards/buildakb/mw60/keyboard.json +++ b/keyboards/buildakb/mw60/keyboard.json @@ -23,7 +23,24 @@ "pid": "0x0004", "vid": "0x4A56" }, - "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_tsangan_hhkb", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan", "60_iso_tsangan_split_bs_rshift", "60_iso_wkl", "60_iso_wkl_split_bs_rshift"], + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift", + "60_ansi_wkl", + "60_ansi_wkl_split_bs_rshift", + "60_hhkb", + "60_iso", + "60_iso_split_bs_rshift", + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift", + "60_iso_wkl", + "60_iso_wkl_split_bs_rshift" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi": { "layout": [ @@ -805,7 +822,7 @@ {"label": "k413", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "k000", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "k001", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/cannonkeys/an_c/keyboard.json b/keyboards/cannonkeys/an_c/keyboard.json index ea127998710..29225da183f 100644 --- a/keyboards/cannonkeys/an_c/keyboard.json +++ b/keyboards/cannonkeys/an_c/keyboard.json @@ -55,7 +55,10 @@ "resync": true } }, - "community_layouts": ["60_ansi", "60_tsangan_hhkb"], + "community_layouts": ["60_ansi", "60_ansi_tsangan_split_bs_rshift"], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi": { "layout": [ @@ -126,7 +129,7 @@ {"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/cannonkeys/an_c/keymaps/tsangan/keymap.c b/keyboards/cannonkeys/an_c/keymaps/tsangan/keymap.c index ac3e794880f..9d799168358 100644 --- a/keyboards/cannonkeys/an_c/keymaps/tsangan/keymap.c +++ b/keyboards/cannonkeys/an_c/keymaps/tsangan/keymap.c @@ -26,7 +26,7 @@ along with this program. If not, see . const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_60_tsangan_hhkb( + [_BASE] = LAYOUT_60_ansi_tsangan_split_bs_rshift( QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_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_BSPC, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ), - [_FN1] = LAYOUT_60_tsangan_hhkb( + [_FN1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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, _______, UG_TOGG, UG_NEXT, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/cannonkeys/bastion60/keyboard.json b/keyboards/cannonkeys/bastion60/keyboard.json index 07443b50b78..26cf507984c 100644 --- a/keyboards/cannonkeys/bastion60/keyboard.json +++ b/keyboards/cannonkeys/bastion60/keyboard.json @@ -53,12 +53,16 @@ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", - "60_iso_tsangan" + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi": { "layout": [ @@ -260,7 +264,7 @@ {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/cannonkeys/brutalv2_60/keyboard.json b/keyboards/cannonkeys/brutalv2_60/keyboard.json index 3ee5f0d576b..923be17c9af 100644 --- a/keyboards/cannonkeys/brutalv2_60/keyboard.json +++ b/keyboards/cannonkeys/brutalv2_60/keyboard.json @@ -29,12 +29,16 @@ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", - "60_iso_tsangan" + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -300,7 +304,7 @@ {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/cannonkeys/db60/hotswap/keyboard.json b/keyboards/cannonkeys/db60/hotswap/keyboard.json index d272b35a0f6..dfed24c5654 100644 --- a/keyboards/cannonkeys/db60/hotswap/keyboard.json +++ b/keyboards/cannonkeys/db60/hotswap/keyboard.json @@ -3,7 +3,13 @@ "usb": { "pid": "0xDB62" }, - "community_layouts": ["60_ansi", "60_tsangan_hhkb"], + "community_layouts": [ + "60_ansi", + "60_ansi_tsangan_split_bs_rshift" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi": { "layout": [ @@ -74,7 +80,7 @@ {"x": 13.75, "y": 4, "w": 1.25, "matrix": [4, 14]} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"x": 0, "y": 0, "matrix": [0, 0]}, {"x": 1, "y": 0, "matrix": [0, 1]}, diff --git a/keyboards/cannonkeys/db60/j02/keyboard.json b/keyboards/cannonkeys/db60/j02/keyboard.json index 0778b604fff..bb693bcfc04 100644 --- a/keyboards/cannonkeys/db60/j02/keyboard.json +++ b/keyboards/cannonkeys/db60/j02/keyboard.json @@ -3,7 +3,14 @@ "usb": { "pid": "0xDB60" }, - "community_layouts": ["60_ansi", "60_tsangan_hhkb", "60_iso"], + "community_layouts": [ + "60_ansi", + "60_ansi_tsangan_split_bs_rshift", + "60_iso" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi": { "layout": [ @@ -74,7 +81,7 @@ {"x": 13.75, "y": 4, "w": 1.25, "matrix": [4, 14]} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"x": 0, "y": 0, "matrix": [0, 0]}, {"x": 1, "y": 0, "matrix": [0, 1]}, diff --git a/keyboards/cannonkeys/db60/keymaps/tsangan/keymap.c b/keyboards/cannonkeys/db60/keymaps/tsangan/keymap.c index 279b238547e..f82afc8b323 100644 --- a/keyboards/cannonkeys/db60/keymaps/tsangan/keymap.c +++ b/keyboards/cannonkeys/db60/keymaps/tsangan/keymap.c @@ -28,7 +28,7 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_60_tsangan_hhkb( + [_BASE] = LAYOUT_60_ansi_tsangan_split_bs_rshift( QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_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_BSPC, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ), - [_FN1] = LAYOUT_60_tsangan_hhkb( + [_FN1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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, _______, UG_TOGG, UG_NEXT, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/cannonkeys/db60/rev2/keyboard.json b/keyboards/cannonkeys/db60/rev2/keyboard.json index dc45ffecd50..81fc8208d56 100644 --- a/keyboards/cannonkeys/db60/rev2/keyboard.json +++ b/keyboards/cannonkeys/db60/rev2/keyboard.json @@ -3,7 +3,14 @@ "usb": { "pid": "0xDB61" }, - "community_layouts": ["60_ansi", "60_tsangan_hhkb", "60_iso"], + "community_layouts": [ + "60_ansi", + "60_ansi_tsangan_split_bs_rshift", + "60_iso" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi": { "layout": [ @@ -74,7 +81,7 @@ {"x": 13.75, "y": 4, "w": 1.25, "matrix": [4, 14]} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"x": 0, "y": 0, "matrix": [0, 0]}, {"x": 1, "y": 0, "matrix": [0, 1]}, diff --git a/keyboards/cannonkeys/ellipse/keyboard.json b/keyboards/cannonkeys/ellipse/keyboard.json index 2f35c453516..c7e37befbdc 100644 --- a/keyboards/cannonkeys/ellipse/keyboard.json +++ b/keyboards/cannonkeys/ellipse/keyboard.json @@ -37,11 +37,15 @@ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_iso", "60_iso_split_bs_rshift", - "60_iso_tsangan" + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -324,7 +328,7 @@ {"label": "Ctrl", "matrix": [4, 14], "x": 13.5, "y": 4.0, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0.0, "y": 0.0}, {"label": "!", "matrix": [0, 1], "x": 1.0, "y": 0.0}, diff --git a/keyboards/cannonkeys/ellipse_hs/keyboard.json b/keyboards/cannonkeys/ellipse_hs/keyboard.json index 098882fcc3b..da79dea27af 100644 --- a/keyboards/cannonkeys/ellipse_hs/keyboard.json +++ b/keyboards/cannonkeys/ellipse_hs/keyboard.json @@ -24,13 +24,14 @@ "pid": "0x0016" }, "layout_aliases": { - "LAYOUT_all": "LAYOUT_60_tsangan_hhkb" + "LAYOUT_all": "LAYOUT_60_ansi_tsangan_split_bs_rshift", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, "community_layouts": [ - "60_tsangan_hhkb" + "60_ansi_tsangan_split_bs_rshift" ], "layouts": { - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/cannonkeys/ellipse_hs/keymaps/default/keymap.c b/keyboards/cannonkeys/ellipse_hs/keymaps/default/keymap.c index 3d829466c36..e4e3af2dabd 100644 --- a/keyboards/cannonkeys/ellipse_hs/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/ellipse_hs/keymaps/default/keymap.c @@ -12,7 +12,7 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_60_tsangan_hhkb( + [_BASE] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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, @@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ), - [_FN1] = LAYOUT_60_tsangan_hhkb( + [_FN1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, QK_BOOT ), - [_FN2] = LAYOUT_60_tsangan_hhkb( + [_FN2] = LAYOUT_60_ansi_tsangan_split_bs_rshift( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______ ), - [_FN3] = LAYOUT_60_tsangan_hhkb( + [_FN3] = LAYOUT_60_ansi_tsangan_split_bs_rshift( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/cannonkeys/instant60/keyboard.json b/keyboards/cannonkeys/instant60/keyboard.json index 3261a82f28b..f802823709b 100644 --- a/keyboards/cannonkeys/instant60/keyboard.json +++ b/keyboards/cannonkeys/instant60/keyboard.json @@ -55,7 +55,13 @@ "resync": true } }, - "community_layouts": ["60_ansi", "60_tsangan_hhkb"], + "community_layouts": [ + "60_ansi", + "60_ansi_tsangan_split_bs_rshift" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi": { "layout": [ @@ -126,7 +132,7 @@ {"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/cannonkeys/instant60/keymaps/tsangan/keymap.c b/keyboards/cannonkeys/instant60/keymaps/tsangan/keymap.c index dc04a39c5e6..c9e5d9ba16e 100644 --- a/keyboards/cannonkeys/instant60/keymaps/tsangan/keymap.c +++ b/keyboards/cannonkeys/instant60/keymaps/tsangan/keymap.c @@ -30,7 +30,7 @@ enum custom_keycodes { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_60_tsangan_hhkb( + [_BASE] = LAYOUT_60_ansi_tsangan_split_bs_rshift( QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_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_BSPC, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, @@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ), - [_FN1] = LAYOUT_60_tsangan_hhkb( + [_FN1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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, _______, UG_TOGG, UG_NEXT, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/cannonkeys/leviatan/keyboard.json b/keyboards/cannonkeys/leviatan/keyboard.json index 7e8d6c6fdd1..c929447e89d 100644 --- a/keyboards/cannonkeys/leviatan/keyboard.json +++ b/keyboards/cannonkeys/leviatan/keyboard.json @@ -23,7 +23,14 @@ "diode_direction": "COL2ROW", "processor": "STM32F072", "bootloader": "stm32-dfu", - "community_layouts": ["60_ansi", "60_tsangan_hhkb", "60_iso"], + "community_layouts": [ + "60_ansi", + "60_ansi_tsangan_split_bs_rshift", + "60_iso" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi": { "layout": [ @@ -94,7 +101,7 @@ {"x": 13.75, "y": 4, "w": 1.25, "matrix": [4, 14]} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"x": 0, "y": 0, "matrix": [0, 0]}, {"x": 1, "y": 0, "matrix": [0, 1]}, diff --git a/keyboards/cannonkeys/leviatan/keymaps/tsangan/keymap.c b/keyboards/cannonkeys/leviatan/keymaps/tsangan/keymap.c index c735160c3d6..30d1781fe65 100644 --- a/keyboards/cannonkeys/leviatan/keymaps/tsangan/keymap.c +++ b/keyboards/cannonkeys/leviatan/keymaps/tsangan/keymap.c @@ -28,7 +28,7 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_60_tsangan_hhkb( + [_BASE] = LAYOUT_60_ansi_tsangan_split_bs_rshift( QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_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_BSPC, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ), - [_FN1] = LAYOUT_60_tsangan_hhkb( + [_FN1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/cannonkeys/moment/keyboard.json b/keyboards/cannonkeys/moment/keyboard.json index 4e489a7d973..4aec3c9c060 100644 --- a/keyboards/cannonkeys/moment/keyboard.json +++ b/keyboards/cannonkeys/moment/keyboard.json @@ -35,9 +35,13 @@ }, "community_layouts": [ "60_ansi_tsangan", - "60_tsangan_hhkb", - "60_iso_tsangan" + "60_ansi_tsangan_split_bs_rshift", + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -179,7 +183,7 @@ {"label": "Ctrl", "matrix": [4, 14], "x": 13.5, "y": 4.0, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0.0, "y": 0.0}, {"label": "!", "matrix": [0, 1], "x": 1.0, "y": 0.0}, @@ -318,7 +322,7 @@ {"label": "Ctrl", "matrix": [4, 14], "x": 13.5, "y": 4.0, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb_iso": { + "LAYOUT_60_iso_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0.0, "y": 0.0}, {"label": "!", "matrix": [0, 1], "x": 1.0, "y": 0.0}, diff --git a/keyboards/cannonkeys/moment_hs/keyboard.json b/keyboards/cannonkeys/moment_hs/keyboard.json index c83c5e7a9d7..dc1f6503227 100644 --- a/keyboards/cannonkeys/moment_hs/keyboard.json +++ b/keyboards/cannonkeys/moment_hs/keyboard.json @@ -28,13 +28,14 @@ "pid": "0x0013" }, "layout_aliases": { - "LAYOUT_all": "LAYOUT_60_tsangan_hhkb" + "LAYOUT_all": "LAYOUT_60_ansi_tsangan_split_bs_rshift", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, "community_layouts": [ - "60_tsangan_hhkb" + "60_ansi_tsangan_split_bs_rshift" ], "layouts": { - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/cannonkeys/moment_hs/keymaps/default/keymap.c b/keyboards/cannonkeys/moment_hs/keymaps/default/keymap.c index 3d829466c36..e4e3af2dabd 100644 --- a/keyboards/cannonkeys/moment_hs/keymaps/default/keymap.c +++ b/keyboards/cannonkeys/moment_hs/keymaps/default/keymap.c @@ -12,7 +12,7 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_60_tsangan_hhkb( + [_BASE] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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, @@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ), - [_FN1] = LAYOUT_60_tsangan_hhkb( + [_FN1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, QK_BOOT ), - [_FN2] = LAYOUT_60_tsangan_hhkb( + [_FN2] = LAYOUT_60_ansi_tsangan_split_bs_rshift( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, _______, _______, _______, _______, _______ ), - [_FN3] = LAYOUT_60_tsangan_hhkb( + [_FN3] = LAYOUT_60_ansi_tsangan_split_bs_rshift( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/cannonkeys/vector/keyboard.json b/keyboards/cannonkeys/vector/keyboard.json index 09fd5b601fd..46fc0b45780 100644 --- a/keyboards/cannonkeys/vector/keyboard.json +++ b/keyboards/cannonkeys/vector/keyboard.json @@ -29,9 +29,13 @@ }, "community_layouts": [ "60_ansi_tsangan", - "60_tsangan_hhkb", - "60_iso_tsangan" + "60_ansi_tsangan_split_bs_rshift", + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -174,7 +178,7 @@ {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/checkerboards/g_idb60/keyboard.json b/keyboards/checkerboards/g_idb60/keyboard.json index b4fc0f9b6d9..16f70dc8683 100644 --- a/keyboards/checkerboards/g_idb60/keyboard.json +++ b/keyboards/checkerboards/g_idb60/keyboard.json @@ -30,11 +30,12 @@ "processor": "atmega32u4", "bootloader": "atmel-dfu", "layout_aliases": { - "LAYOUT_all": "LAYOUT_60_tsangan_hhkb" + "LAYOUT_all": "LAYOUT_60_ansi_tsangan_split_bs_rshift", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, "community_layouts": [ "60_ansi_tsangan", - "60_tsangan_hhkb" + "60_ansi_tsangan_split_bs_rshift" ], "layouts": { "LAYOUT_60_ansi_tsangan": { @@ -105,7 +106,7 @@ {"label": "Ctrl", "matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/checkerboards/g_idb60/keymaps/default/keymap.c b/keyboards/checkerboards/g_idb60/keymaps/default/keymap.c index f49a3ff09d5..8f783947535 100644 --- a/keyboards/checkerboards/g_idb60/keymaps/default/keymap.c +++ b/keyboards/checkerboards/g_idb60/keymaps/default/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Ctrl |GUI |Alt | Space |Alt |GUI |Ctrl | * `-------------------------------------------------------------' */ - [0] = LAYOUT_60_tsangan_hhkb( + [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_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_BSPC, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, @@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | |QK_BOOT | * `------------------------------------------------------------------------------' */ - [1] = LAYOUT_60_tsangan_hhkb( + [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | |QK_BOOT | * `------------------------------------------------------------------------------' */ - [2] = LAYOUT_60_tsangan_hhkb( + [2] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/checkerboards/nop60/keyboard.json b/keyboards/checkerboards/nop60/keyboard.json index a07c2af3bc5..9b86a3936a4 100644 --- a/keyboards/checkerboards/nop60/keyboard.json +++ b/keyboards/checkerboards/nop60/keyboard.json @@ -59,11 +59,12 @@ "processor": "atmega32u4", "bootloader": "atmel-dfu", "layout_aliases": { - "LAYOUT_2x3u": "LAYOUT_60_tsangan_hhkb_split_space", - "LAYOUT_7u": "LAYOUT_60_tsangan_hhkb" + "LAYOUT_2x3u": "LAYOUT_60_ansi_tsangan_split_bs_rshift_split_space", + "LAYOUT_7u": "LAYOUT_60_ansi_tsangan_split_bs_rshift", + "LAYOUT_60_tsangan_hhkb_split_space": "LAYOUT_60_ansi_tsangan_split_bs_rshift_split_space" }, "layouts": { - "LAYOUT_60_tsangan_hhkb_split_space": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift_split_space": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -135,7 +136,7 @@ {"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/checkerboards/nop60/keymaps/7u/keymap.c b/keyboards/checkerboards/nop60/keymaps/7u/keymap.c index 6cf55851fd5..8443807d5ff 100644 --- a/keyboards/checkerboards/nop60/keymaps/7u/keymap.c +++ b/keyboards/checkerboards/nop60/keymaps/7u/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Ctrl |GUI |Alt | Space |Alt |GUI |Ctrl | * `-------------------------------------------------------------' */ - [0] = LAYOUT_60_tsangan_hhkb( + [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_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_BSPC, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, @@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | |QK_BOOT | * `------------------------------------------------------------------------------' */ - [1] = LAYOUT_60_tsangan_hhkb( + [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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, _______, UG_TOGG, UG_NEXT, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | |QK_BOOT | * `------------------------------------------------------------------------------' */ - [2] = LAYOUT_60_tsangan_hhkb( + [2] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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, _______, UG_TOGG, UG_NEXT, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/checkerboards/nop60/keymaps/default/keymap.c b/keyboards/checkerboards/nop60/keymaps/default/keymap.c index 6c64d98c122..9a8fb4f8b79 100644 --- a/keyboards/checkerboards/nop60/keymaps/default/keymap.c +++ b/keyboards/checkerboards/nop60/keymaps/default/keymap.c @@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Ctrl |GUI |Alt |Space |BLTOG |Space |Alt |GUI |Ctrl | * `-------------------------------------------------------------' */ - [0] = LAYOUT_60_tsangan_hhkb_split_space( + [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift_split_space( QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_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_BSPC, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, @@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | |QK_BOOT | * `------------------------------------------------------------------------------' */ - [1] = LAYOUT_60_tsangan_hhkb_split_space( + [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift_split_space( 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, _______, UG_TOGG, UG_NEXT, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -73,7 +73,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | |QK_BOOT | * `------------------------------------------------------------------------------' */ - [2] = LAYOUT_60_tsangan_hhkb_split_space( + [2] = LAYOUT_60_ansi_tsangan_split_bs_rshift_split_space( 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, _______, UG_TOGG, UG_NEXT, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/chickenman/ciel/keyboard.json b/keyboards/chickenman/ciel/keyboard.json index 554d41c3945..f28995794cd 100644 --- a/keyboards/chickenman/ciel/keyboard.json +++ b/keyboards/chickenman/ciel/keyboard.json @@ -29,7 +29,14 @@ "diode_direction": "COL2ROW", "processor": "atmega32u2", "bootloader": "atmel-dfu", - "community_layouts": ["60_ansi_split_bs_rshift", "60_ansi", "60_tsangan_hhkb"], + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan_split_bs_rshift" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi_split_bs_rshift": { "layout": [ @@ -171,7 +178,7 @@ {"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/chlx/lfn_merro60/keyboard.json b/keyboards/chlx/lfn_merro60/keyboard.json index a35b598f0eb..54a235c7f83 100644 --- a/keyboards/chlx/lfn_merro60/keyboard.json +++ b/keyboards/chlx/lfn_merro60/keyboard.json @@ -34,7 +34,24 @@ "pid": "0x0604", "vid": "0x4358" }, - "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_tsangan_hhkb", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan", "60_iso_tsangan_split_bs_rshift", "60_iso_wkl", "60_iso_wkl_split_bs_rshift"], + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift", + "60_ansi_wkl", + "60_ansi_wkl_split_bs_rshift", + "60_hhkb", + "60_iso", + "60_iso_split_bs_rshift", + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift", + "60_iso_wkl", + "60_iso_wkl_split_bs_rshift" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi": { "layout": [ @@ -816,7 +833,7 @@ {"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [1, 0], "x": 1, "y": 0}, diff --git a/keyboards/chlx/merro60/keyboard.json b/keyboards/chlx/merro60/keyboard.json index 700af7e7e74..31f83f80a59 100644 --- a/keyboards/chlx/merro60/keyboard.json +++ b/keyboards/chlx/merro60/keyboard.json @@ -33,9 +33,16 @@ "LAYOUT_default": "LAYOUT_all", "LAYOUT_hhkb": "LAYOUT_60_hhkb", "LAYOUT_iso": "LAYOUT_60_iso_split_bs_rshift", - "LAYOUT_tsangan": "LAYOUT_60_tsangan_hhkb" + "LAYOUT_tsangan": "LAYOUT_60_ansi_tsangan_split_bs_rshift", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, - "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_hhkb", "60_iso", "60_tsangan_hhkb"], + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan_split_bs_rshift", + "60_hhkb", + "60_iso" + ], "layouts": { "LAYOUT_all": { "layout": [ @@ -460,7 +467,7 @@ {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/chlx/merro60/keymaps/tsangan/keymap.c b/keyboards/chlx/merro60/keymaps/tsangan/keymap.c index 557711eeed6..e7266d227e2 100644 --- a/keyboards/chlx/merro60/keymaps/tsangan/keymap.c +++ b/keyboards/chlx/merro60/keymaps/tsangan/keymap.c @@ -19,14 +19,14 @@ along with this program. If not, see . const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT_60_tsangan_hhkb( +[0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL), -[1] = LAYOUT_60_tsangan_hhkb( +[1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/chlx/ppr_merro60/keyboard.json b/keyboards/chlx/ppr_merro60/keyboard.json index f8f45232a1a..9f056fef529 100644 --- a/keyboards/chlx/ppr_merro60/keyboard.json +++ b/keyboards/chlx/ppr_merro60/keyboard.json @@ -34,7 +34,24 @@ "pid": "0x0603", "vid": "0x4358" }, - "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_tsangan_hhkb", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan", "60_iso_tsangan_split_bs_rshift", "60_iso_wkl", "60_iso_wkl_split_bs_rshift"], + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift", + "60_ansi_wkl", + "60_ansi_wkl_split_bs_rshift", + "60_hhkb", + "60_iso", + "60_iso_split_bs_rshift", + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift", + "60_iso_wkl", + "60_iso_wkl_split_bs_rshift" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi": { "layout": [ @@ -816,7 +833,7 @@ {"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [1, 0], "x": 1, "y": 0}, diff --git a/keyboards/chlx/ppr_merro60/keymaps/tsangan/keymap.c b/keyboards/chlx/ppr_merro60/keymaps/tsangan/keymap.c index 73282416ab8..53f0cd52361 100644 --- a/keyboards/chlx/ppr_merro60/keymaps/tsangan/keymap.c +++ b/keyboards/chlx/ppr_merro60/keymaps/tsangan/keymap.c @@ -19,14 +19,14 @@ along with this program. If not, see . const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT_60_tsangan_hhkb( +[0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL), -[1] = LAYOUT_60_tsangan_hhkb( +[1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, KC_CAPS, _______, KC_HOME, KC_UP, KC_PGUP, _______, _______, _______, _______, _______, _______, KC_UP, _______, QK_BOOT, _______, KC_END, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, diff --git a/keyboards/chlx/str_merro60/keyboard.json b/keyboards/chlx/str_merro60/keyboard.json index cfd0286dd35..4310f81d2e1 100644 --- a/keyboards/chlx/str_merro60/keyboard.json +++ b/keyboards/chlx/str_merro60/keyboard.json @@ -53,9 +53,16 @@ "LAYOUT_default": "LAYOUT_all", "LAYOUT_hhkb": "LAYOUT_60_hhkb", "LAYOUT_iso": "LAYOUT_60_iso_split_bs_rshift", - "LAYOUT_tsangan": "LAYOUT_60_tsangan_hhkb" + "LAYOUT_tsangan": "LAYOUT_60_ansi_tsangan_split_bs_rshift", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, - "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_hhkb", "60_iso", "60_tsangan_hhkb"], + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan_split_bs_rshift", + "60_hhkb", + "60_iso" + ], "layouts": { "LAYOUT_all": { "layout": [ @@ -480,7 +487,7 @@ {"matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [1, 0], "x": 1, "y": 0}, diff --git a/keyboards/chlx/str_merro60/keymaps/tsangan/keymap.c b/keyboards/chlx/str_merro60/keymaps/tsangan/keymap.c index 1ee50bdaf0b..56888fefc88 100644 --- a/keyboards/chlx/str_merro60/keymaps/tsangan/keymap.c +++ b/keyboards/chlx/str_merro60/keymaps/tsangan/keymap.c @@ -19,14 +19,14 @@ along with this program. If not, see . const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT_60_tsangan_hhkb( +[0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL), -[1] = LAYOUT_60_tsangan_hhkb( +[1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/cipulot/chroma/keyboard.json b/keyboards/cipulot/chroma/keyboard.json index 5d418fdce1f..b029d324f42 100644 --- a/keyboards/cipulot/chroma/keyboard.json +++ b/keyboards/cipulot/chroma/keyboard.json @@ -25,7 +25,20 @@ }, "vid": "0x6369" }, - "community_layouts": ["60_ansi_tsangan", "60_tsangan_hhkb", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb", "60_iso_tsangan", "60_iso_tsangan_split_bs_rshift", "60_iso_wkl", "60_iso_wkl_split_bs_rshift"], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, + "community_layouts": [ + "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift", + "60_ansi_wkl", + "60_ansi_wkl_split_bs_rshift", + "60_hhkb", + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift", + "60_iso_wkl", + "60_iso_wkl_split_bs_rshift" + ], "layouts": { "LAYOUT_60_ansi_tsangan": { "layout": [ @@ -541,7 +554,7 @@ {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/cipulot/mnk_60_ec/keyboard.json b/keyboards/cipulot/mnk_60_ec/keyboard.json index 802e216f672..8929e3d5ff8 100644 --- a/keyboards/cipulot/mnk_60_ec/keyboard.json +++ b/keyboards/cipulot/mnk_60_ec/keyboard.json @@ -25,7 +25,14 @@ "pid": "0x6BB6", "vid": "0x6369" }, - "community_layouts": ["60_ansi_wkl_split_bs_rshift", "60_hhkb", "60_tsangan_hhkb"], + "community_layouts": [ + "60_ansi_wkl_split_bs_rshift", + "60_hhkb", + "60_ansi_tsangan_split_bs_rshift" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi_wkl_split_bs_rshift": { "layout": [ @@ -155,7 +162,7 @@ {"matrix": [4, 11], "x": 12.5, "y": 4} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/cipulot/mnk_60_ec/keymaps/default/keymap.c b/keyboards/cipulot/mnk_60_ec/keymaps/default/keymap.c index 08599b93d3a..6ce10b13752 100644 --- a/keyboards/cipulot/mnk_60_ec/keymaps/default/keymap.c +++ b/keyboards/cipulot/mnk_60_ec/keymaps/default/keymap.c @@ -18,21 +18,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // clang-format off - [0] = LAYOUT_60_tsangan_hhkb( + [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RCTL, KC_RGUI, KC_RALT), - [1] = LAYOUT_60_tsangan_hhkb( + [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, KC_UP, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, S(KC_8), KC_SLSH, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, S(KC_EQL), KC_MINS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______, _______, _______, _______, _______, MO(2), _______), - [2] = LAYOUT_60_tsangan_hhkb( + [2] = LAYOUT_60_ansi_tsangan_split_bs_rshift( QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/cutie_club/keebcats/denis/keyboard.json b/keyboards/cutie_club/keebcats/denis/keyboard.json index f9d06af12ad..098ae39cd24 100644 --- a/keyboards/cutie_club/keebcats/denis/keyboard.json +++ b/keyboards/cutie_club/keebcats/denis/keyboard.json @@ -32,7 +32,19 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", - "community_layouts": ["60_iso_tsangan", "60_iso_split_bs_rshift", "60_iso", "60_tsangan_hhkb", "60_hhkb", "60_ansi_tsangan", "60_ansi_split_bs_rshift", "60_ansi"], + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift", + "60_hhkb", + "60_iso", + "60_iso_split_bs_rshift", + "60_iso_tsangan" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -596,7 +608,7 @@ {"matrix": [4, 12], "x": 12.5, "y": 4} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/deemen17/de60fs/keyboard.json b/keyboards/deemen17/de60fs/keyboard.json index b2d9a12f4e7..573c012baaf 100644 --- a/keyboards/deemen17/de60fs/keyboard.json +++ b/keyboards/deemen17/de60fs/keyboard.json @@ -49,11 +49,12 @@ "pin": "GP11" }, "layout_aliases": { - "LAYOUT_all": "LAYOUT_60_tsangan_hhkb" + "LAYOUT_all": "LAYOUT_60_ansi_tsangan_split_bs_rshift", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, "community_layouts": [ "60_ansi_tsangan", - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb" @@ -127,7 +128,7 @@ {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/dnworks/sbl/keyboard.json b/keyboards/dnworks/sbl/keyboard.json index 81461ead4d5..2086fc5aa12 100644 --- a/keyboards/dnworks/sbl/keyboard.json +++ b/keyboards/dnworks/sbl/keyboard.json @@ -27,16 +27,18 @@ "cols": ["GP28","GP27","GP26","GP25","GP24","GP23","GP22","GP3","GP2","GP1","GP8","GP9","GP10","GP11","GP7"] }, "layout_aliases": { - "LAYOUT": "LAYOUT_all" + "LAYOUT": "LAYOUT_all", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, "community_layouts": [ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_iso", "60_iso_split_bs_rshift", - "60_iso_tsangan" + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift" ], "layouts": { "LAYOUT_all": { @@ -320,7 +322,7 @@ {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/dp60/keyboard.json b/keyboards/dp60/keyboard.json index 9780141ceab..51a2c08d470 100644 --- a/keyboards/dp60/keyboard.json +++ b/keyboards/dp60/keyboard.json @@ -151,9 +151,15 @@ }, "layout_aliases": { "LAYOUT_60_wkl": "LAYOUT_60_ansi_tsangan_split_rshift", - "LAYOUT_60_wkl_split_bs": "LAYOUT_60_tsangan_hhkb" + "LAYOUT_60_wkl_split_bs": "LAYOUT_60_ansi_tsangan_split_bs_rshift", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, - "community_layouts": ["60_ansi", "60_hhkb", "60_iso", "60_ansi_split_bs_rshift"], + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_hhkb", + "60_iso" + ], "layouts": { "LAYOUT_60_ansi_tsangan_split_rshift": { "layout": [ @@ -502,7 +508,7 @@ {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/dyz/dyz60_hs/keyboard.json b/keyboards/dyz/dyz60_hs/keyboard.json index 637f02d910d..112b1285772 100644 --- a/keyboards/dyz/dyz60_hs/keyboard.json +++ b/keyboards/dyz/dyz60_hs/keyboard.json @@ -51,7 +51,16 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", - "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_tsangan_hhkb", "60_iso", "60_iso_split_bs_rshift"], + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan_split_bs_rshift", + "60_iso", + "60_iso_split_bs_rshift" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -266,7 +275,7 @@ {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/dz60/keyboard.json b/keyboards/dz60/keyboard.json index e3e74959582..8a8e631f1b7 100644 --- a/keyboards/dz60/keyboard.json +++ b/keyboards/dz60/keyboard.json @@ -60,7 +60,18 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", - "community_layouts": ["60_ansi", "60_ansi_arrow", "60_ansi_split_bs_rshift", "60_hhkb", "60_iso", "60_abnt2", "60_tsangan_hhkb"], + "community_layouts": [ + "60_ansi", + "60_ansi_arrow", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan_split_bs_rshift", + "60_hhkb", + "60_iso", + "60_abnt2" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT": { "layout": [ @@ -1425,7 +1436,7 @@ {"matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/dztech/dz60rgb_wkl/info.json b/keyboards/dztech/dz60rgb_wkl/info.json index 52685db180f..ca43c1cbd70 100644 --- a/keyboards/dztech/dz60rgb_wkl/info.json +++ b/keyboards/dztech/dz60rgb_wkl/info.json @@ -6,12 +6,13 @@ "usb": { "vid": "0x445A" }, - "community_layouts": ["60_tsangan_hhkb"], + "community_layouts": ["60_ansi_tsangan_split_bs_rshift"], "layout_aliases": { - "LAYOUT_HHKB": "LAYOUT_60_tsangan_hhkb" + "LAYOUT_HHKB": "LAYOUT_60_ansi_tsangan_split_bs_rshift", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, "layouts": { - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/dztech/dz60rgb_wkl/keymaps/default/keymap.c b/keyboards/dztech/dz60rgb_wkl/keymaps/default/keymap.c index bf02a301be1..a1bbe830e31 100644 --- a/keyboards/dztech/dz60rgb_wkl/keymaps/default/keymap.c +++ b/keyboards/dztech/dz60rgb_wkl/keymaps/default/keymap.c @@ -1,21 +1,21 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_60_tsangan_hhkb( + [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_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_BSPC, CTL_T(KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(2), KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL ), - [1] = LAYOUT_60_tsangan_hhkb( + [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, _______ ), - [2] = LAYOUT_60_tsangan_hhkb( + [2] = LAYOUT_60_ansi_tsangan_split_bs_rshift( _______, 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_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, RGB_MOD, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, _______, diff --git a/keyboards/dztech/dz60v2/keyboard.json b/keyboards/dztech/dz60v2/keyboard.json index 52889396089..7714e4b7d25 100644 --- a/keyboards/dztech/dz60v2/keyboard.json +++ b/keyboards/dztech/dz60v2/keyboard.json @@ -53,14 +53,18 @@ "60_ansi_arrow", "60_ansi_split_bs_rshift", "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan", - "60_tsangan_hhkb", + "60_iso_tsangan_split_bs_rshift" "64_ansi", "64_iso" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT": { "layout": [ @@ -1818,7 +1822,7 @@ { "label": "k4e", "matrix": [4, 14], "w": 1.5, "x": 13.5, "y": 4 } ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ { "label": "k00", "matrix": [0, 0], "x": 0, "y": 0 }, { "label": "k01", "matrix": [0, 1], "x": 1, "y": 0 }, diff --git a/keyboards/dztech/tofu60/keyboard.json b/keyboards/dztech/tofu60/keyboard.json index 57c57604d13..149f04d46a8 100644 --- a/keyboards/dztech/tofu60/keyboard.json +++ b/keyboards/dztech/tofu60/keyboard.json @@ -29,12 +29,16 @@ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan", - "60_tsangan_hhkb" + "60_iso_tsangan_split_bs_rshift" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi": { "layout": [ @@ -381,7 +385,7 @@ { "label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5 } ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ { "label": "~", "matrix": [0, 0], "x": 0, "y": 0 }, { "label": "!", "matrix": [0, 1], "x": 1, "y": 0 }, diff --git a/keyboards/evyd13/plain60/keyboard.json b/keyboards/evyd13/plain60/keyboard.json index 711bc515596..ce08a523ed7 100644 --- a/keyboards/evyd13/plain60/keyboard.json +++ b/keyboards/evyd13/plain60/keyboard.json @@ -27,7 +27,17 @@ }, "processor": "atmega32u4", "bootloader": "qmk-dfu", - "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_hhkb", "60_iso", "60_tsangan_hhkb"], + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan_split_bs_rshift", + "60_hhkb", + "60_iso", + "60_iso_split_bs_rshift" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT": { "layout": [ @@ -452,7 +462,7 @@ {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/exclusive/e6_rgb/keyboard.json b/keyboards/exclusive/e6_rgb/keyboard.json index 36c186584f3..401bee9abac 100644 --- a/keyboards/exclusive/e6_rgb/keyboard.json +++ b/keyboards/exclusive/e6_rgb/keyboard.json @@ -48,9 +48,15 @@ "processor": "atmega32u4", "bootloader": "atmel-dfu", "layout_aliases": { - "LAYOUT_60_wkl_split_bs": "LAYOUT_60_tsangan_hhkb" + "LAYOUT_60_wkl_split_bs": "LAYOUT_60_ansi_tsangan_split_bs_rshift", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, - "community_layouts": ["60_ansi", "60_hhkb", "60_tsangan_hhkb", "60_ansi_split_bs_rshift"], + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan_split_bs_rshift", + "60_hhkb" + ], "layouts": { "LAYOUT_60_ansi": { "layout": [ @@ -189,7 +195,7 @@ {"matrix": [4, 12], "x": 12.5, "y": 4} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/exclusive/e6_rgb/keymaps/60_tsangan_hhkb/keymap.c b/keyboards/exclusive/e6_rgb/keymaps/60_tsangan_hhkb/keymap.c index fef10517adb..ec354f398fe 100644 --- a/keyboards/exclusive/e6_rgb/keymaps/60_tsangan_hhkb/keymap.c +++ b/keyboards/exclusive/e6_rgb/keymaps/60_tsangan_hhkb/keymap.c @@ -1,14 +1,14 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_60_tsangan_hhkb( + [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_END, KC_CAPS, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL ), - [1] = LAYOUT_60_tsangan_hhkb( + [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( _______, 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, UG_TOGG, UG_NEXT, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, diff --git a/keyboards/fjlabs/midway60/keyboard.json b/keyboards/fjlabs/midway60/keyboard.json index d05975699b6..98ebcba6498 100644 --- a/keyboards/fjlabs/midway60/keyboard.json +++ b/keyboards/fjlabs/midway60/keyboard.json @@ -35,11 +35,15 @@ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_iso", "60_iso_split_bs_rshift", - "60_iso_tsangan" + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -321,7 +325,7 @@ {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/fjlabs/polaris/keyboard.json b/keyboards/fjlabs/polaris/keyboard.json index 674cf8484bc..a16b547c8db 100644 --- a/keyboards/fjlabs/polaris/keyboard.json +++ b/keyboards/fjlabs/polaris/keyboard.json @@ -35,11 +35,15 @@ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_iso", "60_iso_split_bs_rshift", - "60_iso_tsangan" + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -323,7 +327,7 @@ {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/fjlabs/sinanjuwk/keyboard.json b/keyboards/fjlabs/sinanjuwk/keyboard.json index cb1565c6829..66c9f683c05 100644 --- a/keyboards/fjlabs/sinanjuwk/keyboard.json +++ b/keyboards/fjlabs/sinanjuwk/keyboard.json @@ -32,13 +32,14 @@ } }, "layout_aliases": { - "LAYOUT_all": "LAYOUT_60_ansi_split_bs_rshift" + "LAYOUT_all": "LAYOUT_60_ansi_split_bs_rshift", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, "community_layouts": [ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", - "60_tsangan_hhkb" + "60_ansi_tsangan_split_bs_rshift" ], "layouts": { "LAYOUT_60_ansi": { @@ -249,7 +250,7 @@ {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/foxlab/leaf60/hotswap/keyboard.json b/keyboards/foxlab/leaf60/hotswap/keyboard.json index b452fb91e37..55639853e90 100644 --- a/keyboards/foxlab/leaf60/hotswap/keyboard.json +++ b/keyboards/foxlab/leaf60/hotswap/keyboard.json @@ -61,8 +61,11 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/foxlab/leaf60/hotswap/keymaps/default/keymap.c b/keyboards/foxlab/leaf60/hotswap/keymaps/default/keymap.c index 1edc814bab0..b52ab44e8f5 100644 --- a/keyboards/foxlab/leaf60/hotswap/keymaps/default/keymap.c +++ b/keyboards/foxlab/leaf60/hotswap/keymaps/default/keymap.c @@ -17,14 +17,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - LAYOUT_60_tsangan_hhkb( + LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_GRV, KC_BSLS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_DEL, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RCTL), - LAYOUT_60_tsangan_hhkb( + LAYOUT_60_ansi_tsangan_split_bs_rshift( QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, BL_DOWN,BL_UP, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/geonworks/frogmini/fmh/keyboard.json b/keyboards/geonworks/frogmini/fmh/keyboard.json index 29c5ee8272c..414aa18e121 100644 --- a/keyboards/geonworks/frogmini/fmh/keyboard.json +++ b/keyboards/geonworks/frogmini/fmh/keyboard.json @@ -33,11 +33,16 @@ "processor": "STM32F401", "bootloader": "stm32-dfu", "layout_aliases": { - "LAYOUT_all": "LAYOUT_60_tsangan_hhkb" + "LAYOUT_all": "LAYOUT_60_ansi_tsangan_split_bs_rshift", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, - "community_layouts": ["60_tsangan_hhkb", "60_ansi_tsangan", "60_hhkb"], + "community_layouts": [ + "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift", + "60_hhkb" + ], "layouts": { - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/geonworks/frogmini/fmh/keymaps/default/keymap.c b/keyboards/geonworks/frogmini/fmh/keymaps/default/keymap.c index 4a800e085b1..b4a9e530800 100644 --- a/keyboards/geonworks/frogmini/fmh/keymaps/default/keymap.c +++ b/keyboards/geonworks/frogmini/fmh/keymaps/default/keymap.c @@ -16,28 +16,28 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT_60_tsangan_hhkb( /* Base */ +[0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( /* Base */ QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ), -[1] = LAYOUT_60_tsangan_hhkb( +[1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_60_tsangan_hhkb( +[2] = LAYOUT_60_ansi_tsangan_split_bs_rshift( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), -[3] = LAYOUT_60_tsangan_hhkb( +[3] = LAYOUT_60_ansi_tsangan_split_bs_rshift( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/geonworks/frogmini/fms/keyboard.json b/keyboards/geonworks/frogmini/fms/keyboard.json index 06a9c560473..c34765288bc 100644 --- a/keyboards/geonworks/frogmini/fms/keyboard.json +++ b/keyboards/geonworks/frogmini/fms/keyboard.json @@ -37,6 +37,10 @@ }, "processor": "STM32F401", "bootloader": "stm32-dfu", + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift", + "LAYOUT_60_tsangan_hhkb_10u_space": "LAYOUT_60_ansi_tsangan_split_bs_rshift_10u_space" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -319,7 +323,7 @@ {"matrix": [5, 12], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, @@ -591,7 +595,7 @@ {"matrix": [5, 11], "x": 12.5, "y": 4} ] }, - "LAYOUT_60_tsangan_hhkb_10u_space": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift_10u_space": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/geonworks/frogmini/fms/keymaps/default_60_tsangan_hhkb_10u_space/keymap.c b/keyboards/geonworks/frogmini/fms/keymaps/default_60_tsangan_hhkb_10u_space/keymap.c index db8693a1460..041d458e9b7 100644 --- a/keyboards/geonworks/frogmini/fms/keymaps/default_60_tsangan_hhkb_10u_space/keymap.c +++ b/keyboards/geonworks/frogmini/fms/keymaps/default_60_tsangan_hhkb_10u_space/keymap.c @@ -16,28 +16,28 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT_60_tsangan_hhkb_10u_space( /* Base */ +[0] = LAYOUT_60_ansi_tsangan_split_bs_rshift_10u_space( /* Base */ QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_LCTL, KC_LGUI, KC_SPC, MO(1), KC_RCTL ), -[1] = LAYOUT_60_tsangan_hhkb_10u_space( +[1] = LAYOUT_60_ansi_tsangan_split_bs_rshift_10u_space( 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, KC_TRNS, KC_TRNS, 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_60_tsangan_hhkb_10u_space( +[2] = LAYOUT_60_ansi_tsangan_split_bs_rshift_10u_space( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), -[3] = LAYOUT_60_tsangan_hhkb_10u_space( +[3] = LAYOUT_60_ansi_tsangan_split_bs_rshift_10u_space( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/gh60/revc/keyboard.json b/keyboards/gh60/revc/keyboard.json index ea9794d9d27..4f90f2540cc 100644 --- a/keyboards/gh60/revc/keyboard.json +++ b/keyboards/gh60/revc/keyboard.json @@ -33,7 +33,15 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", - "community_layouts": ["60_ansi", "60_iso", "60_ansi_split_bs_rshift", "60_tsangan_hhkb"], + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan_split_bs_rshift", + "60_iso" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -532,7 +540,7 @@ {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/handwired/fruity60/keyboard.json b/keyboards/handwired/fruity60/keyboard.json index 728b0c63cbb..7ea84bc052e 100644 --- a/keyboards/handwired/fruity60/keyboard.json +++ b/keyboards/handwired/fruity60/keyboard.json @@ -31,9 +31,12 @@ "resync": true } }, - "community_layouts": ["60_tsangan_hhkb"], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, + "community_layouts": ["60_ansi_tsangan_split_bs_rshift"], "layouts": { - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/handwired/fruity60/keymaps/default/keymap.c b/keyboards/handwired/fruity60/keymaps/default/keymap.c index ba748ac23bd..34a3d8a9ad2 100644 --- a/keyboards/handwired/fruity60/keymaps/default/keymap.c +++ b/keyboards/handwired/fruity60/keymaps/default/keymap.c @@ -6,7 +6,7 @@ enum layer { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [BASE] = LAYOUT_60_tsangan_hhkb( + [BASE] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_GRV, 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, LCTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, @@ -14,7 +14,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL ), - [FN] = LAYOUT_60_tsangan_hhkb( + [FN] = LAYOUT_60_ansi_tsangan_split_bs_rshift( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, EE_CLR, QK_BOOT, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/hineybush/h60/keyboard.json b/keyboards/hineybush/h60/keyboard.json index ea058b6d646..b7b24b2626e 100644 --- a/keyboards/hineybush/h60/keyboard.json +++ b/keyboards/hineybush/h60/keyboard.json @@ -61,7 +61,15 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", - "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_hhkb", "60_tsangan_hhkb"], + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan_split_bs_rshift", + "60_hhkb" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi": { "layout": [ @@ -271,7 +279,7 @@ {"matrix": [4, 11], "x": 12.5, "y": 4} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/horrortroll/paws60/keyboard.json b/keyboards/horrortroll/paws60/keyboard.json index ac93b580a08..fb158d57910 100644 --- a/keyboards/horrortroll/paws60/keyboard.json +++ b/keyboards/horrortroll/paws60/keyboard.json @@ -27,7 +27,15 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", - "community_layouts": ["60_ansi_split_bs_rshift", "60_ansi", "60_ansi_tsangan", "60_tsangan_hhkb"], + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi_split_bs_rshift": { "layout": [ @@ -237,7 +245,7 @@ {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/idb/idb_60/keyboard.json b/keyboards/idb/idb_60/keyboard.json index 80bbd17a5ae..22ed07b71bc 100644 --- a/keyboards/idb/idb_60/keyboard.json +++ b/keyboards/idb/idb_60/keyboard.json @@ -31,7 +31,8 @@ "bootloader": "atmel-dfu", "layout_aliases": { "LAYOUT": "LAYOUT_all", - "LAYOUT_default": "LAYOUT_60_ansi_wkl_split_rshift" + "LAYOUT_default": "LAYOUT_60_ansi_wkl_split_rshift", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, "layouts": { "LAYOUT_all": { @@ -173,7 +174,7 @@ {"matrix": [9, 6], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [1, 0], "x": 1, "y": 0}, diff --git a/keyboards/illusion/rosa/keyboard.json b/keyboards/illusion/rosa/keyboard.json index 7fef56841d8..29b7a2124d3 100644 --- a/keyboards/illusion/rosa/keyboard.json +++ b/keyboards/illusion/rosa/keyboard.json @@ -33,10 +33,10 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", - "community_layouts": ["60_ansi_tsangan", "60_tsangan_hhkb"], + "community_layouts": ["60_ansi_tsangan", "60_ansi_tsangan_split_bs_rshift"], "layout_aliases": { - "LAYOUT_all": "LAYOUT_60_tsangan_hhkb", - "LAYOUT_60_ansi_tsangan_split_bs_rshift": "LAYOUT_60_tsangan_hhkb" + "LAYOUT_all": "LAYOUT_60_ansi_tsangan_split_bs_rshift", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, "layouts": { "LAYOUT_60_ansi_tsangan": { @@ -176,7 +176,7 @@ {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/inett_studio/sqx/hotswap/keyboard.json b/keyboards/inett_studio/sqx/hotswap/keyboard.json index 071b38d992a..432112e7f45 100644 --- a/keyboards/inett_studio/sqx/hotswap/keyboard.json +++ b/keyboards/inett_studio/sqx/hotswap/keyboard.json @@ -81,9 +81,12 @@ "diode_direction": "ROW2COL", "processor": "atmega32u4", "bootloader": "atmel-dfu", - "community_layouts": ["60_tsangan_hhkb"], + "community_layouts": ["60_ansi_tsangan_split_bs_rshift"], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/inett_studio/sqx/hotswap/keymaps/default/keymap.c b/keyboards/inett_studio/sqx/hotswap/keymaps/default/keymap.c index 4c32519ed82..0b552abec9a 100644 --- a/keyboards/inett_studio/sqx/hotswap/keymaps/default/keymap.c +++ b/keyboards/inett_studio/sqx/hotswap/keymaps/default/keymap.c @@ -18,14 +18,14 @@ along with this program. If not, see . #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_60_tsangan_hhkb( + [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_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_END, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1),KC_RCTL), - [1] = LAYOUT_60_tsangan_hhkb( + [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( _______, 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,_______, diff --git a/keyboards/inett_studio/sqx/universal/keyboard.json b/keyboards/inett_studio/sqx/universal/keyboard.json index d201f391fab..11bb224a0f0 100644 --- a/keyboards/inett_studio/sqx/universal/keyboard.json +++ b/keyboards/inett_studio/sqx/universal/keyboard.json @@ -81,7 +81,16 @@ "diode_direction": "ROW2COL", "processor": "atmega32u4", "bootloader": "atmel-dfu", - "community_layouts": ["60_ansi", "60_hhkb", "60_iso", "60_ansi_split_bs_rshift", "60_tsangan_hhkb"], + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan_split_bs_rshift", + "60_hhkb", + "60_iso" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi_tsangan_split_rshift": { "layout": [ @@ -430,7 +439,7 @@ {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/iriskeyboards/keyboard.json b/keyboards/iriskeyboards/keyboard.json index 4a821b2649a..200c3a3f6ae 100644 --- a/keyboards/iriskeyboards/keyboard.json +++ b/keyboards/iriskeyboards/keyboard.json @@ -33,11 +33,15 @@ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_iso", "60_iso_split_bs_rshift", - "60_iso_tsangan" + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -319,7 +323,7 @@ {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "`", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/jacky_studio/piggy60/info.json b/keyboards/jacky_studio/piggy60/info.json index 9f851939162..39cc3fe9eee 100644 --- a/keyboards/jacky_studio/piggy60/info.json +++ b/keyboards/jacky_studio/piggy60/info.json @@ -139,7 +139,7 @@ {"label": "Alt", "matrix": [4, 12], "x": 12.5, "y": 4} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1!", "matrix": [0, 1], "x": 1, "y": 0}, @@ -205,5 +205,8 @@ {"label": "Ctrl", "matrix": [4, 13], "w": 1.5, "x": 13.5, "y": 4} ] } + }, + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" } } diff --git a/keyboards/jacky_studio/piggy60/keymaps/default/keymap.c b/keyboards/jacky_studio/piggy60/keymaps/default/keymap.c index d2458a1422c..f3d83c98aed 100644 --- a/keyboards/jacky_studio/piggy60/keymaps/default/keymap.c +++ b/keyboards/jacky_studio/piggy60/keymaps/default/keymap.c @@ -23,14 +23,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * │Ctrl │GUI│ Alt │ │ Alt │GUI│ Ctrl│ * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ */ - [0] = LAYOUT_60_tsangan_hhkb( + [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, LT(1,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, LT(1,KC_MUTE), KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ), - [1] = LAYOUT_60_tsangan_hhkb( + [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_INS, KC_PSCR, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_PGUP, KC_HOME, KC_TRNS, KC_VOLU, KC_BRIU, KC_TRNS, KC_WH_U, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, KC_TRNS, KC_VOLD, KC_BRID, KC_TRNS, KC_WH_D, KC_TRNS, KC_TRNS, diff --git a/keyboards/jacky_studio/piggy60/rev1/hotswap/keyboard.json b/keyboards/jacky_studio/piggy60/rev1/hotswap/keyboard.json index 8b109207006..71fbbefa0a5 100644 --- a/keyboards/jacky_studio/piggy60/rev1/hotswap/keyboard.json +++ b/keyboards/jacky_studio/piggy60/rev1/hotswap/keyboard.json @@ -1,4 +1,4 @@ { "diode_direction": "ROW2COL", - "community_layouts": ["60_hhkb", "60_tsangan_hhkb"] + "community_layouts": ["60_hhkb", "60_ansi_tsangan_split_bs_rshift"] } diff --git a/keyboards/jacky_studio/piggy60/rev1/solder/keyboard.json b/keyboards/jacky_studio/piggy60/rev1/solder/keyboard.json index 3f4d4a26327..4c792f8ff9c 100644 --- a/keyboards/jacky_studio/piggy60/rev1/solder/keyboard.json +++ b/keyboards/jacky_studio/piggy60/rev1/solder/keyboard.json @@ -4,11 +4,11 @@ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan", - "60_tsangan_hhkb" ], "layouts": { "LAYOUT_60_ansi": { diff --git a/keyboards/jacky_studio/piggy60/rev2/keyboard.json b/keyboards/jacky_studio/piggy60/rev2/keyboard.json index 2a3c7e3313d..4dcc0cbab6a 100644 --- a/keyboards/jacky_studio/piggy60/rev2/keyboard.json +++ b/keyboards/jacky_studio/piggy60/rev2/keyboard.json @@ -1,7 +1,6 @@ { "bootloader": "uf2boot", "diode_direction": "ROW2COL", - "community_layouts": ["60_hhkb", "60_tsangan_hhkb"], "features": { "bootmagic": true, "extrakey": true, @@ -79,6 +78,10 @@ "device_version": "2.0.0", "pid": "0x1002" }, + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, + "community_layouts": ["60_hhkb", "60_ansi_tsangan_split_bs_rshift"], "layouts": { "LAYOUT_all": { "layout": [ @@ -213,7 +216,7 @@ {"label": "Alt", "matrix": [4, 12], "x": 12.5, "y": 4} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1!", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/jaykeeb/jk60/keyboard.json b/keyboards/jaykeeb/jk60/keyboard.json index 99eb3d4a381..3899d90699c 100644 --- a/keyboards/jaykeeb/jk60/keyboard.json +++ b/keyboards/jaykeeb/jk60/keyboard.json @@ -27,7 +27,18 @@ "pid": "0x7760", "vid": "0x414C" }, - "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_tsangan_hhkb", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb"], + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift", + "60_ansi_wkl", + "60_ansi_wkl_split_bs_rshift", + "60_hhkb" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -309,7 +320,7 @@ {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/kc60/keyboard.json b/keyboards/kc60/keyboard.json index 2b2f9c49510..fc214771637 100644 --- a/keyboards/kc60/keyboard.json +++ b/keyboards/kc60/keyboard.json @@ -56,7 +56,18 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", - "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_tsangan_hhkb", "60_hhkb", "60_abnt2", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan"], + "community_layouts": [ + "60_abnt2", + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift", + "60_hhkb", + "60_iso", + "60_iso_split_bs_rshift", + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift" + ], "layouts": { "LAYOUT_all": { "layout": [ @@ -339,7 +350,7 @@ {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/keyten/diablo/keyboard.json b/keyboards/keyten/diablo/keyboard.json index 3b3e040b08a..3882d4e160b 100644 --- a/keyboards/keyten/diablo/keyboard.json +++ b/keyboards/keyten/diablo/keyboard.json @@ -22,13 +22,16 @@ "pid": "0x6003", "vid": "0xEB69" }, + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "community_layouts": [ "60_ansi_wkl_split_bs_rshift", "60_hhkb", - "60_tsangan_hhkb" + "60_ansi_tsangan_split_bs_rshift" ], "layouts": { - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/keyten/diablo/keymaps/default/keymap.c b/keyboards/keyten/diablo/keymaps/default/keymap.c index 658b09636a8..3ea6baf7f7d 100644 --- a/keyboards/keyten/diablo/keymaps/default/keymap.c +++ b/keyboards/keyten/diablo/keymaps/default/keymap.c @@ -5,7 +5,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_60_tsangan_hhkb( + [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_GRV, 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, @@ -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_RCTL ), - [1] = LAYOUT_60_tsangan_hhkb( + [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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, diff --git a/keyboards/keyten/imi60/keyboard.json b/keyboards/keyten/imi60/keyboard.json index 2ccf8314116..262584442c1 100644 --- a/keyboards/keyten/imi60/keyboard.json +++ b/keyboards/keyten/imi60/keyboard.json @@ -20,9 +20,12 @@ "pid": "0x6005", "vid": "0xEB69" }, - "community_layouts": ["60_tsangan_hhkb"], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, + "community_layouts": ["60_ansi_tsangan_split_bs_rshift"], "layouts": { - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/keyten/imi60/keymaps/default/keymap.c b/keyboards/keyten/imi60/keymaps/default/keymap.c index 36859fad550..c7c051dca69 100644 --- a/keyboards/keyten/imi60/keymaps/default/keymap.c +++ b/keyboards/keyten/imi60/keymaps/default/keymap.c @@ -4,7 +4,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_60_tsangan_hhkb( + [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, @@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ), - [1] = LAYOUT_60_tsangan_hhkb( + [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_INS, KC_DEL, KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, diff --git a/keyboards/keyten/kt60_m/keyboard.json b/keyboards/keyten/kt60_m/keyboard.json index 3c3061f0174..f72deeebbd5 100644 --- a/keyboards/keyten/kt60_m/keyboard.json +++ b/keyboards/keyten/kt60_m/keyboard.json @@ -27,11 +27,12 @@ "processor": "atmega32u4", "bootloader": "atmel-dfu", "layout_aliases": { - "LAYOUT": "LAYOUT_60_tsangan_hhkb" + "LAYOUT": "LAYOUT_60_ansi_tsangan_split_bs_rshift", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, - "community_layouts": ["60_tsangan_hhkb"], + "community_layouts": ["60_ansi_tsangan_split_bs_rshift"], "layouts": { - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/keyten/kt60_m/keymaps/default/keymap.c b/keyboards/keyten/kt60_m/keymaps/default/keymap.c index 594dceb624d..d499b7fa05a 100644 --- a/keyboards/keyten/kt60_m/keymaps/default/keymap.c +++ b/keyboards/keyten/kt60_m/keymaps/default/keymap.c @@ -23,14 +23,14 @@ enum layer_names { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_MAIN] = LAYOUT_60_tsangan_hhkb( + [_MAIN] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_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_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_BSPC, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL), - [_FN] = LAYOUT_60_tsangan_hhkb( + [_FN] = LAYOUT_60_ansi_tsangan_split_bs_rshift( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/keyten/kt60hs_t/keyboard.json b/keyboards/keyten/kt60hs_t/keyboard.json index 819ce1bf1e8..63a755d6989 100644 --- a/keyboards/keyten/kt60hs_t/keyboard.json +++ b/keyboards/keyten/kt60hs_t/keyboard.json @@ -25,8 +25,11 @@ "community_layouts": [ "60_ansi_wkl_split_bs_rshift", "60_hhkb", - "60_tsangan_hhkb" + "60_ansi_tsangan_split_bs_rshift" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi_wkl_split_bs_rshift": { "layout": [ @@ -156,7 +159,7 @@ {"matrix": [4, 11], "x": 12.5, "y": 4} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/keyten/kt60hs_t/keymaps/default/keymap.c b/keyboards/keyten/kt60hs_t/keymaps/default/keymap.c index ef9de98d3c1..38938bf162f 100644 --- a/keyboards/keyten/kt60hs_t/keymaps/default/keymap.c +++ b/keyboards/keyten/kt60hs_t/keymaps/default/keymap.c @@ -4,7 +4,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_60_tsangan_hhkb( + [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_GRV, 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, @@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ), - [1] = LAYOUT_60_tsangan_hhkb( + [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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, diff --git a/keyboards/kkatano/bakeneko60/keyboard.json b/keyboards/kkatano/bakeneko60/keyboard.json index fee9b9d533d..094cc71728d 100644 --- a/keyboards/kkatano/bakeneko60/keyboard.json +++ b/keyboards/kkatano/bakeneko60/keyboard.json @@ -29,7 +29,14 @@ "diode_direction": "COL2ROW", "processor": "atmega32u4", "bootloader": "atmel-dfu", - "community_layouts": ["60_ansi_split_bs_rshift", "60_ansi", "60_tsangan_hhkb"], + "community_layouts": [ + "60_ansi_split_bs_rshift", + "60_ansi", + "60_ansi_tsangan_split_bs_rshift" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi_split_bs_rshift": { "layout": [ @@ -171,7 +178,7 @@ {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/kopibeng/mnk60_stm32/keyboard.json b/keyboards/kopibeng/mnk60_stm32/keyboard.json index e0853d543f5..8b2278aff07 100644 --- a/keyboards/kopibeng/mnk60_stm32/keyboard.json +++ b/keyboards/kopibeng/mnk60_stm32/keyboard.json @@ -59,6 +59,7 @@ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb", @@ -67,9 +68,11 @@ "60_iso_tsangan", "60_iso_tsangan_split_bs_rshift", "60_iso_wkl", - "60_iso_wkl_split_bs_rshift", - "60_tsangan_hhkb" + "60_iso_wkl_split_bs_rshift" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi": { "layout": [ @@ -403,7 +406,7 @@ {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/kopibeng/xt60/keyboard.json b/keyboards/kopibeng/xt60/keyboard.json index a170d36e417..24dc8f490bb 100644 --- a/keyboards/kopibeng/xt60/keyboard.json +++ b/keyboards/kopibeng/xt60/keyboard.json @@ -52,11 +52,15 @@ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_iso", "60_iso_split_bs_rshift", - "60_iso_tsangan" + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -340,7 +344,7 @@ {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/kopibeng/xt60_singa/keyboard.json b/keyboards/kopibeng/xt60_singa/keyboard.json index 280a58c07b3..b1d239cd20f 100644 --- a/keyboards/kopibeng/xt60_singa/keyboard.json +++ b/keyboards/kopibeng/xt60_singa/keyboard.json @@ -52,11 +52,15 @@ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_iso", "60_iso_split_bs_rshift", - "60_iso_tsangan" + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -340,7 +344,7 @@ {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/linworks/fave60/keyboard.json b/keyboards/linworks/fave60/keyboard.json index 5b9a14b43fa..38c5458445c 100644 --- a/keyboards/linworks/fave60/keyboard.json +++ b/keyboards/linworks/fave60/keyboard.json @@ -50,13 +50,14 @@ "vid": "0x4C58" }, "Layout_aliases": { - "LAYOUT_all": "LAYOUT_60_ansi_split_bs_rshift" + "LAYOUT_all": "LAYOUT_60_ansi_split_bs_rshift", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, "community_layouts": [ "60_ansi", "60_ansi_tsangan", "60_ansi_split_bs_rshift", - "60_tsangan_hhkb" + "60_ansi_tsangan_split_bs_rshift" ], "layouts": { "LAYOUT_60_ansi": { @@ -255,7 +256,7 @@ { "matrix": [4, 14], "w": 1.5, "x": 13.5, "y": 4 } ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ { "matrix": [0, 0], "x": 0, "y": 0 }, { "matrix": [0, 1], "x": 1, "y": 0 }, diff --git a/keyboards/linworks/fave60a/keyboard.json b/keyboards/linworks/fave60a/keyboard.json index 6d59949b230..7972e94baee 100644 --- a/keyboards/linworks/fave60a/keyboard.json +++ b/keyboards/linworks/fave60a/keyboard.json @@ -168,14 +168,15 @@ "vid": "0x4C58" }, "layout_aliases": { - "LAYOUT": "LAYOUT_60_tsangan_hhkb" + "LAYOUT": "LAYOUT_60_ansi_tsangan_split_bs_rshift", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, "community_layouts": [ - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_ansi_tsangan" ], "layouts": { - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ { "label": "Esc", "matrix": [0, 0], "x": 0, "y": 0 }, { "label": "!", "matrix": [0, 1], "x": 1, "y": 0 }, diff --git a/keyboards/linworks/fave60a/keymaps/default/keymap.c b/keyboards/linworks/fave60a/keymaps/default/keymap.c index c77f1b4143d..350b9571efe 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_60_tsangan_hhkb( + [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_60_tsangan_hhkb( + [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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/mechkeys/acr60/keyboard.json b/keyboards/mechkeys/acr60/keyboard.json index 90b1fd25711..6486b21f122 100644 --- a/keyboards/mechkeys/acr60/keyboard.json +++ b/keyboards/mechkeys/acr60/keyboard.json @@ -59,10 +59,28 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", - "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_tsangan_hhkb", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_ansi_arrow", "64_ansi", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan", "60_iso_tsangan_split_bs_rshift", "60_iso_wkl", "60_iso_wkl_split_bs_rshift", "64_iso"], + "community_layouts": [ + "60_ansi", + "60_ansi_arrow", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift", + "60_ansi_wkl", + "60_ansi_wkl_split_bs_rshift", + "60_hhkb", + "60_iso", + "60_iso_split_bs_rshift", + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift", + "60_iso_wkl", + "60_iso_wkl_split_bs_rshift", + "64_ansi", + "64_iso" + ], "layout_aliases": { "LAYOUT_2_shifts": "LAYOUT_all", - "LAYOUT_mitchsplit": "LAYOUT_60_ansi_split_space_split_rshift" + "LAYOUT_mitchsplit": "LAYOUT_60_ansi_split_space_split_rshift", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, "layouts": { "LAYOUT_all": { @@ -349,7 +367,7 @@ {"matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/mechlovin/jay60/keyboard.json b/keyboards/mechlovin/jay60/keyboard.json index c7e05d2327f..75bf190d88e 100644 --- a/keyboards/mechlovin/jay60/keyboard.json +++ b/keyboards/mechlovin/jay60/keyboard.json @@ -30,13 +30,14 @@ "processor": "atmega32a", "bootloader": "usbasploader", "layout_aliases": { - "LAYOUT_all": "LAYOUT_60_ansi_split_bs_rshift" + "LAYOUT_all": "LAYOUT_60_ansi_split_bs_rshift", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, "community_layouts": [ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", - "60_tsangan_hhkb" + "60_ansi_tsangan_split_bs_rshift" ], "layouts": { "LAYOUT_60_ansi": { @@ -247,7 +248,7 @@ {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/melgeek/mj6xy/info.json b/keyboards/melgeek/mj6xy/info.json index 21c79d6327f..0dd1212354d 100755 --- a/keyboards/melgeek/mj6xy/info.json +++ b/keyboards/melgeek/mj6xy/info.json @@ -27,7 +27,8 @@ "LAYOUT_60_iso_arrow_6u_spc_split_bs": "LAYOUT_60_iso_arrow_split_bs", "LAYOUT_64_iso_6u_spc_split_bs": "LAYOUT_64_iso_split_bs", "LAYOUT_60_iso_1u_lshift_split_bs_rshift": "LAYOUT_60_iso_split_bs_rshift", - "LAYOUT_60_iso_1u_lshift_7u_spc_split_bs_rshift": "LAYOUT_60_iso_tsangan_split_bs_rshift" + "LAYOUT_60_iso_1u_lshift_7u_spc_split_bs_rshift": "LAYOUT_60_iso_tsangan_split_bs_rshift", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, "community_layouts": ["60_ansi"], "layouts": { @@ -1255,7 +1256,7 @@ {"matrix": [4, 14], "x": 14, "y": 4} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/melgeek/mj6xy/keymaps/default_60_tsangan_hhkb/keymap.c b/keyboards/melgeek/mj6xy/keymaps/default_60_tsangan_hhkb/keymap.c index 35f341892f9..26dc01d0eb9 100644 --- a/keyboards/melgeek/mj6xy/keymaps/default_60_tsangan_hhkb/keymap.c +++ b/keyboards/melgeek/mj6xy/keymaps/default_60_tsangan_hhkb/keymap.c @@ -18,14 +18,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - LAYOUT_60_tsangan_hhkb( + LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_GRV, 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_DEL, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, MO(1), KC_RCTL), - LAYOUT_60_tsangan_hhkb( + LAYOUT_60_ansi_tsangan_split_bs_rshift( KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL, KC_TRNS, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, diff --git a/keyboards/mmkeyboard/class60/soldered/keyboard.json b/keyboards/mmkeyboard/class60/soldered/keyboard.json index 758299cf2b6..cb28da366c3 100644 --- a/keyboards/mmkeyboard/class60/soldered/keyboard.json +++ b/keyboards/mmkeyboard/class60/soldered/keyboard.json @@ -40,7 +40,24 @@ "pid": "0x3876", "vid": "0x4F66" }, - "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_tsangan_hhkb", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan", "60_iso_tsangan_split_bs_rshift", "60_iso_wkl", "60_iso_wkl_split_bs_rshift"], + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift", + "60_ansi_wkl", + "60_ansi_wkl_split_bs_rshift", + "60_hhkb", + "60_iso", + "60_iso_split_bs_rshift", + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift", + "60_iso_wkl", + "60_iso_wkl_split_bs_rshift" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi": { "layout": [ @@ -822,7 +839,7 @@ {"label": "Ctrl", "matrix": [5, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/monoflex60/keyboard.json b/keyboards/monoflex60/keyboard.json index 25c19865a61..4c6fca75246 100644 --- a/keyboards/monoflex60/keyboard.json +++ b/keyboards/monoflex60/keyboard.json @@ -27,9 +27,12 @@ "processor": "atmega32u4", "bootloader": "atmel-dfu", "community_layouts": [ - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_iso_tsangan" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -102,7 +105,7 @@ {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/monoflex60/keymaps/60_tsangan_hhkb/keymap.c b/keyboards/monoflex60/keymaps/60_tsangan_hhkb/keymap.c index cd308a9d0ca..7927ac448b9 100644 --- a/keyboards/monoflex60/keymaps/60_tsangan_hhkb/keymap.c +++ b/keyboards/monoflex60/keymaps/60_tsangan_hhkb/keymap.c @@ -18,14 +18,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_60_tsangan_hhkb( + [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_GRV, 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, MO(1), KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL), - [1] = LAYOUT_60_tsangan_hhkb( + [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/montsinger/palmetto/keyboard.json b/keyboards/montsinger/palmetto/keyboard.json index 9ff29ba893f..b44944d39f3 100755 --- a/keyboards/montsinger/palmetto/keyboard.json +++ b/keyboards/montsinger/palmetto/keyboard.json @@ -25,12 +25,16 @@ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan", - "60_tsangan_hhkb", + "60_iso_tsangan_split_bs_rshift" "60_hhkb" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi": { "layout": [ @@ -447,7 +451,7 @@ {"matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/mtbkeys/mtb60/solder/keyboard.json b/keyboards/mtbkeys/mtb60/solder/keyboard.json index 1059f1fd76e..e1289816264 100644 --- a/keyboards/mtbkeys/mtb60/solder/keyboard.json +++ b/keyboards/mtbkeys/mtb60/solder/keyboard.json @@ -55,13 +55,14 @@ "processor": "atmega32u4", "bootloader": "atmel-dfu", "layout_aliases": { - "LAYOUT": "LAYOUT_all" + "LAYOUT": "LAYOUT_all", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, "community_layouts": [ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", - "60_tsangan_hhkb" + "60_ansi_tsangan_split_bs_rshift" ], "layouts": { "LAYOUT_all": { @@ -348,7 +349,7 @@ {"label": "Ctrl", "matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/nightly_boards/daily60/keyboard.json b/keyboards/nightly_boards/daily60/keyboard.json index d13ead3251d..d3614d1b440 100644 --- a/keyboards/nightly_boards/daily60/keyboard.json +++ b/keyboards/nightly_boards/daily60/keyboard.json @@ -32,11 +32,15 @@ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_iso", "60_iso_split_bs_rshift", - "60_iso_tsangan" + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -321,7 +325,7 @@ {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/novelkeys/skelett60/keyboard.json b/keyboards/novelkeys/skelett60/keyboard.json index 1a8f988b018..145d24b3af9 100755 --- a/keyboards/novelkeys/skelett60/keyboard.json +++ b/keyboards/novelkeys/skelett60/keyboard.json @@ -25,7 +25,24 @@ "pid": "0x7336", "vid": "0x8968" }, - "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan", "60_iso_tsangan_split_bs_rshift", "60_iso_wkl", "60_iso_wkl_split_bs_rshift", "60_tsangan_hhkb"], + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift", + "60_ansi_wkl", + "60_ansi_wkl_split_bs_rshift", + "60_hhkb", + "60_iso", + "60_iso_split_bs_rshift", + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift", + "60_iso_wkl", + "60_iso_wkl_split_bs_rshift" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi": { "layout": [ @@ -808,7 +825,7 @@ {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/noxary/260/keyboard.json b/keyboards/noxary/260/keyboard.json index b5f876f5d91..d5353d4244e 100644 --- a/keyboards/noxary/260/keyboard.json +++ b/keyboards/noxary/260/keyboard.json @@ -41,7 +41,15 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", - "community_layouts": ["60_ansi", "60_iso", "60_hhkb", "60_tsangan_hhkb"], + "community_layouts": [ + "60_ansi", + "60_iso", + "60_hhkb", + "60_ansi_tsangan_split_bs_rshift" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -323,7 +331,7 @@ {"matrix": [4, 12], "x": 12.5, "y": 4} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/pearlboards/pandora/keyboard.json b/keyboards/pearlboards/pandora/keyboard.json index 869852b58d6..670aa6f75ab 100644 --- a/keyboards/pearlboards/pandora/keyboard.json +++ b/keyboards/pearlboards/pandora/keyboard.json @@ -71,11 +71,15 @@ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_iso", "60_iso_split_bs_rshift", - "60_iso_tsangan" + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -427,7 +431,7 @@ {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/protozoa/cassini/keyboard.json b/keyboards/protozoa/cassini/keyboard.json index 696480024fe..551c3091ed3 100644 --- a/keyboards/protozoa/cassini/keyboard.json +++ b/keyboards/protozoa/cassini/keyboard.json @@ -29,11 +29,15 @@ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_iso", "60_iso_split_bs_rshift", - "60_iso_tsangan" + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -315,7 +319,7 @@ {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/quarkeys/z60/solder/keyboard.json b/keyboards/quarkeys/z60/solder/keyboard.json index 52514fc7a3a..e85f7e6dc8c 100644 --- a/keyboards/quarkeys/z60/solder/keyboard.json +++ b/keyboards/quarkeys/z60/solder/keyboard.json @@ -46,9 +46,18 @@ "processor": "atmega32u4", "bootloader": "atmel-dfu", "layout_aliases": { - "LAYOUT": "LAYOUT_all" + "LAYOUT": "LAYOUT_all", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, - "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_tsangan_hhkb", "60_iso", "60_iso_tsangan", "60_iso_split_bs_rshift"], + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift", + "60_iso", + "60_iso_tsangan", + "60_iso_split_bs_rshift" + ], "layouts": { "LAYOUT_all": { "layout": [ @@ -331,7 +340,7 @@ {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/rationalist/ratio60_hotswap/rev_a/keyboard.json b/keyboards/rationalist/ratio60_hotswap/rev_a/keyboard.json index 5d3763d52d9..1fd52f032b7 100644 --- a/keyboards/rationalist/ratio60_hotswap/rev_a/keyboard.json +++ b/keyboards/rationalist/ratio60_hotswap/rev_a/keyboard.json @@ -45,7 +45,16 @@ "ws2812": { "pin": "A8" }, - "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_hhkb", "60_tsangan_hhkb"], + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift", + "60_hhkb" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi": { "layout": [ @@ -307,7 +316,7 @@ {"label": "Win", "matrix": [4, 12], "x": 12.5, "y": 4} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/rmi_kb/mona/v1/keyboard.json b/keyboards/rmi_kb/mona/v1/keyboard.json index 7bd5f56e142..9d8f66af2f7 100644 --- a/keyboards/rmi_kb/mona/v1/keyboard.json +++ b/keyboards/rmi_kb/mona/v1/keyboard.json @@ -28,7 +28,8 @@ "processor": "atmega32u4", "bootloader": "atmel-dfu", "layout_aliases": { - "LAYOUT_all": "LAYOUT_60_iso_split_bs_rshift" + "LAYOUT_all": "LAYOUT_60_iso_split_bs_rshift", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, "layouts": { "LAYOUT_60_ansi": { @@ -100,7 +101,7 @@ {"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/rmi_kb/mona/v1_1/keyboard.json b/keyboards/rmi_kb/mona/v1_1/keyboard.json index 7f25b8da478..b1e1f27fc01 100644 --- a/keyboards/rmi_kb/mona/v1_1/keyboard.json +++ b/keyboards/rmi_kb/mona/v1_1/keyboard.json @@ -24,6 +24,9 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi": { "layout": [ @@ -94,7 +97,7 @@ {"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/rmi_kb/mona/v32a/keyboard.json b/keyboards/rmi_kb/mona/v32a/keyboard.json index 363ea3438f5..e4b7760813e 100644 --- a/keyboards/rmi_kb/mona/v32a/keyboard.json +++ b/keyboards/rmi_kb/mona/v32a/keyboard.json @@ -24,6 +24,9 @@ }, "processor": "atmega32a", "bootloader": "usbasploader", + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi": { "layout": [ @@ -94,7 +97,7 @@ {"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/sawnsprojects/krush/krush60/solder/keyboard.json b/keyboards/sawnsprojects/krush/krush60/solder/keyboard.json index 4f5ca808ceb..17c0b00f94d 100644 --- a/keyboards/sawnsprojects/krush/krush60/solder/keyboard.json +++ b/keyboards/sawnsprojects/krush/krush60/solder/keyboard.json @@ -46,7 +46,8 @@ "bootloader": "atmel-dfu", "layout_aliases": { "LAYOUT_60_ansi_arrow_split_bs_7u_spc": "LAYOUT_60_ansi_arrow_tsangan_split_bs", - "LAYOUT_60_ansi_arrow_7u_spc": "LAYOUT_60_ansi_arrow_tsangan" + "LAYOUT_60_ansi_arrow_7u_spc": "LAYOUT_60_ansi_arrow_tsangan", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, "community_layouts": ["60_ansi", "60_ansi_arrow"], "layouts": { @@ -1114,7 +1115,7 @@ {"matrix": [9, 7], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [1, 0], "x": 1, "y": 0}, diff --git a/keyboards/sawnsprojects/krush/krush60/solder/keymaps/60_tsangan_hhkb/keymap.c b/keyboards/sawnsprojects/krush/krush60/solder/keymaps/60_tsangan_hhkb/keymap.c index de10ed2916c..69d283bfd2c 100644 --- a/keyboards/sawnsprojects/krush/krush60/solder/keymaps/60_tsangan_hhkb/keymap.c +++ b/keyboards/sawnsprojects/krush/krush60/solder/keymaps/60_tsangan_hhkb/keymap.c @@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_60_tsangan_hhkb( + [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ), - [1] = LAYOUT_60_tsangan_hhkb( + [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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, _______, _______, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______, diff --git a/keyboards/sawnsprojects/okayu/info.json b/keyboards/sawnsprojects/okayu/info.json index 89743590368..08c5afe6881 100644 --- a/keyboards/sawnsprojects/okayu/info.json +++ b/keyboards/sawnsprojects/okayu/info.json @@ -22,12 +22,16 @@ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", - "60_iso_tsangan" + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "matrix_pins": { "cols": ["A9", "A0", "A8", "C13", "A1", "A2", "B11", "B10", "B1", "B0", "A7", "A6", "A5", "A4"], "rows": ["B3", "A15", "A3", "A10", "B14"] @@ -338,7 +342,7 @@ {"label": "K4D", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "K00", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "K01", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/senselessclay/had60/keyboard.json b/keyboards/senselessclay/had60/keyboard.json index ca05589a2e4..03ace8014b9 100644 --- a/keyboards/senselessclay/had60/keyboard.json +++ b/keyboards/senselessclay/had60/keyboard.json @@ -33,11 +33,15 @@ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_iso", "60_iso_split_bs_rshift", - "60_iso_tsangan" + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -319,7 +323,7 @@ {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/smithrune/iron160/iron160_h/keyboard.json b/keyboards/smithrune/iron160/iron160_h/keyboard.json index d9ada0879d5..c1dd4c9f540 100644 --- a/keyboards/smithrune/iron160/iron160_h/keyboard.json +++ b/keyboards/smithrune/iron160/iron160_h/keyboard.json @@ -33,10 +33,11 @@ }, "diode_direction": "COL2ROW", "layout_aliases": { - "LAYOUT": "LAYOUT_60_tsangan_hhkb" + "LAYOUT": "LAYOUT_60_ansi_tsangan_split_bs_rshift", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, "community_layouts": [ - "60_tsangan_hhkb" + "60_ansi_tsangan_split_bs_rshift" ], "layouts": { "LAYOUT_60_ansi_tsangan_split_rshift": { @@ -108,7 +109,7 @@ {"label": "Ctrl", "matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/smithrune/iron160/iron160_h/keymaps/default/keymap.c b/keyboards/smithrune/iron160/iron160_h/keymaps/default/keymap.c index b8dc909c947..524830a2448 100755 --- a/keyboards/smithrune/iron160/iron160_h/keymaps/default/keymap.c +++ b/keyboards/smithrune/iron160/iron160_h/keymaps/default/keymap.c @@ -18,14 +18,14 @@ along with this program. If not, see . #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_60_tsangan_hhkb( + [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( QK_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, MO(1) , KC_LCTL, KC_LWIN, KC_LALT, KC_SPC , KC_RALT, KC_RWIN, KC_RCTL ), - [1] = LAYOUT_60_tsangan_hhkb( + [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/smithrune/iron160/iron160_s/keyboard.json b/keyboards/smithrune/iron160/iron160_s/keyboard.json index d6bf0a43f5c..fc14114826a 100644 --- a/keyboards/smithrune/iron160/iron160_s/keyboard.json +++ b/keyboards/smithrune/iron160/iron160_s/keyboard.json @@ -39,16 +39,18 @@ "caps_lock": "B0" }, "layout_aliases": { - "LAYOUT": "LAYOUT_all" + "LAYOUT": "LAYOUT_all", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, "community_layouts": [ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_iso", "60_iso_split_bs_rshift", - "60_iso_tsangan" + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift" ], "layouts": { "LAYOUT_all": { @@ -332,7 +334,7 @@ {"label": "Ctrl", "matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "~", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "!", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/stratos/keyboard.json b/keyboards/stratos/keyboard.json index 4d4bca34470..842c9b87a3d 100644 --- a/keyboards/stratos/keyboard.json +++ b/keyboards/stratos/keyboard.json @@ -46,7 +46,19 @@ "diode_direction": "COL2ROW", "processor": "atmega32u4", "bootloader": "atmel-dfu", - "community_layouts": ["60_ansi", "60_ansi_arrow", "60_ansi_tsangan", "60_tsangan_hhkb", "60_ansi_split_bs_rshift", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan"], + "community_layouts": [ + "60_ansi", + "60_ansi_arrow", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift", + "60_iso", + "60_iso_split_bs_rshift", + "60_iso_tsangan" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -331,7 +343,7 @@ {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/stratos/keymaps/tsangan_hhkb/keymap.c b/keyboards/stratos/keymaps/tsangan_hhkb/keymap.c index d8b6c552fcf..a1d4ee3a187 100644 --- a/keyboards/stratos/keymaps/tsangan_hhkb/keymap.c +++ b/keyboards/stratos/keymaps/tsangan_hhkb/keymap.c @@ -16,14 +16,14 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_60_tsangan_hhkb( + [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_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, MO(1), KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, KC_RCTL ), - [1] = LAYOUT_60_tsangan_hhkb( + [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, diff --git a/keyboards/studiokestra/cascade/keyboard.json b/keyboards/studiokestra/cascade/keyboard.json index 962276e62aa..8e7673da0ec 100644 --- a/keyboards/studiokestra/cascade/keyboard.json +++ b/keyboards/studiokestra/cascade/keyboard.json @@ -51,6 +51,9 @@ "diode_direction": "COL2ROW", "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -192,7 +195,7 @@ {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/studiokestra/cascade/keymaps/default_tsangan_hhkb/keymap.c b/keyboards/studiokestra/cascade/keymaps/default_tsangan_hhkb/keymap.c index 34a1df69090..075179cb68b 100644 --- a/keyboards/studiokestra/cascade/keymaps/default_tsangan_hhkb/keymap.c +++ b/keyboards/studiokestra/cascade/keymaps/default_tsangan_hhkb/keymap.c @@ -23,14 +23,14 @@ enum layer_names { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_60_tsangan_hhkb( /* Base */ + [_BASE] = LAYOUT_60_ansi_tsangan_split_bs_rshift( /* 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ), - [_FN] = LAYOUT_60_tsangan_hhkb( /* FN */ + [_FN] = LAYOUT_60_ansi_tsangan_split_bs_rshift( /* FN */ 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_DEL, KC_BSPC, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, BL_STEP, _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, diff --git a/keyboards/studiokestra/nue/keyboard.json b/keyboards/studiokestra/nue/keyboard.json index a98d8382482..b12d048497c 100644 --- a/keyboards/studiokestra/nue/keyboard.json +++ b/keyboards/studiokestra/nue/keyboard.json @@ -33,11 +33,15 @@ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_iso", "60_iso_split_bs_rshift", - "60_iso_tsangan" + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -319,7 +323,7 @@ {"label": "Ctrl", "matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/synthlabs/060/keyboard.json b/keyboards/synthlabs/060/keyboard.json index 2fe90c96fda..1094d430e6e 100644 --- a/keyboards/synthlabs/060/keyboard.json +++ b/keyboards/synthlabs/060/keyboard.json @@ -138,11 +138,14 @@ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -426,7 +429,7 @@ {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/tr60w/keyboard.json b/keyboards/tr60w/keyboard.json index dc71e3ad7aa..ef483ed2e27 100644 --- a/keyboards/tr60w/keyboard.json +++ b/keyboards/tr60w/keyboard.json @@ -60,8 +60,11 @@ }, "processor": "atmega32u4", "bootloader": "atmel-dfu", + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/tr60w/keymaps/default/keymap.c b/keyboards/tr60w/keymaps/default/keymap.c index d32c9d5cd6f..09523f15054 100644 --- a/keyboards/tr60w/keymaps/default/keymap.c +++ b/keyboards/tr60w/keymaps/default/keymap.c @@ -2,7 +2,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - LAYOUT_60_tsangan_hhkb( + LAYOUT_60_ansi_tsangan_split_bs_rshift( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, @@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ), - LAYOUT_60_tsangan_hhkb( + LAYOUT_60_ansi_tsangan_split_bs_rshift( QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, KC_DEL, _______, _______, _______, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, KC_LEFT, KC_RGHT, _______, diff --git a/keyboards/unikorn/keyboard.json b/keyboards/unikorn/keyboard.json index 4d50e2ad749..1a3c46d691a 100644 --- a/keyboards/unikorn/keyboard.json +++ b/keyboards/unikorn/keyboard.json @@ -48,6 +48,9 @@ }, "processor": "atmega32a", "bootloader": "bootloadhid", + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -193,7 +196,7 @@ {"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/unikorn/keymaps/tsangan/keymap.c b/keyboards/unikorn/keymaps/tsangan/keymap.c index 814c0992854..0bb8918ac43 100644 --- a/keyboards/unikorn/keymaps/tsangan/keymap.c +++ b/keyboards/unikorn/keymaps/tsangan/keymap.c @@ -17,7 +17,7 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_60_tsangan_hhkb( + [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_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, @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL ), - [1] = LAYOUT_60_tsangan_hhkb( + [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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, 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, diff --git a/keyboards/vertex/arc60/keyboard.json b/keyboards/vertex/arc60/keyboard.json index c6e9f6500af..ab98c446f0d 100644 --- a/keyboards/vertex/arc60/keyboard.json +++ b/keyboards/vertex/arc60/keyboard.json @@ -51,11 +51,15 @@ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_iso", "60_iso_split_bs_rshift", - "60_iso_tsangan" + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -338,7 +342,7 @@ {"matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/vertex/arc60h/keyboard.json b/keyboards/vertex/arc60h/keyboard.json index 4d4d903dc47..e6fed06bc19 100644 --- a/keyboards/vertex/arc60h/keyboard.json +++ b/keyboards/vertex/arc60h/keyboard.json @@ -52,7 +52,13 @@ "layout_aliases": { "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, - "community_layouts": ["60_ansi_tsangan", "60_tsangan_hhkb", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb"], + "community_layouts": [ + "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift", + "60_ansi_wkl", + "60_ansi_wkl_split_bs_rshift", + "60_hhkb" + ], "layouts": { "LAYOUT_all": { "layout": [ diff --git a/keyboards/weirdo/geminate60/keyboard.json b/keyboards/weirdo/geminate60/keyboard.json index 828630725a0..12bc42b30d6 100644 --- a/keyboards/weirdo/geminate60/keyboard.json +++ b/keyboards/weirdo/geminate60/keyboard.json @@ -38,16 +38,18 @@ "bootloader": "stm32-dfu", "board": "QMK_PROTON_C", "layout_aliases": { - "LAYOUT": "LAYOUT_all" + "LAYOUT": "LAYOUT_all", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, "community_layouts": [ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_iso", "60_iso_split_bs_rshift", - "60_iso_tsangan" + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift" ], "layouts": { "LAYOUT_all": { @@ -331,7 +333,7 @@ {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/weirdo/naiping/nphhkb/keyboard.json b/keyboards/weirdo/naiping/nphhkb/keyboard.json index e89854f02e4..cc791374b42 100644 --- a/keyboards/weirdo/naiping/nphhkb/keyboard.json +++ b/keyboards/weirdo/naiping/nphhkb/keyboard.json @@ -38,11 +38,12 @@ "bootloader": "stm32-dfu", "board": "QMK_PROTON_C", "layout_aliases": { - "LAYOUT": "LAYOUT_60_tsangan_hhkb" + "LAYOUT": "LAYOUT_60_ansi_tsangan_split_bs_rshift", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, - "community_layouts": ["60_tsangan_hhkb"], + "community_layouts": ["60_ansi_tsangan_split_bs_rshift"], "layouts": { - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/weirdo/naiping/nphhkb/keymaps/default/keymap.c b/keyboards/weirdo/naiping/nphhkb/keymaps/default/keymap.c index 2c4b6324be3..491c28758d3 100644 --- a/keyboards/weirdo/naiping/nphhkb/keymaps/default/keymap.c +++ b/keyboards/weirdo/naiping/nphhkb/keymaps/default/keymap.c @@ -23,7 +23,7 @@ enum layer_names { }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_BASE] = LAYOUT_60_tsangan_hhkb( + [_BASE] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_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, @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_LALT, KC_LCTL, KC_SPC, KC_RCTL, KC_RALT, KC_TRNS ), - [_FN] = LAYOUT_60_tsangan_hhkb( + [_FN] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_BSPC, 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, diff --git a/keyboards/wekey/polaris/keyboard.json b/keyboards/wekey/polaris/keyboard.json index 29d79b6a0bc..c3fe12f1440 100644 --- a/keyboards/wekey/polaris/keyboard.json +++ b/keyboards/wekey/polaris/keyboard.json @@ -32,7 +32,14 @@ "diode_direction": "COL2ROW", "processor": "atmega32u4", "bootloader": "atmel-dfu", - "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_tsangan_hhkb"], + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan_split_bs_rshift" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -248,7 +255,7 @@ {"matrix": [9, 6], "x": 13.75, "y": 4, "w": 1.25} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [1, 0], "x": 1, "y": 0}, diff --git a/keyboards/westfoxtrot/prophet/keyboard.json b/keyboards/westfoxtrot/prophet/keyboard.json index f82c6da14dd..b431adddae6 100644 --- a/keyboards/westfoxtrot/prophet/keyboard.json +++ b/keyboards/westfoxtrot/prophet/keyboard.json @@ -35,9 +35,13 @@ "bootloader": "stm32-dfu", "community_layouts": [ "60_ansi_tsangan", - "60_tsangan_hhkb", - "60_iso_tsangan" + "60_ansi_tsangan_split_bs_rshift", + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -178,7 +182,7 @@ {"label": "Ctrl", "matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/wilba_tech/wt60_b/keyboard.json b/keyboards/wilba_tech/wt60_b/keyboard.json index 9cbd43cdbb9..9b637bc0216 100644 --- a/keyboards/wilba_tech/wt60_b/keyboard.json +++ b/keyboards/wilba_tech/wt60_b/keyboard.json @@ -28,14 +28,15 @@ "processor": "atmega32u4", "bootloader": "atmel-dfu", "layout_aliases": { - "LAYOUT_all": "LAYOUT_60_tsangan_hhkb" + "LAYOUT_all": "LAYOUT_60_ansi_tsangan_split_bs_rshift", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, "community_layouts": [ - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_hhkb" ], "layouts": { - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/wilba_tech/wt60_b/keymaps/default/keymap.c b/keyboards/wilba_tech/wt60_b/keymaps/default/keymap.c index 968fb7ffcab..c8988c78d3a 100644 --- a/keyboards/wilba_tech/wt60_b/keymaps/default/keymap.c +++ b/keyboards/wilba_tech/wt60_b/keymaps/default/keymap.c @@ -4,7 +4,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Default layer -[0] = LAYOUT_60_tsangan_hhkb( +[0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_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_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_ENT, @@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, TL_UPPR, KC_NO), // Fn1 Layer -[1] = LAYOUT_60_tsangan_hhkb( +[1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_INS, KC_DEL, KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, @@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), // Fn2 Layer -[2] = LAYOUT_60_tsangan_hhkb( +[2] = LAYOUT_60_ansi_tsangan_split_bs_rshift( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), // Fn3 Layer (zeal60 Configuration) -[3] = LAYOUT_60_tsangan_hhkb( +[3] = LAYOUT_60_ansi_tsangan_split_bs_rshift( KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BR_DEC, BR_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, ES_DEC, ES_INC, KC_TRNS, KC_TRNS, 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/wilba_tech/wt60_bx/keyboard.json b/keyboards/wilba_tech/wt60_bx/keyboard.json index 7699df71063..f99a2cc868e 100644 --- a/keyboards/wilba_tech/wt60_bx/keyboard.json +++ b/keyboards/wilba_tech/wt60_bx/keyboard.json @@ -28,10 +28,11 @@ "processor": "atmega32u4", "bootloader": "atmel-dfu", "layout_aliases": { - "LAYOUT_all": "LAYOUT_60_tsangan_hhkb" + "LAYOUT_all": "LAYOUT_60_ansi_tsangan_split_bs_rshift", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, "community_layouts": [ - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_hhkb" ], "layouts": { @@ -104,7 +105,7 @@ {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/wilba_tech/wt60_bx/keymaps/default/keymap.c b/keyboards/wilba_tech/wt60_bx/keymaps/default/keymap.c index 72721af4f51..a255f0105bc 100644 --- a/keyboards/wilba_tech/wt60_bx/keymaps/default/keymap.c +++ b/keyboards/wilba_tech/wt60_bx/keymaps/default/keymap.c @@ -4,7 +4,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Default layer -[0] = LAYOUT_60_tsangan_hhkb( +[0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_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_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_ENT, @@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NO, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, TL_UPPR, KC_NO), // Fn1 Layer -[1] = LAYOUT_60_tsangan_hhkb( +[1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_INS, KC_DEL, KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, @@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), // Fn2 Layer -[2] = LAYOUT_60_tsangan_hhkb( +[2] = LAYOUT_60_ansi_tsangan_split_bs_rshift( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), // Fn3 Layer (zeal60 Configuration) -[3] = LAYOUT_60_tsangan_hhkb( +[3] = LAYOUT_60_ansi_tsangan_split_bs_rshift( KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BR_DEC, BR_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, ES_DEC, ES_INC, KC_TRNS, KC_TRNS, 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/wilba_tech/wt60_c/keyboard.json b/keyboards/wilba_tech/wt60_c/keyboard.json index 27a59c69ff5..e155073c51c 100644 --- a/keyboards/wilba_tech/wt60_c/keyboard.json +++ b/keyboards/wilba_tech/wt60_c/keyboard.json @@ -28,10 +28,11 @@ "processor": "atmega32u4", "bootloader": "atmel-dfu", "layout_aliases": { - "LAYOUT_all": "LAYOUT_60_tsangan_hhkb" + "LAYOUT_all": "LAYOUT_60_ansi_tsangan_split_bs_rshift", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, "community_layouts": [ - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_hhkb" ], "layouts": { @@ -104,7 +105,7 @@ {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/wilba_tech/wt60_c/keymaps/default/keymap.c b/keyboards/wilba_tech/wt60_c/keymaps/default/keymap.c index d02327a8743..0aa69285213 100644 --- a/keyboards/wilba_tech/wt60_c/keymaps/default/keymap.c +++ b/keyboards/wilba_tech/wt60_c/keymaps/default/keymap.c @@ -3,28 +3,28 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT_60_tsangan_hhkb( +[0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_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, TL_LOWR, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, TL_UPPR, KC_RCTL), -[1] = LAYOUT_60_tsangan_hhkb( +[1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), -[2] = LAYOUT_60_tsangan_hhkb( +[2] = LAYOUT_60_ansi_tsangan_split_bs_rshift( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), -[3] = LAYOUT_60_tsangan_hhkb( +[3] = LAYOUT_60_ansi_tsangan_split_bs_rshift( KC_TRNS, EF_DEC, EF_INC, H1_DEC, H1_INC, H2_DEC, H2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BR_DEC, BR_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, S1_DEC, S1_INC, S2_DEC, S2_INC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, ES_DEC, ES_INC, KC_TRNS, KC_TRNS, 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/wilba_tech/wt60_d/keyboard.json b/keyboards/wilba_tech/wt60_d/keyboard.json index 95ecda66edc..731e9b8cdca 100644 --- a/keyboards/wilba_tech/wt60_d/keyboard.json +++ b/keyboards/wilba_tech/wt60_d/keyboard.json @@ -34,12 +34,16 @@ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan", - "60_tsangan_hhkb" + "60_iso_tsangan_split_bs_rshift" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_60_ansi": { "layout": [ @@ -599,7 +603,7 @@ {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "`", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 3], "x": 1, "y": 0}, diff --git a/keyboards/wilba_tech/wt60_g/keyboard.json b/keyboards/wilba_tech/wt60_g/keyboard.json index ba8a6a4d47d..526a6a9d727 100644 --- a/keyboards/wilba_tech/wt60_g/keyboard.json +++ b/keyboards/wilba_tech/wt60_g/keyboard.json @@ -33,12 +33,16 @@ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", - "60_iso_tsangan" + "60_iso_tsangan", + "60_iso_tsangan_split_bs_rshift" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -320,7 +324,7 @@ {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/wilba_tech/wt60_g2/keyboard.json b/keyboards/wilba_tech/wt60_g2/keyboard.json index 85d51d0cd73..5f62d9d52bb 100644 --- a/keyboards/wilba_tech/wt60_g2/keyboard.json +++ b/keyboards/wilba_tech/wt60_g2/keyboard.json @@ -30,11 +30,12 @@ "processor": "atmega32u4", "bootloader": "atmel-dfu", "layout_aliases": { - "LAYOUT_all": "LAYOUT_60_tsangan_hhkb" + "LAYOUT_all": "LAYOUT_60_ansi_tsangan_split_bs_rshift", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" }, "community_layouts": [ "60_ansi_tsangan", - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_hhkb" ], "layouts": { @@ -106,7 +107,7 @@ {"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0}, {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/wilba_tech/wt60_g2/keymaps/default/keymap.c b/keyboards/wilba_tech/wt60_g2/keymaps/default/keymap.c index 6901f2d6761..9910c070fc5 100644 --- a/keyboards/wilba_tech/wt60_g2/keymaps/default/keymap.c +++ b/keyboards/wilba_tech/wt60_g2/keymaps/default/keymap.c @@ -19,7 +19,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // Default layer - [0] = LAYOUT_60_tsangan_hhkb( + [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_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, @@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL), // Fn1 Layer - [1] = LAYOUT_60_tsangan_hhkb( + [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( 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_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS, @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), // Fn2 Layer - [2] = LAYOUT_60_tsangan_hhkb( + [2] = LAYOUT_60_ansi_tsangan_split_bs_rshift( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -43,7 +43,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), // Fn3 Layer - [3] = LAYOUT_60_tsangan_hhkb( + [3] = LAYOUT_60_ansi_tsangan_split_bs_rshift( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/xelus/dawn60/info.json b/keyboards/xelus/dawn60/info.json index aafac25e05d..2c71fef898e 100644 --- a/keyboards/xelus/dawn60/info.json +++ b/keyboards/xelus/dawn60/info.json @@ -17,6 +17,7 @@ "processor": "atmega32u4", "bootloader": "atmel-dfu", "layout_aliases": { - "LAYOUT_60_all": "LAYOUT_all" + "LAYOUT_60_all": "LAYOUT_all", + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" } } diff --git a/keyboards/xelus/dawn60/rev1/keyboard.json b/keyboards/xelus/dawn60/rev1/keyboard.json index bfdaf26e764..a865ac31199 100644 --- a/keyboards/xelus/dawn60/rev1/keyboard.json +++ b/keyboards/xelus/dawn60/rev1/keyboard.json @@ -85,7 +85,7 @@ {"matrix": [4, 13], "x": 14, "y": 4} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/xelus/dawn60/rev1_qmk/keyboard.json b/keyboards/xelus/dawn60/rev1_qmk/keyboard.json index 7c3aa607dfe..0045879a1ff 100644 --- a/keyboards/xelus/dawn60/rev1_qmk/keyboard.json +++ b/keyboards/xelus/dawn60/rev1_qmk/keyboard.json @@ -139,7 +139,7 @@ {"matrix": [4, 13], "x": 14, "y": 4} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/xelus/rs60/info.json b/keyboards/xelus/rs60/info.json index c1771427f13..c36d968d37b 100644 --- a/keyboards/xelus/rs60/info.json +++ b/keyboards/xelus/rs60/info.json @@ -13,5 +13,13 @@ "resync": true } }, - "community_layouts": ["60_ansi_split_bs_rshift", "60_ansi", "60_ansi_tsangan", "60_tsangan_hhkb"] + "community_layouts": [ + "60_ansi", + "60_ansi_split_bs_rshift", + "60_ansi_tsangan", + "60_ansi_tsangan_split_bs_rshift" + ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + } } diff --git a/keyboards/xelus/rs60/rev1/keyboard.json b/keyboards/xelus/rs60/rev1/keyboard.json index df872967fb4..f8b36734311 100644 --- a/keyboards/xelus/rs60/rev1/keyboard.json +++ b/keyboards/xelus/rs60/rev1/keyboard.json @@ -231,7 +231,7 @@ {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/xelus/rs60/rev2_0/keyboard.json b/keyboards/xelus/rs60/rev2_0/keyboard.json index 9cb7b24043e..754225b17cc 100644 --- a/keyboards/xelus/rs60/rev2_0/keyboard.json +++ b/keyboards/xelus/rs60/rev2_0/keyboard.json @@ -236,7 +236,7 @@ {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/xelus/rs60/rev2_1/keyboard.json b/keyboards/xelus/rs60/rev2_1/keyboard.json index d7e56fe1cfc..12f6e42823c 100644 --- a/keyboards/xelus/rs60/rev2_1/keyboard.json +++ b/keyboards/xelus/rs60/rev2_1/keyboard.json @@ -239,7 +239,7 @@ {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/zeix/eden/keyboard.json b/keyboards/zeix/eden/keyboard.json index 2b5fd6eae7c..3d44a663b9b 100644 --- a/keyboards/zeix/eden/keyboard.json +++ b/keyboards/zeix/eden/keyboard.json @@ -30,7 +30,7 @@ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb", @@ -41,6 +41,9 @@ "60_iso_wkl", "60_iso_wkl_split_bs_rshift" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -323,7 +326,7 @@ {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ {"matrix": [0, 0], "x": 0, "y": 0}, {"matrix": [0, 1], "x": 1, "y": 0}, diff --git a/keyboards/zeix/qwertyqop60hs/keyboard.json b/keyboards/zeix/qwertyqop60hs/keyboard.json index 8a3e06f2eb4..6397551ff70 100644 --- a/keyboards/zeix/qwertyqop60hs/keyboard.json +++ b/keyboards/zeix/qwertyqop60hs/keyboard.json @@ -26,9 +26,12 @@ "60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", - "60_tsangan_hhkb", + "60_ansi_tsangan_split_bs_rshift", "60_hhkb" ], + "layout_aliases": { + "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift" + }, "layouts": { "LAYOUT_all": { "layout": [ @@ -310,7 +313,7 @@ { "matrix": [4, 13], "w": 1.5, "x": 13.5, "y": 4 } ] }, - "LAYOUT_60_tsangan_hhkb": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { "layout": [ { "matrix": [0, 0], "x": 0, "y": 0 }, { "matrix": [0, 1], "x": 1, "y": 0 }, diff --git a/layouts/default/60_ansi_tsangan_split_bs_rshift/default_60_ansi_tsangan_split_bs_rshift/keymap.c b/layouts/default/60_ansi_tsangan_split_bs_rshift/default_60_ansi_tsangan_split_bs_rshift/keymap.c new file mode 100644 index 00000000000..f6dac0999fb --- /dev/null +++ b/layouts/default/60_ansi_tsangan_split_bs_rshift/default_60_ansi_tsangan_split_bs_rshift/keymap.c @@ -0,0 +1,27 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bsp│Bsp│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│Sft│ + * ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ + * │Ctrl │GUI│ Alt │ │ Alt │GUI│ Ctrl│ + * └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ + */ + [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( + 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_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_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL + ) +}; diff --git a/layouts/default/60_ansi_tsangan_split_bs_rshift/info.json b/layouts/default/60_ansi_tsangan_split_bs_rshift/info.json new file mode 100644 index 00000000000..94f91530d2a --- /dev/null +++ b/layouts/default/60_ansi_tsangan_split_bs_rshift/info.json @@ -0,0 +1,77 @@ +{ + "keyboard_name": "60% ANSI layout with split Backspace, split Right Shift, and Tsangan Bottom Row", + "url": "", + "maintainer": "qmk", + "layouts": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + {"x":4, "y":0}, + {"x":5, "y":0}, + {"x":6, "y":0}, + {"x":7, "y":0}, + {"x":8, "y":0}, + {"x":9, "y":0}, + {"x":10, "y":0}, + {"x":11, "y":0}, + {"x":12, "y":0}, + {"x":13, "y":0}, + {"x":14, "y":0}, + + {"x":0, "y":1, "w":1.5}, + {"x":1.5, "y":1}, + {"x":2.5, "y":1}, + {"x":3.5, "y":1}, + {"x":4.5, "y":1}, + {"x":5.5, "y":1}, + {"x":6.5, "y":1}, + {"x":7.5, "y":1}, + {"x":8.5, "y":1}, + {"x":9.5, "y":1}, + {"x":10.5, "y":1}, + {"x":11.5, "y":1}, + {"x":12.5, "y":1}, + {"x":13.5, "y":1, "w":1.5}, + + {"x":0, "y":2, "w":1.75}, + {"x":1.75, "y":2}, + {"x":2.75, "y":2}, + {"x":3.75, "y":2}, + {"x":4.75, "y":2}, + {"x":5.75, "y":2}, + {"x":6.75, "y":2}, + {"x":7.75, "y":2}, + {"x":8.75, "y":2}, + {"x":9.75, "y":2}, + {"x":10.75, "y":2}, + {"x":11.75, "y":2}, + {"x":12.75, "y":2, "w":2.25}, + + {"x":0, "y":3, "w":2.25}, + {"x":2.25, "y":3}, + {"x":3.25, "y":3}, + {"x":4.25, "y":3}, + {"x":5.25, "y":3}, + {"x":6.25, "y":3}, + {"x":7.25, "y":3}, + {"x":8.25, "y":3}, + {"x":9.25, "y":3}, + {"x":10.25, "y":3}, + {"x":11.25, "y":3}, + {"x":12.25, "y":3, "w":1.75}, + {"x":14, "y":3}, + + {"x":0, "y":4, "w":1.5}, + {"x":1.5, "y":4}, + {"x":2.5, "y":4, "w":1.5}, + {"x":4, "y":4, "w":7}, + {"x":11, "y":4, "w":1.5}, + {"x":12.5, "y":4}, + {"x":13.5, "y":4, "w":1.5} + ] + } + } +} diff --git a/layouts/default/60_ansi_tsangan_split_bs_rshift/layout.json b/layouts/default/60_ansi_tsangan_split_bs_rshift/layout.json new file mode 100644 index 00000000000..c387347d9e6 --- /dev/null +++ b/layouts/default/60_ansi_tsangan_split_bs_rshift/layout.json @@ -0,0 +1,5 @@ +[{a:7},"","","","","","","","","","","","","","",""], +[{w:1.5},"","","","","","","","","","","","","",{w:1.5},""], +[{w:1.75},"","","","","","","","","","","","",{w:2.25},""], +[{w:2.25},"","","","","","","","","","","",{w:1.75},"",""], +[{w:1.5},"","",{w:1.5},"",{w:7},"",{w:1.5},"","",{w:1.5},""] diff --git a/layouts/default/60_ansi_tsangan_split_bs_rshift/readme.md b/layouts/default/60_ansi_tsangan_split_bs_rshift/readme.md new file mode 100644 index 00000000000..f086e5d3d6a --- /dev/null +++ b/layouts/default/60_ansi_tsangan_split_bs_rshift/readme.md @@ -0,0 +1,3 @@ +# 60_ansi_tsangan_split_bs_rshift + + LAYOUT_60_ansi_tsangan_split_bs_rshift diff --git a/layouts/default/readme.md b/layouts/default/readme.md index 2460f64701f..d057fe77084 100644 --- a/layouts/default/readme.md +++ b/layouts/default/readme.md @@ -109,6 +109,21 @@ LAYOUT_60_ansi_tsangan └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ ``` +``` +LAYOUT_60_ansi_tsangan_split_bs_rshift +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ +├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ +│ │ │ │ │ │ │ │ │ │ │ │ │ │ +├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ +│ │ │ │ │ │ │ │ +└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ +``` + ``` LAYOUT_60_ansi_wkl ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ @@ -289,21 +304,6 @@ LAYOUT_60_jis └────┴────┴────┴────┴──────────────┴────┴────┴────┴────┴────┘ ``` -``` -LAYOUT_60_tsangan_hhkb -┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ -│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ -│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ -│ │ │ │ │ │ │ │ │ │ │ │ │ │ -├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ -│ │ │ │ │ │ │ │ │ │ │ │ │ │ -├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ -│ │ │ │ │ │ │ │ -└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ -``` - ``` LAYOUT_64_ansi ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ From ef3a939880dc86228eceeb1ed10f158ab0a7bcb2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Sep 2024 20:46:02 +0100 Subject: [PATCH 04/66] Bump JamesIves/github-pages-deploy-action from 4.6.3 to 4.6.4 (#24358) Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.6.3 to 4.6.4. - [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases) - [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/v4.6.3...v4.6.4) --- updated-dependencies: - dependency-name: JamesIves/github-pages-deploy-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 7f588fda608..338b983d78e 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -56,7 +56,7 @@ jobs: - name: Deploy if: ${{ github.event_name == 'push' && github.repository == 'qmk/qmk_firmware' }} - uses: JamesIves/github-pages-deploy-action@v4.6.3 + uses: JamesIves/github-pages-deploy-action@v4.6.4 with: token: ${{ secrets.GITHUB_TOKEN }} branch: gh-pages From 2b55e43e5411346a754b81e095b74a042fb48953 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 4 Sep 2024 03:57:19 +0100 Subject: [PATCH 05/66] Bump peter-evans/create-pull-request from 6 to 7 (#24361) Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 6 to 7. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v6...v7) --- updated-dependencies: - dependency-name: peter-evans/create-pull-request 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/format_push.yml | 2 +- .github/workflows/regen_push.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/format_push.yml b/.github/workflows/format_push.yml index ea60fc95b45..c861b2c1112 100644 --- a/.github/workflows/format_push.yml +++ b/.github/workflows/format_push.yml @@ -47,7 +47,7 @@ jobs: git config user.email 'hello@qmk.fm' - name: Create Pull Request - uses: peter-evans/create-pull-request@v6 + uses: peter-evans/create-pull-request@v7 if: ${{ github.repository == 'qmk/qmk_firmware'}} with: token: ${{ secrets.QMK_BOT_TOKEN }} diff --git a/.github/workflows/regen_push.yml b/.github/workflows/regen_push.yml index 0f014111413..9a05a9461df 100644 --- a/.github/workflows/regen_push.yml +++ b/.github/workflows/regen_push.yml @@ -34,7 +34,7 @@ jobs: git config user.email 'hello@qmk.fm' - name: Create Pull Request - uses: peter-evans/create-pull-request@v6 + uses: peter-evans/create-pull-request@v7 if: ${{ github.repository == 'qmk/qmk_firmware'}} with: token: ${{ secrets.QMK_BOT_TOKEN }} From e83a36dfbf20f9a9d89a542d1a80c5cdc479c502 Mon Sep 17 00:00:00 2001 From: Perry Wang <7255333+perrwa@users.noreply.github.com> Date: Thu, 5 Sep 2024 14:27:35 -0700 Subject: [PATCH 06/66] Fixes renaming typo of uno/rev2 json back to keyboard.json (#24366) Rename keyboard.jsono to keyboard.json --- keyboards/keyhive/uno/rev2/{keyboard.jsono => keyboard.json} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename keyboards/keyhive/uno/rev2/{keyboard.jsono => keyboard.json} (100%) diff --git a/keyboards/keyhive/uno/rev2/keyboard.jsono b/keyboards/keyhive/uno/rev2/keyboard.json similarity index 100% rename from keyboards/keyhive/uno/rev2/keyboard.jsono rename to keyboards/keyhive/uno/rev2/keyboard.json From 4a6ba1e808f02c285323447f620ca296c59ae2f2 Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 6 Sep 2024 08:46:29 +1000 Subject: [PATCH 07/66] Fix RGBW for WS2812 SPI driver (#24367) --- platforms/chibios/drivers/ws2812_spi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platforms/chibios/drivers/ws2812_spi.c b/platforms/chibios/drivers/ws2812_spi.c index ad2e87781c4..9896f9e69d8 100644 --- a/platforms/chibios/drivers/ws2812_spi.c +++ b/platforms/chibios/drivers/ws2812_spi.c @@ -133,7 +133,7 @@ static void set_led_color_rgb(rgb_led_t color, int pos) { #endif #ifdef WS2812_RGBW for (int j = 0; j < 4; j++) - tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE * 4 + j] = get_protocol_eq(color.w, j); + tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE * 3 + j] = get_protocol_eq(color.w, j); #endif } From 75848477fbfb3d37f0644db49ea1abe538c7321f Mon Sep 17 00:00:00 2001 From: 4pplet Date: Fri, 6 Sep 2024 08:35:26 +0200 Subject: [PATCH 08/66] Add waffling80 hotswap PCB (#23551) Co-authored-by: jack <0x6a73@protonmail.com> --- keyboards/4pplet/waffling80/readme.md | 2 + .../4pplet/waffling80/rev_b_ansi/config.h | 19 ++++++++ .../4pplet/waffling80/rev_b_ansi/info.json | 29 ++++++++++++ .../4pplet/waffling80/rev_b_ansi/readme.md | 18 +++++++ .../4pplet/waffling80/rev_b_ansi/rev_b_ansi.c | 47 +++++++++++++++++++ .../4pplet/waffling80/rev_b_ansi/rev_b_ansi.h | 26 ++++++++++ .../4pplet/waffling80/rev_b_ansi/rules.mk | 2 + 7 files changed, 143 insertions(+) create mode 100644 keyboards/4pplet/waffling80/rev_b_ansi/config.h create mode 100644 keyboards/4pplet/waffling80/rev_b_ansi/info.json create mode 100644 keyboards/4pplet/waffling80/rev_b_ansi/readme.md create mode 100644 keyboards/4pplet/waffling80/rev_b_ansi/rev_b_ansi.c create mode 100644 keyboards/4pplet/waffling80/rev_b_ansi/rev_b_ansi.h create mode 100644 keyboards/4pplet/waffling80/rev_b_ansi/rules.mk diff --git a/keyboards/4pplet/waffling80/readme.md b/keyboards/4pplet/waffling80/readme.md index 3eb0745b3f3..356990dd28c 100644 --- a/keyboards/4pplet/waffling80/readme.md +++ b/keyboards/4pplet/waffling80/readme.md @@ -8,6 +8,8 @@ A TKL PCB attempting a87 compatibility with different switch and layout-options. Make example for this keyboard (after setting up your build environment): make 4pplet/waffling80/rev_a:default + make 4pplet/waffling80/rev_b:default + make 4pplet/waffling80/rev_b_ansi: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/4pplet/waffling80/rev_b_ansi/config.h b/keyboards/4pplet/waffling80/rev_b_ansi/config.h new file mode 100644 index 00000000000..036d08cc73c --- /dev/null +++ b/keyboards/4pplet/waffling80/rev_b_ansi/config.h @@ -0,0 +1,19 @@ +/* +Copyright 2022 Stefan Sundin "4pplet" + +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 WS2812_EXTERNAL_PULLUP diff --git a/keyboards/4pplet/waffling80/rev_b_ansi/info.json b/keyboards/4pplet/waffling80/rev_b_ansi/info.json new file mode 100644 index 00000000000..e678d0374d8 --- /dev/null +++ b/keyboards/4pplet/waffling80/rev_b_ansi/info.json @@ -0,0 +1,29 @@ +{ + "keyboard_name": "waffling80 Rev B ANSI HS", + "usb": { + "pid": "0x0017", + "device_version": "0.0.1" + }, + "rgblight": { + "saturation_steps": 8, + "brightness_steps": 8, + "led_count": 2 + }, + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + } + "ws2812": { + "pin": "A8" + }, + "matrix_pins": { + "cols": ["B2", "B1", "B0", "A7", "A6", "A3", "B9", "B8"], + "rows": ["B13", "B12", "A5", "A4", "A2", "A1", "F0", "C15", "C13", "C14", "F1", "A0"] + }, + "diode_direction": "COL2ROW", + "processor": "STM32F072", + "bootloader": "stm32-dfu" +} diff --git a/keyboards/4pplet/waffling80/rev_b_ansi/readme.md b/keyboards/4pplet/waffling80/rev_b_ansi/readme.md new file mode 100644 index 00000000000..f374f8c89b5 --- /dev/null +++ b/keyboards/4pplet/waffling80/rev_b_ansi/readme.md @@ -0,0 +1,18 @@ +# waffling80 + +A TKL PCB attempting a87 and a88 compatibility with different switch and layout-options. + +* Keyboard Maintainer: [4pplet](https://github.com/4pplet) +* Hardware Supported: [waffling80](https://github.com/4pplet/waffling80) + +Make example for this keyboard (after setting up your build environment): + + make 4pplet/waffling80/rev_b_ansi: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). + +How to enter bootloader (DFU): +* Hold the reset-header for a few seconds on the back of the PCB for keyboard to enter DFU. When in DFU, it's ready to flash the firmware. + +Alternative option if the firmware is already pre-flashed: +* Unplug your keyboard, hold down the Esc key, plug in your keyboard and wait a second before releasing the keys. The keyboard will enter DFU and is ready to flash the firmware. diff --git a/keyboards/4pplet/waffling80/rev_b_ansi/rev_b_ansi.c b/keyboards/4pplet/waffling80/rev_b_ansi/rev_b_ansi.c new file mode 100644 index 00000000000..9e617eaa7aa --- /dev/null +++ b/keyboards/4pplet/waffling80/rev_b_ansi/rev_b_ansi.c @@ -0,0 +1,47 @@ +/* +Copyright 2024 Stefan Sundin "4pplet" + +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 "rev_b_ansi.h" + +bool led_update_kb(led_t led_state) { + bool res = led_update_user(led_state); + if (SCROLL_LOCK_ENABLE && res) { + if(led_state.scroll_lock) { + #ifdef SCROLL_LOCK_COLOR + rgblight_sethsv_at(SCROLL_LOCK_COLOR, 0); + #else + rgblight_sethsv_at(rgblight_get_hue(),rgblight_get_sat(),rgblight_get_val(), 0); + #endif + } + else { + rgblight_sethsv_at(HSV_OFF, 0); + } + } + if (CAPS_LOCK_ENABLE && res) { + if(led_state.caps_lock) { + #ifdef CAPS_LOCK_COLOR + rgblight_sethsv_at(CAPS_LOCK_COLOR, 1); + #else + rgblight_sethsv_at(rgblight_get_hue(),rgblight_get_sat(),rgblight_get_val(), 1); + #endif + } + else{ + rgblight_sethsv_at(HSV_OFF, 1); + } + } + return res; +} + diff --git a/keyboards/4pplet/waffling80/rev_b_ansi/rev_b_ansi.h b/keyboards/4pplet/waffling80/rev_b_ansi/rev_b_ansi.h new file mode 100644 index 00000000000..c8d4c8b9714 --- /dev/null +++ b/keyboards/4pplet/waffling80/rev_b_ansi/rev_b_ansi.h @@ -0,0 +1,26 @@ +/* +Copyright 2022 Stefan Sundin "4pplet" + +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 CAPS_LOCK_ENABLE 1 +#define SCROLL_LOCK_ENABLE 1 + +// If colors are defined, they will be static. If not defined, color for incicators can be set in VIA. +//#define CAPS_LOCK_COLOR HSV_GREEN +//#define SCROLL_LOCK_COLOR HSV_GREEN + +#include "quantum.h" diff --git a/keyboards/4pplet/waffling80/rev_b_ansi/rules.mk b/keyboards/4pplet/waffling80/rev_b_ansi/rules.mk new file mode 100644 index 00000000000..04fe1eba2ac --- /dev/null +++ b/keyboards/4pplet/waffling80/rev_b_ansi/rules.mk @@ -0,0 +1,2 @@ +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -p FFFF -v FFFF From 6d4f8d896398dda1177aa73ec2110fc0e3e10729 Mon Sep 17 00:00:00 2001 From: jack Date: Fri, 6 Sep 2024 08:42:22 -0600 Subject: [PATCH 09/66] [Keyboard] Add Klor (#24302) --- keyboards/geigeigeist/klor/config.h | 17 ++ keyboards/geigeigeist/klor/glcdfont.c | 16 ++ keyboards/geigeigeist/klor/keyboard.json | 167 ++++++++++++++++++ .../klor/keymaps/default/keymap.json | 13 ++ keyboards/geigeigeist/klor/klor.c | 103 +++++++++++ keyboards/geigeigeist/klor/readme.md | 26 +++ keyboards/geigeigeist/klor/rules.mk | 1 + 7 files changed, 343 insertions(+) create mode 100644 keyboards/geigeigeist/klor/config.h create mode 100644 keyboards/geigeigeist/klor/glcdfont.c create mode 100644 keyboards/geigeigeist/klor/keyboard.json create mode 100644 keyboards/geigeigeist/klor/keymaps/default/keymap.json create mode 100644 keyboards/geigeigeist/klor/klor.c create mode 100644 keyboards/geigeigeist/klor/readme.md create mode 100644 keyboards/geigeigeist/klor/rules.mk diff --git a/keyboards/geigeigeist/klor/config.h b/keyboards/geigeigeist/klor/config.h new file mode 100644 index 00000000000..2ece9b3d29e --- /dev/null +++ b/keyboards/geigeigeist/klor/config.h @@ -0,0 +1,17 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#ifdef POINTING_DEVICE_ENABLE +# define POINTING_DEVICE_SCLK_PIN D0 +# define POINTING_DEVICE_SDIO_PIN D1 +#endif + +#ifdef AUDIO_ENABLE +# define AUDIO_PIN B5 +#endif + +#ifdef OLED_ENABLE +# define OLED_DISPLAY_128X64 +# define OLED_FONT_H "keyboards/geigeigeist/klor/glcdfont.c" +#endif diff --git a/keyboards/geigeigeist/klor/glcdfont.c b/keyboards/geigeigeist/klor/glcdfont.c new file mode 100644 index 00000000000..3bab5d5081e --- /dev/null +++ b/keyboards/geigeigeist/klor/glcdfont.c @@ -0,0 +1,16 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "progmem.h" + +static const unsigned char PROGMEM font[] = { + 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, 0xB6, 0xFF, 0xB6, 0x94, 0x00, 0x08, 0x0C, 0x7E, 0x0C, 0x08, 0x00, + 0x10, 0x30, 0x7E, 0x30, 0x10, 0x00, 0x08, 0x08, 0x3E, 0x1C, 0x08, 0x00, 0x08, 0x1C, 0x3E, 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, 0x3E, 0x14, 0x3E, 0x14, 0x00, 0x2E, 0x2A, 0x7F, 0x2A, 0x3A, 0x00, 0x20, 0x12, 0x08, 0x24, 0x02, 0x00, 0x37, 0x49, 0x49, 0x37, 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, 0x7F, 0x51, 0x49, 0x45, 0x7F, 0x00, 0x08, 0x04, 0x02, 0x7F, 0x00, 0x00, + 0x71, 0x49, 0x49, 0x49, 0x4F, 0x00, 0x41, 0x41, 0x49, 0x49, 0x77, 0x00, 0x0F, 0x10, 0x10, 0x10, 0x7F, 0x00, 0x4F, 0x49, 0x49, 0x49, 0x71, 0x00, 0x7E, 0x49, 0x49, 0x49, 0x70, 0x00, 0x01, 0x01, 0x71, 0x09, 0x07, 0x00, 0x77, 0x49, 0x49, 0x49, 0x77, 0x00, 0x07, 0x49, 0x49, 0x49, 0x3F, 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, 0x01, 0x01, 0x59, 0x09, 0x0F, 0x00, 0x7F, 0x41, 0x5D, 0x59, 0x4F, 0x00, 0x7F, 0x09, 0x09, 0x09, 0x7F, 0x00, 0x7F, 0x49, 0x49, 0x49, 0x76, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x41, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x7E, 0x00, 0x7F, 0x49, 0x49, 0x49, 0x49, 0x00, 0x7F, 0x09, 0x09, 0x09, 0x09, 0x00, 0x7F, 0x41, 0x41, 0x49, 0x7B, 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0x70, 0x40, 0x40, 0x40, 0x7F, 0x00, + 0x7F, 0x08, 0x08, 0x08, 0x77, 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, 0x7F, 0x01, 0x1F, 0x01, 0x7F, 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x7F, 0x00, 0x7F, 0x09, 0x09, 0x09, 0x0F, 0x00, 0x7F, 0x41, 0x71, 0x41, 0x7F, 0x00, 0x7F, 0x09, 0x09, 0x19, 0x6F, 0x00, 0x47, 0x49, 0x49, 0x49, 0x79, 0x00, 0x01, 0x01, 0x7F, 0x01, 0x01, 0x00, 0x7F, 0x40, 0x40, 0x40, 0x7F, 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, 0x7F, 0x40, 0x7F, 0x40, 0x7F, 0x00, 0x77, 0x08, 0x08, 0x08, 0x77, 0x00, 0x4F, 0x48, 0x48, 0x48, 0x7F, 0x00, 0x61, 0x51, 0x49, 0x45, 0x43, 0x00, 0x00, 0x7F, 0x41, 0x41, 0x00, 0x00, 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, 0x00, 0x41, 0x41, 0x7F, 0x00, 0x00, 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x07, 0x08, 0x00, 0x00, 0x60, 0x54, 0x54, 0x54, 0x7C, 0x00, 0x7F, 0x44, 0x44, 0x44, 0x78, 0x00, 0x7C, 0x44, 0x44, 0x44, 0x44, 0x00, + 0x78, 0x44, 0x44, 0x44, 0x7F, 0x00, 0x7C, 0x54, 0x54, 0x54, 0x5C, 0x00, 0x08, 0x7F, 0x09, 0x09, 0x09, 0x00, 0x38, 0xA4, 0xA4, 0xA4, 0xFC, 0x00, 0x7F, 0x04, 0x04, 0x04, 0x78, 0x00, 0x00, 0x00, 0x7D, 0x00, 0x00, 0x00, 0x70, 0x40, 0x40, 0x7D, 0x00, 0x00, 0x7F, 0x08, 0x08, 0x08, 0x76, 0x00, 0x00, 0x00, 0x7F, 0x40, 0x00, 0x00, 0x7C, 0x04, 0x7C, 0x04, 0x7C, 0x00, 0x7C, 0x04, 0x04, 0x04, 0x78, 0x00, 0x7C, 0x44, 0x44, 0x44, 0x7C, 0x00, 0xFC, 0x24, 0x24, 0x24, 0x38, 0x00, 0x38, 0x24, 0x24, 0x24, 0xFC, 0x00, 0x7C, 0x04, 0x04, 0x04, 0x04, 0x00, 0x5C, 0x54, 0x54, 0x54, 0x74, 0x00, 0x04, 0x04, 0x7F, 0x04, 0x04, 0x00, 0x7C, 0x40, 0x40, 0x40, 0x7C, 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, 0x7C, 0x40, 0x7C, 0x40, 0x7C, 0x00, 0x6C, 0x10, 0x10, 0x10, 0x6C, 0x00, 0xBC, 0xA0, 0xA0, 0xA0, 0xFC, 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, 0xE0, 0xF0, 0xF0, 0xF0, 0xF0, 0xFE, 0xFF, 0x9F, 0x0F, 0x0F, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x0F, 0x0F, 0x9F, 0xFF, 0xFE, 0xF0, 0xF0, 0xF0, 0xF0, 0xE0, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x10, 0x08, 0x04, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x04, 0x08, 0x10, 0xE0, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xFF, 0x7F, 0x51, 0x55, 0x55, 0x45, 0x7F, 0x41, 0x5F, 0x5F, 0x5F, 0x7F, 0x00, 0x7F, 0x41, 0x7B, 0x77, 0x41, 0x7F, 0x41, 0x5F, 0x5F, 0x5F, 0x7F, 0x00, 0x7F, 0x41, 0x5D, 0x5D, 0x5D, 0x7F, 0x41, 0x5F, 0x5F, 0x5F, 0x7F, 0x00, 0xC0, 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, + 0xE6, 0xF7, 0xF3, 0xF0, 0x60, 0x00, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x00, 0x7C, 0x7C, 0x7C, 0x7C, 0x7C, 0x00, 0xF8, 0x1C, 0xDE, 0x1F, 0xFF, 0xFF, 0xFF, 0x1F, 0xDE, 0x1C, 0xF8, 0x00, 0xC0, 0xE2, 0xB4, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xB4, 0xE2, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0F, 0x0F, 0x0F, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x87, 0xE1, 0xF9, 0xF9, 0xE1, 0x87, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F, 0x0F, 0x0F, 0x07, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xC0, 0x30, 0x0C, 0x33, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x3F, 0x00, 0x00, 0x00, 0xFF, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x38, 0xC8, 0x08, 0x08, 0x0F, + 0x7E, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x78, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x24, 0x24, 0x12, 0x12, 0x24, 0x24, 0x48, 0x48, 0x24, 0x24, 0x12, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x3F, 0x3F, 0x7F, 0x7F, 0x38, 0x10, 0x00, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x00, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x00, 0x0F, 0x14, 0x21, 0x40, 0x45, 0x41, 0x45, 0x40, 0x21, 0x14, 0x0F, 0x00, 0x7D, 0x7D, 0x7D, 0x7D, 0x7D, 0x7D, 0x7D, 0x7D, 0x7D, 0x7D, 0x7D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0C, 0x30, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x01, 0x02, 0x04, 0x08, 0x10, 0x10, 0x10, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0C, 0x30, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0x1C, 0x3E, 0x3E, 0x3E, 0x1C, 0x00, 0x3E, 0x1C, 0x1C, 0x08, 0x08, 0x00, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; diff --git a/keyboards/geigeigeist/klor/keyboard.json b/keyboards/geigeigeist/klor/keyboard.json new file mode 100644 index 00000000000..a61c931dd9e --- /dev/null +++ b/keyboards/geigeigeist/klor/keyboard.json @@ -0,0 +1,167 @@ +{ + "manufacturer": "Geigeigeist", + "keyboard_name": "Klor", + "maintainer": "waffle87", + "build": { + "lto": true + }, + "development_board": "elite_c", + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "F5", "pin_b": "F4"} + ] + }, + "features": { + "bootmagic": true, + "encoder": true, + "extrakey": true, + "haptic": true, + "mousekey": true, + "oled": true, + "pointing_device": false, + "rgb_matrix": true, + "audio": false + }, + "haptic": { + "driver": "drv2605l" + }, + "matrix_pins": { + "cols": ["F6", "F7", "B1", "B3", "B2", "B6"], + "rows": ["C6", "D7", "E6", "B4"] + }, + "rgb_matrix": { + "driver": "ws2812", + "animations": { + "alphas_mods": true, + "band_sat": true, + "band_val": true, + "breathing": true, + "gradient_left_right": true, + "gradient_up_down": true + }, + "layout": [ + {"matrix": [3, 4], "x": 102, "y": 63, "flags": 1}, + {"matrix": [3, 3], "x": 89, "y": 54, "flags": 1}, + {"matrix": [3, 2], "x": 74, "y": 49, "flags": 1}, + {"matrix": [2, 5], "x": 75, "y": 34, "flags": 4}, + {"matrix": [1, 5], "x": 75, "y": 21, "flags": 4}, + {"matrix": [0, 5], "x": 75, "y": 8, "flags": 4}, + {"matrix": [0, 4], "x": 60, "y": 6, "flags": 4}, + {"matrix": [1, 4], "x": 60, "y": 19, "flags": 4}, + {"matrix": [2, 4], "x": 60, "y": 32, "flags": 4}, + {"matrix": [3, 1], "x": 58, "y": 48, "flags": 1}, + {"matrix": [2, 3], "x": 46, "y": 25, "flags": 4}, + {"matrix": [1, 3], "x": 46, "y": 12, "flags": 4}, + {"matrix": [0, 3], "x": 46, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 29, "y": 7, "flags": 4}, + {"matrix": [1, 2], "x": 30, "y": 20, "flags": 4}, + {"matrix": [2, 2], "x": 31, "y": 33, "flags": 4}, + {"matrix": [2, 1], "x": 17, "y": 42, "flags": 4}, + {"matrix": [1, 1], "x": 15, "y": 30, "flags": 4}, + {"matrix": [0, 1], "x": 13, "y": 17, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 28, "flags": 1}, + {"matrix": [2, 0], "x": 3, "y": 41, "flags": 1}, + {"matrix": [7, 4], "x": 122, "y": 63, "flags": 1}, + {"matrix": [7, 3], "x": 135, "y": 54, "flags": 1}, + {"matrix": [7, 2], "x": 150, "y": 49, "flags": 1}, + {"matrix": [6, 5], "x": 149, "y": 34, "flags": 4}, + {"matrix": [5, 5], "x": 149, "y": 21, "flags": 4}, + {"matrix": [4, 5], "x": 149, "y": 8, "flags": 4}, + {"matrix": [4, 4], "x": 163, "y": 6, "flags": 4}, + {"matrix": [5, 4], "x": 163, "y": 19, "flags": 4}, + {"matrix": [6, 4], "x": 163, "y": 32, "flags": 4}, + {"matrix": [7, 1], "x": 166, "y": 48, "flags": 1}, + {"matrix": [6, 3], "x": 178, "y": 25, "flags": 4}, + {"matrix": [5, 3], "x": 178, "y": 12, "flags": 4}, + {"matrix": [4, 3], "x": 178, "y": 0, "flags": 4}, + {"matrix": [4, 2], "x": 195, "y": 7, "flags": 4}, + {"matrix": [5, 2], "x": 194, "y": 20, "flags": 4}, + {"matrix": [6, 2], "x": 193, "y": 33, "flags": 4}, + {"matrix": [4, 1], "x": 206, "y": 42, "flags": 4}, + {"matrix": [5, 1], "x": 209, "y": 30, "flags": 4}, + {"matrix": [6, 1], "x": 211, "y": 17, "flags": 4}, + {"matrix": [5, 0], "x": 224, "y": 28, "flags": 1}, + {"matrix": [6, 0], "x": 221, "y": 41, "flags": 1} + ], + "split_count": [21, 21] + }, + "split": { + "enabled": true, + "encoder": { + "right": { + "rotary": [ + {"pin_a": "F4", "pin_b": "F5"} + ] + } + }, + "serial": { + "pin": "D2" + }, + "transport": { + "sync": { + "oled": true, + "matrix_state": true + } + } + }, + "url": "https://github.com/geigeigeist/klor", + "usb": { + "device_version": "1.0.0", + "pid": "0x0001", + "vid": "0x3A3C" + }, + "ws2812": { + "pin": "D3" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"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": "R00", "matrix": [4, 5], "x": 9, "y": 0}, + {"label": "R01", "matrix": [4, 4], "x": 10, "y": 0}, + {"label": "R02", "matrix": [4, 3], "x": 11, "y": 0}, + {"label": "R03", "matrix": [4, 2], "x": 12, "y": 0}, + {"label": "R04", "matrix": [4, 1], "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": "R10", "matrix": [5, 5], "x": 9, "y": 1}, + {"label": "R11", "matrix": [5, 4], "x": 10, "y": 1}, + {"label": "R12", "matrix": [5, 3], "x": 11, "y": 1}, + {"label": "R13", "matrix": [5, 2], "x": 12, "y": 1}, + {"label": "R14", "matrix": [5, 1], "x": 13, "y": 1}, + {"label": "R15", "matrix": [5, 0], "x": 14, "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": "L35", "matrix": [3, 5], "x": 6, "y": 2}, + {"label": "R30", "matrix": [7, 5], "x": 8, "y": 2}, + {"label": "R20", "matrix": [6, 5], "x": 9, "y": 2}, + {"label": "R21", "matrix": [6, 4], "x": 10, "y": 2}, + {"label": "R22", "matrix": [6, 3], "x": 11, "y": 2}, + {"label": "R23", "matrix": [6, 2], "x": 12, "y": 2}, + {"label": "R24", "matrix": [6, 1], "x": 13, "y": 2}, + {"label": "R25", "matrix": [6, 0], "x": 14, "y": 2}, + {"label": "L31", "matrix": [3, 1], "x": 2, "y": 3}, + {"label": "L32", "matrix": [3, 2], "x": 3, "y": 3}, + {"label": "L33", "matrix": [3, 3], "x": 4, "y": 3}, + {"label": "L34", "matrix": [3, 4], "x": 5, "y": 3}, + {"label": "R31", "matrix": [7, 4], "x": 9, "y": 3}, + {"label": "R32", "matrix": [7, 3], "x": 10, "y": 3}, + {"label": "R33", "matrix": [7, 2], "x": 11, "y": 3}, + {"label": "R34", "matrix": [7, 1], "x": 12, "y": 3} + ] + } + } +} diff --git a/keyboards/geigeigeist/klor/keymaps/default/keymap.json b/keyboards/geigeigeist/klor/keymaps/default/keymap.json new file mode 100644 index 00000000000..cb9e5b40059 --- /dev/null +++ b/keyboards/geigeigeist/klor/keymaps/default/keymap.json @@ -0,0 +1,13 @@ +{ + "keyboard": "geigeigeist/klor", + "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_TAB", "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_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_TRNS", "KC_SPC", "KC_LALT", "KC_LGUI", "KC_ENT", "KC_TRNS", "KC_BSPC" + ] + ] +} diff --git a/keyboards/geigeigeist/klor/klor.c b/keyboards/geigeigeist/klor/klor.c new file mode 100644 index 00000000000..5676c974f0e --- /dev/null +++ b/keyboards/geigeigeist/klor/klor.c @@ -0,0 +1,103 @@ +// Copyright 2024 QMK +// SPDX-License-Identifier: GPL-2.0-or-later +#include "quantum.h" + +#ifdef OLED_ENABLE +oled_rotation_t oled_init_kb(oled_rotation_t rotation) { + return OLED_ROTATION_180; +} + +static const char PROGMEM klor_face[] = { + // clang-format off + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 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, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, + 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, + 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 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, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + // clang-format on +}; + +void render_keyboard_status(void) { + static const char PROGMEM sep_v[] = {0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0}; + static const char PROGMEM sep_h1[] = {0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0}; + static const char PROGMEM sep_h2[] = {0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0}; + static const char PROGMEM face_1[] = {0x80, 0x81, 0x82, 0x83, 0x84, 0xE1, 0}; + static const char PROGMEM face_2[] = {0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xE1, 0}; + static const char PROGMEM os_m_1[] = {0x95, 0x96, 0}; + static const char PROGMEM os_m_2[] = {0xB5, 0xB6, 0}; + static const char PROGMEM os_w_1[] = {0x97, 0x98, 0}; + static const char PROGMEM os_w_2[] = {0xB7, 0xB8, 0}; + static const char PROGMEM s_lock[] = {0x8F, 0x90, 0}; + static const char PROGMEM n_lock[] = {0x91, 0x92, 0}; + static const char PROGMEM c_lock[] = {0x93, 0x94, 0}; + static const char PROGMEM b_lock[] = {0xE1, 0xE1, 0}; + static const char PROGMEM hap_en[] = {0xB1, 0xB2, 0}; +# ifdef AUDIO_ENABLE + static const char PROGMEM aud_en[] = {0xAF, 0xB0, 0}; + static const char PROGMEM aud_di[] = {0xCF, 0xD0, 0}; +# endif + oled_write_ln_P(sep_v, false); + oled_write_P(keymap_config.swap_lctl_lgui ? os_m_1 : os_w_1, false); + oled_write_P(sep_h1, false); + oled_write_P(face_1, false); + oled_write_P(keymap_config.swap_lctl_lgui ? os_m_2 : os_w_2, false); + oled_write_P(sep_h1, false); + oled_write_P(face_2, false); + oled_write_ln_P(sep_v, false); + + led_t led_usb_state = host_keyboard_led_state(); + oled_write_P(led_usb_state.num_lock ? n_lock : b_lock, false); + oled_write_P(led_usb_state.caps_lock ? c_lock : b_lock, false); + oled_write_P(led_usb_state.scroll_lock ? s_lock : b_lock, false); + oled_write_P(sep_h2, false); + +# ifndef AUDIO_ENABLE + oled_write_P(b_lock, false); +# endif + oled_write_P(b_lock, false); + +# ifdef AUDIO_ENABLE + oled_write_P(is_audio_on() ? aud_en : aud_di, false); +# endif + oled_write_P(hap_en, false); +} + +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + if (is_keyboard_master()) { + render_keyboard_status(); + } else { + oled_write_raw_P(klor_face, sizeof(klor_face)); + } + return false; +} +#endif diff --git a/keyboards/geigeigeist/klor/readme.md b/keyboards/geigeigeist/klor/readme.md new file mode 100644 index 00000000000..905dc8c5b39 --- /dev/null +++ b/keyboards/geigeigeist/klor/readme.md @@ -0,0 +1,26 @@ +# Klor + +![keyboard_image](https://i.imgur.com/1cx62B2.jpeg) + +* Keyboard Maintainer: [waffle87](https://github.com/waffle87) +* Hardware Supported: Klor PCBs w/ Pro-Micro compatible microcontrollers +* Hardware Availability: [github:geigeigeist/klor](https://github.com/geigeigeist/klor) + +**Note**: Audio and Pointing Device features are disabled by default to conserve firmware space on AVR + +Make example for this keyboard (after setting up your build environment): + + make geigeigeist/klor:default + +Flashing example for this keyboard: + + make geigeigeist/klor: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 +* **Physical reset button**: Briefly press the button on the PCB diff --git a/keyboards/geigeigeist/klor/rules.mk b/keyboards/geigeigeist/klor/rules.mk new file mode 100644 index 00000000000..5ff6500c9a8 --- /dev/null +++ b/keyboards/geigeigeist/klor/rules.mk @@ -0,0 +1 @@ +POINTING_DEVICE_DRIVER = paw3204 From c44f5375ab6aa3ad98d48a8a32a973f8fe6ad20b Mon Sep 17 00:00:00 2001 From: Duncan Sutherland Date: Fri, 6 Sep 2024 15:59:39 +0100 Subject: [PATCH 10/66] Correct 2u backspace matrix co-ordinate for Fave65s (#24353) --- keyboards/era/linx3/fave65s/keyboard.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/keyboards/era/linx3/fave65s/keyboard.json b/keyboards/era/linx3/fave65s/keyboard.json index 9bb1e456949..87f4fdf513e 100644 --- a/keyboards/era/linx3/fave65s/keyboard.json +++ b/keyboards/era/linx3/fave65s/keyboard.json @@ -136,7 +136,7 @@ {"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, 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}, @@ -279,7 +279,7 @@ {"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, 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}, @@ -420,7 +420,7 @@ {"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, 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}, @@ -565,7 +565,7 @@ {"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, 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}, From f0435451446621a0e768c8a9123789b239a325b4 Mon Sep 17 00:00:00 2001 From: jack Date: Fri, 6 Sep 2024 10:30:54 -0600 Subject: [PATCH 11/66] [Docs] Remove references to bootmagic lite (#24369) --- docs/_sidebar.json | 2 +- docs/config_options.md | 2 +- docs/driver_installation_zadig.md | 4 ++-- docs/faq_keymap.md | 2 +- docs/feature_eeprom.md | 2 +- docs/features/command.md | 2 +- docs/flashing.md | 4 ++-- docs/ref_functions.md | 2 +- docs/syllabus.md | 2 +- 9 files changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/_sidebar.json b/docs/_sidebar.json index 2ca62af92a0..d691011d641 100644 --- a/docs/_sidebar.json +++ b/docs/_sidebar.json @@ -167,7 +167,7 @@ }, { "text": "Audio", "link": "/features/audio" }, { "text": "Bluetooth", "link": "/features/bluetooth" }, - { "text": "Bootmagic Lite", "link": "/features/bootmagic" }, + { "text": "Bootmagic", "link": "/features/bootmagic" }, { "text": "Converters", "link": "/feature_converters" }, { "text": "Custom Matrix", "link": "/custom_matrix" }, { "text": "DIP Switch", "link": "/features/dip_switch" }, diff --git a/docs/config_options.md b/docs/config_options.md index a1ca8c8d503..fec6b22b133 100644 --- a/docs/config_options.md +++ b/docs/config_options.md @@ -413,7 +413,7 @@ Use these to enable or disable building certain features. The more you have enab * `MAGIC_ENABLE` * MAGIC actions (BOOTMAGIC without the boot) * `BOOTMAGIC_ENABLE` - * Enable Bootmagic Lite + * Enable Bootmagic * `MOUSEKEY_ENABLE` * Mouse keys * `EXTRAKEY_ENABLE` diff --git a/docs/driver_installation_zadig.md b/docs/driver_installation_zadig.md index 099376faeb1..9743c0adc2f 100644 --- a/docs/driver_installation_zadig.md +++ b/docs/driver_installation_zadig.md @@ -8,8 +8,8 @@ We recommend the use of the [Zadig](https://zadig.akeo.ie/) utility. If you have ## Installation -Put your keyboard into bootloader mode, either by hitting the `QK_BOOT` keycode (which may be on a different layer), or by pressing the reset switch that's usually located on the underside of the board. If your keyboard has neither, try holding Escape or Space+`B` as you plug it in (see the [Bootmagic Lite](features/bootmagic) docs for more details). Some boards use [Command](features/command) instead of Bootmagic; in this case, you can enter bootloader mode by hitting Left Shift+Right Shift+`B` or Left Shift+Right Shift+Escape at any point while the keyboard is plugged in. -Some keyboards may have specific instructions for entering the bootloader. For example, the [Bootmagic Lite](features/bootmagic) key (default: Escape) might be on a different key, e.g. Left Control; or the magic combination for Command (default: Left Shift+Right Shift) might require you to hold something else, e.g. Left Control+Right Control. Refer to the board's README file if you are unsure. +Put your keyboard into bootloader mode, either by hitting the `QK_BOOT` keycode (which may be on a different layer), or by pressing the reset switch that's usually located on the underside of the board. If your keyboard has neither, try holding Escape or Space+`B` as you plug it in (see the [Bootmagic](features/bootmagic) docs for more details). Some boards use [Command](features/command) instead of Bootmagic; in this case, you can enter bootloader mode by hitting Left Shift+Right Shift+`B` or Left Shift+Right Shift+Escape at any point while the keyboard is plugged in. +Some keyboards may have specific instructions for entering the bootloader. For example, the [Bootmagic](features/bootmagic) key (default: Escape) might be on a different key, e.g. Left Control; or the magic combination for Command (default: Left Shift+Right Shift) might require you to hold something else, e.g. Left Control+Right Control. Refer to the board's README file if you are unsure. To put a device in bootloader mode with USBaspLoader, tap the `RESET` button while holding down the `BOOT` button. Alternatively, hold `BOOT` while inserting the USB cable. diff --git a/docs/faq_keymap.md b/docs/faq_keymap.md index 56ccc6f6ccf..05bd4fed3e4 100644 --- a/docs/faq_keymap.md +++ b/docs/faq_keymap.md @@ -34,7 +34,7 @@ On first run, the VIA code in the firmware will copy the keymap from flash memor The simple fix for this is to clear the EEPROM. You can do this in several ways: -* Hold the Bootmagic Lite key (usually top left/Escape) while plugging the board in, which will also place the board into bootloader mode; then unplug and replug the board. +* Hold the Bootmagic key (usually top left/Escape) while plugging the board in, which will also place the board into bootloader mode; then unplug and replug the board. * Press the `QK_CLEAR_EEPROM`/`EE_CLR` keycode if it is accessible on your keymap. * Place the board into bootloader mode and hit the "Clear EEPROM" button. This may not be available for all bootloaders, and you may need to reflash the board afterwards. diff --git a/docs/feature_eeprom.md b/docs/feature_eeprom.md index 2912407ac76..22257b32022 100644 --- a/docs/feature_eeprom.md +++ b/docs/feature_eeprom.md @@ -109,7 +109,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } } ``` -And lastly, you want to add the `eeconfig_init_user` function, so that when the EEPROM is reset, you can specify default values, and even custom actions. To force an EEPROM reset, use the `EE_CLR` keycode or [Bootmagic Lite](features/bootmagic) functionallity. For example, if you want to set rgb layer indication by default, and save the default valued. +And lastly, you want to add the `eeconfig_init_user` function, so that when the EEPROM is reset, you can specify default values, and even custom actions. To force an EEPROM reset, use the `EE_CLR` keycode or [Bootmagic](features/bootmagic) functionallity. For example, if you want to set rgb layer indication by default, and save the default valued. ```c void eeconfig_init_user(void) { // EEPROM is getting reset! diff --git a/docs/features/command.md b/docs/features/command.md index 7ad45103c78..a6f96dcd835 100644 --- a/docs/features/command.md +++ b/docs/features/command.md @@ -1,6 +1,6 @@ # Command -Command, formerly known as Magic, is a way to change your keyboard's behavior without having to flash or unplug it to use [Bootmagic Lite](bootmagic). There is a lot of overlap between this functionality and the [Magic Keycodes](../keycodes_magic). Wherever possible we encourage you to use that feature instead of Command. +Command, formerly known as Magic, is a way to change your keyboard's behavior without having to flash or unplug it to use [Bootmagic](bootmagic). There is a lot of overlap between this functionality and the [Magic Keycodes](../keycodes_magic). Wherever possible we encourage you to use that feature instead of Command. On some keyboards Command is disabled by default. If this is the case, it must be explicitly enabled in your `rules.mk`: diff --git a/docs/flashing.md b/docs/flashing.md index 798331eb23d..2afb8588602 100644 --- a/docs/flashing.md +++ b/docs/flashing.md @@ -53,7 +53,7 @@ QMK maintains [a fork of the LUFA DFU bootloader](https://github.com/qmk/lufa/tr //#define QMK_LED E6 //#define QMK_SPEAKER C6 ``` -Currently we do not recommend making `QMK_ESC` the same key as the one designated for [Bootmagic Lite](features/bootmagic), as holding it down will cause the MCU to loop back and forth between entering and exiting the bootloader. +Currently we do not recommend making `QMK_ESC` the same key as the one designated for [Bootmagic](features/bootmagic), as holding it down will cause the MCU to loop back and forth between entering and exiting the bootloader. The manufacturer and product strings are automatically pulled from `config.h`, with " Bootloader" appended to the product string. @@ -209,7 +209,7 @@ To enable the additional features, add the following defines to your `config.h`: //#define QMK_SPEAKER C6 ``` -Currently we do not recommend making `QMK_ESC` the same key as the one designated for [Bootmagic Lite](features/bootmagic), as holding it down will cause the MCU to loop back and forth between entering and exiting the bootloader. +Currently we do not recommend making `QMK_ESC` the same key as the one designated for [Bootmagic](features/bootmagic), as holding it down will cause the MCU to loop back and forth between entering and exiting the bootloader. The manufacturer and product strings are automatically pulled from `config.h`, with " Bootloader" appended to the product string. diff --git a/docs/ref_functions.md b/docs/ref_functions.md index 577273c05d3..3304981ef56 100644 --- a/docs/ref_functions.md +++ b/docs/ref_functions.md @@ -99,7 +99,7 @@ To reset to the bootloader use `QK_BOOTLOADER` or `QK_BOOT` keycode or `reset_ke ## Wiping the EEPROM (Persistent Storage) -If you're having issues with Audio, RGB Underglow, backlighting or keys acting weird, then you can reset the EEPROM (persistent setting storage). To force an EEPROM reset, use the [`EE_CLR` keycode](quantum_keycodes) or [Bootmagic Lite](features/bootmagic) functionality. If neither of those are an option, then you can use a custom macro to do so. +If you're having issues with Audio, RGB Underglow, backlighting or keys acting weird, then you can reset the EEPROM (persistent setting storage). To force an EEPROM reset, use the [`EE_CLR` keycode](quantum_keycodes) or [Bootmagic](features/bootmagic) functionality. If neither of those are an option, then you can use a custom macro to do so. To wipe the EEPROM, run `eeconfig_init()` from your function or macro to reset most of the settings to default. diff --git a/docs/syllabus.md b/docs/syllabus.md index 3082f1ebd51..b68ded2d359 100644 --- a/docs/syllabus.md +++ b/docs/syllabus.md @@ -55,7 +55,7 @@ Everything below here requires a lot of foundational knowledge. Besides being ab * **Advanced Features** * [Unicode](features/unicode) * [API](api_overview) - * [Bootmagic Lite](features/bootmagic) + * [Bootmagic](features/bootmagic) * **Hardware** * [How Keyboards Work](how_keyboards_work) * [How A Keyboard Matrix Works](how_a_matrix_works) From e0788d19d4c3ea3b4f2f706baaaf16912f1c2dec Mon Sep 17 00:00:00 2001 From: Cipulot <40441626+Cipulot@users.noreply.github.com> Date: Sun, 8 Sep 2024 21:19:39 +0300 Subject: [PATCH 12/66] Update EC60X LED count (#24374) Update keyboard.json --- keyboards/cipulot/ec_60x/keyboard.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/cipulot/ec_60x/keyboard.json b/keyboards/cipulot/ec_60x/keyboard.json index 1d121800fcc..550bca953a2 100644 --- a/keyboards/cipulot/ec_60x/keyboard.json +++ b/keyboards/cipulot/ec_60x/keyboard.json @@ -40,7 +40,7 @@ "static_gradient": true, "twinkle": true }, - "led_count": 22 + "led_count": 19 }, "usb": { "device_version": "0.0.1", From b7729fa019833573b82d0742d9879388bfb6913c Mon Sep 17 00:00:00 2001 From: nonameCCC <79012391+nonameCCC@users.noreply.github.com> Date: Wed, 11 Sep 2024 13:43:36 +0800 Subject: [PATCH 13/66] [Keyboard] Add Support for PH-AC Rhythm Game Controller (#24368) * [Keyboard] Add PHDesign PH-AC Rhythm Game Contoller Co-authored by alt-0191 * Detail Improvement * Update keyboard.json * Update readme.md * Update readme.md * Created Encoder Matrix * Posted Images * Suggested Changes * Update keyboard.json * Update readme.md * Update keyboard.json * Update readme.md --- keyboards/phdesign/phac/keyboard.json | 46 +++++++++++++++++++ .../phdesign/phac/keymaps/default/keymap.c | 22 +++++++++ .../phdesign/phac/keymaps/default/rules.mk | 1 + keyboards/phdesign/phac/readme.md | 26 +++++++++++ 4 files changed, 95 insertions(+) create mode 100644 keyboards/phdesign/phac/keyboard.json create mode 100644 keyboards/phdesign/phac/keymaps/default/keymap.c create mode 100644 keyboards/phdesign/phac/keymaps/default/rules.mk create mode 100644 keyboards/phdesign/phac/readme.md diff --git a/keyboards/phdesign/phac/keyboard.json b/keyboards/phdesign/phac/keyboard.json new file mode 100644 index 00000000000..660cf6c2ad4 --- /dev/null +++ b/keyboards/phdesign/phac/keyboard.json @@ -0,0 +1,46 @@ +{ + "manufacturer": "PHDesign", + "keyboard_name": "phac", + "maintainer": "nonameCCC", + "bootloader": "rp2040", + "encoder": { + "rotary": [ + {"pin_a": "GP7", "pin_b": "GP8", "resolution": 1}, + {"pin_a": "GP10", "pin_b": "GP9", "resolution": 1} + ] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "direct": [ + ["GP1", "GP6", "GP5", "GP4", "GP3", "GP2", "GP0"] + ] + }, + "processor": "RP2040", + "url": "", + "usb": { + "device_version": "2.2.0", + "pid": "0x0001", + "vid": "0x5048" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 2.5, "y": 0}, + {"matrix": [0, 1], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [0, 2], "x": 1.5, "y": 1, "w": 1.5}, + {"matrix": [0, 3], "x": 3, "y": 1, "w": 1.5}, + {"matrix": [0, 4], "x": 4.5, "y": 1, "w": 1.5}, + {"matrix": [0, 5], "x": 0.375, "y": 2, "w": 2.25}, + {"matrix": [0, 6], "x": 3.375, "y": 2, "w": 2.25} + ] + } + } +} diff --git a/keyboards/phdesign/phac/keymaps/default/keymap.c b/keyboards/phdesign/phac/keymaps/default/keymap.c new file mode 100644 index 00000000000..630cca64a78 --- /dev/null +++ b/keyboards/phdesign/phac/keymaps/default/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layer_names { + _BL, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_BL] = LAYOUT( + KC_B, + KC_S, KC_D, KC_K, KC_L, + KC_V, KC_N + ) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_BL] = { ENCODER_CCW_CW(MS_UP, MS_DOWN), ENCODER_CCW_CW(MS_LEFT, MS_RGHT) }, +}; +#endif \ No newline at end of file diff --git a/keyboards/phdesign/phac/keymaps/default/rules.mk b/keyboards/phdesign/phac/keymaps/default/rules.mk new file mode 100644 index 00000000000..a40474b4d5c --- /dev/null +++ b/keyboards/phdesign/phac/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/phdesign/phac/readme.md b/keyboards/phdesign/phac/readme.md new file mode 100644 index 00000000000..88801888dbd --- /dev/null +++ b/keyboards/phdesign/phac/readme.md @@ -0,0 +1,26 @@ +# phac + +![phac](https://i.imgur.com/bQdYGMf.png) + +A rhythm game controller with 7 keys and 2 encoders on it. + +* Keyboard Maintainer: [Xufeng Tao](https://github.com/nonameCCC) +* Hardware Supported: RP2040 minimal system +* Hardware Availability: https://m.tb.cn/h.gLFXLaX?tk=7DpL3TuPVxx (currently not available outside of mainland China) + +Make example for this keyboard (after setting up your build environment): + + make phdesign/phac:default + +Flashing example for this keyboard: + + make phdesign/phac: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,5) in the matrix (the START button) and plug in the controller +* **Physical reset button**: Short pin hole SW1 on the back of the PCB (not recommended as the case is not easy to open) From 0c19eae916e5c883764a8e551077b5eeb32de152 Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 13 Sep 2024 03:30:28 +1000 Subject: [PATCH 14/66] `4pplet/waffling80/rev_b_ansi`: fix missing `keyboard.json` (#24390) --- .../4pplet/waffling80/rev_b_ansi/{info.json => keyboard.json} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename keyboards/4pplet/waffling80/rev_b_ansi/{info.json => keyboard.json} (99%) diff --git a/keyboards/4pplet/waffling80/rev_b_ansi/info.json b/keyboards/4pplet/waffling80/rev_b_ansi/keyboard.json similarity index 99% rename from keyboards/4pplet/waffling80/rev_b_ansi/info.json rename to keyboards/4pplet/waffling80/rev_b_ansi/keyboard.json index e678d0374d8..5a449e5e7cb 100644 --- a/keyboards/4pplet/waffling80/rev_b_ansi/info.json +++ b/keyboards/4pplet/waffling80/rev_b_ansi/keyboard.json @@ -15,7 +15,7 @@ "mousekey": true, "nkro": true, "rgblight": true - } + }, "ws2812": { "pin": "A8" }, From ae4ab5ed31360cbb327436ae7e76d1d0cef59449 Mon Sep 17 00:00:00 2001 From: nopunin10did Date: Fri, 13 Sep 2024 00:58:02 -0400 Subject: [PATCH 15/66] [Keyboard] Styrka Atmel Custom PCB (#24380) * Workaround for broken ChibiOS startup (#23822) * Add personal keymap JSON * Delete viktus_styrka_nopunin10did_20240529.json * Add custom Styrka Atmel firmware * Styrka Atmel fixes to compile and readme * Remove VIA keymap * Remove user keymap and edit readme --------- Co-authored-by: Joel Challis --- .../nopunin10did/styrkatmel/keyboard.json | 127 ++++++++++++++++++ .../styrkatmel/keymaps/default/keymap.c | 48 +++++++ keyboards/nopunin10did/styrkatmel/readme.md | 25 ++++ 3 files changed, 200 insertions(+) create mode 100644 keyboards/nopunin10did/styrkatmel/keyboard.json create mode 100644 keyboards/nopunin10did/styrkatmel/keymaps/default/keymap.c create mode 100644 keyboards/nopunin10did/styrkatmel/readme.md diff --git a/keyboards/nopunin10did/styrkatmel/keyboard.json b/keyboards/nopunin10did/styrkatmel/keyboard.json new file mode 100644 index 00000000000..98a9597b34d --- /dev/null +++ b/keyboards/nopunin10did/styrkatmel/keyboard.json @@ -0,0 +1,127 @@ +{ + "keyboard_name": "Styrka Atmel", + "manufacturer": "NoPunIn10Did", + "url": "https://github.com/qmk/qmk_firmware/tree/master/keyboards/nopunin10did/styrkatmel", + "maintainer": "NoPunIn10Did", + "usb": { + "vid": "0x4E50", + "pid": "0x5341", + "device_version": "0.0.1" + }, + "features": { + "backlight": false, + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "qmk": { + "locking": { + "enabled": true, + "resync": true + } + }, + "matrix_pins": { + "cols": ["F7", "F6", "F5", "F4", "F1", "D7", "B4", "B5", "B6"], + "rows": ["B3", "B0", "B1", "B2", "E6", "B7", "C6", "C7", "D6", "D4"] + }, + "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 3 + }, + "indicators": { + "caps_lock": "F0" + }, + "processor": "atmega32u4", + "bootloader": "atmel-dfu", + "layouts": { + "LAYOUT": { + "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": [0, 7], "x": 14.25, "y": 0}, + {"matrix": [0, 8], "x": 15.25, "y": 0, "w": 2}, + {"matrix": [1, 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, 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.25}, + {"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": [4, 8], "x": 16, "y": 1, "w":1.25, "h":2}, + {"matrix": [5, 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": [6, 2], "x": 4.5, "y": 3}, + {"matrix": [7, 2], "x": 5.5, "y": 3}, + {"matrix": [6, 3], "x": 6.5, "y": 3}, + {"matrix": [7, 3], "x": 7.5, "y": 3}, + {"matrix": [6, 4], "x": 8.5, "y": 3}, + {"matrix": [7, 4], "x": 9.5, "y": 3}, + {"matrix": [6, 5], "x": 10.5, "y": 3}, + {"matrix": [7, 5], "x": 11.5, "y": 3}, + {"matrix": [6, 6], "x": 12.5, "y": 3}, + {"matrix": [7, 6], "x": 13.5, "y": 3}, + {"matrix": [6, 7], "x": 14.5, "y": 3, "w":1.75}, + {"matrix": [6, 8], "x": 16.25, "y": 3}, + {"matrix": [7, 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.25}, + {"matrix": [9, 1], "x": 3.5, "y": 4, "w":1.25}, + {"matrix": [8, 2], "x": 4.75, "y": 4, "w":1.25}, + {"matrix": [8, 4], "x": 6, "y": 4, "w":7}, + {"matrix": [8, 6], "x": 12.25, "y": 4, "w":1.25}, + {"matrix": [9, 6], "x": 13.5, "y": 4, "w":1.25}, + {"matrix": [8, 7], "x": 15.25, "y": 4}, + {"matrix": [8, 8], "x": 16.25, "y": 4}, + {"matrix": [9, 8], "x": 17.25, "y": 4} + ] + } + } +} diff --git a/keyboards/nopunin10did/styrkatmel/keymaps/default/keymap.c b/keyboards/nopunin10did/styrkatmel/keymaps/default/keymap.c new file mode 100644 index 00000000000..30feaae1cec --- /dev/null +++ b/keyboards/nopunin10did/styrkatmel/keymaps/default/keymap.c @@ -0,0 +1,48 @@ +/* Copyright 2024 W. Alex Ronke, a.k.a. NoPunIn10Did (w.alex.ronke@gmail.com) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap BASE: (Base Layer) Default Layer + * .-------.,---------------------------------------------------------------. + * | F1| F2||Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| BkSpc |Ins| + * |---|---||---------------------------------------------------------------| + * | F3| F4||Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| |Del| + * |---|---||---------------------------------------------------------------| + * | F5| F6||CAPS | A| S| D| F| G| H| J| K| L| ;| '| \| Ent|PgU| + * |---|---||---------------------------------------------------------------| + * | F7| F8||Shft| <>| Z| X| C| V| B| N| M| ,| .| /| Shift| Up|PgD| + * |---|---||---------------------------------------------------------------| + * | F9|F10||LCtl|LGUI|LAlt| Space | Alt| FN||| Lt| Dn| Rt| + * `-------'`---------------------------------------------------------------' + */ +[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_BSPC, KC_INS, + 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_DEL, + 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_NUHS, KC_ENT, KC_PGUP, + KC_F7, KC_F8, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + +[1] = LAYOUT( + QK_BOOT, 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_BSLS, KC_INS, + 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_DEL, + 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_NUHS, KC_ENT, KC_PGUP, + KC_F7, KC_F8, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, + KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT + ), +}; diff --git a/keyboards/nopunin10did/styrkatmel/readme.md b/keyboards/nopunin10did/styrkatmel/readme.md new file mode 100644 index 00000000000..df9656d1a67 --- /dev/null +++ b/keyboards/nopunin10did/styrkatmel/readme.md @@ -0,0 +1,25 @@ +# Viktus Styrka Atmel Edition + +The Viktus Styrka is a 65% + left macro block created in a collaboration of OneCreativeMind and BlindAssassin111 (Viktus owner). + +This is a custom Atmel ISO Hotswap PCB for the Viktus Styrka designed and maintained by NoPunIn10Did. + +* Firmware Maintainer: [nopunin10did](https://github.com/nopunin10did) +* Hardware Supported: Styrka +* Hardware Availability: + +Make example for this keyboard (after setting up your build environment): + + make nopunin10did/styrkatmel:default + +Flashing example for this keyboard: + + make nopunin10did/styrkatmel: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). + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at the top left in the macro columns (default: F1) 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`. For the default layout, hold down the rightmost 1.25u key on the bottom row, then tap the top-left key in the macro columns. \ No newline at end of file From 0b3ece1189b11e36790c99a1a80f75413b826bb4 Mon Sep 17 00:00:00 2001 From: Sergey Vlasov Date: Fri, 13 Sep 2024 23:52:31 +0300 Subject: [PATCH 16/66] `qmk find`: Fix handling of keys with dots in filter functions (#24393) --- lib/python/qmk/search.py | 10 ++-- lib/python/qmk/tests/test_cli_commands.py | 65 +++++++++++++++++++++++ 2 files changed, 71 insertions(+), 4 deletions(-) diff --git a/lib/python/qmk/search.py b/lib/python/qmk/search.py index baaf11eb340..25e3d92066d 100644 --- a/lib/python/qmk/search.py +++ b/lib/python/qmk/search.py @@ -74,28 +74,30 @@ class Exists(FilterFunction): func_name = "exists" def apply(self, target_info: KeyboardKeymapDesc) -> bool: - return self.key in target_info.data + return self.key in target_info.dotty class Absent(FilterFunction): func_name = "absent" def apply(self, target_info: KeyboardKeymapDesc) -> bool: - return self.key not in target_info.data + return self.key not in target_info.dotty class Length(FilterFunction): func_name = "length" def apply(self, target_info: KeyboardKeymapDesc) -> bool: - return (self.key in target_info.data and len(target_info.data[self.key]) == int(self.value)) + info_dotty = target_info.dotty + return (self.key in info_dotty and len(info_dotty[self.key]) == int(self.value)) class Contains(FilterFunction): func_name = "contains" def apply(self, target_info: KeyboardKeymapDesc) -> bool: - return (self.key in target_info.data and self.value in target_info.data[self.key]) + info_dotty = target_info.dotty + return (self.key in info_dotty and self.value in info_dotty[self.key]) def _get_filter_class(func_name: str, key: str, value: str) -> Optional[FilterFunction]: diff --git a/lib/python/qmk/tests/test_cli_commands.py b/lib/python/qmk/tests/test_cli_commands.py index 4c322e0c9d0..f18bd12f820 100644 --- a/lib/python/qmk/tests/test_cli_commands.py +++ b/lib/python/qmk/tests/test_cli_commands.py @@ -347,3 +347,68 @@ def test_format_json_keymap_auto(): result = check_subcommand('format-json', '--format', 'auto', 'lib/python/qmk/tests/minimal_keymap.json') check_returncode(result) assert result.stdout == '{\n "keyboard": "handwired/pytest/basic",\n "keymap": "test",\n "layers": [\n ["KC_A"]\n ],\n "layout": "LAYOUT_ortho_1x1",\n "version": 1\n}\n' + + +def test_find_exists(): + result = check_subcommand('find', '-f', 'exists(rgb_matrix.split_count)', '-p', 'rgb_matrix.split_count') + check_returncode(result) + values = [s for s in result.stdout.splitlines() if 'rgb_matrix.split_count=' in s] + assert len(values) > 0 + for s in values: + assert '=None' not in s + assert '=[' in s + + +def test_find_absent(): + result = check_subcommand('find', '-f', 'absent(rgb_matrix.split_count)', '-p', 'rgb_matrix.split_count') + check_returncode(result) + values = [s for s in result.stdout.splitlines() if 'rgb_matrix.split_count=' in s] + assert len(values) > 0 + for s in values: + assert '=None' in s + assert '=[' not in s + + +def test_find_length(): + result = check_subcommand('find', '-f', 'length(matrix_pins.cols, 6)', '-p', 'matrix_pins.cols') + check_returncode(result) + values = [s for s in result.stdout.splitlines() if 'matrix_pins.cols=' in s] + assert len(values) > 0 + for s in values: + assert s.count(',') == 5 + + +def test_find_contains(): + result = check_subcommand('find', '-f', 'contains(matrix_pins.cols, B1)', '-p', 'matrix_pins.cols') + check_returncode(result) + values = [s for s in result.stdout.splitlines() if 'matrix_pins.cols=' in s] + assert len(values) > 0 + for s in values: + assert "'B1'" in s + + +def test_find_multiple_conditions(): + # this is intended to match at least 'crkbd/rev1' + result = check_subcommand( + 'find', '-f', 'exists(rgb_matrix.split_count)', '-f', 'contains(matrix_pins.cols, B1)', '-f', 'length(matrix_pins.cols, 6)', '-f', 'absent(eeprom.driver)', '-f', 'ws2812.pin=D3', '-p', 'rgb_matrix.split_count', '-p', 'matrix_pins.cols', '-p', + 'eeprom.driver', '-p', 'ws2812.pin' + ) + check_returncode(result) + rgb_matrix_split_count_values = [s for s in result.stdout.splitlines() if 'rgb_matrix.split_count=' in s] + assert len(rgb_matrix_split_count_values) > 0 + for s in rgb_matrix_split_count_values: + assert '=None' not in s + assert '=[' in s + matrix_pins_cols_values = [s for s in result.stdout.splitlines() if 'matrix_pins.cols=' in s] + assert len(matrix_pins_cols_values) > 0 + for s in matrix_pins_cols_values: + assert s.count(',') == 5 + assert "'B1'" in s + eeprom_driver_values = [s for s in result.stdout.splitlines() if 'eeprom.driver=' in s] + assert len(eeprom_driver_values) > 0 + for s in eeprom_driver_values: + assert '=None' in s + ws2812_pin_values = [s for s in result.stdout.splitlines() if 'ws2812.pin=' in s] + assert len(ws2812_pin_values) > 0 + for s in ws2812_pin_values: + assert '=D3' in s From aa05fa649fae1f5318ef36d93cb79a6bf4b94f47 Mon Sep 17 00:00:00 2001 From: jack Date: Sat, 14 Sep 2024 16:09:01 -0600 Subject: [PATCH 17/66] Update PR template (#24397) Initial --- .github/PULL_REQUEST_TEMPLATE.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index d402488d407..868237d9599 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,6 +1,5 @@ - ## Description @@ -15,7 +14,7 @@ - [ ] New feature - [ ] Enhancement/optimization - [ ] Keyboard (addition or update) -- [ ] Keymap/layout/userspace (addition or update) +- [ ] Keymap/layout (addition or update) - [ ] Documentation ## Issues Fixed or Closed by This PR From e7c009c142e30f6a4433e2a27ea6b56e611e68af Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Sep 2024 09:56:46 +0100 Subject: [PATCH 18/66] Bump vite from 5.2.10 to 5.2.14 in /builddefs/docsgen (#24403) Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.2.10 to 5.2.14. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v5.2.14/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v5.2.14/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-type: direct:development ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- builddefs/docsgen/package.json | 2 +- builddefs/docsgen/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/builddefs/docsgen/package.json b/builddefs/docsgen/package.json index 435e7481f1f..3bc4b38c86b 100644 --- a/builddefs/docsgen/package.json +++ b/builddefs/docsgen/package.json @@ -1,7 +1,7 @@ { "license": "GPL-2.0-or-later", "devDependencies": { - "vite": "^5.2.10", + "vite": "^5.2.14", "vitepress": "^1.1.0", "vitepress-plugin-tabs": "^0.5.0", "vue": "^3.4.24" diff --git a/builddefs/docsgen/yarn.lock b/builddefs/docsgen/yarn.lock index b40c1298d01..740bd85bb56 100644 --- a/builddefs/docsgen/yarn.lock +++ b/builddefs/docsgen/yarn.lock @@ -743,10 +743,10 @@ tabbable@^6.2.0: resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.2.0.tgz#732fb62bc0175cfcec257330be187dcfba1f3b97" integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew== -vite@^5.2.10, vite@^5.2.9: - version "5.2.10" - resolved "https://registry.yarnpkg.com/vite/-/vite-5.2.10.tgz#2ac927c91e99d51b376a5c73c0e4b059705f5bd7" - integrity sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw== +vite@^5.2.14, vite@^5.2.9: + version "5.2.14" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.2.14.tgz#fd5f60facf6b5f90ec7da6323c467a365d380c3d" + integrity sha512-TFQLuwWLPms+NBNlh0D9LZQ+HXW471COABxw/9TEUBrjuHMo9BrYBPrN/SYAwIuVL+rLerycxiLT41t4f5MZpA== dependencies: esbuild "^0.20.1" postcss "^8.4.38" From 42f1763db93b0f2c962e204ccc6e8ec7b07424a8 Mon Sep 17 00:00:00 2001 From: kbladewht Date: Wed, 18 Sep 2024 17:06:50 +0800 Subject: [PATCH 19/66] Workaround for broken STM32L433 startup (#24404) Change STM32L433 LSI to False, this is to fix board startup issue , change is same to stm32L432 board --- platforms/chibios/boards/GENERIC_STM32_L433XC/configs/mcuconf.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platforms/chibios/boards/GENERIC_STM32_L433XC/configs/mcuconf.h b/platforms/chibios/boards/GENERIC_STM32_L433XC/configs/mcuconf.h index 948c740f6e2..24cc66b7884 100644 --- a/platforms/chibios/boards/GENERIC_STM32_L433XC/configs/mcuconf.h +++ b/platforms/chibios/boards/GENERIC_STM32_L433XC/configs/mcuconf.h @@ -40,7 +40,7 @@ #define STM32_PLS STM32_PLS_LEV0 #define STM32_HSI16_ENABLED TRUE #define STM32_HSI48_ENABLED TRUE -#define STM32_LSI_ENABLED TRUE +#define STM32_LSI_ENABLED FALSE #define STM32_HSE_ENABLED FALSE #define STM32_LSE_ENABLED FALSE #define STM32_MSIPLL_ENABLED FALSE From 1c03574424bfb0fa599d6cabf4ec724bfb27c21e Mon Sep 17 00:00:00 2001 From: Dasky <32983009+daskygit@users.noreply.github.com> Date: Wed, 18 Sep 2024 15:46:13 +0100 Subject: [PATCH 20/66] Fix ADNS-9800 read (#24406) --- drivers/sensors/adns9800.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/sensors/adns9800.c b/drivers/sensors/adns9800.c index 0ba26a365ad..d5e2ca625a6 100644 --- a/drivers/sensors/adns9800.c +++ b/drivers/sensors/adns9800.c @@ -67,14 +67,15 @@ #define REG_SROM_Load_Burst 0x62 #define REG_Pixel_Burst 0x64 -#define MIN_CPI 200 -#define MAX_CPI 8200 -#define CPI_STEP 200 -#define CLAMP_CPI(value) value MAX_CPI ? MAX_CPI : value -#define US_BETWEEN_WRITES 120 -#define US_BETWEEN_READS 20 -#define US_BEFORE_MOTION 100 -#define MSB1 0x80 +#define MIN_CPI 200 +#define MAX_CPI 8200 +#define CPI_STEP 200 +#define CLAMP_CPI(value) value MAX_CPI ? MAX_CPI : value +#define US_BETWEEN_WRITES 120 +#define US_BETWEEN_READS 20 +#define US_DELAY_AFTER_ADDR 100 +#define US_BEFORE_MOTION 100 +#define MSB1 0x80 // clang-format on void adns9800_spi_start(void) { @@ -92,6 +93,7 @@ void adns9800_write(uint8_t reg_addr, uint8_t data) { uint8_t adns9800_read(uint8_t reg_addr) { adns9800_spi_start(); spi_write(reg_addr & 0x7f); + wait_us(US_DELAY_AFTER_ADDR); uint8_t data = spi_read(); spi_stop(); wait_us(US_BETWEEN_READS); From 61778f6136cac6f73ad042a1fb85b6bb548a7c1c Mon Sep 17 00:00:00 2001 From: plodah <127351418+plodah@users.noreply.github.com> Date: Fri, 20 Sep 2024 02:28:57 +0100 Subject: [PATCH 21/66] Fix a_jazz/akc084 render (#24411) * Alter ZXC row to have y index of 4 and bottom row to have index of 5 * Fix other issues with `]}`, `'"` & Enter - pointed out by noroadsleft --- keyboards/a_jazz/akc084/keyboard.json | 54 +++++++++++++-------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/keyboards/a_jazz/akc084/keyboard.json b/keyboards/a_jazz/akc084/keyboard.json index c5270e4178c..a489a5ade50 100644 --- a/keyboards/a_jazz/akc084/keyboard.json +++ b/keyboards/a_jazz/akc084/keyboard.json @@ -81,7 +81,7 @@ {"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": 11.5, "y": 2}, + {"matrix": [2, 12], "x": 12.5, "y": 2}, {"matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5}, {"matrix": [5, 11], "x": 15, "y": 2}, {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75}, @@ -95,33 +95,33 @@ {"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, "w": 2.25}, - {"matrix": [3, 12], "x": 14, "y": 3}, + {"matrix": [3, 11], "x": 11.75, "y": 3}, + {"matrix": [3, 12], "x": 12.75, "y": 3, "w": 2.25}, {"matrix": [5, 12], "x": 15, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 3, "w": 2.25}, - {"matrix": [4, 1], "x": 2.25, "y": 3}, - {"matrix": [4, 2], "x": 3.25, "y": 3}, - {"matrix": [4, 3], "x": 4.25, "y": 3}, - {"matrix": [4, 4], "x": 5.25, "y": 3}, - {"matrix": [4, 5], "x": 6.25, "y": 3}, - {"matrix": [4, 6], "x": 7.25, "y": 3}, - {"matrix": [4, 7], "x": 8.25, "y": 3}, - {"matrix": [4, 8], "x": 9.25, "y": 3}, - {"matrix": [4, 9], "x": 10.25, "y": 3}, - {"matrix": [4, 10], "x": 11.25, "y": 3}, - {"matrix": [4, 11], "x": 12.25, "y": 3, "w": 1.75}, - {"matrix": [5, 7], "x": 14, "y": 3}, - {"matrix": [5, 13], "x": 15, "y": 3}, - {"matrix": [5, 0], "x": 0, "y": 4, "w": 1.25}, - {"matrix": [5, 1], "x": 1.25, "y": 4, "w": 1.25}, - {"matrix": [5, 2], "x": 2.5, "y": 4, "w": 1.25}, - {"matrix": [5, 3], "x": 3.75, "y": 4, "w": 6.25}, - {"matrix": [5, 4], "x": 10, "y": 4}, - {"matrix": [5, 5], "x": 11, "y": 4}, - {"matrix": [5, 6], "x": 12, "y": 4}, - {"matrix": [5, 8], "x": 13, "y": 4}, - {"matrix": [5, 9], "x": 14, "y": 4}, - {"matrix": [5, 10], "x": 15, "y": 4} + {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25}, + {"matrix": [4, 1], "x": 2.25, "y": 4}, + {"matrix": [4, 2], "x": 3.25, "y": 4}, + {"matrix": [4, 3], "x": 4.25, "y": 4}, + {"matrix": [4, 4], "x": 5.25, "y": 4}, + {"matrix": [4, 5], "x": 6.25, "y": 4}, + {"matrix": [4, 6], "x": 7.25, "y": 4}, + {"matrix": [4, 7], "x": 8.25, "y": 4}, + {"matrix": [4, 8], "x": 9.25, "y": 4}, + {"matrix": [4, 9], "x": 10.25, "y": 4}, + {"matrix": [4, 10], "x": 11.25, "y": 4}, + {"matrix": [4, 11], "x": 12.25, "y": 4, "w": 1.75}, + {"matrix": [5, 7], "x": 14, "y": 4}, + {"matrix": [5, 13], "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, 3], "x": 3.75, "y": 5, "w": 6.25}, + {"matrix": [5, 4], "x": 10, "y": 5}, + {"matrix": [5, 5], "x": 11, "y": 5}, + {"matrix": [5, 6], "x": 12, "y": 5}, + {"matrix": [5, 8], "x": 13, "y": 5}, + {"matrix": [5, 9], "x": 14, "y": 5}, + {"matrix": [5, 10], "x": 15, "y": 5} ] } } From 2e86b05cab7e0bef6b4faf30d4c816f8b459452d Mon Sep 17 00:00:00 2001 From: Joe Scotto <8194147+joe-scotto@users.noreply.github.com> Date: Sat, 21 Sep 2024 13:24:38 -0400 Subject: [PATCH 22/66] Add Scotto69 (PCB Edition) (#24402) Co-authored-by: Joel Challis --- keyboards/scottokeebs/scotto69/keyboard.json | 107 ++++++++++++++++++ .../scotto69/keymaps/default/keymap.c | 58 ++++++++++ .../scotto69/keymaps/default/rules.mk | 1 + keyboards/scottokeebs/scotto69/readme.md | 29 +++++ 4 files changed, 195 insertions(+) create mode 100644 keyboards/scottokeebs/scotto69/keyboard.json create mode 100644 keyboards/scottokeebs/scotto69/keymaps/default/keymap.c create mode 100644 keyboards/scottokeebs/scotto69/keymaps/default/rules.mk create mode 100644 keyboards/scottokeebs/scotto69/readme.md diff --git a/keyboards/scottokeebs/scotto69/keyboard.json b/keyboards/scottokeebs/scotto69/keyboard.json new file mode 100644 index 00000000000..144e7b3a7e5 --- /dev/null +++ b/keyboards/scottokeebs/scotto69/keyboard.json @@ -0,0 +1,107 @@ +{ + "manufacturer": "ScottoKeebs", + "keyboard_name": "Scotto69 (PCB Edition)", + "maintainer": "joe-scotto", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "B15", "pin_b": "B14"} + ] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["A7", "A8", "A14", "A15", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "C14", "C15", "A3", "A4", "A5", "A6"], + "rows": ["B11", "B10", "B2", "B1", "B0"] + }, + "processor": "STM32F072", + "url": "https://scottokeebs.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x0030", + "vid": "0x534B" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0.5}, + {"matrix": [0, 2], "x": 3, "y": 0.5}, + {"matrix": [0, 3], "x": 4, "y": 0.5}, + {"matrix": [0, 4], "x": 5, "y": 0.5}, + {"matrix": [0, 5], "x": 6, "y": 0.5}, + {"matrix": [0, 6], "x": 7, "y": 0.5}, + {"matrix": [0, 7], "x": 8, "y": 0.5}, + {"matrix": [0, 8], "x": 9, "y": 0.5}, + {"matrix": [0, 9], "x": 10, "y": 0.5}, + {"matrix": [0, 10], "x": 11, "y": 0.5}, + {"matrix": [0, 11], "x": 12, "y": 0.5}, + {"matrix": [0, 12], "x": 13, "y": 0.5}, + {"matrix": [0, 13], "x": 15, "y": 0}, + {"matrix": [0, 14], "x": 16, "y": 0}, + {"matrix": [0, 15], "x": 17, "y": 0}, + {"matrix": [0, 16], "x": 18, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 2, "y": 1.5}, + {"matrix": [1, 2], "x": 3, "y": 1.5}, + {"matrix": [1, 3], "x": 4, "y": 1.5}, + {"matrix": [1, 4], "x": 5, "y": 1.5}, + {"matrix": [1, 5], "x": 6, "y": 1.5}, + {"matrix": [1, 6], "x": 7, "y": 1.5}, + {"matrix": [1, 7], "x": 8, "y": 1.5}, + {"matrix": [1, 8], "x": 9, "y": 1.5}, + {"matrix": [1, 9], "x": 10, "y": 1.5}, + {"matrix": [1, 10], "x": 11, "y": 1.5}, + {"matrix": [1, 11], "x": 12, "y": 1.5}, + {"matrix": [1, 12], "x": 13, "y": 1.5}, + {"matrix": [1, 13], "x": 15, "y": 1}, + {"matrix": [1, 14], "x": 16, "y": 1}, + {"matrix": [1, 15], "x": 17, "y": 1}, + {"matrix": [1, 16], "x": 18, "y": 1, "h": 2}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 2, "y": 2.5}, + {"matrix": [2, 2], "x": 3, "y": 2.5}, + {"matrix": [2, 3], "x": 4, "y": 2.5}, + {"matrix": [2, 4], "x": 5, "y": 2.5}, + {"matrix": [2, 5], "x": 6, "y": 2.5}, + {"matrix": [2, 6], "x": 7, "y": 2.5}, + {"matrix": [2, 7], "x": 8, "y": 2.5}, + {"matrix": [2, 8], "x": 9, "y": 2.5}, + {"matrix": [2, 9], "x": 10, "y": 2.5}, + {"matrix": [2, 10], "x": 11, "y": 2.5}, + {"matrix": [2, 11], "x": 12, "y": 2.5}, + {"matrix": [2, 12], "x": 13, "y": 2.5}, + {"matrix": [2, 13], "x": 15, "y": 2}, + {"matrix": [2, 14], "x": 16, "y": 2}, + {"matrix": [2, 15], "x": 17, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 2, "y": 3.5}, + {"matrix": [3, 2], "x": 3, "y": 3.5}, + {"matrix": [3, 3], "x": 4, "y": 3.5}, + {"matrix": [3, 4], "x": 5, "y": 3.5}, + {"matrix": [3, 5], "x": 6, "y": 3.5}, + {"matrix": [3, 6], "x": 7, "y": 3.5, "w": 2}, + {"matrix": [3, 8], "x": 9, "y": 3.5}, + {"matrix": [3, 9], "x": 10, "y": 3.53}, + {"matrix": [3, 10], "x": 11, "y": 3.53}, + {"matrix": [3, 11], "x": 12, "y": 3.5}, + {"matrix": [3, 12], "x": 13, "y": 3.5}, + {"matrix": [3, 13], "x": 15, "y": 3}, + {"matrix": [3, 14], "x": 16, "y": 3}, + {"matrix": [3, 15], "x": 17, "y": 3}, + {"matrix": [3, 16], "x": 18, "y": 3, "h": 2}, + {"matrix": [4, 0], "x": 0, "y": 4}, + {"matrix": [4, 13], "x": 15, "y": 4, "w": 2}, + {"matrix": [4, 15], "x": 17, "y": 4} + ] + } + } +} diff --git a/keyboards/scottokeebs/scotto69/keymaps/default/keymap.c b/keyboards/scottokeebs/scotto69/keymaps/default/keymap.c new file mode 100644 index 00000000000..96ee0e18779 --- /dev/null +++ b/keyboards/scottokeebs/scotto69/keymaps/default/keymap.c @@ -0,0 +1,58 @@ +/* +Copyright 2024 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 + +#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(_______, _______) }, + [2] = { ENCODER_CCW_CW(_______, _______) }, + [3] = { ENCODER_CCW_CW(_______, _______) } +}; +#endif + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_1, 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_LNUM, KC_SLSH, KC_ASTR, KC_MINS, + KC_2, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_BSPC, KC_QUOT, KC_7, KC_8, KC_9, KC_PLUS, + KC_MUTE, KC_LSFT, LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), KC_RSFT, KC_4, KC_5, KC_6, + KC_4, KC_ESC, KC_NO, KC_NO, KC_LCTL, KC_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT), KC_NO, KC_NO, KC_NO, KC_1, KC_2, KC_3, KC_ENT, + KC_5, KC_0, KC_DOT + ), + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, 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_TRNS, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT( + KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, 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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/scottokeebs/scotto69/keymaps/default/rules.mk b/keyboards/scottokeebs/scotto69/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/scottokeebs/scotto69/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/scottokeebs/scotto69/readme.md b/keyboards/scottokeebs/scotto69/readme.md new file mode 100644 index 00000000000..d46b93b70b7 --- /dev/null +++ b/keyboards/scottokeebs/scotto69/readme.md @@ -0,0 +1,29 @@ +# Scotto69 (PCB Edition) + +![Scotto69 (PCB Edition)](https://i.imgur.com/WNtAzcG.jpeg) + +The Scotto69 (PCB Edition) is a standard 4x12 ortholinear keyboard with a numpad on the right and 5 macro keys on the left with an optional encoder. + +* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) +* Hardware Supported: STM32F072CBT6 +* Hardware Availability: [ScottoKeebs](https://scottokeebs.com) + +# Compiling + +Make example for this keyboard (after setting up your build environment): + + make handwired/scottokeebs/scotto69:default + +Flashing example for this keyboard: + + make handwired/scottokeebs/scotto69: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 From 4665d9c405dfe00aec5abb0bb0acbe4b0400bfdf Mon Sep 17 00:00:00 2001 From: studiokestra <74369928+studiokestra@users.noreply.github.com> Date: Sat, 21 Sep 2024 11:29:12 -0600 Subject: [PATCH 23/66] [Keyboard] Add Fairholme PCB (#24400) Co-authored-by: Duncan Sutherland --- .../studiokestra/fairholme/keyboard.json | 1002 +++++++++++++++++ .../fairholme/keymaps/60_ansi/keymap.c | 34 + .../keymaps/60_ansi_split_bs_rshift/keymap.c | 34 + .../fairholme/keymaps/60_iso/keymap.c | 34 + .../fairholme/keymaps/default/keymap.c | 34 + keyboards/studiokestra/fairholme/readme.md | 27 + 6 files changed, 1165 insertions(+) create mode 100644 keyboards/studiokestra/fairholme/keyboard.json create mode 100644 keyboards/studiokestra/fairholme/keymaps/60_ansi/keymap.c create mode 100644 keyboards/studiokestra/fairholme/keymaps/60_ansi_split_bs_rshift/keymap.c create mode 100644 keyboards/studiokestra/fairholme/keymaps/60_iso/keymap.c create mode 100644 keyboards/studiokestra/fairholme/keymaps/default/keymap.c create mode 100644 keyboards/studiokestra/fairholme/readme.md diff --git a/keyboards/studiokestra/fairholme/keyboard.json b/keyboards/studiokestra/fairholme/keyboard.json new file mode 100644 index 00000000000..f789c2059bb --- /dev/null +++ b/keyboards/studiokestra/fairholme/keyboard.json @@ -0,0 +1,1002 @@ +{ + "manufacturer": "Studio Kestra", + "keyboard_name": "Fairholme", + "maintainer": "Studio Kestra", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["B11", "B2", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "F1", "F0", "C15", "C14", "C13"], + "rows": ["A0", "A1", "A2", "A9", "A10"] + }, + "processor": "STM32F072", + "usb": { + "device_version": "1.0.0", + "pid": "0x6002", + "vid": "0x7C10" + }, + "indicators": { + "caps_lock": "B10", + "on_state": 1 + }, + "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_ansi_tsangan_split_bs_rshift", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan", "60_iso_tsangan_split_bs_rshift", "60_iso_wkl", "60_iso_wkl_split_bs_rshift"], + "layouts": { + "LAYOUT_all": { + "layout": [ + {"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": [1, 13], "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, 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": 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": [ + {"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, 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, 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_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": [1, 13], "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, 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, 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_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, 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, 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_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": [1, 13], "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, 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, 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_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": [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, 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, 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, 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, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_ansi_wkl_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [1, 13], "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, 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, 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, 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, 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": [1, 13], "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, 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, 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": [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": [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": [1, 13], "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, 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}, + {"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, 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_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": [1, 13], "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, 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_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": [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, 12], "x": 12.25, "y": 3, "w": 2.75}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5}, + {"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, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_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": [1, 13], "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, 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, 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, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/studiokestra/fairholme/keymaps/60_ansi/keymap.c b/keyboards/studiokestra/fairholme/keymaps/60_ansi/keymap.c new file mode 100644 index 00000000000..f240a1c67e0 --- /dev/null +++ b/keyboards/studiokestra/fairholme/keymaps/60_ansi/keymap.c @@ -0,0 +1,34 @@ +// Copyright 2024 Studio Kestra +// 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│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │ 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│ Fn │Ctrl│ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ + [0] = LAYOUT_60_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_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(1), KC_RCTL + ), + [1] = LAYOUT_60_ansi( /* FN */ + 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_DEL, + KC_NO, KC_NO, KC_PGUP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_HOME, KC_PGDN, KC_END, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 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/studiokestra/fairholme/keymaps/60_ansi_split_bs_rshift/keymap.c b/keyboards/studiokestra/fairholme/keymaps/60_ansi_split_bs_rshift/keymap.c new file mode 100644 index 00000000000..50299b26af1 --- /dev/null +++ b/keyboards/studiokestra/fairholme/keymaps/60_ansi_split_bs_rshift/keymap.c @@ -0,0 +1,34 @@ +// Copyright 2024 Studio Kestra +// 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 │ - │ = │ | │ ~ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │Bcksp│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │Fn │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ + * │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl│ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ + [0] = LAYOUT_60_ansi_split_bs_rshift( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL + ), + [1] = LAYOUT_60_ansi_split_bs_rshift( /* FN */ + 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_DEL, + KC_NO, KC_NO, KC_PGUP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_HOME, KC_PGDN, KC_END, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 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/studiokestra/fairholme/keymaps/60_iso/keymap.c b/keyboards/studiokestra/fairholme/keymaps/60_iso/keymap.c new file mode 100644 index 00000000000..67468d4ffb7 --- /dev/null +++ b/keyboards/studiokestra/fairholme/keymaps/60_iso/keymap.c @@ -0,0 +1,34 @@ +// Copyright 2024 Studio Kestra +// 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│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐Ent │ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ ` │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │Ctrl│GUI │Alt │ │ Alt│ GUI│ Fn │Ctrl│ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ + [0] = LAYOUT_60_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_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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL + ), + [1] = LAYOUT_60_iso( /* FN */ + 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_DEL, + KC_NO, KC_NO, KC_PGUP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_HOME, KC_PGDN, KC_END, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 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/studiokestra/fairholme/keymaps/default/keymap.c b/keyboards/studiokestra/fairholme/keymaps/default/keymap.c new file mode 100644 index 00000000000..15ad875016a --- /dev/null +++ b/keyboards/studiokestra/fairholme/keymaps/default/keymap.c @@ -0,0 +1,34 @@ +// Copyright 2024 Studio Kestra +// 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 │ - │ = │ | │ ~ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │Bcksp│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │Fn │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ + * │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl│ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ + [0] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + 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, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL + ), + [1] = LAYOUT_all( /* FN */ + 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_DEL, + KC_NO, KC_NO, KC_PGUP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_HOME, KC_PGDN, KC_END, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, 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/studiokestra/fairholme/readme.md b/keyboards/studiokestra/fairholme/readme.md new file mode 100644 index 00000000000..b5b92bacc24 --- /dev/null +++ b/keyboards/studiokestra/fairholme/readme.md @@ -0,0 +1,27 @@ +# studiokestra/fairholme + +![studiokestra/fairholme](https://i.imgur.com/Ep6wkgS.png) + +60% PCB developed as a successor to Cascade PCB powered by STM32F072. + +* Keyboard Maintainer: [studiokestra](https://github.com/studiokestra) +* Hardware Supported: Geonworks F2-60 +* Hardware Availability: https://geon.works + +Make example for this keyboard (after setting up your build environment): + + make studiokestra/fairholme:default + +Flashing example for this keyboard: + + make studiokestra/fairholme: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 From 6a536d5588b17687d34c30b598945b855d2c1a35 Mon Sep 17 00:00:00 2001 From: pancho horrillo Date: Sat, 21 Sep 2024 20:48:31 +0200 Subject: [PATCH 24/66] `.editorconfig`: fix inline comment, tidy name section for yaml (#24416) --- .editorconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.editorconfig b/.editorconfig index 3a537d01b28..692a84da610 100644 --- a/.editorconfig +++ b/.editorconfig @@ -11,7 +11,8 @@ charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true -[{*.yaml,*.yml}] # To match GitHub Actions formatting + # To match GitHub Actions formatting +[*.{yaml,yml}] indent_size = 2 [*.md] From 93cc3f58b1e99945268dd039d98feb71d70a0acd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Sep 2024 09:55:18 +0100 Subject: [PATCH 25/66] Bump rollup from 4.16.4 to 4.22.4 in /builddefs/docsgen (#24430) Bumps [rollup](https://github.com/rollup/rollup) from 4.16.4 to 4.22.4. - [Release notes](https://github.com/rollup/rollup/releases) - [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md) - [Commits](https://github.com/rollup/rollup/compare/v4.16.4...v4.22.4) --- updated-dependencies: - dependency-name: rollup dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- builddefs/docsgen/yarn.lock | 166 ++++++++++++++++++------------------ 1 file changed, 83 insertions(+), 83 deletions(-) diff --git a/builddefs/docsgen/yarn.lock b/builddefs/docsgen/yarn.lock index 740bd85bb56..3b5f68035f7 100644 --- a/builddefs/docsgen/yarn.lock +++ b/builddefs/docsgen/yarn.lock @@ -298,85 +298,85 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== -"@rollup/rollup-android-arm-eabi@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.16.4.tgz#5e8930291f1e5ead7fb1171d53ba5c87718de062" - integrity sha512-GkhjAaQ8oUTOKE4g4gsZ0u8K/IHU1+2WQSgS1TwTcYvL+sjbaQjNHFXbOJ6kgqGHIO1DfUhI/Sphi9GkRT9K+Q== +"@rollup/rollup-android-arm-eabi@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz#8b613b9725e8f9479d142970b106b6ae878610d5" + integrity sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w== -"@rollup/rollup-android-arm64@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.16.4.tgz#ffb84f1359c04ec8a022a97110e18a5600f5f638" - integrity sha512-Bvm6D+NPbGMQOcxvS1zUl8H7DWlywSXsphAeOnVeiZLQ+0J6Is8T7SrjGTH29KtYkiY9vld8ZnpV3G2EPbom+w== +"@rollup/rollup-android-arm64@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz#654ca1049189132ff602bfcf8df14c18da1f15fb" + integrity sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA== -"@rollup/rollup-darwin-arm64@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.16.4.tgz#b2fcee8d4806a0b1b9185ac038cc428ddedce9f4" - integrity sha512-i5d64MlnYBO9EkCOGe5vPR/EeDwjnKOGGdd7zKFhU5y8haKhQZTN2DgVtpODDMxUr4t2K90wTUJg7ilgND6bXw== +"@rollup/rollup-darwin-arm64@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz#6d241d099d1518ef0c2205d96b3fa52e0fe1954b" + integrity sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q== -"@rollup/rollup-darwin-x64@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.16.4.tgz#fcb25ccbaa3dd33a6490e9d1c64bab2e0e16b932" - integrity sha512-WZupV1+CdUYehaZqjaFTClJI72fjJEgTXdf4NbW69I9XyvdmztUExBtcI2yIIU6hJtYvtwS6pkTkHJz+k08mAQ== +"@rollup/rollup-darwin-x64@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz#42bd19d292a57ee11734c980c4650de26b457791" + integrity sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw== -"@rollup/rollup-linux-arm-gnueabihf@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.16.4.tgz#40d46bdfe667e5eca31bf40047460e326d2e26bb" - integrity sha512-ADm/xt86JUnmAfA9mBqFcRp//RVRt1ohGOYF6yL+IFCYqOBNwy5lbEK05xTsEoJq+/tJzg8ICUtS82WinJRuIw== +"@rollup/rollup-linux-arm-gnueabihf@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz#f23555ee3d8fe941c5c5fd458cd22b65eb1c2232" + integrity sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ== -"@rollup/rollup-linux-arm-musleabihf@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.16.4.tgz#7741df2448c11c56588b50835dbfe91b1a10b375" - integrity sha512-tJfJaXPiFAG+Jn3cutp7mCs1ePltuAgRqdDZrzb1aeE3TktWWJ+g7xK9SNlaSUFw6IU4QgOxAY4rA+wZUT5Wfg== +"@rollup/rollup-linux-arm-musleabihf@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz#f3bbd1ae2420f5539d40ac1fde2b38da67779baa" + integrity sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg== -"@rollup/rollup-linux-arm64-gnu@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.16.4.tgz#0a23b02d2933e4c4872ad18d879890b6a4a295df" - integrity sha512-7dy1BzQkgYlUTapDTvK997cgi0Orh5Iu7JlZVBy1MBURk7/HSbHkzRnXZa19ozy+wwD8/SlpJnOOckuNZtJR9w== +"@rollup/rollup-linux-arm64-gnu@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz#7abe900120113e08a1f90afb84c7c28774054d15" + integrity sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw== -"@rollup/rollup-linux-arm64-musl@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.16.4.tgz#e37ef259358aa886cc07d782220a4fb83c1e6970" - integrity sha512-zsFwdUw5XLD1gQe0aoU2HVceI6NEW7q7m05wA46eUAyrkeNYExObfRFQcvA6zw8lfRc5BHtan3tBpo+kqEOxmg== +"@rollup/rollup-linux-arm64-musl@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz#9e655285c8175cd44f57d6a1e8e5dedfbba1d820" + integrity sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA== -"@rollup/rollup-linux-powerpc64le-gnu@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.16.4.tgz#8c69218b6de05ee2ba211664a2d2ac1e54e43f94" - integrity sha512-p8C3NnxXooRdNrdv6dBmRTddEapfESEUflpICDNKXpHvTjRRq1J82CbU5G3XfebIZyI3B0s074JHMWD36qOW6w== +"@rollup/rollup-linux-powerpc64le-gnu@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz#9a79ae6c9e9d8fe83d49e2712ecf4302db5bef5e" + integrity sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg== -"@rollup/rollup-linux-riscv64-gnu@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.16.4.tgz#d32727dab8f538d9a4a7c03bcf58c436aecd0139" - integrity sha512-Lh/8ckoar4s4Id2foY7jNgitTOUQczwMWNYi+Mjt0eQ9LKhr6sK477REqQkmy8YHY3Ca3A2JJVdXnfb3Rrwkng== +"@rollup/rollup-linux-riscv64-gnu@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz#67ac70eca4ace8e2942fabca95164e8874ab8128" + integrity sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA== -"@rollup/rollup-linux-s390x-gnu@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.16.4.tgz#d46097246a187d99fc9451fe8393b7155b47c5ec" - integrity sha512-1xwwn9ZCQYuqGmulGsTZoKrrn0z2fAur2ujE60QgyDpHmBbXbxLaQiEvzJWDrscRq43c8DnuHx3QorhMTZgisQ== +"@rollup/rollup-linux-s390x-gnu@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz#9f883a7440f51a22ed7f99e1d070bd84ea5005fc" + integrity sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q== -"@rollup/rollup-linux-x64-gnu@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.16.4.tgz#6356c5a03a4afb1c3057490fc51b4764e109dbc7" - integrity sha512-LuOGGKAJ7dfRtxVnO1i3qWc6N9sh0Em/8aZ3CezixSTM+E9Oq3OvTsvC4sm6wWjzpsIlOCnZjdluINKESflJLA== +"@rollup/rollup-linux-x64-gnu@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz#70116ae6c577fe367f58559e2cffb5641a1dd9d0" + integrity sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg== -"@rollup/rollup-linux-x64-musl@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.16.4.tgz#03a5831a9c0d05877b94653b5ddd3020d3c6fb06" - integrity sha512-ch86i7KkJKkLybDP2AtySFTRi5fM3KXp0PnHocHuJMdZwu7BuyIKi35BE9guMlmTpwwBTB3ljHj9IQXnTCD0vA== +"@rollup/rollup-linux-x64-musl@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz#f473f88219feb07b0b98b53a7923be716d1d182f" + integrity sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g== -"@rollup/rollup-win32-arm64-msvc@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.16.4.tgz#6cc0db57750376b9303bdb6f5482af8974fcae35" - integrity sha512-Ma4PwyLfOWZWayfEsNQzTDBVW8PZ6TUUN1uFTBQbF2Chv/+sjenE86lpiEwj2FiviSmSZ4Ap4MaAfl1ciF4aSA== +"@rollup/rollup-win32-arm64-msvc@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz#4349482d17f5d1c58604d1c8900540d676f420e0" + integrity sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw== -"@rollup/rollup-win32-ia32-msvc@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.16.4.tgz#aea0b7e492bd9ed46971cb80bc34f1eb14e07789" - integrity sha512-9m/ZDrQsdo/c06uOlP3W9G2ENRVzgzbSXmXHT4hwVaDQhYcRpi9bgBT0FTG9OhESxwK0WjQxYOSfv40cU+T69w== +"@rollup/rollup-win32-ia32-msvc@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz#a6fc39a15db618040ec3c2a24c1e26cb5f4d7422" + integrity sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g== -"@rollup/rollup-win32-x64-msvc@4.16.4": - version "4.16.4" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.16.4.tgz#c09ad9a132ccb5a67c4f211d909323ab1294f95f" - integrity sha512-YunpoOAyGLDseanENHmbFvQSfVL5BxW3k7hhy0eN4rb3gS/ct75dVD0EXOWIqFT/nE8XYW6LP6vz6ctKRi0k9A== +"@rollup/rollup-win32-x64-msvc@4.22.4": + version "4.22.4" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz#3dd5d53e900df2a40841882c02e56f866c04d202" + integrity sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q== "@shikijs/core@1.3.0", "@shikijs/core@^1.3.0": version "1.3.0" @@ -697,28 +697,28 @@ rfdc@^1.3.1: integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== rollup@^4.13.0: - version "4.16.4" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.16.4.tgz#fe328eb41293f20c9593a095ec23bdc4b5d93317" - integrity sha512-kuaTJSUbz+Wsb2ATGvEknkI12XV40vIiHmLuFlejoo7HtDok/O5eDDD0UpCVY5bBX5U5RYo8wWP83H7ZsqVEnA== + version "4.22.4" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.22.4.tgz#4135a6446671cd2a2453e1ad42a45d5973ec3a0f" + integrity sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A== dependencies: "@types/estree" "1.0.5" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.16.4" - "@rollup/rollup-android-arm64" "4.16.4" - "@rollup/rollup-darwin-arm64" "4.16.4" - "@rollup/rollup-darwin-x64" "4.16.4" - "@rollup/rollup-linux-arm-gnueabihf" "4.16.4" - "@rollup/rollup-linux-arm-musleabihf" "4.16.4" - "@rollup/rollup-linux-arm64-gnu" "4.16.4" - "@rollup/rollup-linux-arm64-musl" "4.16.4" - "@rollup/rollup-linux-powerpc64le-gnu" "4.16.4" - "@rollup/rollup-linux-riscv64-gnu" "4.16.4" - "@rollup/rollup-linux-s390x-gnu" "4.16.4" - "@rollup/rollup-linux-x64-gnu" "4.16.4" - "@rollup/rollup-linux-x64-musl" "4.16.4" - "@rollup/rollup-win32-arm64-msvc" "4.16.4" - "@rollup/rollup-win32-ia32-msvc" "4.16.4" - "@rollup/rollup-win32-x64-msvc" "4.16.4" + "@rollup/rollup-android-arm-eabi" "4.22.4" + "@rollup/rollup-android-arm64" "4.22.4" + "@rollup/rollup-darwin-arm64" "4.22.4" + "@rollup/rollup-darwin-x64" "4.22.4" + "@rollup/rollup-linux-arm-gnueabihf" "4.22.4" + "@rollup/rollup-linux-arm-musleabihf" "4.22.4" + "@rollup/rollup-linux-arm64-gnu" "4.22.4" + "@rollup/rollup-linux-arm64-musl" "4.22.4" + "@rollup/rollup-linux-powerpc64le-gnu" "4.22.4" + "@rollup/rollup-linux-riscv64-gnu" "4.22.4" + "@rollup/rollup-linux-s390x-gnu" "4.22.4" + "@rollup/rollup-linux-x64-gnu" "4.22.4" + "@rollup/rollup-linux-x64-musl" "4.22.4" + "@rollup/rollup-win32-arm64-msvc" "4.22.4" + "@rollup/rollup-win32-ia32-msvc" "4.22.4" + "@rollup/rollup-win32-x64-msvc" "4.22.4" fsevents "~2.3.2" shiki@1.3.0, shiki@^1.3.0: From f7393a5ab85e7b94f5ed19031a8fbb11b7f76e18 Mon Sep 17 00:00:00 2001 From: nopunin10did Date: Wed, 25 Sep 2024 15:25:03 -0400 Subject: [PATCH 26/66] Fix jabberwocky key coordinates in QMK Configurator (#24435) --- keyboards/nopunin10did/jabberwocky/v2/keyboard.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/nopunin10did/jabberwocky/v2/keyboard.json b/keyboards/nopunin10did/jabberwocky/v2/keyboard.json index 177f5235f45..7c688039a37 100644 --- a/keyboards/nopunin10did/jabberwocky/v2/keyboard.json +++ b/keyboards/nopunin10did/jabberwocky/v2/keyboard.json @@ -140,8 +140,8 @@ {"matrix": [9, 1], "x": 3, "y": 4.375}, {"matrix": [8, 2], "x": 4.25, "y": 4.375, "w": 1.25}, - {"matrix": [9, 2], "x": 5.25, "y": 4.375}, - {"matrix": [8, 3], "x": 6.25, "y": 4.375}, + {"matrix": [9, 2], "x": 5.5, "y": 4.375}, + {"matrix": [8, 3], "x": 6.5, "y": 4.375}, {"matrix": [9, 3], "x": 8.5, "y": 4.375}, {"matrix": [8, 4], "x": 9.5, "y": 4.25}, {"matrix": [9, 4], "x": 10.5, "y": 4.375}, From 805cde674d6e7bb5c09fdc48dd04b135cc3430ac Mon Sep 17 00:00:00 2001 From: Eric Date: Thu, 26 Sep 2024 11:43:39 -0700 Subject: [PATCH 27/66] input_club/ergodox_infinity ST7565 call spi_stop (#24429) --- drivers/lcd/st7565.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/lcd/st7565.c b/drivers/lcd/st7565.c index 4fce40edbe0..cf71c5e5a33 100644 --- a/drivers/lcd/st7565.c +++ b/drivers/lcd/st7565.c @@ -187,6 +187,8 @@ void st7565_render(void) { st7565_send_data(&st7565_buffer[ST7565_BLOCK_SIZE * update_start], ST7565_BLOCK_SIZE); + spi_stop(); + // Turn on display if it is off st7565_on(); From 17fac880bf26d36bde6456d283b7db08c131a0c8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 27 Sep 2024 20:38:32 +0100 Subject: [PATCH 28/66] Bump JamesIves/github-pages-deploy-action from 4.6.4 to 4.6.6 (#24446) Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.6.4 to 4.6.6. - [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases) - [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/v4.6.4...v4.6.6) --- updated-dependencies: - dependency-name: JamesIves/github-pages-deploy-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 338b983d78e..616457604e1 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -56,7 +56,7 @@ jobs: - name: Deploy if: ${{ github.event_name == 'push' && github.repository == 'qmk/qmk_firmware' }} - uses: JamesIves/github-pages-deploy-action@v4.6.4 + uses: JamesIves/github-pages-deploy-action@v4.6.6 with: token: ${{ secrets.GITHUB_TOKEN }} branch: gh-pages From 4d6337539d4166eb1ef92251253f53d379ef852c Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sat, 28 Sep 2024 01:58:22 +0100 Subject: [PATCH 29/66] Revert "Bump JamesIves/github-pages-deploy-action from 4.6.4 to 4.6.6" (#24450) Revert "Bump JamesIves/github-pages-deploy-action from 4.6.4 to 4.6.6 (#24446)" This reverts commit 17fac880bf26d36bde6456d283b7db08c131a0c8. --- .github/workflows/docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 616457604e1..338b983d78e 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -56,7 +56,7 @@ jobs: - name: Deploy if: ${{ github.event_name == 'push' && github.repository == 'qmk/qmk_firmware' }} - uses: JamesIves/github-pages-deploy-action@v4.6.6 + uses: JamesIves/github-pages-deploy-action@v4.6.4 with: token: ${{ secrets.GITHUB_TOKEN }} branch: gh-pages From f18a6993936517c86afa3e383fd16bb3b9611691 Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 30 Sep 2024 09:26:31 +1000 Subject: [PATCH 30/66] [docs] `reference_info_json`: add type hints (#24443) --- docs/reference_info_json.md | 464 ++++++++++++++++++------------------ 1 file changed, 232 insertions(+), 232 deletions(-) diff --git a/docs/reference_info_json.md b/docs/reference_info_json.md index e658b48b715..82110537a9d 100644 --- a/docs/reference_info_json.md +++ b/docs/reference_info_json.md @@ -6,51 +6,51 @@ You can create `info.json` files at every level under `qmk_firmware/keyboards/String Required * A free-form text string describing the keyboard. This will be used as the USB product string. Can include Unicode characters, escaped to ASCII eg. `\u03A8` (Ψ). * Example: `"Clueboard 66%"` -* `maintainer` (Required) +* `maintainer` String Required * GitHub username of the maintainer, or `qmk` for community maintained boards. * Example: `"skullydazed"` -* `manufacturer` (Required) +* `manufacturer` String Required * A free-form text string describing the keyboard's manufacturer. This will be used as the USB manufacturer string. Can include Unicode characters, escaped to ASCII eg. `\u03A8` (Ψ). * Example: `"Clueboard"` -* `url` (Required) +* `url` String Required * A URL to the keyboard's product page, [QMK.fm/keyboards](https://qmk.fm/keyboards) page, or other page describing information about the keyboard. * Example: `"https://clueboard.co"` -* `bootloader_instructions` +* `bootloader_instructions` String * Instructions for putting the keyboard into a mode that allows for firmware flashing. * Example: `"Press the button marked RESET on the back of the PCB"` -* `tags` +* `tags` Array: String * A list of tags describing the keyboard. * Example: `["ortho", "split", "rgb"]` ## Hardware Configuration {#hardware-configuration} -* `board` +* `board` String * Override the default ChibiOS board name (ARM-based keyboards only). * Example: `"BLACKPILL_STM32_F411"` -* `bootloader` +* `bootloader` String * The bootloader in use on the keyboard. Required if `development_board` is not specified. -* `development_board` +* `development_board` String * The microcontroller development board, if applicable. * Example: `"promicro"` -* `pin_compatible` +* `pin_compatible` String * The form factor of the development board, if applicable. Must be one of `elite_c`, `promicro`. -* `processor` +* `processor` String * The microcontroller in use on the keyboard. Required if `development_board` is not specified. ## Firmware Configuration {#firmware-configuration} * `build` - * `debounce_type` + * `debounce_type`String * The debounce algorithm to use. Must be one of `asym_eager_defer_pk`, `custom`, `sym_defer_g`, `sym_defer_pk`, `sym_defer_pr`, `sym_eager_pk`, `sym_eager_pr`. - * `firmware_format` + * `firmware_format`String * The format of the final output binary. Must be one of `bin`, `hex`, `uf2`. - * `lto` + * `lto`Boolean * Enable Link-Time Optimization. * Default: `false` -* `features` +* `features`Object: Boolean * A dictionary of features to enable or disable. * Example: ```json @@ -61,36 +61,36 @@ You can create `info.json` files at every level under `qmk_firmware/keyboards/Boolean * Enable locking switch support. * Default: `false` - * `resync` + * `resync` Boolean * Keep switch state consistent with keyboard LED state. * Default: `false` - * `tap_capslock_delay` + * `tap_capslock_delay` Number * The delay between keydown and keyup for Caps Lock tap events in milliseconds. * Default: `80` (80 ms) - * `tap_keycode_delay` + * `tap_keycode_delay` Number * The delay between keydown and keyup for tap events in milliseconds. * Default: `0` (no delay) * `tapping` - * `hold_on_other_key_press` + * `hold_on_other_key_press` Boolean * Default: `false` - * `hold_on_other_key_press_per_key` + * `hold_on_other_key_press_per_key` Boolean * Default: `false` - * `permissive_hold` + * `permissive_hold` Boolean * Default: `false` - * `permissive_hold_per_key` + * `permissive_hold_per_key` Boolean * Default: `false` - * `retro` + * `retro` Boolean * Default: `false` - * `retro_per_key` + * `retro_per_key` Boolean * Default: `false` - * `term` + * `term` Number * Default: `200` (200 ms) - * `term_per_key` + * `term_per_key` Boolean * Default: `false` - * `toggle` + * `toggle` Number * Default: `5` ## APA102 {#apa102} @@ -98,11 +98,11 @@ You can create `info.json` files at every level under `qmk_firmware/keyboards/Pin Required * The GPIO pin connected to `CI` on the first LED in the chain. - * `data_pin` (Required) + * `data_pin` Pin Required * The GPIO pin connected to `DI` on the first LED in the chain. - * `default_brightness` + * `default_brightness` Number * The initial global brightness level (independent of the RGB data), from 0 to 31. * Default: `31` @@ -112,26 +112,26 @@ Configures the [Audio](features/audio) feature. * `audio` * `default` - * `on` + * `on` Boolean * The default audio enabled state. * Default: `true` - * `clicky` + * `clicky` Boolean * The default audio clicky enabled state. * Default: `true` - * `driver` + * `driver` String * The driver to use. Must be one of `dac_additive`, `dac_basic`, `pwm_software`, `pwm_hardware`. - * `macro_beep` + * `macro_beep` Boolean * Play a short beep for `\a` (ASCII `BEL`) characters in Send String macros. * Default: `false` - * `pins` (Required) + * `pins` Array: Pin Required * The GPIO pin(s) connected to the speaker(s). * `power_control` - * `on_state` + * `on_state` 0|1 * The logical GPIO state required to turn the speaker on. * Default: `1` (on = high) - * `pin` + * `pin` Pin * The GPIO pin connected to speaker power circuit. - * `voices` + * `voices` Boolean * Use multiple audio voices. * Default: `false` @@ -141,40 +141,40 @@ Configures the [Audio](features/audio) feature. Configures the [Backlight](features/backlight) feature. * `backlight` - * `as_caps_lock` + * `as_caps_lock` Boolean * Use the backlight as a Caps Lock indicator. * Default: `false` - * `breathing` + * `breathing` Boolean * Whether backlight breathing is enabled. * Default: `false` - * `breathing_period` + * `breathing_period` Number * The length of one backlight breathing cycle in seconds. * Default: `6` (6 seconds) * `default` - * `on` + * `on` Boolean * The default backlight enabled state. * Default: `true` - * `breathing` + * `breathing` Boolean * The default backlight breathing state. * Default: `false` - * `brightness` + * `brightness` Number * The default brightness level. * Default: `max_brightness` - * `driver` + * `driver` String * The driver to use. Must be one of `custom`, `pwm`, `software`, `timer`. * Default: `"pwm"` - * `levels` + * `levels` Number * The number of brightness levels (excluding off), from 1 to 31. * Default: `3` - * `max_brightness` + * `max_brightness` Number * The maximum PWM value which brightness is scaled to, from 0 to 255. * Default: `255` - * `on_state` + * `on_state` 0|1 * The logical GPIO state required to turn the LEDs on. * Default: `1` (on = high) - * `pin` + * `pin` Pin * The GPIO pin connected to the backlight circuit. - * `pins` + * `pins` Array: Pin * A list of GPIO pins connected to the backlight LEDs (`software` and `timer` drivers only). ## Bluetooth {#bluetooth} @@ -182,7 +182,7 @@ Configures the [Backlight](features/backlight) feature. Configures the [Bluetooth](features/bluetooth) feature. * `bluetooth` - * `driver` + * `driver` String * The driver to use. Must be one of `custom`, `bluefruit_le`, `rn42`. ## Bootmagic {#bootmagic} @@ -190,10 +190,10 @@ Configures the [Bluetooth](features/bluetooth) feature. Configures the [Bootmagic](features/bootmagic) feature. * `bootmagic` - * `enabled` + * `enabled` Boolean * Enables the Bootmagic feature. * Default: `false` - * `matrix` + * `matrix` Matrix * The matrix position of the key to check during startup. This should generally be set to the (physically) top left key. * Default: `[0, 0]` @@ -202,19 +202,19 @@ Configures the [Bootmagic](features/bootmagic) feature. Configures the [Caps Word](features/caps_word) feature. * `caps_word` - * `both_shifts_turns_on` + * `both_shifts_turns_on` Boolean * Activate Caps Word by pressing both Shift keys. * Default: `false` - * `double_tap_shift_turns_on` + * `double_tap_shift_turns_on` Boolean * Activate Caps Word by pressing Left Shift twice. * Default: `false` - * `enabled` + * `enabled` Boolean * Enables the Caps Word feature. * Default: `false` - * `idle_timeout` + * `idle_timeout` Number * The amount of time before Caps Word automatically deactivates in milliseconds. * Default: `5000` (5 seconds) - * `invert_on_shift` + * `invert_on_shift` Boolean * Invert shift state instead of deactivating Caps Word when Shift is pressed. * Default: `false` @@ -223,7 +223,7 @@ Configures the [Caps Word](features/caps_word) feature. Configures the [Combo](features/combo) feature. * `combo` - * `term` + * `term` Number * The amount of time to recognize a combo in milliseconds. * Default: `50` (50 ms) @@ -232,12 +232,12 @@ Configures the [Combo](features/combo) feature. Configures the [DIP Switches](features/dip_switch) feature. * `dip_switch` - * `enabled` + * `enabled` Boolean * Enable the DIP Switches feature. * Default: `false` - * `pins` + * `pins` Array: Pin * A list of GPIO pins connected to the MCU. - * `matrix_grid` + * `matrix_grid` Array: Matrix * A list of matrix locations in the key matrix. * Example: `[ [0,6], [1,6], [2,6] ]` @@ -246,15 +246,15 @@ Configures the [DIP Switches](features/dip_switch) feature. Configures the [EEPROM](drivers/eeprom) driver. * `eeprom` - * `driver` + * `driver` String * The EEPROM backend to use. Must be one of `custom`, `i2c`, `legacy_stm32_flash`, `spi`, `transient`, `vendor`, `wear_leveling`. * Default: `"vendor"` * `wear_leveling` - * `driver` + * `driver` String * The driver to use. Must be one of `embedded_flash`, `legacy`, `rp2040_flash`, `spi_flash`, `custom`. - * `backing_size` + * `backing_size` Number * Number of bytes used by the wear-leveling algorithm for its underlying storage, and needs to be a multiple of the logical size. - * `logical_size` + * `logical_size` Number * Number of bytes “exposed” to the rest of QMK and denotes the size of the usable EEPROM. ## Encoder {#encoder} @@ -262,13 +262,13 @@ Configures the [EEPROM](drivers/eeprom) driver. Configures the [Encoder](features/encoders) feature. * `encoder` - * `rotary` + * `rotary` Array: Object * A list of encoder objects. - * `pin_a` (Required) + * `pin_a` Pin Required * The GPIO pin connected to the encoder's `A` pin. - * `pin_b` (Required) + * `pin_b` Pin Required * The GPIO pin connected to the encoder's `B` pin. - * `resolution` + * `resolution` Number * The number of edge transitions on both pins required to register an input. * Default: `4` @@ -277,18 +277,18 @@ Configures the [Encoder](features/encoders) feature. Configures the [LED Indicators](features/led_indicators) feature. * `indicators` - * `caps_lock` + * `caps_lock` Pin * The GPIO pin connected to the Caps Lock LED. - * `compose` + * `compose` Pin * The GPIO pin connected to the Compose LED. - * `kana` + * `kana` Pin * The GPIO pin connected to the Kana LED. - * `num_lock` + * `num_lock` Pin * The GPIO pin connected to the Num Lock LED. - * `on_state` + * `on_state` 0|1 * The logical GPIO state required to turn the LEDs on. * Default: `1` (on = high) - * `scroll_lock` + * `scroll_lock` Pin * The GPIO pin connected to the Scroll Lock LED. ## Layouts {#layouts} @@ -301,10 +301,10 @@ All key positions and rotations are specified in relation to the top-left corner The ISO enter key is represented by a 1.25u×2uh key. Renderers which utilize info.json layout data (such as `qmk info -l` and the QMK Configurator) should display this key as expected. -* `community_layouts` +* `community_layouts` Array: String * A list of community layouts supported by the keyboard. * Example: `["60_ansi", "60_iso"]` -* `layout_aliases` +* `layout_aliases` Object: String * A mapping of layout aliases to layout definitions. * Example: ```json @@ -313,34 +313,34 @@ The ISO enter key is represented by a 1.25u×2uh key. Renderers which utilize in "LAYOUT_iso": "LAYOUT_60_iso" } ``` -* `layouts` +* `layouts` Object * A dictionary of layouts supported by the keyboard. - * `LAYOUT_` - * `layout` + * `LAYOUT_` Object + * `layout` Array: Object * A list of key dictionaries comprising the layout. Each key dictionary contains: - * `matrix` (Required) + * `matrix` Matrix Required * The matrix position for the key. * Example: `[0, 4]` (row 0, column 4) - * `x` (Required) + * `x` KeyUnit Required * The absolute position of the key in the horizontal axis, in key units. - * `y` (Required) + * `y` KeyUnit Required * The absolute position of the key in the vertical axis, in key units. - * `h` + * `h` KeyUnit * The height of the key, in key units. * Default: `1` (1u) - * `label` + * `label` String * What to name the key. This is *not* a key assignment as in the keymap, but should usually correspond to the keycode for the first layer of the default keymap. * Example: `"Escape"` - * `r` + * `r` Number * The rotation angle in degrees. Currently not implemented. - * `rx` + * `rx` Number * The absolute X position of the rotation axis. Currently not implemented. - * `ry` + * `ry` Number * The absolute Y position of the rotation axis. Currently not implemented. - * `w` + * `w` KeyUnit * The width of the key, in key units. * Default: `1` (1u) - * `encoder` + * `encoder` Number * The index of an encoder this key should be linked to * Example: `{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}` @@ -349,13 +349,13 @@ The ISO enter key is represented by a 1.25u×2uh key. Renderers which utilize in Configures the [Leader Key](features/leader_key) feature. * `leader_key` - * `timing` + * `timing` Boolean * Reset the `timeout` on each keypress. * Default: `false` - * `strict_processing` + * `strict_processing` Boolean * Do not extract the tap keycodes from Layer-Tap and Mod-Tap key events. * Default: `false` - * `timeout` + * `timeout` Number * The amount of time to complete a leader sequence in milliseconds. * Default: `300` (300 ms) @@ -364,7 +364,7 @@ Configures the [Leader Key](features/leader_key) feature. Configures the [LED Matrix](features/led_matrix) feature. * `led_matrix` - * `animations` + * `animations` Object: Boolean * A dictionary of effects to enable or disable. Effects which are absent default to `false`. * Example: ```json @@ -374,82 +374,82 @@ Configures the [LED Matrix](features/led_matrix) feature. "cycle_left_right": false } ``` - * `center_point` + * `center_point` Array: Number * The centroid (geometric center) of the LEDs. Used for certain effects. * Default: `[112, 32]` * `default` - * `animation` + * `animation` String * The default effect. Must be one of `led_matrix.animations` * Default: `"solid"` - * `on` + * `on` Boolean * The default enabled state. * Default: `true` - * `val` + * `val` Number * The default brightness level. * Default: `max_brightness` - * `speed` + * `speed` Number * The default animation speed. * Default: `128` - * `driver` (Required) + * `driver` String Required * The driver to use. Must be one of `custom`, `is31fl3218`, `is31fl3731`, `is31fl3733`, `is31fl3736`, `is31fl3737`, `is31fl3741`, `is31fl3742a`, `is31fl3743a`, `is31fl3745`, `is31fl3746a`, `snled27351`. - * `layout` (Required) + * `layout` Array: Object Required * List of LED configuration dictionaries. Each dictionary contains: - * `flags` (Required) + * `flags` Number Required * A bitfield of flags describing the type of LED. - * `x` (Required) + * `x` Number Required * The position of the LED in the horizontal axis, from 0 to 224. - * `y` (Required) + * `y` Number Required * The position of the LED in the vertical axis, from 0 to 64. - * `matrix` + * `matrix` Matrix * The key matrix position associated with the LED. * Example: `[0, 2]` * Example: `{"matrix": [2, 1], "x": 20, "y": 48, "flags": 2}` - * `led_flush_limit` + * `led_flush_limit` Number * Limits in milliseconds how frequently an animation will update the LEDs. * Default: `16` - * `led_process_limit` + * `led_process_limit` Number * Limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness). * Default: `led_count / 5` - * `max_brightness` + * `max_brightness` Number * The maximum value which brightness is scaled to, from 0 to 255. * Default: `255` - * `react_on_keyup` + * `react_on_keyup` Boolean * Animations react to keyup instead of keydown. * Default: `false` - * `sleep` + * `sleep` Boolean * Turn off the LEDs when the host goes to sleep. * Default: `false` - * `speed_steps` + * `speed_steps` Number * The number of speed adjustment steps. * Default: `16` - * `split_count` + * `split_count` Array: Number * For split keyboards, the number of LEDs on each half. * Example: `[16, 16]` - * `timeout` + * `timeout` Number * The LED activity timeout in milliseconds. * Default: `0` (no timeout) - * `val_steps` + * `val_steps` Number * The number of brightness adjustment steps. * Default: `8` ## Matrix {#matrix} -* `debounce` +* `debounce` Number * The debounce time in milliseconds. * Default: `5` (5 ms) -* `diode_direction` +* `diode_direction` String * Which way the diodes are "pointing". Unused for `matrix_pins.direct`. Must be one of `COL2ROW`, `ROW2COL`. * `matrix_pins` - * `cols` + * `cols` Array: Pin * A list of GPIO pins connected to the matrix columns. * Example: `["A0", "A1", "A2"]` - * `custom` + * `custom` Boolean * Whether to use a custom matrix scanning implementation. * Default: `false` - * `custom_lite` + * `custom_lite` Boolean * Whether to use a "lite" custom matrix scanning implementation. * Default: `false` - * `direct` + * `direct` Array: Array: Pin * A 2-dimensional list of GPIO pins connected to each keyswitch, forming the "matrix" rows and columns. * Example: ```json @@ -459,16 +459,16 @@ Configures the [LED Matrix](features/led_matrix) feature. ["C0", "C1", "C2"] ] ``` - * `ghost` + * `ghost` Boolean * Whether the matrix has no anti-ghosting diodes. * Default: `false` - * `input_pressed_state` + * `input_pressed_state` 0|1 * The logical GPIO state of the input pins when a key is pressed. * Default: `0` (pressed = low) - * `io_delay` + * `io_delay` Number * The amount of time to wait between row/col selection and col/row pin reading, in microseconds. * Default: `30` (30 µs) - * `rows` + * `rows` Array: Pin * A list of GPIO pins connected to the matrix rows. * Example: `["B0", "B1", "B2"]` @@ -477,23 +477,23 @@ Configures the [LED Matrix](features/led_matrix) feature. Configures the [Mouse Keys](features/mouse_keys) feature. * `mouse_key` - * `delay` - * `enabled` + * `delay` Number + * `enabled` Boolean * Enables the Mouse Keys feature. * Default: `false` - * `interval` - * `max_speed` - * `time_to_max` - * `wheel_delay` + * `interval` Number + * `max_speed` Number + * `time_to_max` Number + * `wheel_delay` Number ## One Shot {#one-shot} Configures [One Shot keys](one_shot_keys). * `oneshot` - * `tap_toggle` + * `tap_toggle` Number * The number of times to tap the key in order to hold it. - * `timeout` + * `timeout` Number * The amount of time before the key is released in milliseconds. ## PS/2 {#ps2} @@ -501,30 +501,30 @@ Configures [One Shot keys](one_shot_keys). Configures the [PS/2](features/ps2_mouse) feature. * `ps2` - * `clock_pin` + * `clock_pin` Pin * The GPIO pin connected to `CLK` on the PS/2 device. - * `data_pin` + * `data_pin` Pin * The GPIO pin connected to `DATA` on the PS/2 device. - * `driver` + * `driver` String * The PS/2 driver to use. Must be one of `busywait`, `interrupt`, `usart`, `vendor`. * Default: `"busywait"` - * `enabled` + * `enabled` Boolean * Enable the PS/2 feature. * Default: `false` - * `mouse_enabled` + * `mouse_enabled` Boolean * Enable the PS/2 mouse handling. * Default: `false` ## QMK LUFA Bootloader {#qmk-lufa-bootloader} * `qmk_lufa_bootloader` - * `esc_input` (Required) + * `esc_input` Pin Required * The GPIO pin connected to the designated "exit bootloader" key's row (if `COL2ROW`). - * `esc_output` (Required) + * `esc_output` Pin Required * The GPIO pin connected to the designated "exit bootloader" key's column (if `COL2ROW`). - * `led` + * `led` Pin * The GPIO pin connected to an LED to flash. - * `speaker` + * `speaker` Pin * The GPIO pin connected to a speaker to click (can also be used for a second LED). ## RGBLight {#rgblight} @@ -532,9 +532,9 @@ Configures the [PS/2](features/ps2_mouse) feature. Configures the [RGB Lighting](features/rgblight) feature. * `rgblight` - * `led_count` (Required) + * `led_count` Number Required * The number of LEDs in the chain. - * `animations` + * `animations` Object: Boolean * A dictionary of effects to enable or disable. Effects which are absent default to `false`. * Example: ```json @@ -544,60 +544,60 @@ Configures the [RGB Lighting](features/rgblight) feature. "snake": false } ``` - * `brightness_steps` + * `brightness_steps` Number * The number of brightness adjustment steps. * Default: `17` * `default` - * `animation` + * `animation` String * The default effect. Must be one of `rgblight.animations` * Default: `"static_light"` - * `on` + * `on` Boolean * The default enabled state. * Default: `true` - * `hue` + * `hue` Number * The default hue value. * Default: `0` - * `sat` + * `sat` Number * The default saturation value. * Default: `255` - * `val` + * `val` Number * The default brightness level. * Default: `max_brightness` - * `speed` + * `speed` Number * The default animation speed. * Default: `0` - * `driver` + * `driver` String * The driver to use. Must be one of `apa102`, `custom`, `ws2812`. * Default: `"ws2812"` - * `hue_steps` + * `hue_steps` Number * The number of hue adjustment steps. * Default: `8` * `layers` - * `blink` + * `blink` Boolean * Enable layer blinking API. * Default: `false` - * `enabled` + * `enabled` Boolean * Enable RGB Lighting Layers. * Default: `false` - * `max` + * `max` Number * The maximum layer count, from 1 to 32. * Default: `8` - * `led_map` + * `led_map` Array: Number * Remap LED indices. * Example: `[4, 3, 2, 1, 0]` - * `max_brightness` + * `max_brightness` Number * The maximum value which the HSV "V" component is scaled to, from 0 to 255. * Default: `255` - * `saturation_steps` + * `saturation_steps` Number * The number of saturation adjustment steps. * Default: `17` - * `sleep` + * `sleep` Boolean * Turn off the LEDs when the host goes to sleep. * Default: `false` - * `split` + * `split` Boolean * Enable synchronization between split halves. * Default: `false` - * `split_count` + * `split_count` Array: Number * When `rgblight.split` is enabled, the number of LEDs on each half. * Example: `[10, 10]` @@ -606,7 +606,7 @@ Configures the [RGB Lighting](features/rgblight) feature. Configures the [RGB Matrix](features/rgb_matrix) feature. * `rgb_matrix` - * `animations` + * `animations` Object: Boolean * A dictionary of effects to enable or disable. Effects which are absent default to `false`. * Example: ```json @@ -616,73 +616,73 @@ Configures the [RGB Matrix](features/rgb_matrix) feature. "cycle_left_right": false } ``` - * `center_point` + * `center_point` Array: Number * The centroid (geometric center) of the LEDs. Used for certain effects. * Default: `[112, 32]` * `default` - * `animation` + * `animation` String * The default effect. Must be one of `rgb_matrix.animations` * Default: `"solid_color"` - * `on` + * `on` Boolean * The default enabled state. * Default: `true` - * `hue` + * `hue` Number * The default hue value. * Default: `0` - * `sat` + * `sat` Number * The default saturation value. * Default: `255` - * `val` + * `val` Number * The default brightness level. * Default: `max_brightness` - * `speed` + * `speed` Number * The default animation speed. * Default: `128` - * `driver` (Required) + * `driver` String Required * The driver to use. Must be one of `aw20216s`, `custom`, `is31fl3218`, `is31fl3236`, `is31fl3729`, `is31fl3731`, `is31fl3733`, `is31fl3736`, `is31fl3737`, `is31fl3741`, `is31fl3742a`, `is31fl3743a`, `is31fl3745`, `is31fl3746a`, `snled27351`, `ws2812`. - * `hue_steps` + * `hue_steps` Number * The number of hue adjustment steps. * Default: `8` - * `layout` (Required) + * `layout` Array: Object Required * List of LED configuration dictionaries. Each dictionary contains: - * `flags` (Required) + * `flags` Number Required * A bitfield of flags describing the type of LED. - * `x` (Required) + * `x` Number Required * The position of the LED in the horizontal axis, from 0 to 224. - * `y` (Required) + * `y` Number Required * The position of the LED in the vertical axis, from 0 to 64. - * `matrix` + * `matrix` Matrix * The key matrix position associated with the LED. * Example: `[0, 2]` * Example: `{"matrix": [2, 1], "x": 20, "y": 48, "flags": 2}` - * `led_flush_limit` + * `led_flush_limit` Number * Limits in milliseconds how frequently an animation will update the LEDs. * Default: `16` - * `led_process_limit` + * `led_process_limit` Number * Limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness). * Default: `led_count / 5` - * `max_brightness` + * `max_brightness` Number * The maximum value which the HSV "V" component is scaled to, from 0 to 255. * Default: `255` - * `react_on_keyup` + * `react_on_keyup` Boolean * Animations react to keyup instead of keydown. * Default: `false` - * `sat_steps` + * `sat_steps` Number * The number of saturation adjustment steps. * Default: `16` - * `sleep` + * `sleep` Boolean * Turn off the LEDs when the host goes to sleep. * Default: `false` - * `speed_steps` + * `speed_steps` Number * The number of speed adjustment steps. * Default: `16` - * `split_count` + * `split_count` Array: Number * For split keyboards, the number of LEDs on each half. * Example: `[16, 16]` - * `timeout` + * `timeout` Number * The LED activity timeout in milliseconds. * Default: `0` (no timeout) - * `val_steps` + * `val_steps` Number * The number of brightness adjustment steps. * Default: `16` @@ -691,16 +691,16 @@ Configures the [RGB Matrix](features/rgb_matrix) feature. Configures the [Secure](features/secure) feature. * `secure` - * `enabled` + * `enabled` Boolean * Enable the Secure feature. * Default: `false` - * `idle_timeout` + * `idle_timeout` Number * Timeout while unlocked before returning to the locked state. Set to `0` to disable. * Default: `60000` (1 minute) - * `unlock_sequence` + * `unlock_sequence` Array: Matrix * A list of up to five matrix locations comprising the "unlock sequence". * Example: `[[0, 0], [0, 1], [4, 3]]` - * `unlock_timeout` + * `unlock_timeout` Number * Timeout for the user to perform the unlock sequence. Set to `0` to disable. * Default: `5000` (5 seconds) @@ -716,7 +716,7 @@ Configures the [Split Keyboard](features/split_keyboard) feature. * `right` * `pins` * See [DIP Switches](#dip-switch) config. - * `enabled` + * `enabled` Boolean * Enable the Split Keyboard feature. * Default: `false` * `encoder` @@ -724,69 +724,69 @@ Configures the [Split Keyboard](features/split_keyboard) feature. * `rotary` * See [Encoder](#encoder) config. * `handedness` - * `pin` + * `pin` Pin * The GPIO pin connected to determine handedness. - * `matrix_grid` + * `matrix_grid` Array: Pin * The GPIO pins of the matrix position which determines the handedness. * Example: `["A1", "B5"]` * `matrix_pins` * `right` * See [Matrix](#matrix) config. * `serial` - * `driver` + * `driver` String * The driver to use. Must be one of `bitbang`, `usart`, `vendor`. * Default: `"bitbang"` - * `pin` + * `pin` Pin * The GPIO pin to use for transmit and receive. - * `soft_serial_speed` + * `soft_serial_speed` Number * The protocol speed, from `0` to `5` (`serial` transport protocol only). * Default: `1` * `transport` - * `protocol` + * `protocol` String * The split transport protocol to use. Must be one of `custom`, `i2c`, `serial`. * `sync` - * `activity` + * `activity` Boolean * Mirror the activity timestamps to the secondary half. * Default: `false` - * `detected_os` + * `detected_os` Boolean * Mirror the [detected OS](features/os_detection) to the secondary half. * Default: `false` - * `haptic` + * `haptic` Boolean * Mirror the haptic state and process haptic feedback to the secondary half. * Default: `false` - * `layer_state` + * `layer_state` Boolean * Mirror the layer state to the secondary half. * Default: `false` - * `indicators` + * `indicators` Boolean * Mirror the indicator state to the secondary half. * Default: `false` - * `matrix_state` + * `matrix_state` Boolean * Mirror the main/primary half's matrix state to the secondary half. * Default: `false` - * `modifiers` + * `modifiers` Boolean * Mirror the modifier state to the secondary half. * Default: `false` - * `oled` + * `oled` Boolean * Mirror the OLED on/off status to the secondary half. * Default: `false` - * `st7565` + * `st7565` Boolean * Mirror the ST7565 on/off status to the secondary half. * Default: `false` - * `wpm` + * `wpm` Boolean * Mirror the current WPM value to the secondary half. * Default: `false` - * `watchdog` + * `watchdog` Boolean * Reboot the secondary half if it loses connection. * Default: `false` - * `watchdog_timeout` + * `watchdog_timeout` Number * The amount of time to wait for communication from the primary half in milliseconds. * `usb_detect` - * `enabled` + * `enabled` Boolean * Detect USB connection when determining split half roles. - * `polling_interval` + * `polling_interval` Number * The polling frequency in milliseconds. * Default: `10` (10 ms) - * `timeout` + * `timeout` Number * The amount of time to wait for a USB connection in milliseconds. * Default: `2000` (2 seconds) @@ -795,48 +795,48 @@ Configures the [Split Keyboard](features/split_keyboard) feature. Configures the [Stenography](features/stenography) feature. * `stenography` - * `enabled` + * `enabled` Boolean * Enable the Stenography feature. * Default: `false` - * `protocol` + * `protocol` String * The Steno protocol to use. Must be one of `all`, `geminipr`, `txbolt`. * Default: `"all"` ## USB {#usb} * `usb` - * `device_version` (Required) + * `device_version` String Required * A BCD version number in the format `MM.m.r` (up to `99.9.9`). * Example: `"1.0.0"` - * `pid` (Required) + * `pid` String Required * The USB product ID as a four-digit hexadecimal number. * Example: `"0x23B0"` - * `vid` (Required) + * `vid` String Required * The USB vendor ID as a four-digit hexadecimal number. * Example: `"0xC1ED"` - * `force_nkro` + * `force_nkro` Boolean * Force NKRO to be active. * Default: `false` - * `max_power` + * `max_power` Number * The maximum current draw the host should expect from the device. This does not control the actual current usage. * Default: `500` (500 mA) - * `no_startup_check` + * `no_startup_check` Boolean * Disable USB suspend check after keyboard startup. * Default: `false` - * `polling_interval` + * `polling_interval` Number * The frequency at which the host should poll the keyboard for reports. * Default: `1` (1 ms/1000 Hz) * `shared_endpoint` - * `keyboard` + * `keyboard` Boolean * Send keyboard reports through the "shared" USB endpoint. * Default: `false` - * `mouse` + * `mouse` Boolean * Send mouse reports through the "shared" USB endpoint. * Default: `true` - * `suspend_wakeup_delay` + * `suspend_wakeup_delay` Number * The amount of time to wait after sending a wakeup packet, in milliseconds. * Default: `0` (disabled) - * `wait_for_enumeration` + * `wait_for_enumeration` Boolean * Force the keyboard to wait for USB enumeration before starting up. * Default: `false` @@ -845,17 +845,17 @@ Configures the [Stenography](features/stenography) feature. Configures the [WS2812](drivers/ws2812) driver. * `ws2812` - * `driver` + * `driver` String * The driver to use. Must be one of `bitbang`, `custom`, `i2c`, `pwm`, `spi`, `vendor`. * Default: `"bitbang"` - * `pin` (Required) + * `pin` Pin Required * The GPIO pin connected to `DI` on the first LED in the chain (`bitbang`, `pwm`, `spi` and `vendor` drivers only). - * `i2c_address` + * `i2c_address` String * The I²C address of the WS2812 controller (`i2c` driver only). * Default: `"0xB0"` - * `i2c_timeout` + * `i2c_timeout` Number * The I²C timeout in milliseconds (`i2c` driver only). * Default: `100` (100 ms) - * `rgbw` + * `rgbw` Boolean * Enable RGBW LEDs. * Default: `false` From 015cd23616b921115002b4d6238d7ed1350f8f66 Mon Sep 17 00:00:00 2001 From: Pham Duc Minh <95753855+Deemen17@users.noreply.github.com> Date: Mon, 30 Sep 2024 07:23:21 +0700 Subject: [PATCH 31/66] [Keyboard] Add DE80 PCB (#24439) --- keyboards/deemen17/de80/config.h | 20 + keyboards/deemen17/de80/halconf.h | 22 + keyboards/deemen17/de80/keyboard.json | 893 ++++++++++++++++++ .../deemen17/de80/keymaps/default/keymap.c | 45 + .../deemen17/de80/keymaps/default/rules.mk | 1 + keyboards/deemen17/de80/mcuconf.h | 23 + keyboards/deemen17/de80/readme.md | 27 + 7 files changed, 1031 insertions(+) create mode 100644 keyboards/deemen17/de80/config.h create mode 100644 keyboards/deemen17/de80/halconf.h create mode 100644 keyboards/deemen17/de80/keyboard.json create mode 100644 keyboards/deemen17/de80/keymaps/default/keymap.c create mode 100644 keyboards/deemen17/de80/keymaps/default/rules.mk create mode 100644 keyboards/deemen17/de80/mcuconf.h create mode 100644 keyboards/deemen17/de80/readme.md diff --git a/keyboards/deemen17/de80/config.h b/keyboards/deemen17/de80/config.h new file mode 100644 index 00000000000..e4066d3954b --- /dev/null +++ b/keyboards/deemen17/de80/config.h @@ -0,0 +1,20 @@ +/* Copyright 2024 Deemen17 + * + * 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 WS2812_SPI_DRIVER SPID2 +#define WS2812_SPI_USE_CIRCULAR_BUFFER diff --git a/keyboards/deemen17/de80/halconf.h b/keyboards/deemen17/de80/halconf.h new file mode 100644 index 00000000000..ccf74472856 --- /dev/null +++ b/keyboards/deemen17/de80/halconf.h @@ -0,0 +1,22 @@ +/* Copyright 2022 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_SPI TRUE + +#include_next + diff --git a/keyboards/deemen17/de80/keyboard.json b/keyboards/deemen17/de80/keyboard.json new file mode 100644 index 00000000000..f2b6b2dbdd4 --- /dev/null +++ b/keyboards/deemen17/de80/keyboard.json @@ -0,0 +1,893 @@ +{ + "manufacturer": "Deemen17", + "keyboard_name": "DE80", + "maintainer": "Deemen17", + "bootloader": "uf2boot", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true, + "encoder": true + }, + "matrix_pins": { + "rows": ["A8", "A10", "A9", "B11", "C14", "C13"], + "cols": ["B14", "B13", "B12", "B2", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "A2", "A1", "A0", "A15", "B7", "B6"] + }, + "processor": "STM32F103", + "usb": { + "vid": "0xDE17", + "pid": "0x80F1", + "device_version": "1.0.0" + }, + "indicators": { + "caps_lock": "B10", + "scroll_lock": "B3" + }, + "rgblight": { + "animations": { + "alternating": true, + "breathing": true, + "christmas": true, + "knight": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "rgb_test": true, + "snake": true, + "static_gradient": true, + "twinkle": true + }, + "led_count": 40, + "max_brightness": 250, + "sleep": true + }, + "ws2812": { + "driver": "spi", + "pin": "B15" + }, + "encoder": { + "rotary": [ + {"pin_a": "B5", "pin_b": "B4"} + ] + }, + "layout_aliases": { + "LAYOUT_all": "LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift" + }, + "community_layouts": ["tkl_ansi_tsangan", "tkl_ansi_tsangan_split_bs_rshift", "tkl_ansi_wkl", "tkl_ansi_wkl_split_bs_rshift", "tkl_f13_ansi_tsangan", "tkl_f13_ansi_tsangan_split_bs_rshift", "tkl_f13_ansi_wkl", "tkl_f13_ansi_wkl_split_bs_rshift" ], + "layouts": { + "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, 13], "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_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, 13], "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.5, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"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}, + + {"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.5, "y": 5.25}, + {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"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_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": [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, 13], "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, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"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": [5, 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": [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, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"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": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_ansi_wkl": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + + {"matrix": [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, 13], "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, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"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": [5, 16], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_ansi_wkl_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, 2], "x": 2.5, "y": 5.25, "w": 1.25}, + {"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": [5, 16], "x": 17.25, "y": 5.25} + ] + } + } +} diff --git a/keyboards/deemen17/de80/keymaps/default/keymap.c b/keyboards/deemen17/de80/keymaps/default/keymap.c new file mode 100644 index 00000000000..cd354304470 --- /dev/null +++ b/keyboards/deemen17/de80/keymaps/default/keymap.c @@ -0,0 +1,45 @@ +/* Copyright 2024 Deemen17 Works + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT_all( + KC_ESC, KC_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_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_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_LSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, MO(1), KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = 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, RGB_SAI, RGB_HUI, + KC_TRNS, KC_TRNS, KC_TRNS, 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_SAD, RGB_HUD, + 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, + KC_TRNS, 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_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD, RGB_VAD, RGB_MOD + ) + +}; + +#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_VOLD, KC_VOLU) }, +}; +#endif diff --git a/keyboards/deemen17/de80/keymaps/default/rules.mk b/keyboards/deemen17/de80/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/deemen17/de80/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/deemen17/de80/mcuconf.h b/keyboards/deemen17/de80/mcuconf.h new file mode 100644 index 00000000000..8b309107b0c --- /dev/null +++ b/keyboards/deemen17/de80/mcuconf.h @@ -0,0 +1,23 @@ +/* Copyright 2022 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_SPI_USE_SPI2 +#define STM32_SPI_USE_SPI2 TRUE diff --git a/keyboards/deemen17/de80/readme.md b/keyboards/deemen17/de80/readme.md new file mode 100644 index 00000000000..c82330d8f22 --- /dev/null +++ b/keyboards/deemen17/de80/readme.md @@ -0,0 +1,27 @@ +# DE80 + +![deemen17/de80](https://i.imgur.com/oZvFM0G.png) + +The DE80 is a portable TKL PCB that features a compact A87 form factor, dual USB Type C ports (breakable), seven JST SH 4P 1.0 ports, two FPC ports, and compatibility with both F12 and F13 footprints, making it suitable for use with a variety of TKL boards. + +* Keyboard Maintainer: [Deemen17](https://github.com/Deemen17) +* Hardware Supported: DE80 R1 2024 PCB w/ STM32F103 MCU +* Hardware Availability: [Deemen17 Facebook Page](https://www.facebook.com/deemen17/), [Deemen17 Works Instagram](https://www.instagram.com/deemen17.works) + +Make example for this keyboard (after setting up your build environment): + + make deemen17/de80:default + +Flashing example for this keyboard: + + make deemen17/de80: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 (ESC/Escape) and plug in the keyboard +* **Physical reset button**: Double tap the button RESET on the back of the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available From b78118b2dd5267516a80e0fa7460ca491aafef4c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 30 Sep 2024 20:31:03 +0100 Subject: [PATCH 32/66] Bump JamesIves/github-pages-deploy-action from 4.6.4 to 4.6.8 (#24453) Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.6.4 to 4.6.8. - [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases) - [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/v4.6.4...v4.6.8) --- updated-dependencies: - dependency-name: JamesIves/github-pages-deploy-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 338b983d78e..42d377fe4a9 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -56,7 +56,7 @@ jobs: - name: Deploy if: ${{ github.event_name == 'push' && github.repository == 'qmk/qmk_firmware' }} - uses: JamesIves/github-pages-deploy-action@v4.6.4 + uses: JamesIves/github-pages-deploy-action@v4.6.8 with: token: ${{ secrets.GITHUB_TOKEN }} branch: gh-pages From 6374bad54060995eb43dc3bf2e6975d787aca53d Mon Sep 17 00:00:00 2001 From: DOIO2022 <116554792+DOIO2022@users.noreply.github.com> Date: Thu, 3 Oct 2024 08:27:36 +0800 Subject: [PATCH 33/66] Add KB09-01 keyboard (#24044) Co-authored-by: jack --- keyboards/doio/kb09/keyboard.json | 123 +++++++++++++++++++ keyboards/doio/kb09/keymaps/default/keymap.c | 58 +++++++++ keyboards/doio/kb09/readme.md | 26 ++++ 3 files changed, 207 insertions(+) create mode 100644 keyboards/doio/kb09/keyboard.json create mode 100644 keyboards/doio/kb09/keymaps/default/keymap.c create mode 100644 keyboards/doio/kb09/readme.md diff --git a/keyboards/doio/kb09/keyboard.json b/keyboards/doio/kb09/keyboard.json new file mode 100644 index 00000000000..e3012f510cb --- /dev/null +++ b/keyboards/doio/kb09/keyboard.json @@ -0,0 +1,123 @@ +{ + "manufacturer": "DOIO", + "keyboard_name": "KB09-01", + "maintainer": "DOIO2022", + "bootloader": "stm32duino", + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "B5", "pin_b": "B6"}, + {"pin_a": "A1", "pin_b": "A2"} + ] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["B14", "B13", "B12", "B0", "A7"], + "rows": ["B3", "B4", "B9", "B8"] + }, + "processor": "STM32F103", + "rgb_matrix": { + "animations": { + "alphas_mods": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_sat": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "band_val": true, + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "cycle_up_down": true, + "digital_rain": true, + "dual_beacon": true, + "gradient_left_right": true, + "gradient_up_down": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "jellybean_raindrops": true, + "multisplash": true, + "pixel_fractal": true, + "pixel_rain": true, + "rainbow_beacon": true, + "rainbow_moving_chevron": true, + "rainbow_pinwheels": true, + "raindrops": true, + "solid_multisplash": true, + "solid_reactive": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_multinexus": true, + "solid_reactive_multiwide": true, + "solid_reactive_nexus": true, + "solid_reactive_simple": true, + "solid_reactive_wide": true, + "solid_splash": true, + "splash": true, + "typing_heatmap": true + }, + "default": { + "animation": "cycle_up_down" + }, + "driver": "ws2812", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4}, + {"matrix": [0, 1], "x": 56, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 112, "y": 0, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 21, "flags": 4}, + {"matrix": [1, 1], "x": 56, "y": 21, "flags": 4}, + {"matrix": [1, 2], "x": 112, "y": 21, "flags": 4}, + {"matrix": [2, 0], "x": 0, "y": 42, "flags": 4}, + {"matrix": [2, 1], "x": 56, "y": 42, "flags": 4}, + {"matrix": [2, 2], "x": 112, "y": 42, "flags": 4} + ], + "max_brightness": 200, + "sleep": true + }, + "url": "", + "usb": { + "device_version": "0.0.1", + "pid": "0x0901", + "vid": "0xD010" + }, + "ws2812": { + "pin": "A10" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [1, 3], "x": 1, "y": 0}, + {"matrix": [0, 0], "x": 4, "y": 0}, + {"matrix": [0, 1], "x": 5, "y": 0}, + {"matrix": [0, 2], "x": 6, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 3], "x": 0, "y": 1}, + {"matrix": [2, 3], "x": 2, "y": 1}, + {"matrix": [1, 0], "x": 4, "y": 1}, + {"matrix": [1, 1], "x": 5, "y": 1}, + {"matrix": [1, 2], "x": 6, "y": 1}, + {"matrix": [3, 0], "x": 1, "y": 2}, + {"matrix": [2, 0], "x": 4, "y": 2}, + {"matrix": [2, 1], "x": 5, "y": 2}, + {"matrix": [2, 2], "x": 6, "y": 2}, + {"matrix": [3, 1], "x": 3, "y": 3}, + {"matrix": [3, 2], "x": 3, "y": 3} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/doio/kb09/keymaps/default/keymap.c b/keyboards/doio/kb09/keymaps/default/keymap.c new file mode 100644 index 00000000000..657a6bc428f --- /dev/null +++ b/keyboards/doio/kb09/keymaps/default/keymap.c @@ -0,0 +1,58 @@ +/* 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 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_LAY0] = LAYOUT( + KC_UP, KC_1, KC_2, KC_3, KC_MPLY, KC_MUTE, + KC_LEFT, KC_RIGHT, KC_4, KC_5, KC_6, + KC_DOWN, KC_7, KC_8, KC_9, + TO(1), LWIN(KC_D)), + [_LAY1] = LAYOUT( + KC_TRNS, C(S(KC_S)), C(KC_H), C(KC_G), KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, C(S(KC_A)), C(KC_J), C(S(KC_G)), + KC_TRNS, C(KC_Z), KC_DEL, C(A(S(KC_E))), + TO(2), KC_TRNS), + [_LAY2] = LAYOUT( + KC_TRNS, S(KC_I), A(KC_EQL), C(S(KC_M)), KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, S(KC_O), A(KC_MINS), S(KC_M), + KC_TRNS, KC_C, KC_V, C(KC_M), + TO(3), KC_TRNS), + [_LAY3] = LAYOUT( + KC_TRNS, RGB_SPI, RGB_SPD, RGB_HUI, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, RGB_SAI, RGB_SAD, RGB_HUD, + KC_TRNS, RGB_MOD, RGB_VAI, RGB_VAD, + TO(0), KC_TRNS) +}; + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_LAY0] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_LAY1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_LAY2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [_LAY3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; +#endif diff --git a/keyboards/doio/kb09/readme.md b/keyboards/doio/kb09/readme.md new file mode 100644 index 00000000000..a7b23dc58da --- /dev/null +++ b/keyboards/doio/kb09/readme.md @@ -0,0 +1,26 @@ +# doio/kb09 + +![kb09-01](https://i.imgur.com/MVKeweC.png) + +QMK for DOIO GBA keypad . + +* Keyboard Maintainer: DOIO2022 +* Hardware Supported: DOIO GBA keypad + +Make example for this keyboard (after setting up your build environment): + + make doio/kb09:default + +Flashing example for this keyboard: + + make doio/kb09: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 From 6a73c8299b53426295e6af9c30a51a1823b872c1 Mon Sep 17 00:00:00 2001 From: anubhav dhiman <104914147+anubhavd7@users.noreply.github.com> Date: Wed, 2 Oct 2024 17:28:41 -0700 Subject: [PATCH 34/66] Add atset AT2 keyboard (#24099) Co-authored-by: Ryan Co-authored-by: jack Co-authored-by: Joel Challis Co-authored-by: zvecr --- keyboards/atset/at2/keyboard.json | 32 ++++++++++++++++++++ keyboards/atset/at2/keymaps/default/keymap.c | 10 ++++++ keyboards/atset/at2/readme.md | 24 +++++++++++++++ 3 files changed, 66 insertions(+) create mode 100644 keyboards/atset/at2/keyboard.json create mode 100644 keyboards/atset/at2/keymaps/default/keymap.c create mode 100644 keyboards/atset/at2/readme.md diff --git a/keyboards/atset/at2/keyboard.json b/keyboards/atset/at2/keyboard.json new file mode 100644 index 00000000000..d612505c900 --- /dev/null +++ b/keyboards/atset/at2/keyboard.json @@ -0,0 +1,32 @@ +{ + "manufacturer": "Atset", + "keyboard_name": "AT2", + "maintainer": "qmk", + "board": "GENERIC_RP_RP2040", + "processor": "RP2040", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "usb": { + "vid": "0x4141", + "pid": "0x6174", + "device_version": "1.0.0" + }, + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP19", "GP20"], + "rows": ["GP28"] + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0} + ] + } + } +} diff --git a/keyboards/atset/at2/keymaps/default/keymap.c b/keyboards/atset/at2/keymaps/default/keymap.c new file mode 100644 index 00000000000..bdecf93a57a --- /dev/null +++ b/keyboards/atset/at2/keymaps/default/keymap.c @@ -0,0 +1,10 @@ +/* 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 + ) +}; + diff --git a/keyboards/atset/at2/readme.md b/keyboards/atset/at2/readme.md new file mode 100644 index 00000000000..0bc777b052e --- /dev/null +++ b/keyboards/atset/at2/readme.md @@ -0,0 +1,24 @@ +# ATSET AT2 + +A special 2 key keyboard powered by QMK. + +* Keyboard Maintainer: [ATSET](https://github.com/anubhavd7) +* Hardware Supported: ATSET AT2 (https://imgur.com/a/yBbVwef) +https://www.atsetmediscience.com/atset-at2-9949007.html +Make example for this keyboard (after setting up your build environment): + + make atset/at2:default + +Flashing example for this keyboard: + + make atset/at2: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 From e12c1fefdfedbf772d10377c85e2c3caffbdb644 Mon Sep 17 00:00:00 2001 From: yiancar Date: Sat, 5 Oct 2024 10:16:25 -0600 Subject: [PATCH 35/66] NK Classic TKL ISO (#24434) * initial_commit * fix keymap * Update keyboards/novelkeys/nk_classic_tkl_iso/keyboard.json Co-authored-by: Duncan Sutherland --------- Co-authored-by: Duncan Sutherland --- .../novelkeys/nk_classic_tkl_iso/config.h | 25 ++ .../novelkeys/nk_classic_tkl_iso/halconf.h | 21 ++ .../nk_classic_tkl_iso/keyboard.json | 270 ++++++++++++++++++ .../keymaps/default/keymap.c | 69 +++++ .../novelkeys/nk_classic_tkl_iso/mcuconf.h | 22 ++ .../novelkeys/nk_classic_tkl_iso/readme.md | 32 +++ .../novelkeys/nk_classic_tkl_iso/rules.mk | 2 + 7 files changed, 441 insertions(+) create mode 100644 keyboards/novelkeys/nk_classic_tkl_iso/config.h create mode 100644 keyboards/novelkeys/nk_classic_tkl_iso/halconf.h create mode 100755 keyboards/novelkeys/nk_classic_tkl_iso/keyboard.json create mode 100644 keyboards/novelkeys/nk_classic_tkl_iso/keymaps/default/keymap.c create mode 100644 keyboards/novelkeys/nk_classic_tkl_iso/mcuconf.h create mode 100644 keyboards/novelkeys/nk_classic_tkl_iso/readme.md create mode 100644 keyboards/novelkeys/nk_classic_tkl_iso/rules.mk diff --git a/keyboards/novelkeys/nk_classic_tkl_iso/config.h b/keyboards/novelkeys/nk_classic_tkl_iso/config.h new file mode 100644 index 00000000000..62744a2589b --- /dev/null +++ b/keyboards/novelkeys/nk_classic_tkl_iso/config.h @@ -0,0 +1,25 @@ +/* Copyright 2024 Yiancar-Designs + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +/* RGB options */ + +#define WS2812_PWM_DRIVER PWMD3 +#define WS2812_PWM_CHANNEL 3 +#define WS2812_PWM_PAL_MODE 1 +#define WS2812_DMA_STREAM STM32_DMA1_STREAM3 +#define WS2812_DMA_CHANNEL 3 diff --git a/keyboards/novelkeys/nk_classic_tkl_iso/halconf.h b/keyboards/novelkeys/nk_classic_tkl_iso/halconf.h new file mode 100644 index 00000000000..c7f5bab5c85 --- /dev/null +++ b/keyboards/novelkeys/nk_classic_tkl_iso/halconf.h @@ -0,0 +1,21 @@ +/* Copyright 2024 Yiancar-Designs + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/novelkeys/nk_classic_tkl_iso/keyboard.json b/keyboards/novelkeys/nk_classic_tkl_iso/keyboard.json new file mode 100755 index 00000000000..12085cbacc1 --- /dev/null +++ b/keyboards/novelkeys/nk_classic_tkl_iso/keyboard.json @@ -0,0 +1,270 @@ +{ + "manufacturer": "Yiancar-Designs", + "keyboard_name": "NK_ Classic TKL ISO", + "maintainer": "Yiancar", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["B12", "B13", "B14", "B15", "A8", "A10", "A14", "A15", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "A0", "A1"], + "rows": ["B11", "B10", "B2", "B1", "A9", "A5"] + }, + "processor": "STM32F072", + "rgb_matrix": { + "animations": { + "alphas_mods": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_sat": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "band_val": true, + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "cycle_up_down": true, + "digital_rain": true, + "dual_beacon": true, + "gradient_left_right": true, + "gradient_up_down": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "jellybean_raindrops": true, + "multisplash": true, + "pixel_flow": true, + "pixel_fractal": true, + "pixel_rain": true, + "rainbow_beacon": true, + "rainbow_moving_chevron": true, + "rainbow_pinwheels": true, + "raindrops": true, + "solid_multisplash": true, + "solid_reactive": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_multinexus": true, + "solid_reactive_multiwide": true, + "solid_reactive_nexus": true, + "solid_reactive_simple": true, + "solid_reactive_wide": true, + "solid_splash": true, + "splash": true, + "typing_heatmap": true + }, + "driver": "ws2812", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, + {"matrix": [0, 1], "x": 26, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 38, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 51, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 64, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 83, "y": 0, "flags": 1}, + {"matrix": [0, 6], "x": 96, "y": 0, "flags": 1}, + {"matrix": [0, 7], "x": 109, "y": 0, "flags": 1}, + {"matrix": [0, 8], "x": 122, "y": 0, "flags": 1}, + {"matrix": [0, 9], "x": 141, "y": 0, "flags": 4}, + {"matrix": [0, 10], "x": 154, "y": 0, "flags": 4}, + {"matrix": [0, 11], "x": 166, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 179, "y": 0, "flags": 4}, + {"matrix": [0, 14], "x": 195, "y": 0, "flags": 1}, + {"matrix": [0, 15], "x": 208, "y": 0, "flags": 1}, + {"matrix": [0, 16], "x": 221, "y": 0, "flags": 1}, + {"matrix": [1, 16], "x": 221, "y": 15, "flags": 1}, + {"matrix": [1, 15], "x": 208, "y": 15, "flags": 1}, + {"matrix": [1, 14], "x": 195, "y": 15, "flags": 1}, + {"matrix": [1, 13], "x": 173, "y": 15, "flags": 1}, + {"matrix": [1, 12], "x": 154, "y": 15, "flags": 4}, + {"matrix": [1, 11], "x": 141, "y": 15, "flags": 4}, + {"matrix": [1, 10], "x": 128, "y": 15, "flags": 4}, + {"matrix": [1, 9], "x": 115, "y": 15, "flags": 4}, + {"matrix": [1, 8], "x": 102, "y": 15, "flags": 4}, + {"matrix": [1, 7], "x": 90, "y": 15, "flags": 4}, + {"matrix": [1, 6], "x": 77, "y": 15, "flags": 4}, + {"matrix": [1, 5], "x": 64, "y": 15, "flags": 4}, + {"matrix": [1, 4], "x": 51, "y": 15, "flags": 4}, + {"matrix": [1, 3], "x": 38, "y": 15, "flags": 4}, + {"matrix": [1, 2], "x": 26, "y": 15, "flags": 4}, + {"matrix": [1, 1], "x": 13, "y": 15, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 15, "flags": 4}, + {"matrix": [2, 0], "x": 3, "y": 27, "flags": 1}, + {"matrix": [2, 1], "x": 19, "y": 27, "flags": 4}, + {"matrix": [2, 2], "x": 32, "y": 27, "flags": 4}, + {"matrix": [2, 3], "x": 45, "y": 27, "flags": 4}, + {"matrix": [2, 4], "x": 58, "y": 27, "flags": 4}, + {"matrix": [2, 5], "x": 70, "y": 27, "flags": 4}, + {"matrix": [2, 6], "x": 83, "y": 27, "flags": 4}, + {"matrix": [2, 7], "x": 96, "y": 27, "flags": 4}, + {"matrix": [2, 8], "x": 109, "y": 27, "flags": 4}, + {"matrix": [2, 9], "x": 122, "y": 27, "flags": 4}, + {"matrix": [2, 10], "x": 134, "y": 27, "flags": 4}, + {"matrix": [2, 11], "x": 147, "y": 27, "flags": 4}, + {"matrix": [2, 12], "x": 160, "y": 27, "flags": 4}, + {"matrix": [3, 13], "x": 178, "y": 21, "flags": 1}, + {"matrix": [2, 14], "x": 195, "y": 27, "flags": 1}, + {"matrix": [2, 15], "x": 208, "y": 27, "flags": 1}, + {"matrix": [2, 16], "x": 221, "y": 27, "flags": 1}, + {"x": 224, "y": 34, "flags": 9}, + {"x": 218, "y": 34, "flags": 9}, + {"x": 211, "y": 34, "flags": 9}, + {"x": 205, "y": 34, "flags": 9}, + {"x": 198, "y": 34, "flags": 9}, + {"x": 192, "y": 34, "flags": 9}, + {"matrix": [3, 12], "x": 163, "y": 40, "flags": 4}, + {"matrix": [3, 11], "x": 150, "y": 40, "flags": 4}, + {"matrix": [3, 10], "x": 138, "y": 40, "flags": 4}, + {"matrix": [3, 9], "x": 125, "y": 40, "flags": 4}, + {"matrix": [3, 8], "x": 112, "y": 40, "flags": 4}, + {"matrix": [3, 7], "x": 99, "y": 40, "flags": 4}, + {"matrix": [3, 6], "x": 86, "y": 40, "flags": 4}, + {"matrix": [3, 5], "x": 74, "y": 40, "flags": 4}, + {"matrix": [3, 4], "x": 61, "y": 40, "flags": 4}, + {"matrix": [3, 3], "x": 48, "y": 40, "flags": 4}, + {"matrix": [3, 2], "x": 35, "y": 40, "flags": 4}, + {"matrix": [3, 1], "x": 22, "y": 40, "flags": 4}, + {"matrix": [3, 0], "x": 5, "y": 40, "flags": 1}, + {"matrix": [4, 0], "x": 1, "y": 52, "flags": 1}, + {"matrix": [4, 1], "x": 16, "y": 52, "flags": 4}, + {"matrix": [4, 2], "x": 29, "y": 52, "flags": 4}, + {"matrix": [4, 3], "x": 42, "y": 52, "flags": 4}, + {"matrix": [4, 4], "x": 54, "y": 52, "flags": 4}, + {"matrix": [4, 5], "x": 67, "y": 52, "flags": 4}, + {"matrix": [4, 6], "x": 80, "y": 52, "flags": 4}, + {"matrix": [4, 7], "x": 93, "y": 52, "flags": 4}, + {"matrix": [4, 8], "x": 106, "y": 52, "flags": 4}, + {"matrix": [4, 9], "x": 118, "y": 52, "flags": 4}, + {"matrix": [4, 10], "x": 131, "y": 52, "flags": 4}, + {"matrix": [4, 11], "x": 144, "y": 52, "flags": 4}, + {"matrix": [4, 12], "x": 168, "y": 52, "flags": 1}, + {"matrix": [4, 15], "x": 208, "y": 52, "flags": 1}, + {"matrix": [5, 16], "x": 221, "y": 64, "flags": 1}, + {"matrix": [5, 15], "x": 208, "y": 64, "flags": 1}, + {"matrix": [5, 14], "x": 195, "y": 64, "flags": 1}, + {"matrix": [5, 13], "x": 176, "y": 64, "flags": 1}, + {"matrix": [5, 12], "x": 160, "y": 64, "flags": 1}, + {"matrix": [5, 11], "x": 144, "y": 64, "flags": 1}, + {"matrix": [5, 6], "x": 90, "y": 64, "flags": 4}, + {"matrix": [5, 2], "x": 35, "y": 64, "flags": 1}, + {"matrix": [5, 1], "x": 19, "y": 64, "flags": 1}, + {"matrix": [5, 0], "x": 3, "y": 64, "flags": 1} + ], + "max_brightness": 120, + "sleep": true + }, + "url": "www.yiancar-designs.com", + "usb": { + "device_version": "0.0.1", + "pid": "0x4E55", + "vid": "0x8968" + }, + "ws2812": { + "driver": "pwm", + "pin": "B0" + }, + "community_layouts": ["tkl_iso_tsangan"], + "layouts": { + "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, 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": 11, "y": 0}, + {"matrix": [0, 10], "x": 12, "y": 0}, + {"matrix": [0, 11], "x": 13, "y": 0}, + {"matrix": [0, 12], "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": [3, 12], "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} + ] + } + } +} diff --git a/keyboards/novelkeys/nk_classic_tkl_iso/keymaps/default/keymap.c b/keyboards/novelkeys/nk_classic_tkl_iso/keymaps/default/keymap.c new file mode 100644 index 00000000000..5af062e0b03 --- /dev/null +++ b/keyboards/novelkeys/nk_classic_tkl_iso/keymaps/default/keymap.c @@ -0,0 +1,69 @@ +/* Copyright 2024 Yiancar-Designs + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +enum my_keycodes { + RETRO_RGB = QK_USER_0 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[0] = LAYOUT_tkl_iso_tsangan( /* Base */ + 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_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, + 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_tkl_iso_tsangan( /* FN */ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, KC_VOLD, KC_MUTE, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, RGB_SPI, _______, _______, + _______, _______, _______, RETRO_RGB, _______, _______, _______, _______, _______, _______), + +}; + +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + if (host_keyboard_led_state().caps_lock) { + for (uint8_t i = 50; i <= 55; i++) { + rgb_matrix_set_color(i, 255, 86, 0); + } + } + return false; +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case RETRO_RGB: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_INDICATOR); + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + } + break; + } + } + return false; // Skip all further processing of this key + default: + return true; // Process all other keycodes normally + } +} diff --git a/keyboards/novelkeys/nk_classic_tkl_iso/mcuconf.h b/keyboards/novelkeys/nk_classic_tkl_iso/mcuconf.h new file mode 100644 index 00000000000..ec984442ed0 --- /dev/null +++ b/keyboards/novelkeys/nk_classic_tkl_iso/mcuconf.h @@ -0,0 +1,22 @@ +/* Copyright 2024 Yiancar-Designs + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include_next + +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE diff --git a/keyboards/novelkeys/nk_classic_tkl_iso/readme.md b/keyboards/novelkeys/nk_classic_tkl_iso/readme.md new file mode 100644 index 00000000000..d748f2476a4 --- /dev/null +++ b/keyboards/novelkeys/nk_classic_tkl_iso/readme.md @@ -0,0 +1,32 @@ +# NK Classic TKL + +This is a TKL ISO PCB. It supports VIA and full per-key RGB. + +* Keyboard Maintainer: [Yiancar](https://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar) +* Hardware Supported: A TKL keyboard with STM32F072CB or APM compatible +* Hardware Availability: https://novelkeys.com/ + +## Instructions + +### Build + +Make example for this keyboard (after setting up your build environment): + + make novelkeys/nk_classic_tkl_iso: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). + +### Reset + +- Unplug +- Hold Escape +- Plug In +- Unplug +- Release Escape + +### Flash + +- Unplug +- Hold Escape +- Plug In +- Flash using QMK Toolbox or dfu-util (`make novelkeys/nk_classic_tkl_iso::dfu-util`) diff --git a/keyboards/novelkeys/nk_classic_tkl_iso/rules.mk b/keyboards/novelkeys/nk_classic_tkl_iso/rules.mk new file mode 100644 index 00000000000..0ab54aaaf71 --- /dev/null +++ b/keyboards/novelkeys/nk_classic_tkl_iso/rules.mk @@ -0,0 +1,2 @@ +# Wildcard to allow APM32 MCU +DFU_SUFFIX_ARGS = -v FFFF -p FFFF From c82f6752666aa5795f80b90892c241dc40eb68d9 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Sun, 6 Oct 2024 21:39:37 +1300 Subject: [PATCH 36/66] Install `dnf copr` plugin if not present (i.e. docker containers). (#24308) * Install `dnf copr` plugin if not present (i.e. docker containers). * Don't need to skip prompt when invoking help. --- util/install/fedora.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/util/install/fedora.sh b/util/install/fedora.sh index 0b93326bbfc..20a14882069 100755 --- a/util/install/fedora.sh +++ b/util/install/fedora.sh @@ -5,6 +5,7 @@ _qmk_install() { . /etc/os-release if [ "$VERSION_ID" -ge "39" ]; then + sudo dnf copr -h >/dev/null 2>&1 || sudo dnf $SKIP_PROMPT install dnf-plugins-core sudo dnf $SKIP_PROMPT copr enable erovia/dfu-programmer fi From 13a87ad354c90a638cc7a71e7d23bead2f4771eb Mon Sep 17 00:00:00 2001 From: rahanahu Date: Sun, 6 Oct 2024 17:51:06 +0900 Subject: [PATCH 37/66] `hotdox76v2`: Update g_led_config.matrix_co to fix key electrical matrix to led index lookup table. (#24293) update g_led_config on hotdox76v2/hotdox76v2.c Co-authored-by: rahanahu --- keyboards/hotdox76v2/hotdox76v2.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/keyboards/hotdox76v2/hotdox76v2.c b/keyboards/hotdox76v2/hotdox76v2.c index 3ee58941070..26dc8f4d741 100644 --- a/keyboards/hotdox76v2/hotdox76v2.c +++ b/keyboards/hotdox76v2/hotdox76v2.c @@ -20,12 +20,12 @@ led_config_t g_led_config = { { 13, 12, 11, 10, 9, 8, 7 }, { 0, 1, 2, 3, 4, 5, 6 }, /*right*/ - { NO_LED, 72, 71, 70, 73, 75, 74 }, - { 65, 66, 67, 68, 69, NO_LED, NO_LED }, - { 64, 63, 62, 61, 60, 59, 58 }, - { 52, 53, 54, 55, 56, 57, NO_LED }, - { 51, 50, 49, 48, 47, 46, 45 }, - { 38, 39, 40, 41, 42, 43, 44 } + { NO_LED, 77, 76, 75, 78, 80, 79 }, + { 70, 71, 72, 73, 74, NO_LED, NO_LED }, + { 69, 68, 67, 66, 65, 64, 63 }, + { 57, 58, 59, 60, 61, 62, NO_LED }, + { 56, 55, 54, 53, 52, 51, 50 }, + { 43, 44, 45, 46, 47, 48, 49 } }, { // LED Index to Physical Position From c2dd0c184521c34b11f4189328c64bd99dfe860a Mon Sep 17 00:00:00 2001 From: Steven Karrmann Date: Sun, 6 Oct 2024 04:52:56 -0400 Subject: [PATCH 38/66] Update Janus keyboard firmware to use EE_HANDS (#24261) * Use EE_HANDS https://docs.qmk.fm/features/split_keyboard#handedness-by-eeprom * Update Janus readme to indicate EEPROM handedness is used --- keyboards/janus/config.h | 4 ++-- keyboards/janus/readme.md | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/keyboards/janus/config.h b/keyboards/janus/config.h index 2d9cead0e3e..8f28edfb916 100644 --- a/keyboards/janus/config.h +++ b/keyboards/janus/config.h @@ -3,8 +3,8 @@ #pragma once - -/* Serial communication */ +/* Split keyboard configuration */ +#define EE_HANDS #define SERIAL_USART_FULL_DUPLEX #define SERIAL_USART_TX_PIN GP0 #define SERIAL_USART_RX_PIN GP1 diff --git a/keyboards/janus/readme.md b/keyboards/janus/readme.md index aa9e65cdc49..93b3b00c6fd 100644 --- a/keyboards/janus/readme.md +++ b/keyboards/janus/readme.md @@ -18,6 +18,8 @@ Flashing example for this 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). +If you would like to plug in your keyboard using either half, then set the EEPROM left/right UF2 bootloader parameter when flashing each half for the first time. Refer to [QMK's handedness by EEPROM documentation](https://docs.qmk.fm/features/split_keyboard#handedness-by-eeprom). Without this bootloader parameter, the configuration assumes the left half will be plugged in. + ## Bootloader Enter the bootloader in 3 ways: From ff213636279a3fe4f55077d684e9283bc9b726e8 Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Sun, 6 Oct 2024 11:01:20 +0200 Subject: [PATCH 39/66] ibm/model_m/modelh: added ISO layout and keymap for Wheelwriter 10/15 keyboard modules (#24248) These are probably compatible with the Wheelwriter 1000 as well. --- keyboards/ibm/model_m/modelh/keyboard.json | 89 ++++++++++++++++++- .../keymaps/wheelwriter_1x_iso/keymap.c | 33 +++++++ keyboards/ibm/model_m/modelh/readme.md | 4 + 3 files changed, 125 insertions(+), 1 deletion(-) create mode 100644 keyboards/ibm/model_m/modelh/keymaps/wheelwriter_1x_iso/keymap.c diff --git a/keyboards/ibm/model_m/modelh/keyboard.json b/keyboards/ibm/model_m/modelh/keyboard.json index 513d5d9bb6b..6b9cf20c1d5 100644 --- a/keyboards/ibm/model_m/modelh/keyboard.json +++ b/keyboards/ibm/model_m/modelh/keyboard.json @@ -284,6 +284,93 @@ {"matrix": [0, 12], "x": 18.5, "y": 5.5, "w": 2}, {"matrix": [0, 13], "x": 20.5, "y": 5.5} ] - } + }, + "LAYOUT_wheelwriter_1x_iso": { + "layout": [ + {"matrix": [2, 2], "x": 0, "y": 0}, + + {"matrix": [2, 4], "x": 1.25, "y": 0}, + {"matrix": [3, 4], "x": 2.25, "y": 0}, + {"matrix": [3, 5], "x": 3.25, "y": 0}, + {"matrix": [3, 6], "x": 4.25, "y": 0}, + {"matrix": [3, 7], "x": 5.25, "y": 0}, + {"matrix": [2, 7], "x": 6.25, "y": 0}, + {"matrix": [2, 8], "x": 7.25, "y": 0}, + {"matrix": [3, 8], "x": 8.25, "y": 0}, + {"matrix": [3, 9], "x": 9.25, "y": 0}, + {"matrix": [3, 10], "x": 10.25, "y": 0}, + {"matrix": [3, 11], "x": 11.25, "y": 0}, + {"matrix": [2, 11], "x": 12.25, "y": 0}, + {"matrix": [2, 9], "x": 13.25, "y": 0}, + {"matrix": [2, 12], "x": 14.25, "y": 0, "w": 2}, + + {"matrix": [2, 13], "x": 17.5, "y": 0}, + + {"matrix": [4, 1], "x": 0, "y": 1}, + + {"matrix": [4, 2], "x": 1.25, "y": 1, "w": 1.5}, + {"matrix": [4, 4], "x": 2.75, "y": 1}, + {"matrix": [4, 5], "x": 3.75, "y": 1}, + {"matrix": [4, 6], "x": 4.75, "y": 1}, + {"matrix": [4, 7], "x": 5.75, "y": 1}, + {"matrix": [5, 7], "x": 6.75, "y": 1}, + {"matrix": [5, 8], "x": 7.75, "y": 1}, + {"matrix": [4, 8], "x": 8.75, "y": 1}, + {"matrix": [4, 9], "x": 9.75, "y": 1}, + {"matrix": [4, 10], "x": 10.75, "y": 1}, + {"matrix": [4, 11], "x": 11.75, "y": 1}, + {"matrix": [5, 11], "x": 12.75, "y": 1}, + {"matrix": [5, 9], "x": 13.75, "y": 1}, + + {"matrix": [4, 13], "x": 17.5, "y": 1}, + + {"matrix": [5, 2], "x": 0, "y": 2}, + + {"matrix": [6, 2], "x": 1.25, "y": 2, "w": 1.5}, + {"matrix": [1, 4], "x": 3, "y": 2}, + {"matrix": [1, 5], "x": 4, "y": 2}, + {"matrix": [1, 6], "x": 5, "y": 2}, + {"matrix": [1, 7], "x": 6, "y": 2}, + {"matrix": [0, 7], "x": 7, "y": 2}, + {"matrix": [0, 8], "x": 8, "y": 2}, + {"matrix": [1, 8], "x": 9, "y": 2}, + {"matrix": [1, 9], "x": 10, "y": 2}, + {"matrix": [1, 10], "x": 11, "y": 2}, + {"matrix": [1, 11], "x": 12, "y": 2}, + {"matrix": [0, 11], "x": 13, "y": 2}, + {"matrix": [6, 11], "x": 14, "y": 2}, + {"matrix": [0, 12], "x": 15, "y": 2, "w": 1.25, "h": 2}, + + {"matrix": [1, 13], "x": 17.5, "y": 2}, + + {"matrix": [1, 2], "x": 0, "y": 3}, + + {"matrix": [7, 3], "x": 1.25, "y": 3, "w": 1.25}, + {"matrix": [7, 4], "x": 2.5, "y": 3}, + {"matrix": [6, 4], "x": 3.5, "y": 3}, + {"matrix": [6, 5], "x": 4.5, "y": 3}, + {"matrix": [6, 6], "x": 5.5, "y": 3}, + {"matrix": [6, 7], "x": 6.5, "y": 3}, + {"matrix": [7, 7], "x": 7.5, "y": 3}, + {"matrix": [7, 8], "x": 8.5, "y": 3}, + {"matrix": [6, 8], "x": 9.5, "y": 3}, + {"matrix": [6, 9], "x": 10.5, "y": 3}, + {"matrix": [6, 10], "x": 11.5, "y": 3}, + {"matrix": [7, 11], "x": 12.5, "y": 3}, + {"matrix": [6, 3], "x": 13.5, "y": 3, "w": 2.75}, + + {"matrix": [6, 12], "x": 17.5, "y": 3}, + + {"matrix": [0, 1], "x": 0, "y": 4}, + + {"matrix": [7, 14], "x": 3.75, "y": 4, "w": 2.5}, + {"matrix": [7, 1], "x": 6.25, "y": 4, "w": 7.25}, + {"matrix": [7, 2], "x": 14.75, "y": 4, "w": 1.5}, + + {"matrix": [7, 12], "x": 16.5, "y": 4}, + {"matrix": [0, 13], "x": 17.5, "y": 4}, + {"matrix": [7, 13], "x": 18.5, "y": 4} + ] + } } } diff --git a/keyboards/ibm/model_m/modelh/keymaps/wheelwriter_1x_iso/keymap.c b/keyboards/ibm/model_m/modelh/keymaps/wheelwriter_1x_iso/keymap.c new file mode 100644 index 00000000000..e603de22df9 --- /dev/null +++ b/keyboards/ibm/model_m/modelh/keymaps/wheelwriter_1x_iso/keymap.c @@ -0,0 +1,33 @@ +/* Copyright 2024 Robin Haberkorn + * + * 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_wheelwriter_1x_iso( /* Base layer */ + 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_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_NUHS, KC_ENT, MO(1), + KC_APP, 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_LALT, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_wheelwriter_1x_iso( /* Function key layer */ + KC_MUTE, 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_BRIU, + KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_BRID, + KC_VOLD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PGUP, + KC_NO, KC_NO, KC_NO, KC_NO, KC_HOME, KC_PGDN, KC_END + ), +}; diff --git a/keyboards/ibm/model_m/modelh/readme.md b/keyboards/ibm/model_m/modelh/readme.md index bed79619cea..2a59ce99c86 100644 --- a/keyboards/ibm/model_m/modelh/readme.md +++ b/keyboards/ibm/model_m/modelh/readme.md @@ -17,4 +17,8 @@ Flashing example for this keyboard: make ibm/model_m/modelh:default:flash +For IBM Wheelwriter 10/15/1000 modules (ISO), you can try the `wheelwriter_1x_iso` keymap: + + make ibm/model_m/modelh:wheelwriter_1x_iso + 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 7446c6ea7d49b9967b6f308e47a351f8c1398ab5 Mon Sep 17 00:00:00 2001 From: ak66666 <32971450+ak66666@users.noreply.github.com> Date: Sun, 6 Oct 2024 05:08:18 -0400 Subject: [PATCH 40/66] Added a new keyboard ThumbsUp! v9 with a default keymap (#23800) * Added a cleaned-up set of files for ThumbsUp! v9. * Renamed the keymap for v9 as default * Update keyboards/thumbsup/keymaps/default/keymap.c As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/thumbsup/keymaps/default/keymap.c As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/thumbsup/keymaps/default/keymap.c As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/thumbsup/keymaps/default/keymap.c As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/thumbsup/keymaps/default/keymap.c As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/thumbsup/rev9_promicro_4x12/info.json As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/thumbsup/rev9_promicro_4x12/readme.md As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/thumbsup/rev9_promicro_4x12/readme.md As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/thumbsup/rev9_promicro_4x12/rules.mk As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/thumbsup/rev9_promicro_4x12/info.json As per PR review suggestions. Co-authored-by: jack <0x6a73@protonmail.com> * Apply suggestions from code review Co-authored-by: jack <0x6a73@protonmail.com> * Delete keyboards/thumbsup/keymaps/default/readme.md as per review recommendation. * v9: Fixed the layout name in keymap.c file. * v9: PR recommendatios applied - rules.mk file removed, info.json renamed to keyboard.json. * v9: PR recommendatios applied - rules.mk file removed, info.json renamed to keyboard.json. * v9: Fixed the copyright header modified by mistake. * v9: Fixed the tri-layer switch as per the review recommendation. * v9: Fixed the copyright header modified by mistake. --------- Co-authored-by: jack <0x6a73@protonmail.com> --- keyboards/thumbsup/keymaps/default/keymap.c | 175 ++++++++++++++++++ keyboards/thumbsup/keymaps/default/rules.mk | 1 + .../thumbsup/rev9_promicro_4x12/config.h | 28 +++ .../thumbsup/rev9_promicro_4x12/keyboard.json | 77 ++++++++ .../thumbsup/rev9_promicro_4x12/readme.md | 27 +++ .../thumbsup/rev9_promicro_4x12/rules.mk | 1 + 6 files changed, 309 insertions(+) create mode 100644 keyboards/thumbsup/keymaps/default/keymap.c create mode 100644 keyboards/thumbsup/keymaps/default/rules.mk create mode 100644 keyboards/thumbsup/rev9_promicro_4x12/config.h create mode 100644 keyboards/thumbsup/rev9_promicro_4x12/keyboard.json create mode 100644 keyboards/thumbsup/rev9_promicro_4x12/readme.md create mode 100644 keyboards/thumbsup/rev9_promicro_4x12/rules.mk diff --git a/keyboards/thumbsup/keymaps/default/keymap.c b/keyboards/thumbsup/keymaps/default/keymap.c new file mode 100644 index 00000000000..a7bc4271801 --- /dev/null +++ b/keyboards/thumbsup/keymaps/default/keymap.c @@ -0,0 +1,175 @@ +/* Copyright 2022 Alexander (Sasha) Karmanov + * + * 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 + + + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _QWERTY, + _CURSORLEFT, + _CURSORRGHT, + _NUMBERS, + _EXTRARIGHT +}; + +// Aliases for this command to make the thumb keys work as LOWER/RAISE on hold and as space on hit. +//#define CURSORRGHT LT(_CURSORRGHT,KC_SPC) +//#define CURSORLEFT LT(_CURSORLEFT,KC_SPC) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + +/* Qwerty + * ,-----------------------------------------+ +-----------------------------------------. + * | Esc | Q | W | E | R | T | | Y | U | I | O | P |BSpc | + * |------+------+------+------+------+------+ +------+------+------+------+------+------| + * | Tab | A | S | D | F | G | | H | J | K | L | ; |Enter | +Hold: + Extra-Rt + * |------+------+------+------+------+------| |------+------+------+------+------+------| + * | Ctrl | Z | X | C | V | B | | N | M | , | . | / |RCtrl | + * +------+------+------+------+------+------+ +------+------+------+------+------+------+ + . | GUI | Alt | | | | | | RAlt | Menu | . + | +------+------+ | | | | +------+------+ | +Hold: | | LSft |CursLt| |CursRt| RSft | | +Single hit: | | |Space | |Space | | | + | +------+------| |------+------+ | + +------------------------------> SPACE SPACE <-----------------------------+ + + */ +[_QWERTY] = 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, + LT(_EXTRARIGHT,KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_PENT, + KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RCTL, + KC_SPC, KC_LGUI, KC_LALT, KC_LSFT, LT(TL_LOWR,KC_SPC), LT(TL_UPPR ,KC_SPC), KC_RSFT, KC_RALT, KC_APP, KC_SPC +), + + +/* + +Layers below are used on top of QWERTY layer defined above. +(Except the PLOVER/STENO layers.) + +-------+ +The keys which are shown empty, like this: | |, represent a transparent key, + +-------+ +meaning the key from the underlaying layer (i.e. QWERTY) will be used. +In the keymaps those keys are defined as "_______". + + +-------+ +-------+ +The keys which are shown solid, like this: | XXXXX | or this | ... |, represent an opaque/blocking key? + +-------+ +-------+ +Such key is not doing anything in that layer nor allowing the key from the underlaying layer +to be invoked. +In the keymaps those keys are defined as "XXXXXXX". + +Most of the modifiers are the same in all layers. +So in most layers they are defined as transparent keys, +letting the keys from QWERTY layer to do the work. + +With that idea all the layers below leave the unmodified keys as transparent keys. +In the same time - the layers block the keys that have no sense to be used +in that given layer. For instance in the cursor control layers +some of the keys are not used in the layer, but they are blocked to avoid +alpha-keys from QWERTY layer to appear. + +For the same reason the keymaps below are shown simplified, +without separate thumbcluster. + +*/ + + + +/* Cursor Control on the right (Right Space) + * ,-----------------------------------------------------------------------------------. + * | Esc |Break |WheelD|MousUp|WheelU| Del | Ins | Home | Up | End | ` | Del | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | |SelAll|MousLt|MousDn|MousRt| ... | PgUp | Left | Down |Right | ... | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | Undo | Cut | Copy | Paste| ... | PgDn |MsBtLe|MsBtMi|MsBtRt| ... | | + * `------+------+------+------+------+------+------+------+------+------+------+------. + * | | | | | X | | | | + * `-------------------------------------------------------' + */ +[_CURSORRGHT] = LAYOUT( + _______, KC_BRK, KC_WH_D, KC_MS_U, KC_WH_U, KC_DEL, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_GRV, KC_DEL, + KC_ENT, LCTL(KC_A), KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, _______, + _______, LCTL(KC_Z), LSFT(KC_DEL), LCTL(KC_INS), LSFT(KC_INS), XXXXXXX, KC_INS, KC_BTN1, KC_BTN3, KC_BTN2, XXXXXXX, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +), + + + + /* Cursor Control on the left (Left Space) + * ,-----------------------------------------------------------------------------------. + * | |Break | Home | Up | End | Ins | Del |WheelU|MousUp|WheelD| ` | Del | + * |------+------+------+------+------+------+-------------+------+------+------+------| + * | Enter|SelAll|Right | Down | Left | PgUp | xxx |MousLt|MousDn|MousRt| xxx |Enter | + * |------+------+------+------+------+------+------|------+------+------+------+------| + * | | xxx |MsBtRt|MsBtMi|MsBtLe| PgDn | xxx | Cut | Copy | Paste| xxx | | + * `------+------+------+------+------+------+------+------+------+------+------+------. + * | | | | X | | | | | + * `-------------------------------------------------------' + */ +[_CURSORLEFT] = LAYOUT( + _______, KC_BRK, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_DEL, KC_WH_U, KC_MS_U, KC_WH_D, KC_GRV, KC_DEL, + KC_ENT, LCTL(KC_A), KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, _______, + _______, XXXXXXX, KC_BTN2, KC_BTN3, KC_BTN1, KC_INS, XXXXXXX, LCTL(KC_DEL), LCTL(KC_INS), LSFT(KC_INS), XXXXXXX, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +), + + + /* Numbers on the home row, FNs on the top row, symbols in the second row + * (Lower or Raise) + * ,-----------------------------------------------------------------------------------. + * | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 |BackSp| + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10| Enter| + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | F11 | F12 | LAlt |LShift| LAlt | RAlt |RShift| , | . | / | | + * `------+------+------+------+------+------+------+------+------+------+------+------. + * | | | | | | | | | + * `-------------------------------------------------------' + */ +[_NUMBERS] = LAYOUT( + _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + LT(_EXTRARIGHT,KC_TAB), 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_LALT, KC_LSFT, KC_LALT, KC_RALT, KC_RSFT, KC_COMM, KC_DOT, KC_SLSH, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +), + +/* ExtraRightSide (the keys from the right side which did not fit into the matrix) + * ,-----------------------------------------------------------------------------------. + * | Esc |BREAK |PLOVR2|PLOVER|TxBOLT|TxBlt2| ` | = | ( | ) | - | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * |******| | | | | |PrtScr| | | | ' | | + This is the + key turning + this layer on + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | | |NumPad|Qwerty| | | | [ | ] | \ | | + * `------+------+------+------+------+------+------+------+------+------+------+------. + * | | | | | | | | | + * `-------------------------------------------------------' + */ +[_EXTRARIGHT] = LAYOUT( + _______, KC_BRK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_GRV, KC_EQL, KC_LPRN, KC_RPRN, KC_MINS, _______, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, XXXXXXX, XXXXXXX, XXXXXXX, KC_QUOT, _______, + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_RBRC, KC_BSLS, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +) +}; + diff --git a/keyboards/thumbsup/keymaps/default/rules.mk b/keyboards/thumbsup/keymaps/default/rules.mk new file mode 100644 index 00000000000..2c72d2ddb6c --- /dev/null +++ b/keyboards/thumbsup/keymaps/default/rules.mk @@ -0,0 +1 @@ +TRI_LAYER_ENABLE = yes \ No newline at end of file diff --git a/keyboards/thumbsup/rev9_promicro_4x12/config.h b/keyboards/thumbsup/rev9_promicro_4x12/config.h new file mode 100644 index 00000000000..71300e008d0 --- /dev/null +++ b/keyboards/thumbsup/rev9_promicro_4x12/config.h @@ -0,0 +1,28 @@ +/* +Copyright 2024 Alexander (Sasha) Karmanov (ak66666) + +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 + + +//Cirque ProGlide Touchpad configuration +#define POINTING_DEVICE_ROTATION_90 +#define CIRQUE_PINNACLE_TAP_ENABLE +#define CIRQUE_PINNACLE_SECONDARY_TAP_ENABLE +#define POINTING_DEVICE_GESTURES_SCROLL_ENABLE + +#define CIRQUE_PINNACLE_POSITION_MODE CIRQUE_PINNACLE_ABSOLUTE_MODE diff --git a/keyboards/thumbsup/rev9_promicro_4x12/keyboard.json b/keyboards/thumbsup/rev9_promicro_4x12/keyboard.json new file mode 100644 index 00000000000..95fa6664b24 --- /dev/null +++ b/keyboards/thumbsup/rev9_promicro_4x12/keyboard.json @@ -0,0 +1,77 @@ +{ + "manufacturer": "Alexander (Sasha) Karmanov", + "keyboard_name": "ThumbsUp! v9", + "maintainer": "u/ak66666", + "development_board": "promicro", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "pointing_device": true + }, + "dynamic_keymap": { + "layer_count": 6 + }, + "matrix_pins": { + "cols": ["B2", "B6", "B5", "B4", "E6", "D7", "B3", "F4", "F5", "F6", "F7", "B1"], + "rows": ["D3", "D2", "D4", "C6"] + }, + "usb": { + "device_version": "1.0.0", + "pid": "0x0090", + "vid": "0x5361" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "ESC", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "Q", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "W", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "E", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "R", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "T", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "Y", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "U", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "I", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "O", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "P", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "BKSPC", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "TAB", "matrix": [1, 0], "x": 0, "y": 1}, + {"label": "A", "matrix": [1, 1], "x": 1, "y": 1}, + {"label": "S", "matrix": [1, 2], "x": 2, "y": 1}, + {"label": "D", "matrix": [1, 3], "x": 3, "y": 1}, + {"label": "F", "matrix": [1, 4], "x": 4, "y": 1}, + {"label": "G", "matrix": [1, 5], "x": 5, "y": 1}, + {"label": "H", "matrix": [1, 6], "x": 6, "y": 1}, + {"label": "J", "matrix": [1, 7], "x": 7, "y": 1}, + {"label": "K", "matrix": [1, 8], "x": 8, "y": 1}, + {"label": "L", "matrix": [1, 9], "x": 9, "y": 1}, + {"label": ";", "matrix": [1, 10], "x": 10, "y": 1}, + {"label": "ENTER", "matrix": [1, 11], "x": 11, "y": 1}, + {"label": "LCTRL", "matrix": [2, 0], "x": 0, "y": 2}, + {"label": "Z", "matrix": [2, 1], "x": 1, "y": 2}, + {"label": "X", "matrix": [2, 2], "x": 2, "y": 2}, + {"label": "C", "matrix": [2, 3], "x": 3, "y": 2}, + {"label": "V", "matrix": [2, 4], "x": 4, "y": 2}, + {"label": "B", "matrix": [2, 5], "x": 5, "y": 2}, + {"label": "N", "matrix": [2, 6], "x": 6, "y": 2}, + {"label": "M", "matrix": [2, 7], "x": 7, "y": 2}, + {"label": ",", "matrix": [2, 8], "x": 8, "y": 2}, + {"label": ".", "matrix": [2, 9], "x": 9, "y": 2}, + {"label": "/", "matrix": [2, 10], "x": 10, "y": 2}, + {"label": "RCTRL", "matrix": [2, 11], "x": 11, "y": 2}, + {"label": "SPACE", "matrix": [3, 1], "x": 1, "y": 3}, + {"label": "WIN", "matrix": [3, 2], "x": 2, "y": 3}, + {"label": "LALT", "matrix": [3, 3], "x": 3, "y": 3}, + {"label": "LSHIFT", "matrix": [3, 5], "x": 4, "y": 3}, + {"label": "RAISE", "matrix": [3, 4], "x": 5, "y": 3}, + {"label": "LOWER", "matrix": [3, 7], "x": 6, "y": 3}, + {"label": "RSHIFT", "matrix": [3, 6], "x": 7, "y": 3}, + {"label": "RALT", "matrix": [3, 8], "x": 8, "y": 3}, + {"label": "MENU", "matrix": [3, 9], "x": 9, "y": 3}, + {"label": "SPACE", "matrix": [3, 10], "x": 10, "y": 3} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/thumbsup/rev9_promicro_4x12/readme.md b/keyboards/thumbsup/rev9_promicro_4x12/readme.md new file mode 100644 index 00000000000..e74da5cec8f --- /dev/null +++ b/keyboards/thumbsup/rev9_promicro_4x12/readme.md @@ -0,0 +1,27 @@ +# ThumbsUp! v9 + +![ThumbsUp! v9](https://i.imgur.com/Zqc6dpQ.jpeg) + +A yet another version of the ThumbsUp! keyboard, a three-level PCB-based keyboard supporting Kailh Choc (1350) switches. +This v9 version got 4x12 key layout with 2- or 3-key thumbcluster and an optional touchpad. + + +* Keyboard Maintainer: [Alexander (Sasha) Karmanov](https://github.com/ak66666) +* Hardware Supported: AtMega32u4 ProMicro-compatibles +* Hardware Availability: https://www.etsy.com/ca/listing/1641077896/thumbsup-v9-ergonomic-mechanical + +Make example for this keyboard (after setting up your build environment): + + make thumbsup/rev9_promicro_4x12:default + +Flashing example for this keyboard: + + make thumbsup/rev9_promicro_4x12: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: + +* **Physical reset button**: Press twice the button on the bottom side of the middle PCB. diff --git a/keyboards/thumbsup/rev9_promicro_4x12/rules.mk b/keyboards/thumbsup/rev9_promicro_4x12/rules.mk new file mode 100644 index 00000000000..9bfd1498a33 --- /dev/null +++ b/keyboards/thumbsup/rev9_promicro_4x12/rules.mk @@ -0,0 +1 @@ +POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c \ No newline at end of file From 035dcf213cce0f9d55a11284802144c3721a8f7f Mon Sep 17 00:00:00 2001 From: sizezero Date: Sun, 6 Oct 2024 10:01:30 -0700 Subject: [PATCH 41/66] Add keyboard Jris65 (#23936) * first compiled, flashed, and tested version of jris65 * adding readmes for mykeyclub and jris65 * removed commented out code and unneeded files * typo in build instructions * renamed info.json to keyboard.json as per new standard * formatted with qmk format-json * fixed layout offset problem * moved some settings from c/h files to json * moved matrix from .h file to .json * cleaned up non-json options * moved settings from rules.mk to keyboard.json * fix for via after removing .h file * converted keymap.c to keymap.json * keymap.c has been replaced by keymap.json * FN+Backspace loads bootload * added custom keymap for Sean * config.h setting is only needed by via * formatted json * convert via keymap from .c .h .mk to keymap.json * moved keyboard configuration to hotswap dir; note in readme that only hotswap has been tested * Update keyboards/mykeyclub/jris65/keymaps/default/keymap.json Co-authored-by: jack * typo Co-authored-by: jack * blank layers do not need to be specified Co-authored-by: jack * added other valid layouts Co-authored-by: Duncan Sutherland * added other valid layouts Co-authored-by: Duncan Sutherland * added other valid layouts Co-authored-by: Duncan Sutherland * added other valid layouts Co-authored-by: Duncan Sutherland * removed extra newline Co-authored-by: Duncan Sutherland * cleaned up wording in readme Co-authored-by: Duncan Sutherland * QMK no longer supports user keymaps * remove settings that are already the default (false settings) Co-authored-by: jack * add image Co-authored-by: Duncan Sutherland * add missing commas (formatting) Co-authored-by: Duncan Sutherland * add missing commas (formatting) Co-authored-by: Duncan Sutherland * add missing commas (formatting) Co-authored-by: Duncan Sutherland * re-added second layer with QK_BOOT for backspace * make the hotswap the default keyboard * added keyboard director prefix to DEFAULT_FOLDER * ran qmk format-json on keyboard.json * DEFAULT_FOLDER option is going away so don't use it * removed via keymap as they now reside in qmk_userspace_via --------- Co-authored-by: jack Co-authored-by: Duncan Sutherland --- .../mykeyclub/jris65/hotswap/keyboard.json | 389 ++++++++++++++++++ .../jris65/keymaps/default/keymap.json | 21 + keyboards/mykeyclub/jris65/readme.md | 35 ++ keyboards/mykeyclub/readme.md | 5 + 4 files changed, 450 insertions(+) create mode 100644 keyboards/mykeyclub/jris65/hotswap/keyboard.json create mode 100644 keyboards/mykeyclub/jris65/keymaps/default/keymap.json create mode 100644 keyboards/mykeyclub/jris65/readme.md create mode 100644 keyboards/mykeyclub/readme.md diff --git a/keyboards/mykeyclub/jris65/hotswap/keyboard.json b/keyboards/mykeyclub/jris65/hotswap/keyboard.json new file mode 100644 index 00000000000..3ed56136d14 --- /dev/null +++ b/keyboards/mykeyclub/jris65/hotswap/keyboard.json @@ -0,0 +1,389 @@ +{ + "manufacturer": "zlkb", + "keyboard_name": "IRIS65", + "maintainer": "5217zl", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["B6", "C6", "C7", "F1", "F0", "E6", "B0", "B1", "B3", "B7", "D2", "D1", "D0", "D7", "B4", "B5"], + "rows": ["F7", "F6", "F5", "B2", "F4"] + }, + "processor": "atmega32u4", + "url": "", + "usb": { + "device_version": "0.1.0", + "pid": "0x4953", + "vid": "0x5A4C" + }, + "community_layouts": ["65_ansi_blocker", "65_ansi_blocker_split_bs", "65_iso_blocker", "65_iso_blocker_split_bs"], + "layouts": { + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"label": "0,0", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "0,1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "0,2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "0,3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "0,4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "0,5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "0,6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "0,7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "0,8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "0,9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0,10", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "0,11", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "0,12", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "0,14", "matrix": [0, 14], "x": 13, "y": 0, "w": 2}, + {"label": "0,15", "matrix": [0, 15], "x": 15, "y": 0}, + {"label": "1,0", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "1,1", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "1,2", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "1,3", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "1,4", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "1,5", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "1,6", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "1,7", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "1,,8", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "1,9", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "1,10", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "1,11", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "1,12", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "1,13", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "1,14", "matrix": [1, 14], "x": 15, "y": 1}, + {"label": "2,0", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "2,1", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "2,2", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "2,3", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "2,4", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "2,5", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "2,6", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "2,7", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "2,8", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "2,9", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": "2,10", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "2,11", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "2,13", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "2,14", "matrix": [2, 14], "x": 15, "y": 2}, + {"label": "3,0", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "3,2", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "3,3", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "3,4", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "3,5", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "3,6", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "3,7", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "3,8", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "3,9", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": "3,10", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "3,11", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "3,12", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "3,13", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "3,14", "matrix": [3, 14], "x": 15, "y": 3}, + {"label": "4,0", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "4,1", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "4,2", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "4,3", "matrix": [4, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "4,10", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "4,11", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "4,12", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "4,13", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "4,14", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_split_bs": { + "layout": [ + {"label": "0,0", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "0,1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "0,2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "0,3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "0,4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "0,5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "0,6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "0,7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "0,8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "0,9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0,10", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "0,11", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "0,12", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "0,13", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "0,14", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "0,15", "matrix": [0, 15], "x": 15, "y": 0}, + {"label": "1,0", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "1,1", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "1,2", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "1,3", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "1,4", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "1,5", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "1,6", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "1,7", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "1,,8", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "1,9", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "1,10", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "1,11", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "1,12", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "1,13", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "1,14", "matrix": [1, 14], "x": 15, "y": 1}, + {"label": "2,0", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "2,1", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "2,2", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "2,3", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "2,4", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "2,5", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "2,6", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "2,7", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "2,8", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "2,9", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": "2,10", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "2,11", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "2,13", "matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"label": "2,14", "matrix": [2, 14], "x": 15, "y": 2}, + {"label": "3,0", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"label": "3,2", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "3,3", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "3,4", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "3,5", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "3,6", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "3,7", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "3,8", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "3,9", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": "3,10", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "3,11", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "3,12", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "3,13", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "3,14", "matrix": [3, 14], "x": 15, "y": 3}, + {"label": "4,0", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "4,1", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "4,2", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "4,3", "matrix": [4, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "4,10", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "4,11", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "4,12", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "4,13", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "4,14", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker": { + "layout": [ + {"label": "0,0", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "0,1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "0,2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "0,3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "0,4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "0,5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "0,6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "0,7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "0,8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "0,9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0,10", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "0,11", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "0,12", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "0,14", "matrix": [0, 14], "x": 13, "y": 0, "w": 2}, + {"label": "0,15", "matrix": [0, 15], "x": 15, "y": 0}, + {"label": "1,0", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "1,1", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "1,2", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "1,3", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "1,4", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "1,5", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "1,6", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "1,7", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "1,,8", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "1,9", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "1,10", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "1,11", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "1,12", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "1,14", "matrix": [1, 14], "x": 15, "y": 1}, + {"label": "2,0", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "2,1", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "2,2", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "2,3", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "2,4", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "2,5", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "2,6", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "2,7", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "2,8", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "2,9", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": "2,10", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "2,11", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "2,12", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "2,13", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "2,14", "matrix": [2, 14], "x": 15, "y": 2}, + {"label": "3,0", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "3,1", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "3,2", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "3,3", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "3,4", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "3,5", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "3,6", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "3,7", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "3,8", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "3,9", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": "3,10", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "3,11", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "3,12", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "3,13", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "3,14", "matrix": [3, 14], "x": 15, "y": 3}, + {"label": "4,0", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "4,1", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "4,2", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "4,3", "matrix": [4, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "4,10", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "4,11", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "4,12", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "4,13", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "4,14", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_split_bs": { + "layout": [ + {"label": "0,0", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "0,1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "0,2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "0,3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "0,4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "0,5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "0,6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "0,7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "0,8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "0,9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0,10", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "0,11", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "0,12", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "0,13", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "0,14", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "0,15", "matrix": [0, 15], "x": 15, "y": 0}, + {"label": "1,0", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "1,1", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "1,2", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "1,3", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "1,4", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "1,5", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "1,6", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "1,7", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "1,,8", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "1,9", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "1,10", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "1,11", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "1,12", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "1,14", "matrix": [1, 14], "x": 15, "y": 1}, + {"label": "2,0", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "2,1", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "2,2", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "2,3", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "2,4", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "2,5", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "2,6", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "2,7", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "2,8", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "2,9", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": "2,10", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "2,11", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "2,12", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "2,13", "matrix": [2, 13], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"label": "2,14", "matrix": [2, 14], "x": 15, "y": 2}, + {"label": "3,0", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "3,1", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "3,2", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "3,3", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "3,4", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "3,5", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "3,6", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "3,7", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "3,8", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "3,9", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": "3,10", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "3,11", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "3,12", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "3,13", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "3,14", "matrix": [3, 14], "x": 15, "y": 3}, + {"label": "4,0", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "4,1", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "4,2", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "4,3", "matrix": [4, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "4,10", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "4,11", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "4,12", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "4,13", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "4,14", "matrix": [4, 14], "x": 15, "y": 4} + ] + }, + "LAYOUT_all": { + "layout": [ + {"label": "0,0", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "0,1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "0,2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "0,3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "0,4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "0,5", "matrix": [0, 5], "x": 5, "y": 0}, + {"label": "0,6", "matrix": [0, 6], "x": 6, "y": 0}, + {"label": "0,7", "matrix": [0, 7], "x": 7, "y": 0}, + {"label": "0,8", "matrix": [0, 8], "x": 8, "y": 0}, + {"label": "0,9", "matrix": [0, 9], "x": 9, "y": 0}, + {"label": "0,10", "matrix": [0, 10], "x": 10, "y": 0}, + {"label": "0,11", "matrix": [0, 11], "x": 11, "y": 0}, + {"label": "0,12", "matrix": [0, 12], "x": 12, "y": 0}, + {"label": "0,13", "matrix": [0, 13], "x": 13, "y": 0}, + {"label": "0,14", "matrix": [0, 14], "x": 14, "y": 0}, + {"label": "0,15", "matrix": [0, 15], "x": 15, "y": 0}, + {"label": "1,0", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "1,1", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "1,2", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "1,3", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "1,4", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "1,5", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "1,6", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "1,7", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "1,,8", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "1,9", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "1,10", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "1,11", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "1,12", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "1,13", "matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"label": "1,14", "matrix": [1, 14], "x": 15, "y": 1}, + {"label": "2,0", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"label": "2,1", "matrix": [2, 1], "x": 1.75, "y": 2}, + {"label": "2,2", "matrix": [2, 2], "x": 2.75, "y": 2}, + {"label": "2,3", "matrix": [2, 3], "x": 3.75, "y": 2}, + {"label": "2,4", "matrix": [2, 4], "x": 4.75, "y": 2}, + {"label": "2,5", "matrix": [2, 5], "x": 5.75, "y": 2}, + {"label": "2,6", "matrix": [2, 6], "x": 6.75, "y": 2}, + {"label": "2,7", "matrix": [2, 7], "x": 7.75, "y": 2}, + {"label": "2,8", "matrix": [2, 8], "x": 8.75, "y": 2}, + {"label": "2,9", "matrix": [2, 9], "x": 9.75, "y": 2}, + {"label": "2,10", "matrix": [2, 10], "x": 10.75, "y": 2}, + {"label": "2,11", "matrix": [2, 11], "x": 11.75, "y": 2}, + {"label": "2,12", "matrix": [2, 12], "x": 12.75, "y": 2}, + {"label": "2,13", "matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25}, + {"label": "2,14", "matrix": [2, 14], "x": 15, "y": 2}, + {"label": "3,0", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25}, + {"label": "3,1", "matrix": [3, 1], "x": 1.25, "y": 3}, + {"label": "3,2", "matrix": [3, 2], "x": 2.25, "y": 3}, + {"label": "3,3", "matrix": [3, 3], "x": 3.25, "y": 3}, + {"label": "3,4", "matrix": [3, 4], "x": 4.25, "y": 3}, + {"label": "3,5", "matrix": [3, 5], "x": 5.25, "y": 3}, + {"label": "3,6", "matrix": [3, 6], "x": 6.25, "y": 3}, + {"label": "3,7", "matrix": [3, 7], "x": 7.25, "y": 3}, + {"label": "3,8", "matrix": [3, 8], "x": 8.25, "y": 3}, + {"label": "3,9", "matrix": [3, 9], "x": 9.25, "y": 3}, + {"label": "3,10", "matrix": [3, 10], "x": 10.25, "y": 3}, + {"label": "3,11", "matrix": [3, 11], "x": 11.25, "y": 3}, + {"label": "3,12", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"label": "3,13", "matrix": [3, 13], "x": 14, "y": 3}, + {"label": "3,14", "matrix": [3, 14], "x": 15, "y": 3}, + {"label": "4,0", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"label": "4,1", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"label": "4,2", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"label": "4,3", "matrix": [4, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"label": "4,10", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25}, + {"label": "4,11", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25}, + {"label": "4,12", "matrix": [4, 12], "x": 13, "y": 4}, + {"label": "4,13", "matrix": [4, 13], "x": 14, "y": 4}, + {"label": "4,14", "matrix": [4, 14], "x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/mykeyclub/jris65/keymaps/default/keymap.json b/keyboards/mykeyclub/jris65/keymaps/default/keymap.json new file mode 100644 index 00000000000..114f058f1d8 --- /dev/null +++ b/keyboards/mykeyclub/jris65/keymaps/default/keymap.json @@ -0,0 +1,21 @@ +{ + "keyboard": "mykeyclub/jris65", + "keymap": "default", + "layout": "LAYOUT_all", + "layers": [ + [ + "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_PGUP", + "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSLS", "KC_PGDN", + "KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_BSLS", "KC_ENT", "KC_END", + "KC_LSFT", "KC_BSLS", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_DOT", "KC_COMM", "KC_SLSH", "KC_RSFT", "KC_UP", "KC_DEL", + "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "MO(1)", "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", "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", "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS" + ] + ] +} diff --git a/keyboards/mykeyclub/jris65/readme.md b/keyboards/mykeyclub/jris65/readme.md new file mode 100644 index 00000000000..c216a11d435 --- /dev/null +++ b/keyboards/mykeyclub/jris65/readme.md @@ -0,0 +1,35 @@ +# JRIS65 + +![hotswap](https://i.imgur.com/kJzebgd.jpeg) +**Hotswap PCB** + +A 65% keyboard sold by Mykeyclub. + +* Keyboard Maintainer: [The QMK Community](https://github.com/qmk) +* Hardware Supported: JRIS65 R1 hotswap. +* Hardware Availability: intermitently via group buys from [Mykeyclub](https://www.mykeyclub.com/) + +Make example for this keyboard (after setting up your build environment): + + make mykeyclub/jris65/hotswap:default + +Flashing example for this keyboard: + + make mykeyclub/jris65/hotswap:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Keycode in layout**: Using the default firmware, assign a key to Reset (`QK_BOOT`) and press the assigned key. +* **Physical reset button**: Briefly press the button on the back of the PCB + +The QMK default keymap has FN+Backspace assigned to `QK_BOOT` so you can use that key sequence for subsequent flashing. + +## Disclaimer + +In May 2024 Mykeyclub was contacted to see if they had interest in contributing firmware to the QMK project they did not. This code is thus community supported. + +This firmware has only been tested with JRIS65 R1 hotswap and is likely to work with R2 hotswap. The soldered variant of this PCB requires testing, with actual hardware, before being added. diff --git a/keyboards/mykeyclub/readme.md b/keyboards/mykeyclub/readme.md new file mode 100644 index 00000000000..e5df7a26385 --- /dev/null +++ b/keyboards/mykeyclub/readme.md @@ -0,0 +1,5 @@ +# Mykeyclub + +Mykeyclub is a retailer of mechanical keyboards and related products. They also facilitate the design and manufacture of keyboard products. + +**Website:** https://www.mykeyclub.com/ From f25624dca4717150f719bc6d72418a6e195fb1f7 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 6 Oct 2024 18:26:48 +0100 Subject: [PATCH 42/66] Fix `thumbsup:default` keymap (#24459) --- keyboards/thumbsup/keymaps/default/keymap.c | 12 ++++-------- keyboards/thumbsup/keymaps/default/rules.mk | 1 - 2 files changed, 4 insertions(+), 9 deletions(-) delete mode 100644 keyboards/thumbsup/keymaps/default/rules.mk diff --git a/keyboards/thumbsup/keymaps/default/keymap.c b/keyboards/thumbsup/keymaps/default/keymap.c index a7bc4271801..04a16a50815 100644 --- a/keyboards/thumbsup/keymaps/default/keymap.c +++ b/keyboards/thumbsup/keymaps/default/keymap.c @@ -15,8 +15,6 @@ */ #include QMK_KEYBOARD_H - - // Defines names for use in layer keycodes and the keymap enum layer_names { _QWERTY, @@ -26,13 +24,8 @@ enum layer_names { _EXTRARIGHT }; -// Aliases for this command to make the thumb keys work as LOWER/RAISE on hold and as space on hit. -//#define CURSORRGHT LT(_CURSORRGHT,KC_SPC) -//#define CURSORLEFT LT(_CURSORLEFT,KC_SPC) - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* Qwerty * ,-----------------------------------------+ +-----------------------------------------. * | Esc | Q | W | E | R | T | | Y | U | I | O | P |BSpc | @@ -55,7 +48,7 @@ Single hit: | | |Space | |Space | | | KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, LT(_EXTRARIGHT,KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_PENT, KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RCTL, - KC_SPC, KC_LGUI, KC_LALT, KC_LSFT, LT(TL_LOWR,KC_SPC), LT(TL_UPPR ,KC_SPC), KC_RSFT, KC_RALT, KC_APP, KC_SPC + KC_SPC, KC_LGUI, KC_LALT, KC_LSFT, LT(_CURSORLEFT,KC_SPC), LT(_CURSORRGHT ,KC_SPC), KC_RSFT, KC_RALT, KC_APP, KC_SPC ), @@ -173,3 +166,6 @@ without separate thumbcluster. ) }; +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _CURSORLEFT, _CURSORRGHT, _NUMBERS); +} diff --git a/keyboards/thumbsup/keymaps/default/rules.mk b/keyboards/thumbsup/keymaps/default/rules.mk deleted file mode 100644 index 2c72d2ddb6c..00000000000 --- a/keyboards/thumbsup/keymaps/default/rules.mk +++ /dev/null @@ -1 +0,0 @@ -TRI_LAYER_ENABLE = yes \ No newline at end of file From 1a284f2b92f1cc6334eb7c3e1c3618e659cafc63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20A=2E=20Volpato?= Date: Mon, 7 Oct 2024 01:29:03 -0300 Subject: [PATCH 43/66] Fix Caps Lock indication on Valhalla v2 (#23012) * Fix Caps Lock indication * User LED state function override added Co-authored-by: Drashna Jaelre * Change backlight enabled check and remove backlight headers Co-authored-by: Drashna Jaelre --------- Co-authored-by: Drashna Jaelre --- keyboards/noxary/valhalla_v2/valhalla_v2.c | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 keyboards/noxary/valhalla_v2/valhalla_v2.c diff --git a/keyboards/noxary/valhalla_v2/valhalla_v2.c b/keyboards/noxary/valhalla_v2/valhalla_v2.c new file mode 100644 index 00000000000..2cd32d51492 --- /dev/null +++ b/keyboards/noxary/valhalla_v2/valhalla_v2.c @@ -0,0 +1,25 @@ +/* Copyright 2023 Gondolindrim + * + * 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 led_update_kb(led_t led_state) { + if (!led_update_user(led_state)) { + return false; + } + (led_state.caps_lock && is_backlight_enabled()) ? backlight_set(get_backlight_level()) : backlight_set(0); + return true; +} From c0d57a6826e9535ac4b0cc6053a3951073c4bbef Mon Sep 17 00:00:00 2001 From: yiancar Date: Tue, 8 Oct 2024 19:51:23 +0100 Subject: [PATCH 44/66] Fix indicator code for NK classics (#24462) Fix indicator code Co-authored-by: yiancar --- keyboards/novelkeys/nk_classic_tkl/keymaps/default/keymap.c | 4 ++++ .../novelkeys/nk_classic_tkl_iso/keymaps/default/keymap.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/keyboards/novelkeys/nk_classic_tkl/keymaps/default/keymap.c b/keyboards/novelkeys/nk_classic_tkl/keymaps/default/keymap.c index a99350ef7fc..a0ea79c45f4 100644 --- a/keyboards/novelkeys/nk_classic_tkl/keymaps/default/keymap.c +++ b/keyboards/novelkeys/nk_classic_tkl/keymaps/default/keymap.c @@ -43,6 +43,10 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { for (uint8_t i = 50; i <= 55; i++) { rgb_matrix_set_color(i, 255, 86, 0); } + } else if ((rgb_matrix_get_mode() == RGB_MATRIX_TYPING_HEATMAP) || (rgb_matrix_get_mode() == RGB_MATRIX_DIGITAL_RAIN)) { + for (uint8_t i = 50; i <= 55; i++) { + rgb_matrix_set_color(i, 0, 0, 0); + } } return false; } diff --git a/keyboards/novelkeys/nk_classic_tkl_iso/keymaps/default/keymap.c b/keyboards/novelkeys/nk_classic_tkl_iso/keymaps/default/keymap.c index 5af062e0b03..8939cde8a4c 100644 --- a/keyboards/novelkeys/nk_classic_tkl_iso/keymaps/default/keymap.c +++ b/keyboards/novelkeys/nk_classic_tkl_iso/keymaps/default/keymap.c @@ -43,6 +43,10 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { for (uint8_t i = 50; i <= 55; i++) { rgb_matrix_set_color(i, 255, 86, 0); } + } else if ((rgb_matrix_get_mode() == RGB_MATRIX_TYPING_HEATMAP) || (rgb_matrix_get_mode() == RGB_MATRIX_DIGITAL_RAIN)) { + for (uint8_t i = 50; i <= 55; i++) { + rgb_matrix_set_color(i, 0, 0, 0); + } } return false; } From fb598e7e617692be0bf562afaf3c852c8db1c349 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: Wed, 9 Oct 2024 12:30:32 +0800 Subject: [PATCH 45/66] Fixup Lily58 keymap comment (#24466) --- keyboards/lily58/keymaps/default/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/lily58/keymaps/default/keymap.c b/keyboards/lily58/keymaps/default/keymap.c index 44288d39d04..7e34752f2d0 100644 --- a/keyboards/lily58/keymaps/default/keymap.c +++ b/keyboards/lily58/keymaps/default/keymap.c @@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |------+------+------+------+------+------| |------+------+------+------+------+------| * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | * |------+------+------+------+------+------| |------+------+------+------+------+------| - * | ` | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | - | + * | ` | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | ~ | * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------| * | | | | | | |-------| |-------| | _ | + | { | } | | | * `-----------------------------------------/ / \ \-----------------------------------------' From 49a1a12a327e6f78db184e83e8ea805da4477775 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Thu, 10 Oct 2024 12:54:53 -0700 Subject: [PATCH 46/66] Expand count checks in keymap introspection (#24464) * Add check Tap Dance count check to keymap introspection * Add checks for combos and key overrides to introspection --- quantum/keymap_introspection.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/quantum/keymap_introspection.c b/quantum/keymap_introspection.c index 327df6e277b..236b54ce980 100644 --- a/quantum/keymap_introspection.c +++ b/quantum/keymap_introspection.c @@ -102,6 +102,8 @@ __attribute__((weak)) uint16_t combo_count(void) { return combo_count_raw(); } +_Static_assert(ARRAY_SIZE(key_combos) <= (QK_KB), "Number of combos is abnormally high. Are you using SAFE_RANGE in an enum for combos?"); + combo_t* combo_get_raw(uint16_t combo_idx) { if (combo_idx >= combo_count_raw()) { return NULL; @@ -127,6 +129,8 @@ __attribute__((weak)) uint16_t tap_dance_count(void) { return tap_dance_count_raw(); } +_Static_assert(ARRAY_SIZE(tap_dance_actions) <= (QK_TAP_DANCE_MAX - QK_TAP_DANCE), "Number of tap dance actions exceeds maximum. Are you using SAFE_RANGE in tap dance enum?"); + tap_dance_action_t* tap_dance_get_raw(uint16_t tap_dance_idx) { if (tap_dance_idx >= tap_dance_count_raw()) { return NULL; @@ -153,6 +157,8 @@ __attribute__((weak)) uint16_t key_override_count(void) { return key_override_count_raw(); } +_Static_assert(ARRAY_SIZE(key_overrides) <= (QK_KB), "Number of key overrides is abnormally high. Are you using SAFE_RANGE in an enum for key overrides?"); + const key_override_t* key_override_get_raw(uint16_t key_override_idx) { if (key_override_idx >= key_override_count_raw()) { return NULL; From 4055798807fed370f81f8b5670a70b71504c6d34 Mon Sep 17 00:00:00 2001 From: azhizhinov Date: Fri, 11 Oct 2024 06:01:00 +0300 Subject: [PATCH 47/66] [Keyboard] Add Piantor UV 44 (#24247) Co-authored-by: Ryan --- keyboards/piantoruv44/config.h | 12 +++ keyboards/piantoruv44/keyboard.json | 98 +++++++++++++++++++ .../piantoruv44/keymaps/default/keymap.c | 30 ++++++ keyboards/piantoruv44/readme.md | 27 +++++ 4 files changed, 167 insertions(+) create mode 100644 keyboards/piantoruv44/config.h create mode 100644 keyboards/piantoruv44/keyboard.json create mode 100644 keyboards/piantoruv44/keymaps/default/keymap.c create mode 100644 keyboards/piantoruv44/readme.md diff --git a/keyboards/piantoruv44/config.h b/keyboards/piantoruv44/config.h new file mode 100644 index 00000000000..e6ba4c0be93 --- /dev/null +++ b/keyboards/piantoruv44/config.h @@ -0,0 +1,12 @@ +// Copyright 2022 beekeeb +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + + +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U + +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_USART_TX_PIN GP0 +#define SERIAL_USART_RX_PIN GP1 diff --git a/keyboards/piantoruv44/keyboard.json b/keyboards/piantoruv44/keyboard.json new file mode 100644 index 00000000000..e2374dca6da --- /dev/null +++ b/keyboards/piantoruv44/keyboard.json @@ -0,0 +1,98 @@ +{ + "manufacturer": "azhizhinov", + "keyboard_name": "PIANTORUV44", + "maintainer": "azhizhinov", + "bootloader": "rp2040", + "bootmagic": { + "matrix": [0, 5] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "direct": [ + ["GP5", "GP4", "GP11", "GP15", "GP3", "GP2"], + ["GP22", "GP20", "GP10", "GP14", "GP9", "GP8"], + ["GP21", "GP19", "GP6", "GP7", "GP13", "GP12"], + ["GP17", "GP18", "GP16", "GP26", null, null] + ] + }, + "processor": "RP2040", + "split": { + "enabled": true, + "matrix_pins": { + "right": { + "direct": [ + ["GP2", "GP3", "GP15", "GP11", "GP4", "GP5"], + ["GP8", "GP9", "GP14", "GP10", "GP20", "GP22"], + ["GP12", "GP13", "GP7", "GP6", "GP19", "GP21"], + ["GP26", "GP16", "GP18", "GP17", null, null] + ] + } + }, + "serial": { + "driver": "vendor" + } + }, + "url": "https://github.com/azhizhinov/PIANTORUV44", + "usb": { + "device_version": "1.0.0", + "pid": "0x0004", + "vid": "0x415A" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.25}, + {"matrix": [0, 1], "x": 1, "y": 0.25}, + {"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": [4, 0], "x": 8, "y": 0.25}, + {"matrix": [4, 1], "x": 9, "y": 0.125}, + {"matrix": [4, 2], "x": 10, "y": 0}, + {"matrix": [4, 3], "x": 11, "y": 0.125}, + {"matrix": [4, 4], "x": 12, "y": 0.25}, + {"matrix": [4, 5], "x": 13, "y": 0.25}, + {"matrix": [1, 0], "x": 0, "y": 1.25}, + {"matrix": [1, 1], "x": 1, "y": 1.25}, + {"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": [5, 0], "x": 8, "y": 1.25}, + {"matrix": [5, 1], "x": 9, "y": 1.125}, + {"matrix": [5, 2], "x": 10, "y": 1}, + {"matrix": [5, 3], "x": 11, "y": 1.125}, + {"matrix": [5, 4], "x": 12, "y": 1.25}, + {"matrix": [5, 5], "x": 13, "y": 1.25}, + {"matrix": [2, 0], "x": 0, "y": 2.25}, + {"matrix": [2, 1], "x": 1, "y": 2.25}, + {"matrix": [2, 2], "x": 2, "y": 2.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": [6, 0], "x": 8, "y": 2.25}, + {"matrix": [6, 1], "x": 9, "y": 2.125}, + {"matrix": [6, 2], "x": 10, "y": 2}, + {"matrix": [6, 3], "x": 11, "y": 2.125}, + {"matrix": [6, 4], "x": 12, "y": 2.25}, + {"matrix": [6, 5], "x": 13, "y": 2.25}, + {"matrix": [3, 0], "x": 2.5, "y": 3}, + {"matrix": [3, 1], "x": 3.5, "y": 3.25}, + {"matrix": [3, 2], "x": 4.5, "y": 3.5}, + {"matrix": [3, 3], "x": 5.5, "y": 3.75}, + {"matrix": [7, 0], "x": 7.5, "y": 3.75}, + {"matrix": [7, 1], "x": 8.5, "y": 3.5}, + {"matrix": [7, 2], "x": 9.5, "y": 3.25}, + {"matrix": [7, 3], "x": 10.5, "y": 3} + ] + } + } +} diff --git a/keyboards/piantoruv44/keymaps/default/keymap.c b/keyboards/piantoruv44/keymaps/default/keymap.c new file mode 100644 index 00000000000..49d5e4d178e --- /dev/null +++ b/keyboards/piantoruv44/keymaps/default/keymap.c @@ -0,0 +1,30 @@ +// Copyright 2021 azhizhinov (@azhizhinov) +// SPDX-License-Identifier: GPL-2.0-or-late +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, + KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_TAB, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RBRC, + KC_LALT, KC_LSFT, MO(1), KC_BSPC, KC_ENT, MO(2), KC_SPC, RCTL(KC_BSPC) + ), + [1] = LAYOUT( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_UP, KC_RGHT, KC_NO, KC_HOME, KC_NO, + KC_LSFT, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DOWN, KC_NO, KC_NO, KC_END, KC_RALT, + KC_LALT, KC_LGUI, KC_TRNS, KC_ESC, KC_ENT, MO(3), KC_SPC, RCTL(KC_BSPC) + ), + [2] = LAYOUT( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, + KC_LCTL, KC_BSPC, KC_C, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_LSFT, KC_X, KC_V, KC_S, KC_L, KC_NO, KC_UNDS, KC_PLUS, KC_PMNS, KC_NO, KC_NO, KC_RALT, + KC_LALT, KC_LGUI, MO(3), KC_ESC, KC_ENT, KC_TRNS, KC_SPC, RCTL(KC_BSPC) + ), + [3] = LAYOUT( + KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_LCTL, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, + KC_LSFT, KC_CAPS, KC_NO, KC_NO, KC_NO, KC_NO, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_RALT, + KC_LALT, KC_LGUI, KC_TRNS, KC_ESC, KC_ENT, KC_TRNS, KC_SPC, RCTL(KC_BSPC) + ) +}; diff --git a/keyboards/piantoruv44/readme.md b/keyboards/piantoruv44/readme.md new file mode 100644 index 00000000000..0fe5fe2d0c0 --- /dev/null +++ b/keyboards/piantoruv44/readme.md @@ -0,0 +1,27 @@ +# Piantor UV 44 + +![Piantor UV 44](https://i.ibb.co/QvJM1GR/20240806-PIANTORUV44-00.png) + +PiantorUV44 is a Piantor/Cantor fork with Raspberry Pi Pico, hybrid hotswap socket and soldered-in switches support and flippable PCB. + +* Keyboard Maintainer: [azhizhinov](https://github.com/azhizhinov) +* Hardware Supported: RP2040 +* Hardware Availability: https://github.com/azhizhinov/PIANTORUV44 + +Make example for this keyboard (after setting up your build environment): + + make piantoruv44:default + +Flashing example for this keyboard: + + make piantoruv44: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**: Hold the `BOOT` button on the Pico and press the `RST` button on the Pico, release the the `RST` button before the `BOOT` button. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +Once you enter the bootloader, the keyboard will show up as a USB device on your computer, you could drag and drop a firmware file to flash it, but I recommend using the flash commands for the respective side. From f43c9127bf9e030ffb372fe46179abf99d7d8b72 Mon Sep 17 00:00:00 2001 From: Joe Scotto <8194147+joe-scotto@users.noreply.github.com> Date: Thu, 10 Oct 2024 23:27:56 -0400 Subject: [PATCH 48/66] Add Scotto37 handwired keyboard (#23938) Co-authored-by: Joel Challis --- .../scottokeebs/scotto37/keyboard.json | 69 +++++++++++++++++++ .../scotto37/keymaps/default/config.h | 22 ++++++ .../scotto37/keymaps/default/keymap.c | 45 ++++++++++++ .../handwired/scottokeebs/scotto37/readme.md | 29 ++++++++ 4 files changed, 165 insertions(+) create mode 100644 keyboards/handwired/scottokeebs/scotto37/keyboard.json create mode 100644 keyboards/handwired/scottokeebs/scotto37/keymaps/default/config.h create mode 100644 keyboards/handwired/scottokeebs/scotto37/keymaps/default/keymap.c create mode 100644 keyboards/handwired/scottokeebs/scotto37/readme.md diff --git a/keyboards/handwired/scottokeebs/scotto37/keyboard.json b/keyboards/handwired/scottokeebs/scotto37/keyboard.json new file mode 100644 index 00000000000..579840e8d14 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto37/keyboard.json @@ -0,0 +1,69 @@ +{ + "manufacturer": "ScottoKeebs", + "keyboard_name": "Scotto37", + "maintainer": "joe-scotto", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9", "GP29", "GP28"], + "rows": ["GP22", "GP20", "GP23", "GP21"] + }, + "processor": "RP2040", + "url": "https://scottokeebs.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x0027", + "vid": "0x534B" + }, + "layouts": { + "LAYOUT_3x10_7": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2, "y": 1}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1}, + {"matrix": [1, 5], "x": 5, "y": 1}, + {"matrix": [1, 6], "x": 6, "y": 1}, + {"matrix": [1, 7], "x": 7, "y": 1}, + {"matrix": [1, 8], "x": 8, "y": 1}, + {"matrix": [1, 9], "x": 9, "y": 1}, + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2, "y": 2}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2}, + {"matrix": [2, 5], "x": 5, "y": 2}, + {"matrix": [2, 6], "x": 6, "y": 2}, + {"matrix": [2, 7], "x": 7, "y": 2}, + {"matrix": [2, 8], "x": 8, "y": 2}, + {"matrix": [2, 9], "x": 9, "y": 2}, + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2, "y": 3}, + {"matrix": [3, 4], "x": 4, "y": 3}, + {"matrix": [3, 7], "x": 7, "y": 3}, + {"matrix": [3, 8], "x": 8, "y": 3}, + {"matrix": [3, 9], "x": 9, "y": 3} + ] + } + } +} diff --git a/keyboards/handwired/scottokeebs/scotto37/keymaps/default/config.h b/keyboards/handwired/scottokeebs/scotto37/keymaps/default/config.h new file mode 100644 index 00000000000..8ac58ca23c0 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto37/keymaps/default/config.h @@ -0,0 +1,22 @@ +/* +Copyright 2024 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 diff --git a/keyboards/handwired/scottokeebs/scotto37/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scotto37/keymaps/default/keymap.c new file mode 100644 index 00000000000..a5d489f0044 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto37/keymaps/default/keymap.c @@ -0,0 +1,45 @@ +/* +Copyright 2024 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_3x10_7( + 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_3x10_7( + 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_3x10_7( + 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_3x10_7( + 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 + ) +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scotto37/readme.md b/keyboards/handwired/scottokeebs/scotto37/readme.md new file mode 100644 index 00000000000..a2198e17e30 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto37/readme.md @@ -0,0 +1,29 @@ +# Scotto37 + +![Scotto37](https://i.imgur.com/WOXAGc3h.jpg) + +A 37-key gasket-mounted 0.25u column-staggered keyboard with a 3u spacebar. + +* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) +* Hardware Supported: RP2040 Pro Micro +* Hardware Availability: [ScottoKeebs](https://scottokeebs.com), [Amazon](https://amazon.com), [AliExpress](https://aliexpress.com) + +# Compiling + +Make example for this keyboard (after setting up your build environment): + + make handwired/scottokeebs/scotto37:default + +Flashing example for this keyboard: + + make handwired/scottokeebs/scotto37: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 From f0b5feb85806269d5c51684e8d7787ee8a084567 Mon Sep 17 00:00:00 2001 From: Woodrow Douglass Date: Thu, 10 Oct 2024 23:31:08 -0400 Subject: [PATCH 49/66] fix hotdox76v2 oled font to more closely mirror utf8 (#23807) --- keyboards/hotdox76v2/hotdox76v2.c | 10 +- keyboards/hotdox76v2/oled_font_lib/ext_font.h | 214 +++++++++--------- 2 files changed, 112 insertions(+), 112 deletions(-) diff --git a/keyboards/hotdox76v2/hotdox76v2.c b/keyboards/hotdox76v2/hotdox76v2.c index 26dc8f4d741..e60777703ee 100644 --- a/keyboards/hotdox76v2/hotdox76v2.c +++ b/keyboards/hotdox76v2/hotdox76v2.c @@ -60,7 +60,7 @@ led_config_t g_led_config = { #ifdef OLED_ENABLE -# define UNC (94 + 0x21) +# define UNC (' ') typedef struct _master_to_slave_t { int cur_alp_index; char current_alp[7]; @@ -115,8 +115,8 @@ void render_layer_helper_fun(uint8_t start_line, const char *data, uint8_t gap_w for (j = 0; j < l; ++j) { // font index for (k = 0; k < 12; ++k) { // font byte index // base + logo_w(32) + gap_w(12) +l*font_w(12)+current_byte_index - oled_write_raw_byte(pgm_read_byte(&ext_big_font[pgm_read_byte(&data[j]) - 0x21][k]), start_line * 2 * 128 + 32 + gap_w + j * 12 + k); - oled_write_raw_byte(pgm_read_byte(&ext_big_font[pgm_read_byte(&data[j]) - 0x21][k + 12]), start_line * 2 * 128 + 128 + 32 + gap_w + j * 12 + k); + oled_write_raw_byte(pgm_read_byte(&ext_big_font[pgm_read_byte(&data[j]) - 0x20][k]), start_line * 2 * 128 + 32 + gap_w + j * 12 + k); + oled_write_raw_byte(pgm_read_byte(&ext_big_font[pgm_read_byte(&data[j]) - 0x20][k + 12]), start_line * 2 * 128 + 128 + 32 + gap_w + j * 12 + k); } } for (j = 0; j < gap_w; ++j) { @@ -151,8 +151,8 @@ void render_cur_input_helper_fun(uint8_t start_line, const char *data, uint8_t g for (j = 0; j < l; ++j) { // font index for (k = 0; k < 12; ++k) { // font byte index // base + logo_w(0) + gap_w(12) +l*font_w(12)+current_byte_index - oled_write_raw_byte(pgm_read_byte(&ext_big_font[data[j] - 0x21][k]), start_line * 2 * 128 + gap_w + j * 12 + k); - oled_write_raw_byte(pgm_read_byte(&ext_big_font[data[j] - 0x21][12 + k]), start_line * 2 * 128 + 128 + gap_w + j * 12 + k); + oled_write_raw_byte(pgm_read_byte(&ext_big_font[data[j] - 0x20][k]), start_line * 2 * 128 + gap_w + j * 12 + k); + oled_write_raw_byte(pgm_read_byte(&ext_big_font[data[j] - 0x20][12 + k]), start_line * 2 * 128 + 128 + gap_w + j * 12 + k); } } for (j = 0; j < gap_w; ++j) { diff --git a/keyboards/hotdox76v2/oled_font_lib/ext_font.h b/keyboards/hotdox76v2/oled_font_lib/ext_font.h index 3d0f524025c..dbcb59ed80e 100644 --- a/keyboards/hotdox76v2/oled_font_lib/ext_font.h +++ b/keyboards/hotdox76v2/oled_font_lib/ext_font.h @@ -7,116 +7,116 @@ #include "progmem.h" /* - !(0) "(1) #(2) $(3) %(4) &(5) '(6) ((7) - )(8) *(9) +(10) ,(11) -(12) .(13) /(14) 0(15) - 1(16) 2(17) 3(18) 4(19) 5(20) 6(21) 7(22) 8(23) - 9(24) :(25) ;(26) <(27) =(28) >(29) ?(30) @(31) - A(32) B(33) C(34) D(35) E(36) F(37) G(38) H(39) - I(40) J(41) K(42) L(43) M(44) N(45) O(46) P(47) - Q(48) R(49) S(50) T(51) U(52) V(53) W(54) X(55) - Y(56) Z(57) [(58) \(59) ](60) ^(61) _(62) `(63) - a(64) b(65) c(66) d(67) e(68) f(69) g(70) h(71) - i(72) j(73) k(74) l(75) m(76) n(77) o(78) p(79) - q(80) r(81) s(82) t(83) u(84) v(85) w(86) x(87) - y(88) z(89) {(90) |(91) }(92) ~(93) (94) + (0) !(1) "(2) #(3) $(4) %(5) &(6) '(7) ((8) + )(9) *(10) +(11) ,(12) -(13) .(14) /(15) 0(16) + 1(17) 2(18) 3(19) 4(20) 5(21) 6(22) 7(23) 8(24) + 9(25) :(26) ;(27) <(28) =(29) >(30) ?(31) @(32) + A(33) B(34) C(35) D(36) E(37) F(38) G(39) H(40) + I(41) J(42) K(43) L(44) M(45) N(46) O(47) P(48) + Q(49) R(50) S(51) T(52) U(53) V(54) W(55) X(56) + Y(57) Z(58) [(59) \(60) ](61) ^(62) _(63) `(64) + a(65) b(66) c(67) d(68) e(69) f(70) g(71) h(72) + i(73) j(74) k(75) l(76) m(77) n(78) o(79) p(80) + q(81) r(82) s(83) t(84) u(85) v(86) w(87) x(88) + y(89) z(90) {(91) |(92) }(93) ~(94) */ static const unsigned char ext_big_font[95][24] PROGMEM = { -{0x00,0x00,0x00,0x00,0xFC,0xFC,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0x1B,0x1B,0x1B,0x00,0x00,0x00,0x00},/*"!",0*/ -{0x00,0x00,0x00,0x18,0xF8,0x18,0x00,0x18,0xF8,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*""",1*/ -{0x00,0x00,0x60,0x60,0xFE,0xFE,0x60,0xFE,0xFE,0x60,0x00,0x00,0x00,0x00,0x06,0x7F,0x7F,0x06,0x7F,0x7F,0x06,0x06,0x00,0x00},/*"#",2*/ -{0x00,0x00,0x00,0xF0,0xF8,0x9E,0x9E,0xB8,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0xF9,0xF9,0x1F,0x0F,0x00,0x00,0x00},/*"$",3*/ -{0x00,0x00,0x38,0x44,0xC4,0xC4,0xB8,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x0E,0x11,0x11,0x11,0x0E,0x00,0x00,0x00},/*"%",4*/ -{0x00,0x00,0x60,0xE0,0xB0,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x00,0x0E,0x0F,0x19,0x19,0x1B,0x1E,0x0E,0x0F,0x1B,0x00,0x00},/*"&",5*/ -{0x00,0x00,0x00,0x00,0x00,0x18,0xF8,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",6*/ -{0x00,0x00,0x00,0x00,0x00,0xC0,0xF0,0x3C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x1F,0x78,0x60,0x00,0x00,0x00},/*"(",7*/ -{0x00,0x00,0x0C,0x3C,0xF0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x78,0x1F,0x07,0x00,0x00,0x00,0x00,0x00,0x00},/*")",8*/ -{0x00,0x00,0x30,0xB0,0xF0,0xFC,0xFC,0xF0,0xB0,0x30,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x01,0x01,0x00,0x00,0x00},/*"*",9*/ -{0x00,0x80,0x80,0x80,0x80,0xF8,0xF8,0x80,0x80,0x80,0x80,0x00,0x00,0x01,0x01,0x01,0x01,0x1F,0x1F,0x01,0x01,0x01,0x01,0x00},/*"+",10*/ -{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x38,0x08,0x00,0x00,0x00,0x00,0x00},/*",",11*/ -{0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00},/*"-",12*/ -{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x00,0x00,0x00,0x00},/*".",13*/ -{0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0x78,0x1E,0x06,0x00,0x00,0x00,0x00,0x60,0x78,0x1E,0x07,0x01,0x00,0x00,0x00,0x00,0x00},/*"/",14*/ -{0x00,0x00,0xF0,0xF8,0x1C,0x0C,0x1C,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x1C,0x0F,0x07,0x00,0x00,0x00},/*"0",15*/ -{0x00,0x00,0x18,0x18,0x18,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00},/*"1",16*/ -{0x00,0x00,0x30,0x38,0x0C,0x0C,0x8C,0xF8,0x70,0x00,0x00,0x00,0x00,0x00,0x18,0x1C,0x1E,0x1B,0x19,0x18,0x18,0x00,0x00,0x00},/*"2",17*/ -{0x00,0x00,0x18,0x1C,0xCC,0xCC,0xCC,0xFC,0x38,0x00,0x00,0x00,0x00,0x0C,0x1C,0x18,0x18,0x18,0x19,0x0F,0x07,0x00,0x00,0x00},/*"3",18*/ -{0x00,0x00,0xC0,0xE0,0x78,0x1C,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x03,0x1B,0x1B,0x1F,0x1F,0x1B,0x00,0x00,0x00},/*"4",19*/ -{0x00,0x00,0xFC,0xFC,0xCC,0xCC,0xCC,0x8C,0x00,0x00,0x00,0x00,0x00,0x0C,0x1C,0x18,0x18,0x18,0x18,0x0F,0x07,0x00,0x00,0x00},/*"5",20*/ -{0x00,0x00,0xE0,0xF0,0xB8,0xDC,0xCC,0xCC,0x8C,0x00,0x00,0x00,0x00,0x00,0x07,0x0F,0x19,0x18,0x18,0x1F,0x0F,0x00,0x00,0x00},/*"6",21*/ -{0x00,0x00,0x1C,0x1C,0x0C,0x0C,0xCC,0xFC,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1F,0x03,0x00,0x00,0x00,0x00},/*"7",22*/ -{0x00,0x00,0x38,0xFC,0xCC,0xCC,0xCC,0xFC,0x38,0x00,0x00,0x00,0x00,0x00,0x0F,0x1F,0x18,0x18,0x18,0x1F,0x0F,0x00,0x00,0x00},/*"8",23*/ -{0x00,0x00,0xF8,0xFC,0x8C,0x8C,0xCC,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x18,0x19,0x19,0x1D,0x0E,0x07,0x03,0x00,0x00,0x00},/*"9",24*/ -{0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x00,0x00,0x00,0x00},/*":",25*/ -{0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x18,0x08,0x00,0x00,0x00,0x00,0x00},/*";",26*/ -{0x00,0x00,0x00,0x80,0x80,0xC0,0x60,0x60,0x30,0x30,0x00,0x00,0x00,0x01,0x01,0x03,0x03,0x06,0x0C,0x0C,0x18,0x18,0x00,0x00},/*"<",27*/ -{0x00,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0x00,0x00,0x00,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x00,0x00},/*"=",28*/ -{0x00,0x30,0x30,0x60,0x60,0xC0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x0C,0x0C,0x06,0x03,0x03,0x01,0x01,0x00,0x00},/*">",29*/ -{0x00,0x00,0x70,0x78,0x18,0x18,0x98,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0x1B,0x01,0x01,0x00,0x00,0x00,0x00},/*"?",30*/ -{0x00,0x00,0xF0,0x08,0xC4,0x24,0x24,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x10,0x21,0x22,0x22,0x13,0x00,0x00,0x00,0x00},/*"@",31*/ -{0x00,0x00,0x18,0x98,0xF8,0x38,0x38,0xF0,0x80,0x00,0x00,0x00,0x00,0x18,0x1C,0x1F,0x1B,0x03,0x03,0x1B,0x1F,0x1C,0x18,0x00},/*"A",32*/ -{0x00,0x18,0xF8,0xF8,0x98,0x98,0x98,0xF8,0x70,0x00,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x19,0x19,0x19,0x1F,0x0E,0x00,0x00},/*"B",33*/ -{0x00,0xE0,0xF0,0x38,0x18,0x18,0x18,0x10,0x78,0x78,0x00,0x00,0x00,0x07,0x0F,0x0C,0x18,0x18,0x18,0x18,0x0C,0x0C,0x00,0x00},/*"C",34*/ -{0x00,0x18,0xF8,0xF8,0x18,0x18,0x18,0x38,0xF0,0xE0,0x00,0x00,0x00,0x18,0x1F,0x1F,0x18,0x18,0x18,0x1C,0x0F,0x07,0x00,0x00},/*"D",35*/ -{0x00,0x18,0xF8,0xF8,0x98,0xD8,0xD8,0x18,0x78,0x78,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x1B,0x1B,0x18,0x1E,0x1E,0x00,0x00},/*"E",36*/ -{0x00,0x18,0xF8,0xF8,0x98,0xD8,0xD8,0x18,0x78,0x78,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x1B,0x1B,0x00,0x00,0x00,0x00,0x00},/*"F",37*/ -{0x00,0xE0,0xF0,0x38,0x18,0x18,0x10,0x38,0x38,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x1B,0x1B,0x1F,0x0F,0x03,0x00,0x00},/*"G",38*/ -{0x00,0x18,0xF8,0xF8,0x98,0x80,0x98,0xF8,0xF8,0x18,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x01,0x19,0x1F,0x1F,0x18,0x00,0x00},/*"H",39*/ -{0x00,0x00,0x18,0x18,0x18,0xF8,0xF8,0x18,0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00},/*"I",40*/ -{0x00,0x00,0x00,0x00,0x18,0x18,0x18,0xF8,0xF8,0x18,0x18,0x00,0x00,0x00,0x0F,0x0F,0x18,0x18,0x18,0x0F,0x0F,0x00,0x00,0x00},/*"J",41*/ -{0x00,0x18,0xF8,0xF8,0x98,0xC0,0x78,0x38,0x18,0x18,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x01,0x07,0x1E,0x18,0x18,0x00,0x00},/*"K",42*/ -{0x00,0x18,0x18,0xF8,0xF8,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x1F,0x1F,0x00,0x00},/*"L",43*/ -{0x18,0xF8,0xF8,0x38,0xE0,0x00,0xE0,0x38,0xF8,0xF8,0x18,0x00,0x18,0x1F,0x1F,0x18,0x19,0x03,0x19,0x18,0x1F,0x1F,0x18,0x00},/*"M",44*/ -{0x00,0x18,0xF8,0xF8,0xF8,0xE0,0x18,0xF8,0xF8,0x18,0x00,0x00,0x00,0x18,0x1F,0x1F,0x18,0x03,0x1F,0x1F,0x1F,0x00,0x00,0x00},/*"N",45*/ -{0x00,0xC0,0xF0,0x30,0x18,0x18,0x18,0x30,0xF0,0xC0,0x00,0x00,0x00,0x03,0x0F,0x0C,0x18,0x18,0x18,0x0C,0x0F,0x03,0x00,0x00},/*"O",46*/ -{0x00,0x18,0xF8,0xF8,0x98,0x98,0x98,0xF8,0xF0,0x00,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x19,0x19,0x01,0x00,0x00,0x00,0x00},/*"P",47*/ -{0x00,0xC0,0xF0,0x30,0x18,0x18,0x18,0x30,0xF0,0xC0,0x00,0x00,0x00,0x03,0x0F,0xCC,0xF8,0x78,0x78,0xCC,0xEF,0x63,0x00,0x00},/*"Q",48*/ -{0x00,0x18,0xF8,0xF8,0x98,0x98,0x98,0xF8,0x70,0x00,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x1B,0x07,0x0E,0x1C,0x18,0x00,0x00},/*"R",49*/ -{0x00,0x00,0x70,0xF8,0x98,0x98,0x90,0x38,0x38,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x09,0x19,0x19,0x1F,0x0E,0x00,0x00,0x00},/*"S",50*/ -{0x00,0xF8,0xF8,0x18,0x18,0xF8,0xF8,0x18,0x18,0xF8,0xF8,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x00,0x00,0x00},/*"T",51*/ -{0x00,0x18,0xF8,0xF8,0x18,0x00,0x18,0xF8,0xF8,0x18,0x00,0x00,0x00,0x00,0x07,0x0F,0x18,0x18,0x18,0x0F,0x07,0x00,0x00,0x00},/*"U",52*/ -{0x00,0x18,0x78,0xF8,0x98,0x00,0x98,0xF8,0x78,0x18,0x00,0x00,0x00,0x00,0x00,0x03,0x1F,0x18,0x1F,0x03,0x00,0x00,0x00,0x00},/*"V",53*/ -{0x18,0xF8,0xF8,0x18,0xD8,0xC0,0xD8,0x18,0xF8,0xF8,0x18,0x00,0x00,0x01,0x1F,0x1C,0x1F,0x01,0x1F,0x1C,0x1F,0x01,0x00,0x00},/*"W",54*/ -{0x00,0x18,0x38,0x78,0xD8,0x80,0xD8,0x78,0x38,0x18,0x00,0x00,0x00,0x18,0x1C,0x1E,0x1B,0x01,0x1B,0x1E,0x1C,0x18,0x00,0x00},/*"X",55*/ -{0x00,0x18,0x38,0x78,0xD8,0x80,0x80,0xD8,0x78,0x38,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x00,0x00,0x00},/*"Y",56*/ -{0x00,0x00,0x78,0x78,0x18,0x98,0xD8,0x78,0x38,0x00,0x00,0x00,0x00,0x00,0x1C,0x1E,0x1B,0x19,0x18,0x1E,0x1E,0x00,0x00,0x00},/*"Z",57*/ -{0x00,0x00,0x00,0x00,0x00,0xFC,0xFC,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x7F,0x60,0x60,0x00,0x00,0x00},/*"[",58*/ -{0x00,0x00,0x06,0x1E,0x78,0xE0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x07,0x1E,0x78,0x60,0x00,0x00},/*"\",59*/ -{0x00,0x00,0x00,0x0C,0x0C,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x7F,0x7F,0x00,0x00,0x00,0x00,0x00},/*"]",60*/ -{0x00,0x00,0x00,0x60,0x70,0x18,0x0C,0x18,0x70,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"^",61*/ -{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"_",62*/ -{0x00,0x00,0x00,0x00,0x02,0x04,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",63*/ -{0x00,0x00,0x00,0x60,0x60,0x60,0x60,0xE0,0xC0,0x00,0x00,0x00,0x00,0x00,0x0E,0x1F,0x1B,0x1B,0x0B,0x1F,0x1F,0x18,0x00,0x00},/*"a",64*/ -{0x00,0x0C,0xFC,0xFC,0xC0,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0x18,0x1F,0x1F,0x0C,0x18,0x18,0x1C,0x0F,0x07,0x00,0x00},/*"b",65*/ -{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0x60,0xC0,0xE0,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x18,0x18,0x18,0x0C,0x00,0x00},/*"c",66*/ -{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0xCC,0xFC,0xFC,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x18,0x0C,0x1F,0x1F,0x18,0x00},/*"d",67*/ -{0x00,0x00,0x80,0xC0,0x60,0x60,0x60,0x60,0xC0,0x80,0x00,0x00,0x00,0x00,0x07,0x0F,0x1B,0x1B,0x1B,0x1B,0x1B,0x0B,0x00,0x00},/*"e",68*/ -{0x00,0x00,0x60,0x60,0xF8,0xFC,0x6C,0x6C,0x6C,0x6C,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00,0x00},/*"f",69*/ -{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0xC0,0xE0,0xE0,0x60,0x00,0x00,0x00,0x07,0x0F,0xDC,0xD8,0xD8,0xCC,0xFF,0x7F,0x00,0x00},/*"g",70*/ -{0x00,0x0C,0xFC,0xFC,0xC0,0x60,0x60,0x60,0xE0,0xC0,0x00,0x00,0x00,0x18,0x1F,0x1F,0x18,0x00,0x00,0x18,0x1F,0x1F,0x18,0x00},/*"h",71*/ -{0x00,0x00,0x00,0x60,0x60,0xEC,0xEC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00},/*"i",72*/ -{0x00,0x00,0x60,0x60,0x60,0x6C,0x6C,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0xC0,0xC0,0xC0,0xFF,0x7F,0x00,0x00,0x00},/*"j",73*/ -{0x00,0x00,0x0C,0xFC,0xFC,0x80,0xE0,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x18,0x1F,0x1F,0x03,0x06,0x1C,0x18,0x18,0x00,0x00},/*"k",74*/ -{0x00,0x00,0x00,0x0C,0x0C,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00},/*"l",75*/ -{0x00,0x60,0xE0,0xE0,0x60,0xE0,0xC0,0x60,0xE0,0xC0,0x00,0x00,0x00,0x18,0x1F,0x1F,0x00,0x1F,0x1F,0x00,0x1F,0x1F,0x18,0x00},/*"m",76*/ -{0x00,0x60,0xE0,0xE0,0xC0,0x60,0x60,0x60,0xE0,0xC0,0x00,0x00,0x00,0x18,0x1F,0x1F,0x18,0x00,0x00,0x18,0x1F,0x1F,0x18,0x00},/*"n",77*/ -{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x18,0x1C,0x0F,0x07,0x00,0x00},/*"o",78*/ -{0x00,0x60,0xE0,0xE0,0xC0,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xCC,0xD8,0x18,0x1C,0x0F,0x07,0x00,0x00},/*"p",79*/ -{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0xC0,0xE0,0xE0,0x60,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0xD8,0xCC,0xFF,0xFF,0xC0,0x00},/*"q",80*/ -{0x00,0x00,0x60,0x60,0xE0,0xE0,0xC0,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00,0x00},/*"r",81*/ -{0x00,0x00,0xC0,0xE0,0x60,0x60,0x60,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x1D,0x1D,0x1B,0x1B,0x1B,0x1E,0x0E,0x00,0x00,0x00},/*"s",82*/ -{0x00,0x00,0x60,0x60,0xFC,0xFC,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x1F,0x18,0x18,0x18,0x0C,0x00,0x00},/*"t",83*/ -{0x00,0x60,0xE0,0xE0,0x00,0x00,0x00,0x60,0xE0,0xE0,0x00,0x00,0x00,0x00,0x0F,0x1F,0x18,0x18,0x18,0x0C,0x1F,0x1F,0x18,0x00},/*"u",84*/ -{0x00,0x60,0xE0,0xE0,0x60,0x00,0x60,0xE0,0xE0,0x60,0x00,0x00,0x00,0x00,0x00,0x07,0x1F,0x18,0x1F,0x07,0x00,0x00,0x00,0x00},/*"v",85*/ -{0x60,0xE0,0xE0,0x60,0x00,0x80,0x00,0x60,0xE0,0xE0,0x60,0x00,0x00,0x01,0x1F,0x1E,0x07,0x03,0x07,0x1E,0x1F,0x01,0x00,0x00},/*"w",86*/ -{0x00,0x00,0x60,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x60,0x00,0x00,0x00,0x00,0x18,0x1C,0x1F,0x03,0x03,0x1F,0x1C,0x18,0x00,0x00},/*"x",87*/ -{0x00,0x60,0xE0,0xE0,0x60,0x00,0x00,0x60,0xE0,0xE0,0x60,0x00,0x00,0xC0,0xC0,0xC1,0xE7,0xFE,0xDC,0xC7,0x03,0x00,0x00,0x00},/*"y",88*/ -{0x00,0x00,0xE0,0xE0,0x60,0x60,0x60,0xE0,0xE0,0x60,0x00,0x00,0x00,0x00,0x18,0x1C,0x1E,0x1B,0x1B,0x19,0x1C,0x1C,0x00,0x00},/*"z",89*/ -{0x00,0x00,0x00,0x00,0x00,0xF8,0xFC,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x3F,0x7E,0x60,0x00,0x00,0x00,0x00},/*"{",90*/ -{0x00,0x00,0x00,0x00,0x00,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x7F,0x00,0x00,0x00,0x00,0x00},/*"|",91*/ -{0x00,0x00,0x00,0x00,0x0C,0xFC,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x7E,0x3F,0x01,0x00,0x00,0x00,0x00},/*"}",92*/ -{0x00,0x00,0x80,0xC0,0xC0,0xC0,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x01,0x03,0x03,0x03,0x01,0x00,0x00},/*"~",93*/ -{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",94*/ +{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/ +{0x00,0x00,0x00,0x00,0xFC,0xFC,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0x1B,0x1B,0x1B,0x00,0x00,0x00,0x00},/*"!",1*/ +{0x00,0x00,0x00,0x18,0xF8,0x18,0x00,0x18,0xF8,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*""",2*/ +{0x00,0x00,0x60,0x60,0xFE,0xFE,0x60,0xFE,0xFE,0x60,0x00,0x00,0x00,0x00,0x06,0x7F,0x7F,0x06,0x7F,0x7F,0x06,0x06,0x00,0x00},/*"#",3*/ +{0x00,0x00,0x00,0xF0,0xF8,0x9E,0x9E,0xB8,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0xF9,0xF9,0x1F,0x0F,0x00,0x00,0x00},/*"$",4*/ +{0x00,0x00,0x38,0x44,0xC4,0xC4,0xB8,0x40,0x40,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x0E,0x11,0x11,0x11,0x0E,0x00,0x00,0x00},/*"%",5*/ +{0x00,0x00,0x60,0xE0,0xB0,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x00,0x0E,0x0F,0x19,0x19,0x1B,0x1E,0x0E,0x0F,0x1B,0x00,0x00},/*"&",6*/ +{0x00,0x00,0x00,0x00,0x00,0x18,0xF8,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",7*/ +{0x00,0x00,0x00,0x00,0x00,0xC0,0xF0,0x3C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x1F,0x78,0x60,0x00,0x00,0x00},/*"(",8*/ +{0x00,0x00,0x0C,0x3C,0xF0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x78,0x1F,0x07,0x00,0x00,0x00,0x00,0x00,0x00},/*")",9*/ +{0x00,0x00,0x30,0xB0,0xF0,0xFC,0xFC,0xF0,0xB0,0x30,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x01,0x01,0x00,0x00,0x00},/*"*",10*/ +{0x00,0x80,0x80,0x80,0x80,0xF8,0xF8,0x80,0x80,0x80,0x80,0x00,0x00,0x01,0x01,0x01,0x01,0x1F,0x1F,0x01,0x01,0x01,0x01,0x00},/*"+",11*/ +{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x38,0x08,0x00,0x00,0x00,0x00,0x00},/*",",12*/ +{0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00},/*"-",13*/ +{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x00,0x00,0x00,0x00},/*".",14*/ +{0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0x78,0x1E,0x06,0x00,0x00,0x00,0x00,0x60,0x78,0x1E,0x07,0x01,0x00,0x00,0x00,0x00,0x00},/*"/",15*/ +{0x00,0x00,0xF0,0xF8,0x1C,0x0C,0x1C,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x1C,0x0F,0x07,0x00,0x00,0x00},/*"0",16*/ +{0x00,0x00,0x18,0x18,0x18,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00},/*"1",17*/ +{0x00,0x00,0x30,0x38,0x0C,0x0C,0x8C,0xF8,0x70,0x00,0x00,0x00,0x00,0x00,0x18,0x1C,0x1E,0x1B,0x19,0x18,0x18,0x00,0x00,0x00},/*"2",18*/ +{0x00,0x00,0x18,0x1C,0xCC,0xCC,0xCC,0xFC,0x38,0x00,0x00,0x00,0x00,0x0C,0x1C,0x18,0x18,0x18,0x19,0x0F,0x07,0x00,0x00,0x00},/*"3",19*/ +{0x00,0x00,0xC0,0xE0,0x78,0x1C,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x03,0x1B,0x1B,0x1F,0x1F,0x1B,0x00,0x00,0x00},/*"4",20*/ +{0x00,0x00,0xFC,0xFC,0xCC,0xCC,0xCC,0x8C,0x00,0x00,0x00,0x00,0x00,0x0C,0x1C,0x18,0x18,0x18,0x18,0x0F,0x07,0x00,0x00,0x00},/*"5",21*/ +{0x00,0x00,0xE0,0xF0,0xB8,0xDC,0xCC,0xCC,0x8C,0x00,0x00,0x00,0x00,0x00,0x07,0x0F,0x19,0x18,0x18,0x1F,0x0F,0x00,0x00,0x00},/*"6",22*/ +{0x00,0x00,0x1C,0x1C,0x0C,0x0C,0xCC,0xFC,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1F,0x03,0x00,0x00,0x00,0x00},/*"7",23*/ +{0x00,0x00,0x38,0xFC,0xCC,0xCC,0xCC,0xFC,0x38,0x00,0x00,0x00,0x00,0x00,0x0F,0x1F,0x18,0x18,0x18,0x1F,0x0F,0x00,0x00,0x00},/*"8",24*/ +{0x00,0x00,0xF8,0xFC,0x8C,0x8C,0xCC,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x18,0x19,0x19,0x1D,0x0E,0x07,0x03,0x00,0x00,0x00},/*"9",25*/ +{0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x00,0x00,0x00,0x00},/*":",26*/ +{0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x18,0x08,0x00,0x00,0x00,0x00,0x00},/*";",27*/ +{0x00,0x00,0x00,0x80,0x80,0xC0,0x60,0x60,0x30,0x30,0x00,0x00,0x00,0x01,0x01,0x03,0x03,0x06,0x0C,0x0C,0x18,0x18,0x00,0x00},/*"<",28*/ +{0x00,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0x00,0x00,0x00,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x00,0x00},/*"=",29*/ +{0x00,0x30,0x30,0x60,0x60,0xC0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x0C,0x0C,0x06,0x03,0x03,0x01,0x01,0x00,0x00},/*">",30*/ +{0x00,0x00,0x70,0x78,0x18,0x18,0x98,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0x1B,0x01,0x01,0x00,0x00,0x00,0x00},/*"?",31*/ +{0x00,0x00,0xF0,0x08,0xC4,0x24,0x24,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x10,0x21,0x22,0x22,0x13,0x00,0x00,0x00,0x00},/*"@",32*/ +{0x00,0x00,0x18,0x98,0xF8,0x38,0x38,0xF0,0x80,0x00,0x00,0x00,0x00,0x18,0x1C,0x1F,0x1B,0x03,0x03,0x1B,0x1F,0x1C,0x18,0x00},/*"A",33*/ +{0x00,0x18,0xF8,0xF8,0x98,0x98,0x98,0xF8,0x70,0x00,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x19,0x19,0x19,0x1F,0x0E,0x00,0x00},/*"B",34*/ +{0x00,0xE0,0xF0,0x38,0x18,0x18,0x18,0x10,0x78,0x78,0x00,0x00,0x00,0x07,0x0F,0x0C,0x18,0x18,0x18,0x18,0x0C,0x0C,0x00,0x00},/*"C",35*/ +{0x00,0x18,0xF8,0xF8,0x18,0x18,0x18,0x38,0xF0,0xE0,0x00,0x00,0x00,0x18,0x1F,0x1F,0x18,0x18,0x18,0x1C,0x0F,0x07,0x00,0x00},/*"D",36*/ +{0x00,0x18,0xF8,0xF8,0x98,0xD8,0xD8,0x18,0x78,0x78,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x1B,0x1B,0x18,0x1E,0x1E,0x00,0x00},/*"E",37*/ +{0x00,0x18,0xF8,0xF8,0x98,0xD8,0xD8,0x18,0x78,0x78,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x1B,0x1B,0x00,0x00,0x00,0x00,0x00},/*"F",38*/ +{0x00,0xE0,0xF0,0x38,0x18,0x18,0x10,0x38,0x38,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x1B,0x1B,0x1F,0x0F,0x03,0x00,0x00},/*"G",39*/ +{0x00,0x18,0xF8,0xF8,0x98,0x80,0x98,0xF8,0xF8,0x18,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x01,0x19,0x1F,0x1F,0x18,0x00,0x00},/*"H",40*/ +{0x00,0x00,0x18,0x18,0x18,0xF8,0xF8,0x18,0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00},/*"I",41*/ +{0x00,0x00,0x00,0x00,0x18,0x18,0x18,0xF8,0xF8,0x18,0x18,0x00,0x00,0x00,0x0F,0x0F,0x18,0x18,0x18,0x0F,0x0F,0x00,0x00,0x00},/*"J",42*/ +{0x00,0x18,0xF8,0xF8,0x98,0xC0,0x78,0x38,0x18,0x18,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x01,0x07,0x1E,0x18,0x18,0x00,0x00},/*"K",43*/ +{0x00,0x18,0x18,0xF8,0xF8,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x1F,0x1F,0x00,0x00},/*"L",44*/ +{0x18,0xF8,0xF8,0x38,0xE0,0x00,0xE0,0x38,0xF8,0xF8,0x18,0x00,0x18,0x1F,0x1F,0x18,0x19,0x03,0x19,0x18,0x1F,0x1F,0x18,0x00},/*"M",45*/ +{0x00,0x18,0xF8,0xF8,0xF8,0xE0,0x18,0xF8,0xF8,0x18,0x00,0x00,0x00,0x18,0x1F,0x1F,0x18,0x03,0x1F,0x1F,0x1F,0x00,0x00,0x00},/*"N",46*/ +{0x00,0xC0,0xF0,0x30,0x18,0x18,0x18,0x30,0xF0,0xC0,0x00,0x00,0x00,0x03,0x0F,0x0C,0x18,0x18,0x18,0x0C,0x0F,0x03,0x00,0x00},/*"O",47*/ +{0x00,0x18,0xF8,0xF8,0x98,0x98,0x98,0xF8,0xF0,0x00,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x19,0x19,0x01,0x00,0x00,0x00,0x00},/*"P",48*/ +{0x00,0xC0,0xF0,0x30,0x18,0x18,0x18,0x30,0xF0,0xC0,0x00,0x00,0x00,0x03,0x0F,0xCC,0xF8,0x78,0x78,0xCC,0xEF,0x63,0x00,0x00},/*"Q",49*/ +{0x00,0x18,0xF8,0xF8,0x98,0x98,0x98,0xF8,0x70,0x00,0x00,0x00,0x00,0x18,0x1F,0x1F,0x19,0x1B,0x07,0x0E,0x1C,0x18,0x00,0x00},/*"R",50*/ +{0x00,0x00,0x70,0xF8,0x98,0x98,0x90,0x38,0x38,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x09,0x19,0x19,0x1F,0x0E,0x00,0x00,0x00},/*"S",51*/ +{0x00,0xF8,0xF8,0x18,0x18,0xF8,0xF8,0x18,0x18,0xF8,0xF8,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x00,0x00,0x00},/*"T",52*/ +{0x00,0x18,0xF8,0xF8,0x18,0x00,0x18,0xF8,0xF8,0x18,0x00,0x00,0x00,0x00,0x07,0x0F,0x18,0x18,0x18,0x0F,0x07,0x00,0x00,0x00},/*"U",53*/ +{0x00,0x18,0x78,0xF8,0x98,0x00,0x98,0xF8,0x78,0x18,0x00,0x00,0x00,0x00,0x00,0x03,0x1F,0x18,0x1F,0x03,0x00,0x00,0x00,0x00},/*"V",54*/ +{0x18,0xF8,0xF8,0x18,0xD8,0xC0,0xD8,0x18,0xF8,0xF8,0x18,0x00,0x00,0x01,0x1F,0x1C,0x1F,0x01,0x1F,0x1C,0x1F,0x01,0x00,0x00},/*"W",55*/ +{0x00,0x18,0x38,0x78,0xD8,0x80,0xD8,0x78,0x38,0x18,0x00,0x00,0x00,0x18,0x1C,0x1E,0x1B,0x01,0x1B,0x1E,0x1C,0x18,0x00,0x00},/*"X",56*/ +{0x00,0x18,0x38,0x78,0xD8,0x80,0x80,0xD8,0x78,0x38,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x00,0x00,0x00},/*"Y",57*/ +{0x00,0x00,0x78,0x78,0x18,0x98,0xD8,0x78,0x38,0x00,0x00,0x00,0x00,0x00,0x1C,0x1E,0x1B,0x19,0x18,0x1E,0x1E,0x00,0x00,0x00},/*"Z",58*/ +{0x00,0x00,0x00,0x00,0x00,0xFC,0xFC,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x7F,0x60,0x60,0x00,0x00,0x00},/*"[",59*/ +{0x00,0x00,0x06,0x1E,0x78,0xE0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x07,0x1E,0x78,0x60,0x00,0x00},/*"\",60*/ +{0x00,0x00,0x00,0x0C,0x0C,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x7F,0x7F,0x00,0x00,0x00,0x00,0x00},/*"]",61*/ +{0x00,0x00,0x00,0x60,0x70,0x18,0x0C,0x18,0x70,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"^",62*/ +{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"_",63*/ +{0x00,0x00,0x00,0x00,0x02,0x04,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",64*/ +{0x00,0x00,0x00,0x60,0x60,0x60,0x60,0xE0,0xC0,0x00,0x00,0x00,0x00,0x00,0x0E,0x1F,0x1B,0x1B,0x0B,0x1F,0x1F,0x18,0x00,0x00},/*"a",65*/ +{0x00,0x0C,0xFC,0xFC,0xC0,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0x18,0x1F,0x1F,0x0C,0x18,0x18,0x1C,0x0F,0x07,0x00,0x00},/*"b",66*/ +{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0x60,0xC0,0xE0,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x18,0x18,0x18,0x0C,0x00,0x00},/*"c",67*/ +{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0xCC,0xFC,0xFC,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x18,0x0C,0x1F,0x1F,0x18,0x00},/*"d",68*/ +{0x00,0x00,0x80,0xC0,0x60,0x60,0x60,0x60,0xC0,0x80,0x00,0x00,0x00,0x00,0x07,0x0F,0x1B,0x1B,0x1B,0x1B,0x1B,0x0B,0x00,0x00},/*"e",69*/ +{0x00,0x00,0x60,0x60,0xF8,0xFC,0x6C,0x6C,0x6C,0x6C,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00,0x00},/*"f",70*/ +{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0xC0,0xE0,0xE0,0x60,0x00,0x00,0x00,0x07,0x0F,0xDC,0xD8,0xD8,0xCC,0xFF,0x7F,0x00,0x00},/*"g",71*/ +{0x00,0x0C,0xFC,0xFC,0xC0,0x60,0x60,0x60,0xE0,0xC0,0x00,0x00,0x00,0x18,0x1F,0x1F,0x18,0x00,0x00,0x18,0x1F,0x1F,0x18,0x00},/*"h",72*/ +{0x00,0x00,0x00,0x60,0x60,0xEC,0xEC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00},/*"i",73*/ +{0x00,0x00,0x60,0x60,0x60,0x6C,0x6C,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0xC0,0xC0,0xC0,0xFF,0x7F,0x00,0x00,0x00},/*"j",74*/ +{0x00,0x00,0x0C,0xFC,0xFC,0x80,0xE0,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x18,0x1F,0x1F,0x03,0x06,0x1C,0x18,0x18,0x00,0x00},/*"k",75*/ +{0x00,0x00,0x00,0x0C,0x0C,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00},/*"l",76*/ +{0x00,0x60,0xE0,0xE0,0x60,0xE0,0xC0,0x60,0xE0,0xC0,0x00,0x00,0x00,0x18,0x1F,0x1F,0x00,0x1F,0x1F,0x00,0x1F,0x1F,0x18,0x00},/*"m",77*/ +{0x00,0x60,0xE0,0xE0,0xC0,0x60,0x60,0x60,0xE0,0xC0,0x00,0x00,0x00,0x18,0x1F,0x1F,0x18,0x00,0x00,0x18,0x1F,0x1F,0x18,0x00},/*"n",78*/ +{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0x18,0x1C,0x0F,0x07,0x00,0x00},/*"o",79*/ +{0x00,0x60,0xE0,0xE0,0xC0,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xCC,0xD8,0x18,0x1C,0x0F,0x07,0x00,0x00},/*"p",80*/ +{0x00,0x00,0x80,0xC0,0xE0,0x60,0x60,0xC0,0xE0,0xE0,0x60,0x00,0x00,0x00,0x07,0x0F,0x1C,0x18,0xD8,0xCC,0xFF,0xFF,0xC0,0x00},/*"q",81*/ +{0x00,0x00,0x60,0x60,0xE0,0xE0,0xC0,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x18,0x18,0x1F,0x1F,0x18,0x18,0x18,0x00,0x00,0x00},/*"r",82*/ +{0x00,0x00,0xC0,0xE0,0x60,0x60,0x60,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x1D,0x1D,0x1B,0x1B,0x1B,0x1E,0x0E,0x00,0x00,0x00},/*"s",83*/ +{0x00,0x00,0x60,0x60,0xFC,0xFC,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x1F,0x18,0x18,0x18,0x0C,0x00,0x00},/*"t",84*/ +{0x00,0x60,0xE0,0xE0,0x00,0x00,0x00,0x60,0xE0,0xE0,0x00,0x00,0x00,0x00,0x0F,0x1F,0x18,0x18,0x18,0x0C,0x1F,0x1F,0x18,0x00},/*"u",85*/ +{0x00,0x60,0xE0,0xE0,0x60,0x00,0x60,0xE0,0xE0,0x60,0x00,0x00,0x00,0x00,0x00,0x07,0x1F,0x18,0x1F,0x07,0x00,0x00,0x00,0x00},/*"v",86*/ +{0x60,0xE0,0xE0,0x60,0x00,0x80,0x00,0x60,0xE0,0xE0,0x60,0x00,0x00,0x01,0x1F,0x1E,0x07,0x03,0x07,0x1E,0x1F,0x01,0x00,0x00},/*"w",87*/ +{0x00,0x00,0x60,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x60,0x00,0x00,0x00,0x00,0x18,0x1C,0x1F,0x03,0x03,0x1F,0x1C,0x18,0x00,0x00},/*"x",88*/ +{0x00,0x60,0xE0,0xE0,0x60,0x00,0x00,0x60,0xE0,0xE0,0x60,0x00,0x00,0xC0,0xC0,0xC1,0xE7,0xFE,0xDC,0xC7,0x03,0x00,0x00,0x00},/*"y",89*/ +{0x00,0x00,0xE0,0xE0,0x60,0x60,0x60,0xE0,0xE0,0x60,0x00,0x00,0x00,0x00,0x18,0x1C,0x1E,0x1B,0x1B,0x19,0x1C,0x1C,0x00,0x00},/*"z",90*/ +{0x00,0x00,0x00,0x00,0x00,0xF8,0xFC,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x3F,0x7E,0x60,0x00,0x00,0x00,0x00},/*"{",91*/ +{0x00,0x00,0x00,0x00,0x00,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x7F,0x00,0x00,0x00,0x00,0x00},/*"|",92*/ +{0x00,0x00,0x00,0x00,0x0C,0xFC,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x7E,0x3F,0x01,0x00,0x00,0x00,0x00},/*"}",93*/ +{0x00,0x00,0x80,0xC0,0xC0,0xC0,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x01,0x03,0x03,0x03,0x01,0x00,0x00},/*"~",94*/ }; static const unsigned char blank_block PROGMEM = 0x00; From c95f0fb6710e5def9523d19496c93a10d278d78a Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 12 Oct 2024 02:48:59 +1100 Subject: [PATCH 50/66] `mykeyclub/jris65/hotswap`: fix keymap (#24472) --- keyboards/mykeyclub/jris65/keymaps/default/keymap.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/mykeyclub/jris65/keymaps/default/keymap.json b/keyboards/mykeyclub/jris65/keymaps/default/keymap.json index 114f058f1d8..fefbecd6fcb 100644 --- a/keyboards/mykeyclub/jris65/keymaps/default/keymap.json +++ b/keyboards/mykeyclub/jris65/keymaps/default/keymap.json @@ -1,5 +1,5 @@ { - "keyboard": "mykeyclub/jris65", + "keyboard": "mykeyclub/jris65/hotswap", "keymap": "default", "layout": "LAYOUT_all", "layers": [ From 11daef82e0c710d7bdacc7c78fe21fae864be191 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sat, 12 Oct 2024 00:29:32 +0100 Subject: [PATCH 51/66] zsa/moonlander: Fix execution of user callback (#24475) --- keyboards/zsa/moonlander/moonlander.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/zsa/moonlander/moonlander.c b/keyboards/zsa/moonlander/moonlander.c index 14405fc4126..faa1dc75e82 100644 --- a/keyboards/zsa/moonlander/moonlander.c +++ b/keyboards/zsa/moonlander/moonlander.c @@ -404,7 +404,7 @@ void keyboard_post_init_kb(void) { is_launching = true; defer_exec(500, startup_exec, NULL); #endif - matrix_init_user(); + keyboard_post_init_user(); } void eeconfig_init_kb(void) { // EEPROM is getting reset! From 85a7627641cbbc71de1a89b0346ee7d92d4fb394 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 16 Oct 2024 01:05:43 +1100 Subject: [PATCH 52/66] Digitizer: fix units tag in report descriptor (#24482) --- tmk_core/protocol/usb_descriptor.c | 2 +- tmk_core/protocol/vusb/vusb.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tmk_core/protocol/usb_descriptor.c b/tmk_core/protocol/usb_descriptor.c index 7efd085ea32..703589b0547 100644 --- a/tmk_core/protocol/usb_descriptor.c +++ b/tmk_core/protocol/usb_descriptor.c @@ -281,7 +281,7 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM SharedReport[] = { HID_RI_LOGICAL_MAXIMUM(16, 0x7FFF), HID_RI_REPORT_COUNT(8, 0x02), HID_RI_REPORT_SIZE(8, 0x10), - HID_RI_UNIT(8, 0x33), // Inch, English Linear + HID_RI_UNIT(8, 0x13), // Inch, English Linear HID_RI_UNIT_EXPONENT(8, 0x0E), // -2 HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE), HID_RI_END_COLLECTION(0), diff --git a/tmk_core/protocol/vusb/vusb.c b/tmk_core/protocol/vusb/vusb.c index c8ab4942536..fa14820e725 100644 --- a/tmk_core/protocol/vusb/vusb.c +++ b/tmk_core/protocol/vusb/vusb.c @@ -659,7 +659,7 @@ const PROGMEM uchar shared_hid_report[] = { 0x26, 0xFF, 0x7F, // Logical Maximum (32767) 0x95, 0x02, // Report Count (2) 0x75, 0x10, // Report Size (16) - 0x65, 0x33, // Unit (Inch, English Linear) + 0x65, 0x13, // Unit (Inch, English Linear) 0x55, 0x0E, // Unit Exponent (-2) 0x81, 0x02, // Input (Data, Variable, Absolute) 0xC0, // End Collection From 2ad13037aba7e03ed9e869c1500da4474543d8b6 Mon Sep 17 00:00:00 2001 From: Alabahuy Date: Wed, 16 Oct 2024 23:16:31 +0700 Subject: [PATCH 53/66] [Keyboard] Add JK60 RGB (#24485) --- keyboards/jaykeeb/jk60rgb/jk60rgb.c | 29 +++ keyboards/jaykeeb/jk60rgb/keyboard.json | 238 ++++++++++++++++++ .../jaykeeb/jk60rgb/keymaps/default/keymap.c | 22 ++ keyboards/jaykeeb/jk60rgb/readme.md | 27 ++ 4 files changed, 316 insertions(+) create mode 100644 keyboards/jaykeeb/jk60rgb/jk60rgb.c create mode 100644 keyboards/jaykeeb/jk60rgb/keyboard.json create mode 100644 keyboards/jaykeeb/jk60rgb/keymaps/default/keymap.c create mode 100644 keyboards/jaykeeb/jk60rgb/readme.md diff --git a/keyboards/jaykeeb/jk60rgb/jk60rgb.c b/keyboards/jaykeeb/jk60rgb/jk60rgb.c new file mode 100644 index 00000000000..53f14b3a444 --- /dev/null +++ b/keyboards/jaykeeb/jk60rgb/jk60rgb.c @@ -0,0 +1,29 @@ +/* Copyright 2024 Alabahuy + * + * 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 +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + if (host_keyboard_led_state().caps_lock) { // Capslock = WHITE + rgb_matrix_set_color(36, 255, 255, 255); + } + return true; +} +#endif diff --git a/keyboards/jaykeeb/jk60rgb/keyboard.json b/keyboards/jaykeeb/jk60rgb/keyboard.json new file mode 100644 index 00000000000..fd6876d5632 --- /dev/null +++ b/keyboards/jaykeeb/jk60rgb/keyboard.json @@ -0,0 +1,238 @@ +{ + "manufacturer": "Jaykeeb Studio", + "keyboard_name": "JK60 RGB", + "maintainer": "Alabahuy", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["GP29", "GP28", "GP27", "GP26", "GP25", "GP20", "GP7", "GP6", "GP5", "GP4", "GP3", "GP2", "GP1", "GP0"], + "rows": ["GP21", "GP22", "GP23", "GP24", "GP15"] + }, + "ws2812": { + "driver": "vendor", + "pin": "GP19" + }, + "rgb_matrix": { + "max_brightness": 125, + "sleep": true, + "animations": { + "alphas_mods": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_sat": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "band_val": true, + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "cycle_up_down": true, + "digital_rain": true, + "dual_beacon": true, + "gradient_left_right": true, + "gradient_up_down": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "jellybean_raindrops": true, + "multisplash": true, + "pixel_flow": true, + "pixel_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": 4, "y": 5, "flags": 2}, + {"matrix": [0, 0], "x": 8, "y": 7, "flags": 1}, + {"matrix": [0, 1], "x": 23, "y": 7, "flags": 4}, + {"matrix": [0, 2], "x": 37, "y": 7, "flags": 4}, + {"matrix": [0, 3], "x": 52, "y": 7, "flags": 4}, + {"x": 60, "y": 0, "flags": 2}, + {"matrix": [0, 4], "x": 67, "y": 7, "flags": 4}, + {"matrix": [0, 5], "x": 82, "y": 7, "flags": 4}, + {"matrix": [0, 6], "x": 97, "y": 7, "flags": 4}, + {"x": 105, "y": 0, "flags": 2}, + {"matrix": [0, 7], "x": 112, "y": 7, "flags": 4}, + {"matrix": [0, 8], "x": 127, "y": 7, "flags": 4}, + {"matrix": [0, 9], "x": 142, "y": 7, "flags": 4}, + {"x": 150, "y": 0, "flags": 2}, + {"matrix": [0, 10], "x": 157, "y": 7, "flags": 4}, + {"matrix": [0, 11], "x": 172, "y": 7, "flags": 4}, + {"matrix": [0, 12], "x": 187, "y": 7, "flags": 4}, + {"x": 195, "y": 0, "flags": 2}, + {"matrix": [0, 13], "x": 201, "y": 7, "flags": 4}, + {"matrix": [1, 13], "x": 216, "y": 7, "flags": 1}, + {"x": 224, "y": 13, "flags": 2}, + + {"matrix": [2, 13], "x": 213, "y": 19, "flags": 1}, + {"matrix": [1, 12], "x": 194, "y": 19, "flags": 4}, + {"matrix": [1, 11], "x": 179, "y": 19, "flags": 4}, + {"matrix": [1, 10], "x": 164, "y": 19, "flags": 4}, + {"matrix": [1, 9], "x": 149, "y": 19, "flags": 4}, + {"matrix": [1, 8], "x": 134, "y": 19, "flags": 4}, + {"matrix": [1, 7], "x": 119, "y": 19, "flags": 4}, + {"matrix": [1, 6], "x": 105, "y": 19, "flags": 4}, + {"matrix": [1, 5], "x": 90, "y": 19, "flags": 4}, + {"matrix": [1, 4], "x": 75, "y": 19, "flags": 4}, + {"matrix": [1, 3], "x": 60, "y": 19, "flags": 4}, + {"matrix": [1, 2], "x": 45, "y": 19, "flags": 4}, + {"matrix": [1, 1], "x": 30, "y": 19, "flags": 4}, + {"matrix": [1, 0], "x": 11, "y": 19, "flags": 1}, + {"x": 4, "y": 19, "flags": 2}, + + {"matrix": [2, 0], "x": 13, "y": 32, "flags": 8}, + {"matrix": [2, 1], "x": 34, "y": 32, "flags": 4}, + {"matrix": [2, 2], "x": 49, "y": 32, "flags": 4}, + {"matrix": [2, 3], "x": 64, "y": 32, "flags": 4}, + {"matrix": [2, 4], "x": 79, "y": 32, "flags": 4}, + {"matrix": [2, 5], "x": 94, "y": 32, "flags": 4}, + {"matrix": [2, 6], "x": 108, "y": 32, "flags": 4}, + {"matrix": [2, 7], "x": 123, "y": 32, "flags": 4}, + {"matrix": [2, 8], "x": 138, "y": 32, "flags": 4}, + {"matrix": [2, 9], "x": 153, "y": 32, "flags": 4}, + {"matrix": [2, 10], "x": 168, "y": 32, "flags": 4}, + {"matrix": [2, 11], "x": 183, "y": 32, "flags": 4}, + {"matrix": [2, 12], "x": 183, "y": 32, "flags": 1}, + + {"matrix": [3, 13], "x": 216, "y": 45, "flags": 1}, + {"matrix": [3, 12], "x": 196, "y": 45, "flags": 4}, + {"matrix": [3, 11], "x": 175, "y": 45, "flags": 4}, + {"matrix": [3, 10], "x": 161, "y": 45, "flags": 4}, + {"matrix": [3, 9], "x": 146, "y": 45, "flags": 4}, + {"matrix": [3, 8], "x": 135, "y": 45, "flags": 4}, + {"matrix": [3, 7], "x": 116, "y": 45, "flags": 4}, + {"matrix": [3, 6], "x": 101, "y": 45, "flags": 4}, + {"matrix": [3, 5], "x": 86, "y": 45, "flags": 4}, + {"matrix": [3, 4], "x": 71, "y": 45, "flags": 4}, + {"matrix": [3, 3], "x": 56, "y": 45, "flags": 4}, + {"matrix": [3, 2], "x": 41, "y": 45, "flags": 4}, + {"matrix": [3, 0], "x": 17, "y": 45, "flags": 1}, + + {"x": 4, "y": 51, "flags": 2}, + {"matrix": [4, 0], "x": 11, "y": 57, "flags": 1}, + {"x": 15, "y": 57, "flags": 2}, + {"matrix": [4, 1], "x": 28, "y": 57, "flags": 1}, + {"matrix": [4, 2], "x": 50, "y": 57, "flags": 1}, + {"x": 72, "y": 57, "flags": 2}, + {"x": 92, "y": 57, "flags": 2}, + {"matrix": [4, 7], "x": 112, "y": 57, "flags": 1}, + {"x": 132, "y": 57, "flags": 2}, + {"x": 152, "y": 57, "flags": 2}, + {"matrix": [4, 11], "x": 172, "y": 57, "flags": 1}, + {"matrix": [4, 12], "x": 194, "y": 57, "flags": 1}, + {"x": 209, "y": 57, "flags": 2}, + {"matrix": [4, 13], "x": 213, "y": 57, "flags": 1}, + {"x": 220, "y": 51, "flags": 2} + ] + }, + "processor": "RP2040", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x7762", + "vid": "0x414C" + }, + "community_layouts": [ + "60_ansi_tsangan_split_bs_rshift" + ], + "layouts": { + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { + "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": "Delete", "matrix": [1, 13], "x": 14, "y": 0}, + + {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, + {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1}, + {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1}, + {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1}, + {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1}, + {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1}, + {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1}, + {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1}, + {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1}, + {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1}, + {"label": "[", "matrix": [1, 11], "x": 11.5, "y": 1}, + {"label": "]", "matrix": [1, 12], "x": 12.5, "y": 1}, + {"label": "\\", "matrix": [2, 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, 12], "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": "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, 7], "x": 4, "y": 4, "w": 7}, + {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5}, + {"label": "GUI", "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/jaykeeb/jk60rgb/keymaps/default/keymap.c b/keyboards/jaykeeb/jk60rgb/keymaps/default/keymap.c new file mode 100644 index 00000000000..809c0764b4b --- /dev/null +++ b/keyboards/jaykeeb/jk60rgb/keymaps/default/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2024 Alabahuy +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift( + 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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL + ), + + [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift( + 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, _______, + RM_TOGG, RM_NEXT, RM_HUEU, RM_SATU, RM_VALU, RM_SPDU, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, + _______, RM_PREV, RM_HUED, RM_SATD, RM_VALD, RM_SPDD, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, + _______, _______, _______, QK_BOOT, _______, _______, _______ + ) +}; diff --git a/keyboards/jaykeeb/jk60rgb/readme.md b/keyboards/jaykeeb/jk60rgb/readme.md new file mode 100644 index 00000000000..fa0616c3872 --- /dev/null +++ b/keyboards/jaykeeb/jk60rgb/readme.md @@ -0,0 +1,27 @@ +# JK60 RGB + +![jk60 RGB]( https://i.imgur.com/YP978wp.jpeg ) + +Layout 60% rgb per keys support keyboard case existing + +* Keyboard Maintainer: [Alabahuy](https://github.com/Alabahuy) +* Hardware Supported: JK60 RGB pcb, RP2040, led sk6812 per switch +* Hardware Availability: Private GB + +Make example for this keyboard (after setting up your build environment): + + make jaykeeb/jk60rgb:default + +Flashing example for this keyboard: + + make jaykeeb/jk60rgb: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 From 36008922f8456694d45d2c36500dfba3c4271b09 Mon Sep 17 00:00:00 2001 From: David Doan Date: Thu, 17 Oct 2024 09:06:17 -0700 Subject: [PATCH 54/66] add vector macropad (#24487) Co-authored-by: Joel Challis Co-authored-by: jack Co-authored-by: Ryan --- .../arrayperipherals/vector/keyboard.json | 40 +++++++++++++++++++ .../vector/keymaps/default/keymap.c | 36 +++++++++++++++++ .../vector/keymaps/default/rules.mk | 1 + keyboards/arrayperipherals/vector/readme.md | 26 ++++++++++++ 4 files changed, 103 insertions(+) create mode 100644 keyboards/arrayperipherals/vector/keyboard.json create mode 100644 keyboards/arrayperipherals/vector/keymaps/default/keymap.c create mode 100644 keyboards/arrayperipherals/vector/keymaps/default/rules.mk create mode 100644 keyboards/arrayperipherals/vector/readme.md diff --git a/keyboards/arrayperipherals/vector/keyboard.json b/keyboards/arrayperipherals/vector/keyboard.json new file mode 100644 index 00000000000..505199831d5 --- /dev/null +++ b/keyboards/arrayperipherals/vector/keyboard.json @@ -0,0 +1,40 @@ +{ + "manufacturer": "Array Peripherals", + "keyboard_name": "The Vector", + "maintainer": "daviddoan", + "bootloader": "atmel-dfu", + "encoder": { + "rotary": [ + {"pin_a": "F0", "pin_b": "F1"} + ] + }, + "features": { + "bootmagic": true, + "encoder": true, + "extrakey": true, + "mousekey": true + }, + "matrix_pins": { + "direct": [ + ["D4", "C6", "D7", "E6", "F7"] + ] + }, + "processor": "atmega32u4", + "url": "https://arrayperipherals.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x4F47", + "vid": "0x4152" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "k01", "matrix": [0, 0], "x": 0, "y": 0}, + {"label": "k02", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "k03", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "k04", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "k05", "matrix": [0, 4], "x": 4.25, "y": 0} + ] + } + } +} diff --git a/keyboards/arrayperipherals/vector/keymaps/default/keymap.c b/keyboards/arrayperipherals/vector/keymaps/default/keymap.c new file mode 100644 index 00000000000..e290e370764 --- /dev/null +++ b/keyboards/arrayperipherals/vector/keymaps/default/keymap.c @@ -0,0 +1,36 @@ +/* +Copyright 2024 David Doan + +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_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, TG(1) + ), + + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TG(1) + ), +}; + +#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 // ENCODER_MAP_ENABLE \ No newline at end of file diff --git a/keyboards/arrayperipherals/vector/keymaps/default/rules.mk b/keyboards/arrayperipherals/vector/keymaps/default/rules.mk new file mode 100644 index 00000000000..a40474b4d5c --- /dev/null +++ b/keyboards/arrayperipherals/vector/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/arrayperipherals/vector/readme.md b/keyboards/arrayperipherals/vector/readme.md new file mode 100644 index 00000000000..dee7dc8f9a1 --- /dev/null +++ b/keyboards/arrayperipherals/vector/readme.md @@ -0,0 +1,26 @@ +# The Vector Macropad + +![The Vector](https://i.imgur.com/rmy76bp.png) + +A small (1x4) macropad with a rotary. [More info at arrayperipherals.com](https://www.arrayperipherals.com/) + +* Keyboard Maintainer: [David Doan](https://github.com/daviddoan) +* Hardware Supported: Custom PCB with Atmega32u4 processor +* Hardware Availability: [arrayperipherals.com](https://www.arrayperipherals.com/) + +Make example for this keyboard (after setting up your build environment): + + make arrayperipherals/vector:default + +Flashing example for this keyboard: + + make arrayperipherals/vector: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 (left most from the rotary) +* **Physical reset button**: Briefly double press the button on the back of the PCB \ No newline at end of file From 7f22cb52e3aaafde671fdb994d53914366baf31a Mon Sep 17 00:00:00 2001 From: Duncan Sutherland Date: Fri, 18 Oct 2024 09:04:29 +0100 Subject: [PATCH 55/66] Correct layouts/default/readme.md (#23805) Update readme.md remove orphan layout --- layouts/default/readme.md | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/layouts/default/readme.md b/layouts/default/readme.md index d057fe77084..e5350088224 100644 --- a/layouts/default/readme.md +++ b/layouts/default/readme.md @@ -64,21 +64,6 @@ LAYOUT_60_ansi_arrow_split_bs └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┘ ``` -``` -LAYOUT_60_ansi_arrow_split_bs_7u_spc -┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ -│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ -│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ -├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ -│ │ │ │ │ │ │ │ │ │ │ │ │ │ -├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤ -│ │ │ │ │ │ │ │ │ │ │ │ │ │ -├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴──┬───┼───┼───┤ -│ │ │ │ │ │ │ │ │ -└─────┴───┴─────┴───────────────────────────┴───┴───┴───┴───┘ -``` - ``` LAYOUT_60_ansi_split_bs_rshift ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ From 459de98222a7e22a9822e2c1603079e93957875f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Bl=C3=A1ha?= Date: Mon, 21 Oct 2024 23:38:11 +0200 Subject: [PATCH 56/66] Fix 6x13 default keymap (#24509) Update keymap.c --- layouts/default/ortho_6x13/default_ortho_6x13/keymap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layouts/default/ortho_6x13/default_ortho_6x13/keymap.c b/layouts/default/ortho_6x13/default_ortho_6x13/keymap.c index 527f87f84bc..2fa8f2acce1 100644 --- a/layouts/default/ortho_6x13/default_ortho_6x13/keymap.c +++ b/layouts/default/ortho_6x13/default_ortho_6x13/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_NUHS, 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_UP, KC_SLSH, KC_LCTL, KC_LGUI, TT(0), KC_LALT, TT(2), KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RSFT, KC_LEFT, KC_DOWN, KC_RGHT - ) + ), [1] = LAYOUT_ortho_6x13( KC_GRV , KC_MUTE, KC_VOLU, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, G(KC_P), KC_SLEP, KC_WAKE, KC_PSCR, _______, _______ , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ , From 453ec007c1e76bf60345f3a5eb9cfc3e86930326 Mon Sep 17 00:00:00 2001 From: Danny Date: Tue, 22 Oct 2024 22:14:12 -0400 Subject: [PATCH 57/66] Add Iris LM series of keyboards (#24510) --- keyboards/keebio/iris_lm/g1/config.h | 26 ++ keyboards/keebio/iris_lm/g1/g1.c | 11 + keyboards/keebio/iris_lm/g1/halconf.h | 10 + keyboards/keebio/iris_lm/g1/keyboard.json | 257 ++++++++++++++++++ keyboards/keebio/iris_lm/g1/mcuconf.h | 14 + keyboards/keebio/iris_lm/g1/readme.md | 25 ++ keyboards/keebio/iris_lm/info.json | 8 + keyboards/keebio/iris_lm/k1/config.h | 26 ++ keyboards/keebio/iris_lm/k1/halconf.h | 10 + keyboards/keebio/iris_lm/k1/k1.c | 11 + keyboards/keebio/iris_lm/k1/keyboard.json | 242 +++++++++++++++++ keyboards/keebio/iris_lm/k1/mcuconf.h | 14 + keyboards/keebio/iris_lm/k1/readme.md | 25 ++ .../keebio/iris_lm/keymaps/default/keymap.c | 55 ++++ .../keebio/iris_lm/keymaps/default/rules.mk | 1 + keyboards/keebio/iris_lm/readme.md | 6 + 16 files changed, 741 insertions(+) create mode 100644 keyboards/keebio/iris_lm/g1/config.h create mode 100644 keyboards/keebio/iris_lm/g1/g1.c create mode 100644 keyboards/keebio/iris_lm/g1/halconf.h create mode 100644 keyboards/keebio/iris_lm/g1/keyboard.json create mode 100644 keyboards/keebio/iris_lm/g1/mcuconf.h create mode 100644 keyboards/keebio/iris_lm/g1/readme.md create mode 100644 keyboards/keebio/iris_lm/info.json create mode 100644 keyboards/keebio/iris_lm/k1/config.h create mode 100644 keyboards/keebio/iris_lm/k1/halconf.h create mode 100644 keyboards/keebio/iris_lm/k1/k1.c create mode 100644 keyboards/keebio/iris_lm/k1/keyboard.json create mode 100644 keyboards/keebio/iris_lm/k1/mcuconf.h create mode 100644 keyboards/keebio/iris_lm/k1/readme.md create mode 100644 keyboards/keebio/iris_lm/keymaps/default/keymap.c create mode 100644 keyboards/keebio/iris_lm/keymaps/default/rules.mk create mode 100644 keyboards/keebio/iris_lm/readme.md diff --git a/keyboards/keebio/iris_lm/g1/config.h b/keyboards/keebio/iris_lm/g1/config.h new file mode 100644 index 00000000000..952033edf10 --- /dev/null +++ b/keyboards/keebio/iris_lm/g1/config.h @@ -0,0 +1,26 @@ +// Copyright 2024 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* Defines for the split keyboard setup */ +#define SERIAL_USART_DRIVER SD3 // USART 3 +#define SERIAL_USART_TX_PIN B10 +#define SERIAL_USART_RX_PIN B11 +#define SERIAL_USART_TX_PAL_MODE 7 +#define SERIAL_USART_RX_PAL_MODE 7 +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_USART_PIN_SWAP + +#define USB_VBUS_PIN C6 +#define SPLIT_HAND_PIN A0 + +/* Defines for the RGB matrix */ +#ifdef RGB_MATRIX_ENABLE +# define WS2812_PWM_DRIVER PWMD3 +# define WS2812_PWM_CHANNEL 4 +# define WS2812_PWM_PAL_MODE 10 +# define WS2812_DMA_STREAM STM32_DMA1_STREAM2 +# define WS2812_DMA_CHANNEL 2 +# define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM3_UP +#endif diff --git a/keyboards/keebio/iris_lm/g1/g1.c b/keyboards/keebio/iris_lm/g1/g1.c new file mode 100644 index 00000000000..7843a900a3f --- /dev/null +++ b/keyboards/keebio/iris_lm/g1/g1.c @@ -0,0 +1,11 @@ +// Copyright 2024 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +void keyboard_pre_init_kb(void) { + // Disable the PD peripheral in pre-init because its pins (B4, B6) are being used in the matrix: + PWR->CR3 |= PWR_CR3_UCPD_DBDIS; + // Call the corresponding _user() function (see https://docs.qmk.fm/#/custom_quantum_functions) + keyboard_pre_init_user(); +} diff --git a/keyboards/keebio/iris_lm/g1/halconf.h b/keyboards/keebio/iris_lm/g1/halconf.h new file mode 100644 index 00000000000..45321a55bc8 --- /dev/null +++ b/keyboards/keebio/iris_lm/g1/halconf.h @@ -0,0 +1,10 @@ +// Copyright 2024 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_SERIAL TRUE + +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/keebio/iris_lm/g1/keyboard.json b/keyboards/keebio/iris_lm/g1/keyboard.json new file mode 100644 index 00000000000..6aca0c9bacd --- /dev/null +++ b/keyboards/keebio/iris_lm/g1/keyboard.json @@ -0,0 +1,257 @@ +{ + "keyboard_name": "Iris LM-G Rev. 1", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "encoder": true, + "extrakey": true, + "mousekey": true, + "rgb_matrix": true + }, + "encoder": { + "rotary": [ + {"pin_a": "A15", "pin_b": "C10"}, + {"pin_a": "B13", "pin_b": "B12"} + ] + }, + "ws2812": { + "driver": "pwm", + "pin": "B7" + }, + "matrix_pins": { + "cols": ["C4", "B2", "A5", "C11", "C13", "C14"], + "rows": ["A4", "A3", "B14", "B5", "F1"] + }, + "split": { + "enabled": true, + "encoder": { + "right": { + "rotary": [ + {"pin_a": "A5", "pin_b": "A6"}, + {"pin_a": "A15", "pin_b": "C10"} + ] + } + }, + "matrix_pins": { + "right": { + "cols": ["C11", "C13", "B6", "B9", "B12", "B2"], + "rows": ["C4", "A7", "B14", "B5", "F1"] + } + }, + "serial": { + "driver": "usart" + }, + "transport": { + "sync" :{ + "matrix_state": true + } + } + }, + "processor": "STM32G431", + "usb": { + "device_version": "1.0.0", + "pid": "0x1656" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.375}, + {"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": 9, "y": 0.25}, + {"matrix": [5, 4], "x": 10, "y": 0.125}, + {"matrix": [5, 3], "x": 11, "y": 0}, + {"matrix": [5, 2], "x": 12, "y": 0.125}, + {"matrix": [5, 1], "x": 13, "y": 0.375}, + {"matrix": [5, 0], "x": 14, "y": 0.375}, + + {"matrix": [1, 0], "x": 0, "y": 1.375}, + {"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": 9, "y": 1.25}, + {"matrix": [6, 4], "x": 10, "y": 1.125}, + {"matrix": [6, 3], "x": 11, "y": 1}, + {"matrix": [6, 2], "x": 12, "y": 1.125}, + {"matrix": [6, 1], "x": 13, "y": 1.375}, + {"matrix": [6, 0], "x": 14, "y": 1.375}, + + {"matrix": [2, 0], "x": 0, "y": 2.375}, + {"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": 9, "y": 2.25}, + {"matrix": [7, 4], "x": 10, "y": 2.125}, + {"matrix": [7, 3], "x": 11, "y": 2}, + {"matrix": [7, 2], "x": 12, "y": 2.125}, + {"matrix": [7, 1], "x": 13, "y": 2.375}, + {"matrix": [7, 0], "x": 14, "y": 2.375}, + + {"matrix": [3, 0], "x": 0, "y": 3.375}, + {"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.15, "y": 3.75}, + + {"matrix": [9, 5], "x": 7.85, "y": 3.75}, + {"matrix": [8, 5], "x": 9, "y": 3.25}, + {"matrix": [8, 4], "x": 10, "y": 3.125}, + {"matrix": [8, 3], "x": 11, "y": 3}, + {"matrix": [8, 2], "x": 12, "y": 3.125}, + {"matrix": [8, 1], "x": 13, "y": 3.375}, + {"matrix": [8, 0], "x": 14, "y": 3.375}, + + {"matrix": [4, 2], "x": 3.5, "y": 4.25}, + {"matrix": [4, 3], "x": 4.5, "y": 4.375}, + {"matrix": [4, 4], "x": 5.6, "y": 4.75}, + + {"matrix": [9, 4], "x": 8.4, "y": 4.75}, + {"matrix": [9, 3], "x": 9.5, "y": 4.375}, + {"matrix": [9, 2], "x": 10.5, "y": 4.25} + ] + } + }, + "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, + "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 + }, + "driver": "ws2812", + "split_count": [34, 34], + "max_brightness": 120, + "layout": [ + {"matrix": [0,0], "flags":4, "x":0, "y":5}, + {"flags":2, "x":8, "y":5}, + {"matrix": [0,1], "flags":4, "x":16, "y":5}, + {"matrix": [0,2], "flags":4, "x":32, "y":2}, + {"flags":2, "x":40, "y":1}, + {"matrix": [0,3], "flags":4, "x":48, "y":0}, + {"matrix": [0,4], "flags":4, "x":64, "y":5}, + {"flags":2, "x":72, "y":3}, + {"matrix": [0,5], "flags":4, "x":80, "y":3}, + + {"matrix": [1,5], "flags":4, "x":80, "y":17}, + {"matrix": [1,4], "flags":4, "x":64, "y":15}, + {"matrix": [1,3], "flags":4, "x":48, "y":13}, + {"matrix": [1,2], "flags":4, "x":32, "y":15}, + {"matrix": [1,1], "flags":4, "x":16, "y":18}, + {"matrix": [1,0], "flags":4, "x":0, "y":18}, + + {"matrix": [2,0], "flags":4, "x":0, "y":32}, + {"matrix": [2,1], "flags":4, "x":16, "y":32}, + {"matrix": [2,2], "flags":4, "x":32, "y":28}, + {"matrix": [2,3], "flags":4, "x":48, "y":27}, + {"matrix": [2,4], "flags":4, "x":64, "y":28}, + {"matrix": [2,5], "flags":4, "x":80, "y":30}, + + {"matrix": [3,5], "flags":4, "x":80, "y":43}, + {"matrix": [3,4], "flags":4, "x":64, "y":42}, + {"matrix": [3,3], "flags":4, "x":48, "y":40}, + {"flags":2, "x":40, "y":50}, + {"matrix": [3,2], "flags":4, "x":32, "y":42}, + {"matrix": [3,1], "flags":4, "x":16, "y":45}, + {"flags":2, "x":8, "y":43}, + {"matrix": [3,0], "flags":4, "x":0, "y":45}, + + {"matrix": [4,5], "flags":4, "x":98, "y":52}, + {"matrix": [4,4], "flags":4, "x":90, "y":64}, + {"flags":2, "x":80, "y":58}, + {"matrix": [4,3], "flags":4, "x":72, "y":58}, + {"matrix": [4,2], "flags":4, "x":56, "y":47}, + + {"matrix": [5,0], "flags":4, "x":224, "y":5}, + {"flags":2, "x":216, "y":5}, + {"matrix": [5,1], "flags":4, "x":208, "y":5}, + {"matrix": [5,2], "flags":4, "x":192, "y":2}, + {"flags":2, "x":184, "y":1}, + {"matrix": [5,3], "flags":4, "x":176, "y":0}, + {"matrix": [5,4], "flags":4, "x":160, "y":5}, + {"flags":2, "x":152, "y":3}, + {"matrix": [5,5], "flags":4, "x":144, "y":3}, + + {"matrix": [6,5], "flags":4, "x":144, "y":17}, + {"matrix": [6,4], "flags":4, "x":160, "y":15}, + {"matrix": [6,3], "flags":4, "x":176, "y":13}, + {"matrix": [6,2], "flags":4, "x":192, "y":15}, + {"matrix": [6,1], "flags":4, "x":208, "y":18}, + {"matrix": [6,0], "flags":4, "x":224, "y":18}, + + {"matrix": [7,0], "flags":4, "x":224, "y":32}, + {"matrix": [7,1], "flags":4, "x":208, "y":32}, + {"matrix": [7,2], "flags":4, "x":192, "y":28}, + {"matrix": [7,3], "flags":4, "x":176, "y":27}, + {"matrix": [7,4], "flags":4, "x":160, "y":28}, + {"matrix": [7,5], "flags":4, "x":144, "y":30}, + + {"matrix": [8,5], "flags":4, "x":144, "y":43}, + {"matrix": [8,4], "flags":4, "x":160, "y":42}, + {"matrix": [8,3], "flags":4, "x":176, "y":40}, + {"flags":2, "x":184, "y":50}, + {"matrix": [8,2], "flags":4, "x":192, "y":42}, + {"matrix": [8,1], "flags":4, "x":208, "y":45}, + {"flags":2, "x":216, "y":43}, + {"matrix": [8,0], "flags":4, "x":224, "y":45}, + + {"matrix": [9,2], "flags":4, "x":168, "y":47}, + {"matrix": [9,3], "flags":4, "x":152, "y":58}, + {"flags":2, "x":144, "y":58}, + {"matrix": [9,4], "flags":4, "x":134, "y":64}, + {"matrix": [9,5], "flags":4, "x":126, "y":52} + ], + "sleep": true + } +} diff --git a/keyboards/keebio/iris_lm/g1/mcuconf.h b/keyboards/keebio/iris_lm/g1/mcuconf.h new file mode 100644 index 00000000000..e1a054267d6 --- /dev/null +++ b/keyboards/keebio/iris_lm/g1/mcuconf.h @@ -0,0 +1,14 @@ +// Copyright 2024 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +/* enable USART3, used for split comms */ +#undef STM32_SERIAL_USE_USART3 +#define STM32_SERIAL_USE_USART3 TRUE + +/* enable TIM3, used for RGB LED PWM driver */ +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE diff --git a/keyboards/keebio/iris_lm/g1/readme.md b/keyboards/keebio/iris_lm/g1/readme.md new file mode 100644 index 00000000000..1483e68ff6f --- /dev/null +++ b/keyboards/keebio/iris_lm/g1/readme.md @@ -0,0 +1,25 @@ +# Iris LM-G + +A split ergo 4x6 keyboard with 4 thumb keys made and sold by Keebio that supports Gateron KS-33 low-profile switches. [More info at Keebio](https://keeb.io). + +* Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges) +* Hardware Supported: Iris LM-G PCBs +* Hardware Availability: [Keebio](https://keeb.io) + +Make example for this keyboard (after setting up your build environment): + + make keebio/iris_lm/g1:default + +Example of flashing this keyboard: + + make keebio/iris_lm/g1: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 the top left and plug in the keyboard +* **Physical reset button**: Press and hold the button on the back of the PCB for at least 1 second and let go +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/keebio/iris_lm/info.json b/keyboards/keebio/iris_lm/info.json new file mode 100644 index 00000000000..64fa5a05caf --- /dev/null +++ b/keyboards/keebio/iris_lm/info.json @@ -0,0 +1,8 @@ +{ + "manufacturer": "Keebio", + "maintainer": "Keebio", + "url": "https://keeb.io", + "usb": { + "vid": "0xCB10" + } +} diff --git a/keyboards/keebio/iris_lm/k1/config.h b/keyboards/keebio/iris_lm/k1/config.h new file mode 100644 index 00000000000..952033edf10 --- /dev/null +++ b/keyboards/keebio/iris_lm/k1/config.h @@ -0,0 +1,26 @@ +// Copyright 2024 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* Defines for the split keyboard setup */ +#define SERIAL_USART_DRIVER SD3 // USART 3 +#define SERIAL_USART_TX_PIN B10 +#define SERIAL_USART_RX_PIN B11 +#define SERIAL_USART_TX_PAL_MODE 7 +#define SERIAL_USART_RX_PAL_MODE 7 +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_USART_PIN_SWAP + +#define USB_VBUS_PIN C6 +#define SPLIT_HAND_PIN A0 + +/* Defines for the RGB matrix */ +#ifdef RGB_MATRIX_ENABLE +# define WS2812_PWM_DRIVER PWMD3 +# define WS2812_PWM_CHANNEL 4 +# define WS2812_PWM_PAL_MODE 10 +# define WS2812_DMA_STREAM STM32_DMA1_STREAM2 +# define WS2812_DMA_CHANNEL 2 +# define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM3_UP +#endif diff --git a/keyboards/keebio/iris_lm/k1/halconf.h b/keyboards/keebio/iris_lm/k1/halconf.h new file mode 100644 index 00000000000..45321a55bc8 --- /dev/null +++ b/keyboards/keebio/iris_lm/k1/halconf.h @@ -0,0 +1,10 @@ +// Copyright 2024 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define HAL_USE_SERIAL TRUE + +#define HAL_USE_PWM TRUE + +#include_next diff --git a/keyboards/keebio/iris_lm/k1/k1.c b/keyboards/keebio/iris_lm/k1/k1.c new file mode 100644 index 00000000000..7843a900a3f --- /dev/null +++ b/keyboards/keebio/iris_lm/k1/k1.c @@ -0,0 +1,11 @@ +// Copyright 2024 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +void keyboard_pre_init_kb(void) { + // Disable the PD peripheral in pre-init because its pins (B4, B6) are being used in the matrix: + PWR->CR3 |= PWR_CR3_UCPD_DBDIS; + // Call the corresponding _user() function (see https://docs.qmk.fm/#/custom_quantum_functions) + keyboard_pre_init_user(); +} diff --git a/keyboards/keebio/iris_lm/k1/keyboard.json b/keyboards/keebio/iris_lm/k1/keyboard.json new file mode 100644 index 00000000000..e5b0d5c655b --- /dev/null +++ b/keyboards/keebio/iris_lm/k1/keyboard.json @@ -0,0 +1,242 @@ +{ + "keyboard_name": "Iris LM-K Rev. 1", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "rgb_matrix": true + }, + "ws2812": { + "driver": "pwm", + "pin": "B7" + }, + "matrix_pins": { + "cols": ["A6", "A5", "B2", "B13", "B12", "C11"], + "rows": ["B1", "B0", "B14", "A15", "F1"] + }, + "split": { + "enabled": true, + "matrix_pins": { + "right": { + "cols": ["C11", "C13", "B6", "B9", "B12", "B2"], + "rows": ["C4", "A7", "A6", "B5", "F1"] + } + }, + "serial": { + "driver": "usart" + }, + "transport": { + "sync" :{ + "matrix_state": true + } + } + }, + "processor": "STM32G431", + "usb": { + "device_version": "1.0.0", + "pid": "0x1756" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.375}, + {"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": 9, "y": 0.25}, + {"matrix": [5, 4], "x": 10, "y": 0.125}, + {"matrix": [5, 3], "x": 11, "y": 0}, + {"matrix": [5, 2], "x": 12, "y": 0.125}, + {"matrix": [5, 1], "x": 13, "y": 0.375}, + {"matrix": [5, 0], "x": 14, "y": 0.375}, + + {"matrix": [1, 0], "x": 0, "y": 1.375}, + {"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": 9, "y": 1.25}, + {"matrix": [6, 4], "x": 10, "y": 1.125}, + {"matrix": [6, 3], "x": 11, "y": 1}, + {"matrix": [6, 2], "x": 12, "y": 1.125}, + {"matrix": [6, 1], "x": 13, "y": 1.375}, + {"matrix": [6, 0], "x": 14, "y": 1.375}, + + {"matrix": [2, 0], "x": 0, "y": 2.375}, + {"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": 9, "y": 2.25}, + {"matrix": [7, 4], "x": 10, "y": 2.125}, + {"matrix": [7, 3], "x": 11, "y": 2}, + {"matrix": [7, 2], "x": 12, "y": 2.125}, + {"matrix": [7, 1], "x": 13, "y": 2.375}, + {"matrix": [7, 0], "x": 14, "y": 2.375}, + + {"matrix": [3, 0], "x": 0, "y": 3.375}, + {"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.15, "y": 3.75}, + + {"matrix": [9, 5], "x": 7.85, "y": 3.75}, + {"matrix": [8, 5], "x": 9, "y": 3.25}, + {"matrix": [8, 4], "x": 10, "y": 3.125}, + {"matrix": [8, 3], "x": 11, "y": 3}, + {"matrix": [8, 2], "x": 12, "y": 3.125}, + {"matrix": [8, 1], "x": 13, "y": 3.375}, + {"matrix": [8, 0], "x": 14, "y": 3.375}, + + {"matrix": [4, 2], "x": 3.5, "y": 4.25}, + {"matrix": [4, 3], "x": 4.5, "y": 4.375}, + {"matrix": [4, 4], "x": 5.6, "y": 4.75}, + + {"matrix": [9, 4], "x": 8.4, "y": 4.75}, + {"matrix": [9, 3], "x": 9.5, "y": 4.375}, + {"matrix": [9, 2], "x": 10.5, "y": 4.25} + ] + } + }, + "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, + "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 + }, + "driver": "ws2812", + "split_count": [34, 34], + "max_brightness": 120, + "layout": [ + {"matrix": [0,0], "flags":4, "x":0, "y":5}, + {"flags":2, "x":8, "y":5}, + {"matrix": [0,1], "flags":4, "x":16, "y":5}, + {"matrix": [0,2], "flags":4, "x":32, "y":2}, + {"flags":2, "x":40, "y":1}, + {"matrix": [0,3], "flags":4, "x":48, "y":0}, + {"matrix": [0,4], "flags":4, "x":64, "y":5}, + {"flags":2, "x":72, "y":3}, + {"matrix": [0,5], "flags":4, "x":80, "y":3}, + + {"matrix": [1,5], "flags":4, "x":80, "y":17}, + {"matrix": [1,4], "flags":4, "x":64, "y":15}, + {"matrix": [1,3], "flags":4, "x":48, "y":13}, + {"matrix": [1,2], "flags":4, "x":32, "y":15}, + {"matrix": [1,1], "flags":4, "x":16, "y":18}, + {"matrix": [1,0], "flags":4, "x":0, "y":18}, + + {"matrix": [2,0], "flags":4, "x":0, "y":32}, + {"matrix": [2,1], "flags":4, "x":16, "y":32}, + {"matrix": [2,2], "flags":4, "x":32, "y":28}, + {"matrix": [2,3], "flags":4, "x":48, "y":27}, + {"matrix": [2,4], "flags":4, "x":64, "y":28}, + {"matrix": [2,5], "flags":4, "x":80, "y":30}, + + {"matrix": [3,5], "flags":4, "x":80, "y":43}, + {"matrix": [3,4], "flags":4, "x":64, "y":42}, + {"matrix": [3,3], "flags":4, "x":48, "y":40}, + {"flags":2, "x":40, "y":50}, + {"matrix": [3,2], "flags":4, "x":32, "y":42}, + {"matrix": [3,1], "flags":4, "x":16, "y":45}, + {"flags":2, "x":8, "y":43}, + {"matrix": [3,0], "flags":4, "x":0, "y":45}, + + {"matrix": [4,5], "flags":4, "x":98, "y":52}, + {"matrix": [4,4], "flags":4, "x":90, "y":64}, + {"flags":2, "x":80, "y":58}, + {"matrix": [4,3], "flags":4, "x":72, "y":58}, + {"matrix": [4,2], "flags":4, "x":56, "y":47}, + + {"matrix": [5,0], "flags":4, "x":224, "y":5}, + {"flags":2, "x":216, "y":5}, + {"matrix": [5,1], "flags":4, "x":208, "y":5}, + {"matrix": [5,2], "flags":4, "x":192, "y":2}, + {"flags":2, "x":184, "y":1}, + {"matrix": [5,3], "flags":4, "x":176, "y":0}, + {"matrix": [5,4], "flags":4, "x":160, "y":5}, + {"flags":2, "x":152, "y":3}, + {"matrix": [5,5], "flags":4, "x":144, "y":3}, + + {"matrix": [6,5], "flags":4, "x":144, "y":17}, + {"matrix": [6,4], "flags":4, "x":160, "y":15}, + {"matrix": [6,3], "flags":4, "x":176, "y":13}, + {"matrix": [6,2], "flags":4, "x":192, "y":15}, + {"matrix": [6,1], "flags":4, "x":208, "y":18}, + {"matrix": [6,0], "flags":4, "x":224, "y":18}, + + {"matrix": [7,0], "flags":4, "x":224, "y":32}, + {"matrix": [7,1], "flags":4, "x":208, "y":32}, + {"matrix": [7,2], "flags":4, "x":192, "y":28}, + {"matrix": [7,3], "flags":4, "x":176, "y":27}, + {"matrix": [7,4], "flags":4, "x":160, "y":28}, + {"matrix": [7,5], "flags":4, "x":144, "y":30}, + + {"matrix": [8,5], "flags":4, "x":144, "y":43}, + {"matrix": [8,4], "flags":4, "x":160, "y":42}, + {"matrix": [8,3], "flags":4, "x":176, "y":40}, + {"flags":2, "x":184, "y":50}, + {"matrix": [8,2], "flags":4, "x":192, "y":42}, + {"matrix": [8,1], "flags":4, "x":208, "y":45}, + {"flags":2, "x":216, "y":43}, + {"matrix": [8,0], "flags":4, "x":224, "y":45}, + + {"matrix": [9,2], "flags":4, "x":168, "y":47}, + {"matrix": [9,3], "flags":4, "x":152, "y":58}, + {"flags":2, "x":144, "y":58}, + {"matrix": [9,4], "flags":4, "x":134, "y":64}, + {"matrix": [9,5], "flags":4, "x":126, "y":52} + ], + "sleep": true + } +} diff --git a/keyboards/keebio/iris_lm/k1/mcuconf.h b/keyboards/keebio/iris_lm/k1/mcuconf.h new file mode 100644 index 00000000000..e1a054267d6 --- /dev/null +++ b/keyboards/keebio/iris_lm/k1/mcuconf.h @@ -0,0 +1,14 @@ +// Copyright 2024 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include_next + +/* enable USART3, used for split comms */ +#undef STM32_SERIAL_USE_USART3 +#define STM32_SERIAL_USE_USART3 TRUE + +/* enable TIM3, used for RGB LED PWM driver */ +#undef STM32_PWM_USE_TIM3 +#define STM32_PWM_USE_TIM3 TRUE diff --git a/keyboards/keebio/iris_lm/k1/readme.md b/keyboards/keebio/iris_lm/k1/readme.md new file mode 100644 index 00000000000..8b373eb32b8 --- /dev/null +++ b/keyboards/keebio/iris_lm/k1/readme.md @@ -0,0 +1,25 @@ +# Iris LM-K + +A split ergo 4x6 keyboard with 4 thumb keys made and sold by Keebio that supports Kailh Choc V1 & V2 low-profile switches. [More info at Keebio](https://keeb.io). + +* Keyboard Maintainer: [Bakingpy/nooges](https://github.com/nooges) +* Hardware Supported: Iris LM-K PCBs +* Hardware Availability: [Keebio](https://keeb.io) + +Make example for this keyboard (after setting up your build environment): + + make keebio/iris_lm/k1:default + +Example of flashing this keyboard: + + make keebio/iris_lm/k1: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 the top left and plug in the keyboard +* **Physical reset button**: Press and hold the button on the back of the PCB for at least 1 second and let go +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/keebio/iris_lm/keymaps/default/keymap.c b/keyboards/keebio/iris_lm/keymaps/default/keymap.c new file mode 100644 index 00000000000..d5021d647d4 --- /dev/null +++ b/keyboards/keebio/iris_lm/keymaps/default/keymap.c @@ -0,0 +1,55 @@ +// Copyright 2023 Danny Nguyen (@nooges) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum custom_layers { + _QWERTY, + _LOWER, + _RAISE +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_QWERTY] = LAYOUT( + //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ + QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, 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_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + 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_HOME, KC_END, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ + KC_LGUI, TL_LOWR, KC_ENT, KC_SPC, TL_UPPR, KC_RALT + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + + [_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_PGUP, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + KC_GRV, _______, KC_UP, _______, QK_BOOT, _______, _______, KC_P7, KC_P8, KC_P9, KC_P0, KC_PGDN, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_LBRC, KC_RBRC, KC_P4, KC_P5, KC_P6, KC_PLUS, KC_PIPE, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + RGB_MOD, EE_CLR, _______, _______, _______, KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_P1, KC_P2, KC_P3, KC_MINS, _______, + //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ + _______, _______, KC_DEL, KC_DEL, _______, KC_P0 + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), + + [_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, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + RGB_TOG, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, QK_BOOT, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + RGB_MOD, KC_MPRV, KC_MNXT, KC_VOLU, KC_PGUP, KC_UNDS, KC_EQL, KC_HOME, RGB_HUI, RGB_SAI, RGB_VAI, KC_BSLS, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_MUTE, KC_MSTP, KC_MPLY, KC_VOLD, KC_PGDN, KC_MINS, KC_LPRN, _______, KC_PLUS, KC_END, RGB_HUD, RGB_SAD, RGB_VAD, EE_CLR, + //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ + _______, _______, _______, _______, _______, _______ + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ) +}; diff --git a/keyboards/keebio/iris_lm/keymaps/default/rules.mk b/keyboards/keebio/iris_lm/keymaps/default/rules.mk new file mode 100644 index 00000000000..7c9bf212a6f --- /dev/null +++ b/keyboards/keebio/iris_lm/keymaps/default/rules.mk @@ -0,0 +1 @@ +TRI_LAYER_ENABLE = yes diff --git a/keyboards/keebio/iris_lm/readme.md b/keyboards/keebio/iris_lm/readme.md new file mode 100644 index 00000000000..1036d0f7cc5 --- /dev/null +++ b/keyboards/keebio/iris_lm/readme.md @@ -0,0 +1,6 @@ +# Iris LM + +The Iris LM comes in two variants: + +- [Iris LM-G](g1/readme.md) - Supports Gateron KS-33 low-profile switches +- [Iris LM-K](k1/readme.md) - Supports Kailh Choc V1 & V2 low-profile switches From 3b874ee4348bafd7d54a5fc7b72cb5ec34263026 Mon Sep 17 00:00:00 2001 From: Daniel Weeks <29613475+xanimos@users.noreply.github.com> Date: Thu, 24 Oct 2024 02:04:51 -0700 Subject: [PATCH 58/66] [Keyboard] Add xdboards/recon keyboard (#24135) Co-authored-by: Drashna Jaelre --- keyboards/xdboards/recon/config.h | 19 ++ keyboards/xdboards/recon/keyboard.json | 201 ++++++++++++++++++ .../xdboards/recon/keymaps/default/keymap.c | 155 ++++++++++++++ keyboards/xdboards/recon/post_config.h | 24 +++ keyboards/xdboards/recon/post_rules.mk | 3 + keyboards/xdboards/recon/readme.md | 57 +++++ keyboards/xdboards/recon/recon.c | 118 ++++++++++ 7 files changed, 577 insertions(+) create mode 100644 keyboards/xdboards/recon/config.h create mode 100644 keyboards/xdboards/recon/keyboard.json create mode 100644 keyboards/xdboards/recon/keymaps/default/keymap.c create mode 100644 keyboards/xdboards/recon/post_config.h create mode 100644 keyboards/xdboards/recon/post_rules.mk create mode 100644 keyboards/xdboards/recon/readme.md create mode 100644 keyboards/xdboards/recon/recon.c diff --git a/keyboards/xdboards/recon/config.h b/keyboards/xdboards/recon/config.h new file mode 100644 index 00000000000..22fbc833c14 --- /dev/null +++ b/keyboards/xdboards/recon/config.h @@ -0,0 +1,19 @@ +/* Copyright 2024 XD Boards +* +* 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 OLED_DISPLAY_128X64 diff --git a/keyboards/xdboards/recon/keyboard.json b/keyboards/xdboards/recon/keyboard.json new file mode 100644 index 00000000000..65f3c88a329 --- /dev/null +++ b/keyboards/xdboards/recon/keyboard.json @@ -0,0 +1,201 @@ +{ + "manufacturer": "XD Boards", + "keyboard_name": "xdboards/recon", + "maintainer": "Xanimos", + "development_board": "promicro", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "nkro": true, + "rgb_matrix": true, + "oled": true + }, + "matrix_pins": { + "cols": ["D4", "C6", "D7", "E6", "B4", "B5"], + "rows": ["F4", "F5", "F6", "F7", "B1"] + }, + "url": "https://xdboards.xyz", + "tags": ["columnar", "split", "thumb cluster", "rgb", "encoder"], + "usb": { + "device_version": "1.0.0", + "pid": "0x02F7", + "vid": "0xFEED" + }, + "encoder": { + "rotary": [ + { "pin_a": "B6","pin_b": "B2" } + ] + }, + "split": { + "enabled": true, + "serial": { + "pin": "D3" + }, + "handedness": { + "pin": "D2" + }, + "transport": { + "sync": { + "layer_state": true, + "oled": true, + "matrix_state": true, + "modifiers": true + } + } + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "L01", "matrix": [0, 0], "x": 0, "y": 0.75}, + {"label": "L02", "matrix": [0, 1], "x": 1, "y": 0.75}, + {"label": "L03", "matrix": [0, 2], "x": 2, "y": 0.25}, + {"label": "L04", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "L05", "matrix": [0, 4], "x": 4, "y": 0.25}, + {"label": "L06", "matrix": [0, 5], "x": 5, "y": 0.5}, + + {"label": "R06", "matrix": [5, 5], "x": 10.5, "y": 0.5}, + {"label": "R05", "matrix": [5, 4], "x": 11.5, "y": 0.25}, + {"label": "R04", "matrix": [5, 3], "x": 12.5, "y": 0}, + {"label": "R03", "matrix": [5, 2], "x": 13.5, "y": 0.25}, + {"label": "R02", "matrix": [5, 1], "x": 14.5, "y": 0.75}, + {"label": "R01", "matrix": [5, 0], "x": 15.5, "y": 0.75}, + + {"label": "L07", "matrix": [1, 0], "x": 0, "y": 1.75}, + {"label": "L08", "matrix": [1, 1], "x": 1, "y": 1.75}, + {"label": "L09", "matrix": [1, 2], "x": 2, "y": 1.25}, + {"label": "L10", "matrix": [1, 3], "x": 3, "y": 1}, + {"label": "L11", "matrix": [1, 4], "x": 4, "y": 1.25}, + {"label": "L12", "matrix": [1, 5], "x": 5, "y": 1.5}, + + {"label": "R12", "matrix": [6, 5], "x": 10.5, "y": 1.5}, + {"label": "R11", "matrix": [6, 4], "x": 11.5, "y": 1.25}, + {"label": "R10", "matrix": [6, 3], "x": 12.5, "y": 1}, + {"label": "R09", "matrix": [6, 2], "x": 13.5, "y": 1.25}, + {"label": "R08", "matrix": [6, 1], "x": 14.5, "y": 1.75}, + {"label": "R07", "matrix": [6, 0], "x": 15.5, "y": 1.75}, + + {"label": "L13", "matrix": [2, 0], "x": 0, "y": 2.75}, + {"label": "L14", "matrix": [2, 1], "x": 1, "y": 2.75}, + {"label": "L15", "matrix": [2, 2], "x": 2, "y": 2.25}, + {"label": "L16", "matrix": [2, 3], "x": 3, "y": 2}, + {"label": "L17", "matrix": [2, 4], "x": 4, "y": 2.25}, + {"label": "L18", "matrix": [2, 5], "x": 5, "y": 2.5}, + + {"label": "R18", "matrix": [7, 5], "x": 10.5, "y": 2.5}, + {"label": "R17", "matrix": [7, 4], "x": 11.5, "y": 2.25}, + {"label": "R16", "matrix": [7, 3], "x": 12.5, "y": 2}, + {"label": "R15", "matrix": [7, 2], "x": 13.5, "y": 2.25}, + {"label": "R14", "matrix": [7, 1], "x": 14.5, "y": 2.75}, + {"label": "R13", "matrix": [7, 0], "x": 15.5, "y": 2.75}, + + {"label": "L27", "encoder": 0, "matrix": [3, 0], "x": 6, "y": 2.7}, + + {"label": "R27", "encoder": 1, "matrix": [8, 0], "x": 9.5, "y": 2.7}, + + {"label": "L19", "matrix": [3, 2], "x": 4.25, "y": 3.5}, + {"label": "L20", "matrix": [3, 3], "x": 5.25, "y": 3.75}, + {"label": "L21", "matrix": [3, 4], "x": 6.25, "y": 4}, + {"label": "L22", "matrix": [3, 5], "x": 7.25, "y": 4.25}, + + {"label": "R22", "matrix": [8, 5], "x": 8, "y": 4.25}, + {"label": "R21", "matrix": [8, 4], "x": 9, "y": 4}, + {"label": "R20", "matrix": [8, 3], "x": 10, "y": 3.75}, + {"label": "R19", "matrix": [8, 2], "x": 11, "y": 3.5}, + + {"label": "L23", "matrix": [4, 2], "x": 4.25, "y": 4.5}, + {"label": "L24", "matrix": [4, 3], "x": 5.25, "y": 4.75}, + {"label": "L25", "matrix": [4, 4], "x": 6.25, "y": 5}, + {"label": "L26", "matrix": [4, 5], "x": 7.25, "y": 5.25}, + + {"label": "R26", "matrix": [9, 5], "x": 8, "y": 5.25}, + {"label": "R25", "matrix": [9, 4], "x": 9, "y": 5}, + {"label": "R24", "matrix": [9, 3], "x": 10, "y": 4.75}, + {"label": "R23", "matrix": [9, 2], "x": 11, "y": 4.5} + + ] + } + }, + "rgb_matrix": { + "driver": "ws2812", + "layout": [ + + {"flags": 4, "matrix": [0, 0], "x": 13, "y": 16}, + {"flags": 4, "matrix": [0, 1], "x": 21, "y": 16}, + {"flags": 4, "matrix": [0, 2], "x": 30, "y": 11}, + {"flags": 4, "matrix": [0, 3], "x": 38, "y": 6}, + {"flags": 4, "matrix": [0, 4], "x": 46, "y": 11}, + {"flags": 4, "matrix": [0, 5], "x": 55, "y": 12}, + {"flags": 4, "matrix": [1, 0], "x": 13, "y": 24}, + {"flags": 4, "matrix": [1, 1], "x": 21, "y": 24}, + {"flags": 4, "matrix": [1, 2], "x": 30, "y": 19}, + {"flags": 4, "matrix": [1, 3], "x": 38, "y": 14}, + {"flags": 4, "matrix": [1, 4], "x": 46, "y": 19}, + {"flags": 4, "matrix": [1, 5], "x": 55, "y": 20}, + {"flags": 4, "matrix": [2, 0], "x": 13, "y": 32}, + {"flags": 4, "matrix": [2, 1], "x": 21, "y": 32}, + {"flags": 4, "matrix": [2, 2], "x": 30, "y": 26}, + {"flags": 4, "matrix": [2, 3], "x": 38, "y": 22}, + {"flags": 4, "matrix": [2, 4], "x": 46, "y": 27}, + {"flags": 4, "matrix": [2, 5], "x": 55, "y": 28}, + + {"flags": 4, "matrix": [3, 2], "x": 42, "y": 35}, + {"flags": 4, "matrix": [3, 3], "x": 54, "y": 37}, + {"flags": 4, "matrix": [3, 4], "x": 65, "y": 40}, + {"flags": 4, "matrix": [3, 5], "x": 76, "y": 45}, + {"flags": 4, "matrix": [4, 2], "x": 42, "y": 44}, + {"flags": 4, "matrix": [4, 3], "x": 52, "y": 45}, + {"flags": 4, "matrix": [4, 4], "x": 62, "y": 47}, + {"flags": 4, "matrix": [4, 5], "x": 71, "y": 52}, + + {"flags": 2, "x": 68, "y": 36}, + {"flags": 2, "x": 57, "y": 8}, + {"flags": 2, "x": 31, "y": 6}, + {"flags": 2, "x": 14, "y": 12}, + {"flags": 2, "x": 28, "y": 37}, + + {"flags": 4, "matrix": [5, 0], "x": 175, "y": 16}, + {"flags": 4, "matrix": [5, 1], "x": 166, "y": 16}, + {"flags": 4, "matrix": [5, 2], "x": 158, "y": 11}, + {"flags": 4, "matrix": [5, 3], "x": 149, "y": 6}, + {"flags": 4, "matrix": [5, 4], "x": 141, "y": 11}, + {"flags": 4, "matrix": [5, 5], "x": 133, "y": 12}, + {"flags": 4, "matrix": [6, 0], "x": 175, "y": 24}, + {"flags": 4, "matrix": [6, 1], "x": 166, "y": 24}, + {"flags": 4, "matrix": [6, 2], "x": 158, "y": 19}, + {"flags": 4, "matrix": [6, 3], "x": 149, "y": 14}, + {"flags": 4, "matrix": [6, 4], "x": 141, "y": 19}, + {"flags": 4, "matrix": [6, 5], "x": 133, "y": 20}, + {"flags": 4, "matrix": [7, 0], "x": 175, "y": 32}, + {"flags": 4, "matrix": [7, 1], "x": 166, "y": 32}, + {"flags": 4, "matrix": [7, 2], "x": 158, "y": 26}, + {"flags": 4, "matrix": [7, 3], "x": 149, "y": 22}, + {"flags": 4, "matrix": [7, 4], "x": 141, "y": 27}, + {"flags": 4, "matrix": [7, 5], "x": 133, "y": 28}, + + {"flags": 4, "matrix": [8, 2], "x": 146, "y": 35}, + {"flags": 4, "matrix": [8, 3], "x": 134, "y": 37}, + {"flags": 4, "matrix": [8, 4], "x": 123, "y": 40}, + {"flags": 4, "matrix": [8, 5], "x": 113, "y": 45}, + {"flags": 4, "matrix": [9, 2], "x": 146, "y": 44}, + {"flags": 4, "matrix": [9, 3], "x": 136, "y": 45}, + {"flags": 4, "matrix": [9, 4], "x": 126, "y": 47}, + {"flags": 4, "matrix": [9, 5], "x": 117, "y": 52}, + + {"flags": 2, "x": 121, "y": 36}, + {"flags": 2, "x": 130, "y": 8}, + {"flags": 2, "x": 156, "y": 6}, + {"flags": 2, "x": 172, "y": 12}, + {"flags": 2, "x": 158, "y": 37} + ], + "split_count": [31, 31], + "animations": { + "alphas_mods": true, + "solid_reactive": true + }, + "default": { + "animation": "solid_reactive", + "hue": 126 + } + } +} \ No newline at end of file diff --git a/keyboards/xdboards/recon/keymaps/default/keymap.c b/keyboards/xdboards/recon/keymaps/default/keymap.c new file mode 100644 index 00000000000..30d96e09bad --- /dev/null +++ b/keyboards/xdboards/recon/keymaps/default/keymap.c @@ -0,0 +1,155 @@ +/* Copyright 2024 XD Boards +* +* 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 { + _QWERTY, + _SYMBOLS, + _NUMBERS, + _FUNCTION, + _RGB +}; + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┐ + * │ ESC │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ Bsp │ + * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ + * │ Tab │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ; │ CTL │ + * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ + * │Shift│ Z │ X │ C │ V │ B │ │ N │ M │ , │ . │ / │Shift│ + * └─────┴─────┴─────┴─────┴─────┴─────┘ ┌─────┐ ┌─────┐ └─────┴─────┴─────┴─────┴─────┴─────┘ + * ┌─────┐ │Mute │ │P Scr│ ┌─────┐ + * │ ALT ├─────┐ └─────┘ └─────┘ ┌─────┤ Alt │ + * ├─────┤ ( ├─────┐ ┌─────┤ ) ├─────┤ + * │ GUI ├─────┤ { ├─────┐ ┌─────┤ } ├─────┤ App │ + * └─────┤Space├─────┤ [ │ │ ] ├─────┤ Ent ├─────┘ + * └─────┤ Fnc ├─────┤ ├─────┤ Sym ├─────┘ + * └─────┤Qwert│ │ Num ├─────┘ + * └─────┘ └─────┘ + */ + [_QWERTY] = 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_RCTL, + 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_MUTE, KC_PSCR, + KC_LALT, KC_LPRN, KC_LCBR, KC_LBRC, KC_RBRC, KC_RCBR, KC_RPRN, KC_RALT, + KC_LGUI, KC_SPC,TO(_FUNCTION),TO(_QWERTY), TO(_NUMBERS),TO(_SYMBOLS),KC_ENT, KC_APP + ), + /* + * ┌─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┐ + * │ ` │ ! │ @ │ # │ $ │ % │ │ + │ " │ ' │ | │ \ │ Bsp │ + * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ + * │ Tab │ ^ │ & │ * │ ( │ ) │ │ = │ < │ > │ : │ ; │ Ctl │ + * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ + * │Shift│ _ │ [ │ ] │ { │ } │ │ - │ ~ │ , │ . │ ? │Shift│ + * └─────┴─────┴─────┴─────┴─────┴─────┘ ┌─────┐ ┌─────┐ └─────┴─────┴─────┴─────┴─────┴─────┘ + * ┌─────┐ │Mute │ │P Scr│ ┌─────┐ + * │ ALT ├─────┐ └─────┘ └─────┘ ┌─────┤ Alt │ + * ├─────┤ ( ├─────┐ ┌─────┤ ) ├─────┤ + * │ GUI ├─────┤ { ├─────┐ ┌─────┤ } ├─────┤ App │ + * └─────┤Space├─────┤ [ │ │ ] ├─────┤ Ent ├─────┘ + * └─────┤ Fnc ├─────┤ ├─────┤ Sym ├─────┘ + * └─────┤Qwert│ │ Num ├─────┘ + * └─────┘ └─────┘ + */ + [_SYMBOLS] = LAYOUT( + KC_GRAVE, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_PLUS, KC_DQUO, KC_QUOTE,KC_PIPE, KC_BSLS, KC_BSPC, + KC_TAB, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_EQUAL,KC_LT, KC_GT, KC_COLN, KC_SCLN, KC_RCTL, + KC_LSFT, KC_UNDS, KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR, KC_MINUS,KC_TILD, KC_COMM, KC_DOT, KC_QUES, KC_NUM, + KC_MUTE, KC_PSCR, + KC_LALT, KC_LPRN, KC_LCBR, KC_LBRC, KC_RBRC, KC_RCBR, KC_RPRN, KC_RALT, + KC_LGUI, KC_SPC,TO(_FUNCTION),TO(_QWERTY), TO(_NUMBERS),TO(_SYMBOLS),KC_ENT, KC_APP + ), + /* + * ┌─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┐ + * │ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ │ + │ 7 │ 8 │ 9 │ * │ Bsp │ + * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ + * │ Ctl │ 6 │ 7 │ 8 │ 9 │ 0 │ │ = │ 4 │ 5 │ 6 │ \ │ : │ + * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ + * │Shift│ │ │ │ │ │ │ - │ 1 │ 2 │ 3 │ / │Nm Lk│ + * └─────┴─────┴─────┴─────┴─────┴─────┘ ┌─────┐ ┌─────┐ └─────┴─────┴─────┴─────┴─────┴─────┘ + * ┌─────┐ │Mute │ │P Scr│ ┌─────┐ + * │ ALT ├─────┐ └─────┘ └─────┘ ┌─────┤ 0 │ + * ├─────┤ ├─────┐ ┌─────┤ . ├─────┤ + * │ GUI ├─────┤ ├─────┐ ┌─────┤ , ├─────┤ App │ + * └─────┤Space├─────┤ │ │ ├─────┤ Ent ├─────┘ + * └─────┤ Fnc ├─────┤ ├─────┤ Sym ├─────┘ + * └─────┤Qwert│ │ Num ├─────┘ + * └─────┘ └─────┘ + */ + [_NUMBERS] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_PPLS, KC_P7, KC_P8, KC_P9, KC_PAST, KC_BSPC, + KC_LCTL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PEQL, KC_P4, KC_P5, KC_P6, KC_BSLS, KC_COLN, + KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PMNS, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_NUM, + KC_MUTE, KC_PSCR, + KC_LALT, KC_NO, KC_NO, KC_NO, KC_NO, KC_PCMM, KC_PDOT, KC_P0, + KC_LGUI, KC_SPC,TO(_FUNCTION),TO(_QWERTY), TO(_NUMBERS),TO(_SYMBOLS),KC_ENT, KC_APP + ), + /* + * ┌─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┐ + * │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ + * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ + * │Caps │ │ │ ↑ │ │ │ │ Ins │ Home│Pg Up│Pause│ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ + * │Shift│ │ ← │ ↓ │ → │ │ │ Del │ End │Pg Dn│ │ │ │ + * └─────┴─────┴─────┴─────┴─────┴─────┘ ┌─────┐ ┌─────┐ └─────┴─────┴─────┴─────┴─────┴─────┘ + * ┌─────┐ │Mute │ │P Scr│ ┌─────┐ + * │ ALT ├─────┐ └─────┘ └─────┘ ┌─────┤ 0 │ + * ├─────┤ ├─────┐ ┌─────┤ . ├─────┤ + * │ GUI ├─────┤ ├─────┐ ┌─────┤ ├─────┤ App │ + * └─────┤Space├─────┤ │ │ ├─────┤ Ent ├─────┘ + * └─────┤ RGB ├─────┤ ├─────┤ Sym ├─────┘ + * └─────┤Qwert│ │ Num ├─────┘ + * └─────┘ └─────┘ + */ + [_FUNCTION] = 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_CAPS, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_INS, KC_HOME, KC_PGUP, KC_PAUS, KC_NO, KC_NO, + KC_LSFT, KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT,KC_NO, KC_DEL, KC_END, KC_PGDN, KC_NO, KC_NO, KC_RSFT, + KC_MUTE, KC_PSCR, + KC_LALT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DOT, KC_0, + KC_LGUI, KC_SPC,MO(_RGB),TO(_QWERTY), TO(_NUMBERS),TO(_SYMBOLS),KC_ENT, KC_APP + ), +/* + * ┌─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ + * │ │Mode↑│Hue ↑│Sat ↑│Val ↑│Spd ↑│ │ │ │ │ │ │ │ + * ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ + * │OnOff│Mode↓│Hue ↓│Sat ↓│Val ↓│Spd ↓│ │ │ │ │ │ │ │ + * └─────┴─────┴─────┴─────┴─────┴─────┘ ┌─────┐ ┌─────┐ └─────┴─────┴─────┴─────┴─────┴─────┘ + * ┌─────┐ │ │ │ │ ┌─────┐ + * │ ├─────┐ └─────┘ └─────┘ ┌─────┤ │ + * ├─────┤ ├─────┐ ┌─────┤ ├─────┤ + * │ ├─────┤ ├─────┐ ┌─────┤ ├─────┤ │ + * └─────┤ ├─────┤ │ │ ├─────┤ ├─────┘ + * └─────┤ ├─────┤ ├─────┤ ├─────┘ + * └─────┤ │ │ ├─────┘ + * └─────┘ └─────┘ + */ + [_RGB] = LAYOUT( + KC_NO, 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_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + RGB_TOG, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, + KC_NO , KC_NO, KC_NO, KC_NO, KC_NO , KC_NO, KC_NO, KC_NO, + KC_NO , KC_NO, KC_NO, KC_NO, KC_NO , KC_NO, KC_NO, KC_NO + ) +}; +// clang-format on diff --git a/keyboards/xdboards/recon/post_config.h b/keyboards/xdboards/recon/post_config.h new file mode 100644 index 00000000000..9e4950e04a8 --- /dev/null +++ b/keyboards/xdboards/recon/post_config.h @@ -0,0 +1,24 @@ +/* Copyright 2024 XD Boards +* +* 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 USE_SEA_PICRO_RGB_PIN + // Dedicated 5V RGB signal pin on sea-picro +# define WS2812_DI_PIN 25U +#else +# define WS2812_DI_PIN B3 +#endif \ No newline at end of file diff --git a/keyboards/xdboards/recon/post_rules.mk b/keyboards/xdboards/recon/post_rules.mk new file mode 100644 index 00000000000..8b9382b32ab --- /dev/null +++ b/keyboards/xdboards/recon/post_rules.mk @@ -0,0 +1,3 @@ +ifeq ($(strip $(USE_SEA_PICRO_RGB_PIN)), yes) + OPT_DEFS += -DUSE_SEA_PICRO_RGB_PIN +endif \ No newline at end of file diff --git a/keyboards/xdboards/recon/readme.md b/keyboards/xdboards/recon/readme.md new file mode 100644 index 00000000000..49dbddbbfb1 --- /dev/null +++ b/keyboards/xdboards/recon/readme.md @@ -0,0 +1,57 @@ +# xdboards/recon + +![xdboards/recon](https://imgur.com/a/HcjT4yq) + +A split low profile keyboard with hotswap sockets that is built around the Sea-Picro microcontroller for it's dedicated RGB pin. + +* Keyboard Maintainer: [Daniel Weeks](https://github.com/Xanimos) +* Hardware Supported: Recon PCB, Sea-Picro, backwards compatibility with ProMicro pin layout. +* Hardware Availability: [xdboards.xyz shop](https://www.xdboards.xyz) + +Make example for this keyboard (after setting up your build environment): + + make xdboards/recon: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 in 2 ways: + +* **Physical reset button**: Briefly press the button on the side of the PCB +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Boot Magic**: Hold down the boot magic key while plugging in the USB cable + +## Setup for Sea-Picro microcontrollers + +To take advantage of the dedicated 5v RGB pin on the sea-picro you must create your keymap +and then add a `rules.mk` file and copy and paste the following: +``` +CONVERT_TO = rp2040_ce +USE_SEA_PICRO_RGB_PIN = yes +``` + +If you do not want to use the dedicated 5v RGB header then follow the Setup for non Sea-Picro microcontrollers. + +## Setup for non Sea-Picro microcontrollers + +Solder the "Pro-Micro Compatibility" jumper on the bottom of both boards. + +In your keymap directory: + - add/modify a `rules.mk` file + - Remove or set `CONVERT_TO` to desired converter see [QMK Documentation](https://docs.qmk.fm/#/feature_converters) + - Remove or set `USE_SEA_PICRO_RGB_PIN` to `no` + + +## Setup for Underglow rgb only + + +Solder the "Per-Key RGB Skip" jumper on the bottom of both boards. Do not install per key RGBs. + +In your keymap directory: + - add/modify a `config.h` file and insert + ``` + #define RGB_MATRIX_SPLIT { 5, 5 } + #define RGB_MATRIX_LED_COUNT 10 + ``` + \ No newline at end of file diff --git a/keyboards/xdboards/recon/recon.c b/keyboards/xdboards/recon/recon.c new file mode 100644 index 00000000000..708c9d894c9 --- /dev/null +++ b/keyboards/xdboards/recon/recon.c @@ -0,0 +1,118 @@ +/* Copyright 2024 XD Boards +* +* 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; +} + +bool oled_task_kb(void) { + if (!oled_task_user()) { + return false; + } + if (is_keyboard_master()) { + // Host Keyboard Layer Status + oled_write_P(PSTR("Layer: "), false); + switch (get_highest_layer(layer_state | default_layer_state)) { + case 0: + oled_write_P(PSTR("QWERTY\n"), false); + break; + case 1: + oled_write_P(PSTR("Symbols\n"), false); + break; + case 2: + oled_write_P(PSTR("Numbers\n"), false); + break; + case 3: + oled_write_P(PSTR("Function\n"), false); + break; + case 4: + oled_write_P(PSTR("RGB\n"), false); + break; + default: + oled_write_P(PSTR("Undefined\n"), false); + } + // Host Keyboard LED Status + led_t led_usb_state = host_keyboard_led_state(); + oled_write_P(PSTR("CAPSLCK"), led_usb_state.caps_lock); + oled_write_P(PSTR(" "), false); + oled_write_P(PSTR("NUMLCK"), led_usb_state.num_lock); + oled_write_P(PSTR(" "), false); + oled_write_P(PSTR("SCRLCK"), led_usb_state.scroll_lock); + oled_write_P(PSTR("\n"), false); + + oled_write_P(PSTR("\n"), false); + + 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); + + } else { + // clang-format off + static const char PROGMEM recon_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,254,254,254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,224,240,240,248,252,124,126, 62, 62, 31, 31, 31, 0, 0, 0,255,255,255, 0, 0, 31, 31, 31, 62, 62, 62,124,252,248,248,240,224,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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,248,252,255,127, 31, 15, 7, 3, 1, 0, 0, 0, 0,128,192,224,224,240,240,240,115,115,115,240,240,224,224,192,192,128, 0, 0, 0, 0, 1, 3, 7, 15, 63,255,254,252,240,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, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 192,192,192,192,192,192,192,204,207,207,207,207,193,192,192,192,192, 0, 0,224,248,254,255, 15, 7, 3, 1, 0,192,224,224,224,224,192, 0, 1, 1, 3, 7, 63,255,252,240, 0, 0,192,192,192,192,192,199,207,207,207,207,192,192,192,192,192,192,192,128, 0,254,254,254,254,254, 0,134,254,254,252,124, 48, 0, 0,254,254,254,254,254,252,134,230,222, 62, 0,224,248,252,252,254, 6, 2, 6, 14, 62,126, 0,224,248,252,254,254, 6, 6,254,254,252,248,240, 0, 6,238,254,126,254,254,252,240,224,134,254, 14, 6, 0, + 3, 3, 3, 3, 3, 3, 3, 51,243,243,243,243,131, 3, 3, 3, 3, 0, 0, 7, 31,127,255,240,224,192,128, 0, 1, 7, 7, 7, 7, 3, 0,128,128,192,224,252,255, 63, 15, 0, 0, 3, 3, 3, 3, 3,227,243,243,243,243, 3, 3, 3, 3, 3, 3, 3, 1, 64,127,127,127,127,127, 97, 3,127,127,127,126,120, 48, 0,127,127,127,127,127, 63, 97,103,119,124, 48, 15, 31, 63,127,127, 96, 64, 96, 96, 48, 24, 0, 15, 31, 63,127,127, 64, 64,127,127, 63, 63, 15, 0, 64,127,127, 96, 1, 7, 15, 63,127,127,127, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 7, 31, 63,255,254,248,240,224,192,128, 0, 0, 0, 0, 1, 3, 7, 7, 7, 15, 15,207,206,207, 15, 15, 7, 7, 3, 3, 1, 0, 0, 0, 0,128,192,224,248,252,255,127, 63, 15, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 7, 15, 15, 31, 63, 62,126,124,124,248,248,248, 0, 0, 0,255,255,255, 0, 0,248,248,248,124,124,124, 62, 63, 31, 15, 15, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,127,127,127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }; + // clang-format on + oled_write_raw_P(recon_logo, sizeof(recon_logo)); + } + return false; +} +#endif +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { + return false; + } + + 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) { +#ifdef MOUSEKEY_ENABLE + tap_code(KC_WH_U); +#else + tap_code(KC_PGUP); +#endif + } else { +#ifdef MOUSEKEY_ENABLE + tap_code(KC_WH_D); +#else + tap_code(KC_PGDN); +#endif + } + } + return true; +} +#endif \ No newline at end of file From bf327f7a81cdafd2167edd7461a9669ddac7db30 Mon Sep 17 00:00:00 2001 From: era <73109780+eerraa@users.noreply.github.com> Date: Fri, 25 Oct 2024 14:25:12 +0900 Subject: [PATCH 59/66] [Keyboard] Add SIRIND Tomak79H (#24505) * Add Tomak79H Add Tomak79H * Update Update * Update keyboards/era/sirind/tomak79h/tomak79h.c Co-authored-by: Drashna Jaelre --------- Co-authored-by: Drashna Jaelre --- keyboards/era/sirind/tomak79h/config.h | 15 + keyboards/era/sirind/tomak79h/keyboard.json | 393 ++++++++++++++++++ .../sirind/tomak79h/keymaps/default/keymap.c | 24 ++ keyboards/era/sirind/tomak79h/readme.md | 27 ++ keyboards/era/sirind/tomak79h/tomak79h.c | 16 + 5 files changed, 475 insertions(+) create mode 100644 keyboards/era/sirind/tomak79h/config.h create mode 100644 keyboards/era/sirind/tomak79h/keyboard.json create mode 100644 keyboards/era/sirind/tomak79h/keymaps/default/keymap.c create mode 100644 keyboards/era/sirind/tomak79h/readme.md create mode 100644 keyboards/era/sirind/tomak79h/tomak79h.c diff --git a/keyboards/era/sirind/tomak79h/config.h b/keyboards/era/sirind/tomak79h/config.h new file mode 100644 index 00000000000..f04429bcd89 --- /dev/null +++ b/keyboards/era/sirind/tomak79h/config.h @@ -0,0 +1,15 @@ +// Copyright 2024 Hyojin Bak (@eerraa) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* Split configuration */ +#define USB_VBUS_PIN GP19 +#define SERIAL_USART_FULL_DUPLEX +#define SERIAL_USART_TX_PIN GP0 +#define SERIAL_USART_RX_PIN GP1 +#define SERIAL_USART_PIN_SWAP + +/* Reset */ +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U \ No newline at end of file diff --git a/keyboards/era/sirind/tomak79h/keyboard.json b/keyboards/era/sirind/tomak79h/keyboard.json new file mode 100644 index 00000000000..216250f8502 --- /dev/null +++ b/keyboards/era/sirind/tomak79h/keyboard.json @@ -0,0 +1,393 @@ +{ + "manufacturer": "SIRIND", + "keyboard_name": "Tomak79H", + "maintainer": "eerraa", + "bootloader": "rp2040", + "build": { + "debounce_type": "sym_defer_pk" + }, + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["GP29", "GP9", "GP7", "GP6", "GP5", "GP4", "GP3", "GP2", null], + "rows": ["GP24", "GP8", "GP26", "GP25", "GP27", "GP28"] + }, + "processor": "RP2040", + "rgb_matrix": { + "animations": { + "alphas_mods": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_sat": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "band_val": true, + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "cycle_up_down": true, + "digital_rain": true, + "dual_beacon": true, + "flower_blooming": true, + "gradient_left_right": true, + "gradient_up_down": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "jellybean_raindrops": true, + "multisplash": true, + "pixel_flow": true, + "pixel_fractal": true, + "pixel_rain": true, + "rainbow_beacon": true, + "rainbow_moving_chevron": true, + "rainbow_pinwheels": true, + "raindrops": true, + "riverflow": true, + "solid_multisplash": true, + "solid_reactive": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_multinexus": true, + "solid_reactive_multiwide": true, + "solid_reactive_nexus": true, + "solid_reactive_simple": true, + "solid_reactive_wide": true, + "solid_splash": true, + "splash": true, + "starlight": true, + "starlight_dual_hue": true, + "starlight_dual_sat": true, + "typing_heatmap": true + }, + "driver": "ws2812", + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, + {"matrix": [0, 2], "x": 20, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 33, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 47, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 60, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 80, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 93, "y": 0, "flags": 4}, + {"matrix": [1, 7], "x": 95, "y": 15, "flags": 4}, + {"matrix": [1, 6], "x": 81, "y": 15, "flags": 4}, + {"matrix": [1, 5], "x": 68, "y": 15, "flags": 4}, + {"matrix": [1, 4], "x": 54, "y": 15, "flags": 4}, + {"matrix": [1, 3], "x": 41, "y": 15, "flags": 4}, + {"matrix": [1, 2], "x": 27, "y": 15, "flags": 4}, + {"matrix": [1, 1], "x": 14, "y": 15, "flags": 4}, + {"matrix": [1, 0], "x": 0, "y": 15, "flags": 4}, + {"matrix": [2, 0], "x": 3, "y": 26, "flags": 1}, + {"matrix": [2, 1], "x": 20, "y": 26, "flags": 4}, + {"matrix": [2, 2], "x": 34, "y": 26, "flags": 4}, + {"matrix": [2, 3], "x": 47, "y": 26, "flags": 4}, + {"matrix": [2, 4], "x": 61, "y": 26, "flags": 4}, + {"matrix": [2, 5], "x": 75, "y": 26, "flags": 4}, + {"matrix": [2, 6], "x": 88, "y": 26, "flags": 4}, + {"matrix": [3, 6], "x": 92, "y": 38, "flags": 4}, + {"matrix": [3, 5], "x": 78, "y": 38, "flags": 4}, + {"matrix": [3, 4], "x": 64, "y": 38, "flags": 4}, + {"matrix": [3, 3], "x": 51, "y": 38, "flags": 4}, + {"matrix": [3, 2], "x": 37, "y": 38, "flags": 4}, + {"matrix": [3, 1], "x": 24, "y": 38, "flags": 4}, + {"matrix": [3, 0], "x": 5, "y": 38, "flags": 1}, + {"matrix": [3, 0], "x": 2, "y": 38, "flags": 1}, + {"matrix": [4, 0], "x": 8, "y": 49, "flags": 1}, + {"matrix": [4, 2], "x": 31, "y": 49, "flags": 4}, + {"matrix": [4, 3], "x": 44, "y": 49, "flags": 4}, + {"matrix": [4, 4], "x": 58, "y": 49, "flags": 4}, + {"matrix": [4, 5], "x": 71, "y": 49, "flags": 4}, + {"matrix": [4, 6], "x": 85, "y": 49, "flags": 4}, + {"matrix": [5, 6], "x": 93, "y": 64, "flags": 1}, + {"matrix": [5, 5], "x": 71, "y": 64, "flags": 4}, + {"matrix": [5, 2], "x": 37, "y": 61, "flags": 1}, + {"matrix": [5, 1], "x": 20, "y": 61, "flags": 1}, + {"matrix": [5, 0], "x": 3, "y": 61, "flags": 1}, + {"matrix": [6, 8], "x": 221, "y": 0, "flags": 4}, + {"matrix": [6, 7], "x": 205, "y": 0, "flags": 4}, + {"matrix": [6, 5], "x": 185, "y": 0, "flags": 4}, + {"matrix": [6, 4], "x": 171, "y": 0, "flags": 4}, + {"matrix": [6, 3], "x": 158, "y": 0, "flags": 4}, + {"matrix": [6, 2], "x": 144, "y": 0, "flags": 4}, + {"matrix": [6, 1], "x": 124, "y": 0, "flags": 4}, + {"matrix": [6, 0], "x": 111, "y": 0, "flags": 4}, + {"matrix": [7, 0], "x": 109, "y": 15, "flags": 4}, + {"matrix": [7, 1], "x": 123, "y": 15, "flags": 4}, + {"matrix": [7, 2], "x": 136, "y": 15, "flags": 4}, + {"matrix": [7, 3], "x": 150, "y": 15, "flags": 4}, + {"matrix": [7, 4], "x": 163, "y": 15, "flags": 4}, + {"matrix": [7, 5], "x": 177, "y": 15, "flags": 4}, + {"matrix": [7, 7], "x": 197, "y": 15, "flags": 1}, + {"matrix": [7, 8], "x": 221, "y": 15, "flags": 1}, + {"matrix": [8, 8], "x": 221, "y": 26, "flags": 4}, + {"matrix": [8, 7], "x": 200, "y": 26, "flags": 4}, + {"matrix": [8, 6], "x": 184, "y": 26, "flags": 4}, + {"matrix": [8, 5], "x": 170, "y": 26, "flags": 4}, + {"matrix": [8, 4], "x": 157, "y": 26, "flags": 4}, + {"matrix": [8, 3], "x": 143, "y": 26, "flags": 4}, + {"matrix": [8, 2], "x": 130, "y": 26, "flags": 4}, + {"matrix": [8, 1], "x": 116, "y": 26, "flags": 4}, + {"matrix": [8, 0], "x": 102, "y": 26, "flags": 4}, + {"matrix": [9, 0], "x": 106, "y": 38, "flags": 4}, + {"matrix": [9, 1], "x": 119, "y": 38, "flags": 4}, + {"matrix": [9, 2], "x": 133, "y": 38, "flags": 4}, + {"matrix": [9, 3], "x": 147, "y": 38, "flags": 4}, + {"matrix": [9, 4], "x": 160, "y": 38, "flags": 4}, + {"matrix": [9, 5], "x": 174, "y": 38, "flags": 4}, + {"matrix": [9, 7], "x": 200, "y": 38, "flags": 1}, + {"matrix": [10, 7], "x": 208, "y": 52, "flags": 4}, + {"matrix": [10, 6], "x": 186, "y": 49, "flags": 1}, + {"matrix": [10, 5], "x": 167, "y": 49, "flags": 4}, + {"matrix": [10, 4], "x": 153, "y": 49, "flags": 4}, + {"matrix": [10, 3], "x": 140, "y": 49, "flags": 4}, + {"matrix": [10, 2], "x": 126, "y": 49, "flags": 4}, + {"matrix": [10, 1], "x": 113, "y": 49, "flags": 4}, + {"matrix": [10, 0], "x": 99, "y": 49, "flags": 4}, + {"matrix": [11, 2], "x": 123, "y": 64, "flags": 4}, + {"matrix": [11, 4], "x": 160, "y": 61, "flags": 1}, + {"matrix": [11, 5], "x": 177, "y": 61, "flags": 1}, + {"matrix": [11, 6], "x": 194, "y": 64, "flags": 4}, + {"matrix": [11, 7], "x": 208, "y": 64, "flags": 4}, + {"matrix": [11, 8], "x": 221, "y": 64, "flags": 4}, + {"x": 224, "y": 53, "flags": 2}, + {"x": 224, "y": 51, "flags": 2}, + {"x": 224, "y": 49, "flags": 2}, + {"x": 224, "y": 48, "flags": 2}, + {"x": 224, "y": 46, "flags": 2}, + {"x": 224, "y": 44, "flags": 2}, + {"x": 224, "y": 43, "flags": 2}, + {"x": 224, "y": 41, "flags": 2}, + {"x": 224, "y": 39, "flags": 2} + ], + "sleep": true, + "split_count": [41, 55] + }, + "split": { + "bootmagic": { + "matrix": [6, 0] + }, + "enabled": true, + "handedness": { + "pin": "GP20" + }, + "matrix_pins": { + "right": { + "cols": ["GP25", "GP24", "GP23", "GP22", "GP7", "GP6", "GP5", "GP4", "GP2"], + "rows": ["GP29", "GP28", "GP27", "GP26", "GP11", "GP3"] + } + }, + "serial": { + "driver": "vendor" + }, + "transport": { + "sync": { + "indicators": true, + "layer_state": true, + "matrix_state": true + } + } + }, + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0014", + "vid": "0x4552" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP17" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 1.5, "y": 0}, + {"matrix": [0, 3], "x": 2.5, "y": 0}, + {"matrix": [0, 4], "x": 3.5, "y": 0}, + {"matrix": [0, 5], "x": 4.5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [6, 0], "x": 9.5, "y": 0}, + {"matrix": [6, 1], "x": 10.5, "y": 0}, + {"matrix": [6, 2], "x": 12, "y": 0}, + {"matrix": [6, 3], "x": 13, "y": 0}, + {"matrix": [6, 4], "x": 14, "y": 0}, + {"matrix": [6, 5], "x": 15, "y": 0}, + {"matrix": [6, 7], "x": 16.5, "y": 0}, + {"matrix": [6, 8], "x": 17.75, "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": [7, 0], "x": 9.5, "y": 1.25}, + {"matrix": [7, 1], "x": 10.5, "y": 1.25}, + {"matrix": [7, 2], "x": 11.5, "y": 1.25}, + {"matrix": [7, 3], "x": 12.5, "y": 1.25}, + {"matrix": [7, 4], "x": 13.5, "y": 1.25}, + {"matrix": [7, 5], "x": 14.5, "y": 1.25}, + {"matrix": [7, 6], "x": 15.5, "y": 1.25}, + {"matrix": [7, 7], "x": 16.5, "y": 1.25}, + {"matrix": [7, 8], "x": 17.75, "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": [8, 0], "x": 9, "y": 2.25}, + {"matrix": [8, 1], "x": 10, "y": 2.25}, + {"matrix": [8, 2], "x": 11, "y": 2.25}, + {"matrix": [8, 3], "x": 12, "y": 2.25}, + {"matrix": [8, 4], "x": 13, "y": 2.25}, + {"matrix": [8, 5], "x": 14, "y": 2.25}, + {"matrix": [8, 6], "x": 15, "y": 2.25}, + {"matrix": [8, 7], "x": 16, "y": 2.25, "w": 1.5}, + {"matrix": [8, 8], "x": 17.75, "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": [9, 0], "x": 9.25, "y": 3.25}, + {"matrix": [9, 1], "x": 10.25, "y": 3.25}, + {"matrix": [9, 2], "x": 11.25, "y": 3.25}, + {"matrix": [9, 3], "x": 12.25, "y": 3.25}, + {"matrix": [9, 4], "x": 13.25, "y": 3.25}, + {"matrix": [9, 5], "x": 14.25, "y": 3.25}, + {"matrix": [9, 7], "x": 15.25, "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": [10, 0], "x": 8.75, "y": 4.25}, + {"matrix": [10, 1], "x": 9.75, "y": 4.25}, + {"matrix": [10, 2], "x": 10.75, "y": 4.25}, + {"matrix": [10, 3], "x": 11.75, "y": 4.25}, + {"matrix": [10, 4], "x": 12.75, "y": 4.25}, + {"matrix": [10, 5], "x": 13.75, "y": 4.25}, + {"matrix": [10, 6], "x": 14.75, "y": 4.25, "w": 1.75}, + {"matrix": [10, 7], "x": 16.75, "y": 4.5}, + {"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, 5], "x": 4.75, "y": 5.5, "w": 2.25}, + {"matrix": [5, 6], "x": 7, "y": 5.5}, + {"matrix": [11, 2], "x": 9.5, "y": 5.5, "w": 2.75}, + {"matrix": [11, 4], "x": 13, "y": 5.25, "w": 1.5}, + {"matrix": [11, 5], "x": 14.5, "y": 5.25}, + {"matrix": [11, 6], "x": 15.75, "y": 5.5}, + {"matrix": [11, 7], "x": 16.75, "y": 5.5}, + {"matrix": [11, 8], "x": 17.75, "y": 5.5} + ] + }, + "LAYOUT_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 2], "x": 1.5, "y": 0}, + {"matrix": [0, 3], "x": 2.5, "y": 0}, + {"matrix": [0, 4], "x": 3.5, "y": 0}, + {"matrix": [0, 5], "x": 4.5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [6, 0], "x": 9.5, "y": 0}, + {"matrix": [6, 1], "x": 10.5, "y": 0}, + {"matrix": [6, 2], "x": 12, "y": 0}, + {"matrix": [6, 3], "x": 13, "y": 0}, + {"matrix": [6, 4], "x": 14, "y": 0}, + {"matrix": [6, 5], "x": 15, "y": 0}, + {"matrix": [6, 7], "x": 16.5, "y": 0}, + {"matrix": [6, 8], "x": 17.75, "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": [7, 0], "x": 9.5, "y": 1.25}, + {"matrix": [7, 1], "x": 10.5, "y": 1.25}, + {"matrix": [7, 2], "x": 11.5, "y": 1.25}, + {"matrix": [7, 3], "x": 12.5, "y": 1.25}, + {"matrix": [7, 4], "x": 13.5, "y": 1.25}, + {"matrix": [7, 5], "x": 14.5, "y": 1.25}, + {"matrix": [7, 7], "x": 15.5, "y": 1.25}, + {"matrix": [7, 8], "x": 17.75, "y": 1.25, "w": 2}, + {"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": [8, 0], "x": 9, "y": 2.25}, + {"matrix": [8, 1], "x": 10, "y": 2.25}, + {"matrix": [8, 2], "x": 11, "y": 2.25}, + {"matrix": [8, 3], "x": 12, "y": 2.25}, + {"matrix": [8, 4], "x": 13, "y": 2.25}, + {"matrix": [8, 5], "x": 14, "y": 2.25}, + {"matrix": [8, 6], "x": 15, "y": 2.25}, + {"matrix": [8, 7], "x": 16, "y": 2.25, "w": 1.5}, + {"matrix": [8, 8], "x": 17.75, "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": [9, 0], "x": 9.25, "y": 3.25}, + {"matrix": [9, 1], "x": 10.25, "y": 3.25}, + {"matrix": [9, 2], "x": 11.25, "y": 3.25}, + {"matrix": [9, 3], "x": 12.25, "y": 3.25}, + {"matrix": [9, 4], "x": 13.25, "y": 3.25}, + {"matrix": [9, 5], "x": 14.25, "y": 3.25}, + {"matrix": [9, 7], "x": 15.25, "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": [10, 0], "x": 8.75, "y": 4.25}, + {"matrix": [10, 1], "x": 9.75, "y": 4.25}, + {"matrix": [10, 2], "x": 10.75, "y": 4.25}, + {"matrix": [10, 3], "x": 11.75, "y": 4.25}, + {"matrix": [10, 4], "x": 12.75, "y": 4.25}, + {"matrix": [10, 5], "x": 13.75, "y": 4.25}, + {"matrix": [10, 6], "x": 14.75, "y": 4.25, "w": 1.75}, + {"matrix": [10, 7], "x": 16.75, "y": 4.5}, + {"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, 5], "x": 4.75, "y": 5.5, "w": 2.25}, + {"matrix": [5, 6], "x": 7, "y": 5.5}, + {"matrix": [11, 2], "x": 9.5, "y": 5.5, "w": 2.75}, + {"matrix": [11, 4], "x": 13, "y": 5.25, "w": 1.5}, + {"matrix": [11, 5], "x": 14.5, "y": 5.25}, + {"matrix": [11, 6], "x": 15.75, "y": 5.5}, + {"matrix": [11, 7], "x": 16.75, "y": 5.5}, + {"matrix": [11, 8], "x": 17.75, "y": 5.5} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/era/sirind/tomak79h/keymaps/default/keymap.c b/keyboards/era/sirind/tomak79h/keymaps/default/keymap.c new file mode 100644 index 00000000000..7b8a5b8a139 --- /dev/null +++ b/keyboards/era/sirind/tomak79h/keymaps/default/keymap.c @@ -0,0 +1,24 @@ +// Copyright 2024 Hyojin Bak (@eerraa) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [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_F13, KC_PSCR, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_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_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, RGB_VAI, RGB_HUI, RGB_SAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_MOD, RGB_VAD, RGB_HUD, RGB_SAD, 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 + ) +}; \ No newline at end of file diff --git a/keyboards/era/sirind/tomak79h/readme.md b/keyboards/era/sirind/tomak79h/readme.md new file mode 100644 index 00000000000..528731ef12c --- /dev/null +++ b/keyboards/era/sirind/tomak79h/readme.md @@ -0,0 +1,27 @@ +# Tomak79H, Hotswap ver + +![Tomak79H](https://i.imgur.com/yJ5n7ll.jpeg) + +Ergonomics Split Keyboard powered by RP2040. + +* Keyboard Maintainer: [ERA](https://github.com/eerraa) +* Hardware supported: SIRIND Tomak79 +* Hardware availability: [Syryan](https://srind.mysoho.com/) + +Make example for this keyboard (after setting up your build environment): + + make era/sirind/tomak79h:default + +Flashing example for this keyboard: + + make era/sirind/tomak79h:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the 'top-left(ESC, F7)' key and plug in the keyboard. +* **Physical reset**: Short the 'RESET' and 'GND' holes twice within one second, or plug in the keyboard with the 'BOOT' and 'GND' holes shorted. +* **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/sirind/tomak79h/tomak79h.c b/keyboards/era/sirind/tomak79h/tomak79h.c new file mode 100644 index 00000000000..580a1ba68b1 --- /dev/null +++ b/keyboards/era/sirind/tomak79h/tomak79h.c @@ -0,0 +1,16 @@ +// Copyright 2024 Hyojin Bak (@eerraa) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + if (host_keyboard_led_state().caps_lock) { + for (uint8_t i = 87; i <= 95; i++) { + rgb_matrix_set_color(i, 0, 128, 128); + } + } + return true; +} \ No newline at end of file From 32b6faaf353bf845a835bd7b71e53336fcb6416e Mon Sep 17 00:00:00 2001 From: Felix Jen Date: Thu, 24 Oct 2024 22:35:53 -0700 Subject: [PATCH 60/66] Add Vanguard65 Keyboard (#24497) * Initial commit * update * added two options for the slider * comments * added rounding for the lower end of the LED values * moved folder, cleaned up code * fixed layout def * fioxed default layout * Update keyboards/keebfront/vanguard65/config.h Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/keebfront/vanguard65/keymaps/via/keymap.c Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/keebfront/vanguard65/keymaps/via/keymap.c Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/keebfront/vanguard65/readme.md Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/keebfront/vanguard65/rules.mk Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/keebfront/vanguard65/info.json Co-authored-by: jack <0x6a73@protonmail.com> * updated default keymap to have encoder map functionality * Update keyboards/keebfront/vanguard65/rules.mk Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/keebfront/vanguard65/config.h Co-authored-by: jack <0x6a73@protonmail.com> * Update keyboards/keebfront/vanguard65/config.h Co-authored-by: jack <0x6a73@protonmail.com> * add encoder_update_kb * Update keyboards/keebfront/vanguard65/vanguard65.c Co-authored-by: Drashna Jaelre * Update keyboards/keebfront/vanguard65/info.json Co-authored-by: Drashna Jaelre * Update keyboards/keebfront/vanguard65/info.json Co-authored-by: Drashna Jaelre * Update keyboards/keebfront/vanguard65/vanguard65.c Co-authored-by: Drashna Jaelre * new qmk * misc fixes * Test * Removed extraneous parts of hte rules.mk * Remove extra layers in the keymap * Revert "Remove extra layers in the keymap" This reverts commit c82ee931acef589c8ef260e26a3de7ecd88acb53. * removed excess layers * update for latest QMK led definition * update * Update keyboards/keebfront/vanguard65/info.json Co-authored-by: Drashna Jaelre * Update keyboards/keebfront/vanguard65/keymaps/via/keymap.c Co-authored-by: Drashna Jaelre * Update keyboards/keebfront/vanguard65/info.json Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/info.json Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/keymaps/default/keymap.c Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/keymaps/via/keymap.c Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/readme.md Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/keymaps/default/keymap.c Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/info.json Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/keymaps/default/keymap.c Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/keymaps/via/keymap.c Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/info.json Co-authored-by: Duncan Sutherland * Delete vanguard65.c * run qmk format_json * Update keyboards/keebfront/vanguard65/rules.mk Co-authored-by: Ryan * Update keyboards/keebfront/vanguard65/readme.md Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/readme.md Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/info.json Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/keymaps/default/keymap.c Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/keymaps/via/keymap.c Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/keymaps/via/keymap.c Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/keymaps/default/keymap.c Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/info.json Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/keymaps/via/keymap.c Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/keymaps/default/keymap.c Co-authored-by: Duncan Sutherland * Update keyboards/keebfront/vanguard65/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/keebfront/vanguard65/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Confirm all keymaps compile * update for latest QMK best definitions * Apply suggestions from code review Co-authored-by: jack * Added minimum slider functionality. * update readme * Apply suggestions from code review Co-authored-by: Joel Challis * Update keyboards/keebfront/vanguard65/keyboard.json Co-authored-by: jack --------- Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Drashna Jaelre Co-authored-by: Duncan Sutherland Co-authored-by: Ryan Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: jack Co-authored-by: Joel Challis --- keyboards/keebfront/vanguard65/config.h | 22 + keyboards/keebfront/vanguard65/keyboard.json | 744 ++++++++++++++++++ .../vanguard65/keymaps/default/keymap.c | 63 ++ .../vanguard65/keymaps/default/rules.mk | 2 + keyboards/keebfront/vanguard65/readme.md | 29 + keyboards/keebfront/vanguard65/rules.mk | 2 + 6 files changed, 862 insertions(+) create mode 100644 keyboards/keebfront/vanguard65/config.h create mode 100644 keyboards/keebfront/vanguard65/keyboard.json create mode 100644 keyboards/keebfront/vanguard65/keymaps/default/keymap.c create mode 100644 keyboards/keebfront/vanguard65/keymaps/default/rules.mk create mode 100644 keyboards/keebfront/vanguard65/readme.md create mode 100644 keyboards/keebfront/vanguard65/rules.mk diff --git a/keyboards/keebfront/vanguard65/config.h b/keyboards/keebfront/vanguard65/config.h new file mode 100644 index 00000000000..71e47341d9b --- /dev/null +++ b/keyboards/keebfront/vanguard65/config.h @@ -0,0 +1,22 @@ +/* +Copyright 2022 + +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 MIDI */ +#define MIDI_ADVANCED +#define SLIDER_PINA D6 diff --git a/keyboards/keebfront/vanguard65/keyboard.json b/keyboards/keebfront/vanguard65/keyboard.json new file mode 100644 index 00000000000..34d9eca4a57 --- /dev/null +++ b/keyboards/keebfront/vanguard65/keyboard.json @@ -0,0 +1,744 @@ +{ + "manufacturer": "Keebfront", + "keyboard_name": "Vanguard65", + "maintainer": "Keebfront", + "bootloader": "atmel-dfu", + "build": { + "lto": true + }, + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "E6", "pin_b": "D4"} + ] + }, + "features": { + "bootmagic": true, + "extrakey": true, + "midi": true, + "rgblight": true, + "mousekey": true, + "encoder": true + }, + "matrix_pins": { + "cols": ["F0", "B1", "B2", "B3", "B7", "D0", "D1", "D2", "D3", "D5", "D7", "B4", "B5", "B6", "C6"], + "rows": ["F4", "F1", "F7", "F6", "F5"] + }, + "processor": "atmega32u4", + "rgblight": { + "animations": { + "alternating": true, + "breathing": true, + "christmas": true, + "knight": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "static_gradient": true, + "twinkle": true + }, + "brightness_steps": 12, + "led_count": 36 + }, + "url": "https://www.keebfront.com", + "usb": { + "device_version": "0.0.1", + "pid": "0x1823", + "vid": "0x7074" + }, + "ws2812": { + "pin": "C7" + }, + "layouts": { + "LAYOUT_all": { + "layout": [ + {"matrix": [3, 14], "x": 0, "y": 0}, + + {"matrix": [0, 0], "x": 1.5, "y": 0}, + {"matrix": [0, 1], "x": 2.5, "y": 0}, + {"matrix": [0, 2], "x": 3.5, "y": 0}, + {"matrix": [0, 3], "x": 4.5, "y": 0}, + {"matrix": [0, 4], "x": 5.5, "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}, + {"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, 13], "x": 14.5, "y": 0}, + {"matrix": [2, 13], "x": 15.5, "y": 0}, + {"matrix": [0, 14], "x": 16.75, "y": 0}, + + {"matrix": [1, 0], "x": 1.5, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 3, "y": 1}, + {"matrix": [1, 2], "x": 4, "y": 1}, + {"matrix": [1, 3], "x": 5, "y": 1}, + {"matrix": [1, 4], "x": 6, "y": 1}, + {"matrix": [1, 5], "x": 7, "y": 1}, + {"matrix": [1, 6], "x": 8, "y": 1}, + {"matrix": [1, 7], "x": 9, "y": 1}, + {"matrix": [1, 8], "x": 10, "y": 1}, + {"matrix": [1, 9], "x": 11, "y": 1}, + {"matrix": [1, 10], "x": 12, "y": 1}, + {"matrix": [1, 11], "x": 13, "y": 1}, + {"matrix": [1, 12], "x": 14, "y": 1}, + {"matrix": [1, 13], "x": 15, "y": 1, "w": 1.5}, + {"matrix": [1, 14], "x": 16.75, "y": 1}, + + {"matrix": [2, 0], "x": 1.5, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 3.25, "y": 2}, + {"matrix": [2, 2], "x": 4.25, "y": 2}, + {"matrix": [2, 3], "x": 5.25, "y": 2}, + {"matrix": [2, 4], "x": 6.25, "y": 2}, + {"matrix": [2, 5], "x": 7.25, "y": 2}, + {"matrix": [2, 6], "x": 8.25, "y": 2}, + {"matrix": [2, 7], "x": 9.25, "y": 2}, + {"matrix": [2, 8], "x": 10.25, "y": 2}, + {"matrix": [2, 9], "x": 11.25, "y": 2}, + {"matrix": [2, 10], "x": 12.25, "y": 2}, + {"matrix": [2, 11], "x": 13.25, "y": 2}, + {"matrix": [2, 12], "x": 14.25, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "x": 16.75, "y": 2}, + + {"matrix": [3, 0], "x": 1.5, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 2.75, "y": 3}, + {"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": [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, "w": 1.75}, + {"matrix": [3, 13], "x": 15.5, "y": 3}, + + {"matrix": [4, 0], "x": 1.5, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 2.75, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 4, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 5.25, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 11.5, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 12.75, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 14.5, "y": 4}, + {"matrix": [4, 13], "x": 15.5, "y": 4}, + {"matrix": [4, 14], "x": 16.5, "y": 4} + ] + }, + "LAYOUT_ansi_blocker": { + "layout": [ + {"matrix": [3, 14], "x": 0, "y": 0}, + + {"matrix": [0, 0], "x": 1.5, "y": 0}, + {"matrix": [0, 1], "x": 2.5, "y": 0}, + {"matrix": [0, 2], "x": 3.5, "y": 0}, + {"matrix": [0, 3], "x": 4.5, "y": 0}, + {"matrix": [0, 4], "x": 5.5, "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}, + {"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, 13], "x": 14.5, "y": 0, "w": 2}, + {"matrix": [0, 14], "x": 16.75, "y": 0}, + + {"matrix": [1, 0], "x": 1.5, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 3, "y": 1}, + {"matrix": [1, 2], "x": 4, "y": 1}, + {"matrix": [1, 3], "x": 5, "y": 1}, + {"matrix": [1, 4], "x": 6, "y": 1}, + {"matrix": [1, 5], "x": 7, "y": 1}, + {"matrix": [1, 6], "x": 8, "y": 1}, + {"matrix": [1, 7], "x": 9, "y": 1}, + {"matrix": [1, 8], "x": 10, "y": 1}, + {"matrix": [1, 9], "x": 11, "y": 1}, + {"matrix": [1, 10], "x": 12, "y": 1}, + {"matrix": [1, 11], "x": 13, "y": 1}, + {"matrix": [1, 12], "x": 14, "y": 1}, + {"matrix": [1, 13], "x": 15, "y": 1, "w": 1.5}, + {"matrix": [1, 14], "x": 16.75, "y": 1}, + + {"matrix": [2, 0], "x": 1.5, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 3.25, "y": 2}, + {"matrix": [2, 2], "x": 4.25, "y": 2}, + {"matrix": [2, 3], "x": 5.25, "y": 2}, + {"matrix": [2, 4], "x": 6.25, "y": 2}, + {"matrix": [2, 5], "x": 7.25, "y": 2}, + {"matrix": [2, 6], "x": 8.25, "y": 2}, + {"matrix": [2, 7], "x": 9.25, "y": 2}, + {"matrix": [2, 8], "x": 10.25, "y": 2}, + {"matrix": [2, 9], "x": 11.25, "y": 2}, + {"matrix": [2, 10], "x": 12.25, "y": 2}, + {"matrix": [2, 11], "x": 13.25, "y": 2}, + {"matrix": [2, 12], "x": 14.25, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "x": 16.75, "y": 2}, + + {"matrix": [3, 0], "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": [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, "w": 1.75}, + {"matrix": [3, 13], "x": 15.5, "y": 3}, + + {"matrix": [4, 0], "x": 1.5, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 2.75, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 4, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 5.25, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 11.5, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 12.75, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 14.5, "y": 4}, + {"matrix": [4, 13], "x": 15.5, "y": 4}, + {"matrix": [4, 14], "x": 16.5, "y": 4} + ] + }, + "LAYOUT_ansi_blocker_split_bs": { + "layout": [ + {"matrix": [3, 14], "x": 0, "y": 0}, + + {"matrix": [0, 0], "x": 1.5, "y": 0}, + {"matrix": [0, 1], "x": 2.5, "y": 0}, + {"matrix": [0, 2], "x": 3.5, "y": 0}, + {"matrix": [0, 3], "x": 4.5, "y": 0}, + {"matrix": [0, 4], "x": 5.5, "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}, + {"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, 13], "x": 14.5, "y": 0}, + {"matrix": [2, 13], "x": 15.5, "y": 0}, + {"matrix": [0, 14], "x": 16.75, "y": 0}, + + {"matrix": [1, 0], "x": 1.5, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 3, "y": 1}, + {"matrix": [1, 2], "x": 4, "y": 1}, + {"matrix": [1, 3], "x": 5, "y": 1}, + {"matrix": [1, 4], "x": 6, "y": 1}, + {"matrix": [1, 5], "x": 7, "y": 1}, + {"matrix": [1, 6], "x": 8, "y": 1}, + {"matrix": [1, 7], "x": 9, "y": 1}, + {"matrix": [1, 8], "x": 10, "y": 1}, + {"matrix": [1, 9], "x": 11, "y": 1}, + {"matrix": [1, 10], "x": 12, "y": 1}, + {"matrix": [1, 11], "x": 13, "y": 1}, + {"matrix": [1, 12], "x": 14, "y": 1}, + {"matrix": [1, 13], "x": 15, "y": 1, "w": 1.5}, + {"matrix": [1, 14], "x": 16.75, "y": 1}, + + {"matrix": [2, 0], "x": 1.5, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 3.25, "y": 2}, + {"matrix": [2, 2], "x": 4.25, "y": 2}, + {"matrix": [2, 3], "x": 5.25, "y": 2}, + {"matrix": [2, 4], "x": 6.25, "y": 2}, + {"matrix": [2, 5], "x": 7.25, "y": 2}, + {"matrix": [2, 6], "x": 8.25, "y": 2}, + {"matrix": [2, 7], "x": 9.25, "y": 2}, + {"matrix": [2, 8], "x": 10.25, "y": 2}, + {"matrix": [2, 9], "x": 11.25, "y": 2}, + {"matrix": [2, 10], "x": 12.25, "y": 2}, + {"matrix": [2, 11], "x": 13.25, "y": 2}, + {"matrix": [2, 12], "x": 14.25, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "x": 16.75, "y": 2}, + + {"matrix": [3, 0], "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": [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, "w": 1.75}, + {"matrix": [3, 13], "x": 15.5, "y": 3}, + + {"matrix": [4, 0], "x": 1.5, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 2.75, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 4, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 5.25, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 11.5, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 12.75, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 14.5, "y": 4}, + {"matrix": [4, 13], "x": 15.5, "y": 4}, + {"matrix": [4, 14], "x": 16.5, "y": 4} + ] + }, + "LAYOUT_ansi_blocker_tsangan": { + "layout": [ + {"matrix": [3, 14], "x": 0, "y": 0}, + + {"matrix": [0, 0], "x": 1.5, "y": 0}, + {"matrix": [0, 1], "x": 2.5, "y": 0}, + {"matrix": [0, 2], "x": 3.5, "y": 0}, + {"matrix": [0, 3], "x": 4.5, "y": 0}, + {"matrix": [0, 4], "x": 5.5, "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}, + {"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, 13], "x": 14.5, "y": 0, "w": 2}, + {"matrix": [0, 14], "x": 16.75, "y": 0}, + + {"matrix": [1, 0], "x": 1.5, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 3, "y": 1}, + {"matrix": [1, 2], "x": 4, "y": 1}, + {"matrix": [1, 3], "x": 5, "y": 1}, + {"matrix": [1, 4], "x": 6, "y": 1}, + {"matrix": [1, 5], "x": 7, "y": 1}, + {"matrix": [1, 6], "x": 8, "y": 1}, + {"matrix": [1, 7], "x": 9, "y": 1}, + {"matrix": [1, 8], "x": 10, "y": 1}, + {"matrix": [1, 9], "x": 11, "y": 1}, + {"matrix": [1, 10], "x": 12, "y": 1}, + {"matrix": [1, 11], "x": 13, "y": 1}, + {"matrix": [1, 12], "x": 14, "y": 1}, + {"matrix": [1, 13], "x": 15, "y": 1, "w": 1.5}, + {"matrix": [1, 14], "x": 16.75, "y": 1}, + + {"matrix": [2, 0], "x": 1.5, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 3.25, "y": 2}, + {"matrix": [2, 2], "x": 4.25, "y": 2}, + {"matrix": [2, 3], "x": 5.25, "y": 2}, + {"matrix": [2, 4], "x": 6.25, "y": 2}, + {"matrix": [2, 5], "x": 7.25, "y": 2}, + {"matrix": [2, 6], "x": 8.25, "y": 2}, + {"matrix": [2, 7], "x": 9.25, "y": 2}, + {"matrix": [2, 8], "x": 10.25, "y": 2}, + {"matrix": [2, 9], "x": 11.25, "y": 2}, + {"matrix": [2, 10], "x": 12.25, "y": 2}, + {"matrix": [2, 11], "x": 13.25, "y": 2}, + {"matrix": [2, 12], "x": 14.25, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "x": 16.75, "y": 2}, + + {"matrix": [3, 0], "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": [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, "w": 1.75}, + {"matrix": [3, 13], "x": 15.5, "y": 3}, + + {"matrix": [4, 0], "x": 1.5, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 3, "y": 4}, + {"matrix": [4, 2], "x": 4, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 5.5, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 14.5, "y": 4}, + {"matrix": [4, 13], "x": 15.5, "y": 4}, + {"matrix": [4, 14], "x": 16.5, "y": 4} + ] + }, + "LAYOUT_ansi_blocker_tsangan_split_bs": { + "layout": [ + {"matrix": [3, 14], "x": 0, "y": 0}, + + {"matrix": [0, 0], "x": 1.5, "y": 0}, + {"matrix": [0, 1], "x": 2.5, "y": 0}, + {"matrix": [0, 2], "x": 3.5, "y": 0}, + {"matrix": [0, 3], "x": 4.5, "y": 0}, + {"matrix": [0, 4], "x": 5.5, "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}, + {"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, 13], "x": 14.5, "y": 0}, + {"matrix": [2, 13], "x": 15.5, "y": 0}, + {"matrix": [0, 14], "x": 16.75, "y": 0}, + + {"matrix": [1, 0], "x": 1.5, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 3, "y": 1}, + {"matrix": [1, 2], "x": 4, "y": 1}, + {"matrix": [1, 3], "x": 5, "y": 1}, + {"matrix": [1, 4], "x": 6, "y": 1}, + {"matrix": [1, 5], "x": 7, "y": 1}, + {"matrix": [1, 6], "x": 8, "y": 1}, + {"matrix": [1, 7], "x": 9, "y": 1}, + {"matrix": [1, 8], "x": 10, "y": 1}, + {"matrix": [1, 9], "x": 11, "y": 1}, + {"matrix": [1, 10], "x": 12, "y": 1}, + {"matrix": [1, 11], "x": 13, "y": 1}, + {"matrix": [1, 12], "x": 14, "y": 1}, + {"matrix": [1, 13], "x": 15, "y": 1, "w": 1.5}, + {"matrix": [1, 14], "x": 16.75, "y": 1}, + + {"matrix": [2, 0], "x": 1.5, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 3.25, "y": 2}, + {"matrix": [2, 2], "x": 4.25, "y": 2}, + {"matrix": [2, 3], "x": 5.25, "y": 2}, + {"matrix": [2, 4], "x": 6.25, "y": 2}, + {"matrix": [2, 5], "x": 7.25, "y": 2}, + {"matrix": [2, 6], "x": 8.25, "y": 2}, + {"matrix": [2, 7], "x": 9.25, "y": 2}, + {"matrix": [2, 8], "x": 10.25, "y": 2}, + {"matrix": [2, 9], "x": 11.25, "y": 2}, + {"matrix": [2, 10], "x": 12.25, "y": 2}, + {"matrix": [2, 11], "x": 13.25, "y": 2}, + {"matrix": [2, 12], "x": 14.25, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "x": 16.75, "y": 2}, + + {"matrix": [3, 0], "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": [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, "w": 1.75}, + {"matrix": [3, 13], "x": 15.5, "y": 3}, + + {"matrix": [4, 0], "x": 1.5, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 3, "y": 4}, + {"matrix": [4, 2], "x": 4, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 5.5, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 14.5, "y": 4}, + {"matrix": [4, 13], "x": 15.5, "y": 4}, + {"matrix": [4, 14], "x": 16.5, "y": 4} + ] + }, + "LAYOUT_iso_blocker": { + "layout": [ + {"matrix": [3, 14], "x": 0, "y": 0}, + + {"matrix": [0, 0], "x": 1.5, "y": 0}, + {"matrix": [0, 1], "x": 2.5, "y": 0}, + {"matrix": [0, 2], "x": 3.5, "y": 0}, + {"matrix": [0, 3], "x": 4.5, "y": 0}, + {"matrix": [0, 4], "x": 5.5, "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}, + {"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, 13], "x": 14.5, "y": 0, "w": 2}, + {"matrix": [0, 14], "x": 16.75, "y": 0}, + + {"matrix": [1, 0], "x": 1.5, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 3, "y": 1}, + {"matrix": [1, 2], "x": 4, "y": 1}, + {"matrix": [1, 3], "x": 5, "y": 1}, + {"matrix": [1, 4], "x": 6, "y": 1}, + {"matrix": [1, 5], "x": 7, "y": 1}, + {"matrix": [1, 6], "x": 8, "y": 1}, + {"matrix": [1, 7], "x": 9, "y": 1}, + {"matrix": [1, 8], "x": 10, "y": 1}, + {"matrix": [1, 9], "x": 11, "y": 1}, + {"matrix": [1, 10], "x": 12, "y": 1}, + {"matrix": [1, 11], "x": 13, "y": 1}, + {"matrix": [1, 12], "x": 14, "y": 1}, + {"matrix": [1, 14], "x": 16.75, "y": 1}, + + {"matrix": [2, 0], "x": 1.5, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 3.25, "y": 2}, + {"matrix": [2, 2], "x": 4.25, "y": 2}, + {"matrix": [2, 3], "x": 5.25, "y": 2}, + {"matrix": [2, 4], "x": 6.25, "y": 2}, + {"matrix": [2, 5], "x": 7.25, "y": 2}, + {"matrix": [2, 6], "x": 8.25, "y": 2}, + {"matrix": [2, 7], "x": 9.25, "y": 2}, + {"matrix": [2, 8], "x": 10.25, "y": 2}, + {"matrix": [2, 9], "x": 11.25, "y": 2}, + {"matrix": [2, 10], "x": 12.25, "y": 2}, + {"matrix": [2, 11], "x": 13.25, "y": 2}, + {"matrix": [2, 12], "x": 14.25, "y": 2}, + {"matrix": [1, 13], "x": 15.25, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 14], "x": 16.75, "y": 2}, + + {"matrix": [3, 0], "x": 1.5, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 2.75, "y": 3}, + {"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": [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, "w": 1.75}, + {"matrix": [3, 13], "x": 15.5, "y": 3}, + + {"matrix": [4, 0], "x": 1.5, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 2.75, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 4, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 5.25, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 11.5, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 12.75, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 14.5, "y": 4}, + {"matrix": [4, 13], "x": 15.5, "y": 4}, + {"matrix": [4, 14], "x": 16.5, "y": 4} + ] + }, + "LAYOUT_iso_blocker_split_bs": { + "layout": [ + {"matrix": [3, 14], "x": 0, "y": 0}, + + {"matrix": [0, 0], "x": 1.5, "y": 0}, + {"matrix": [0, 1], "x": 2.5, "y": 0}, + {"matrix": [0, 2], "x": 3.5, "y": 0}, + {"matrix": [0, 3], "x": 4.5, "y": 0}, + {"matrix": [0, 4], "x": 5.5, "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}, + {"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, 13], "x": 14.5, "y": 0}, + {"matrix": [2, 13], "x": 15.5, "y": 0}, + {"matrix": [0, 14], "x": 16.75, "y": 0}, + + {"matrix": [1, 0], "x": 1.5, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 3, "y": 1}, + {"matrix": [1, 2], "x": 4, "y": 1}, + {"matrix": [1, 3], "x": 5, "y": 1}, + {"matrix": [1, 4], "x": 6, "y": 1}, + {"matrix": [1, 5], "x": 7, "y": 1}, + {"matrix": [1, 6], "x": 8, "y": 1}, + {"matrix": [1, 7], "x": 9, "y": 1}, + {"matrix": [1, 8], "x": 10, "y": 1}, + {"matrix": [1, 9], "x": 11, "y": 1}, + {"matrix": [1, 10], "x": 12, "y": 1}, + {"matrix": [1, 11], "x": 13, "y": 1}, + {"matrix": [1, 12], "x": 14, "y": 1}, + {"matrix": [1, 14], "x": 16.75, "y": 1}, + + {"matrix": [2, 0], "x": 1.5, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 3.25, "y": 2}, + {"matrix": [2, 2], "x": 4.25, "y": 2}, + {"matrix": [2, 3], "x": 5.25, "y": 2}, + {"matrix": [2, 4], "x": 6.25, "y": 2}, + {"matrix": [2, 5], "x": 7.25, "y": 2}, + {"matrix": [2, 6], "x": 8.25, "y": 2}, + {"matrix": [2, 7], "x": 9.25, "y": 2}, + {"matrix": [2, 8], "x": 10.25, "y": 2}, + {"matrix": [2, 9], "x": 11.25, "y": 2}, + {"matrix": [2, 10], "x": 12.25, "y": 2}, + {"matrix": [2, 11], "x": 13.25, "y": 2}, + {"matrix": [2, 12], "x": 14.25, "y": 2}, + {"matrix": [1, 13], "x": 15.25, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 14], "x": 16.75, "y": 2}, + + {"matrix": [3, 0], "x": 1.5, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 2.75, "y": 3}, + {"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": [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, "w": 1.75}, + {"matrix": [3, 13], "x": 15.5, "y": 3}, + + {"matrix": [4, 0], "x": 1.5, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 2.75, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 4, "y": 4, "w": 1.25}, + {"matrix": [4, 6], "x": 5.25, "y": 4, "w": 6.25}, + {"matrix": [4, 10], "x": 11.5, "y": 4, "w": 1.25}, + {"matrix": [4, 11], "x": 12.75, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 14.5, "y": 4}, + {"matrix": [4, 13], "x": 15.5, "y": 4}, + {"matrix": [4, 14], "x": 16.5, "y": 4} + ] + }, + "LAYOUT_iso_blocker_tsangan": { + "layout": [ + {"matrix": [3, 14], "x": 0, "y": 0}, + + {"matrix": [0, 0], "x": 1.5, "y": 0}, + {"matrix": [0, 1], "x": 2.5, "y": 0}, + {"matrix": [0, 2], "x": 3.5, "y": 0}, + {"matrix": [0, 3], "x": 4.5, "y": 0}, + {"matrix": [0, 4], "x": 5.5, "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}, + {"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, 13], "x": 14.5, "y": 0, "w": 2}, + {"matrix": [0, 14], "x": 16.75, "y": 0}, + + {"matrix": [1, 0], "x": 1.5, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 3, "y": 1}, + {"matrix": [1, 2], "x": 4, "y": 1}, + {"matrix": [1, 3], "x": 5, "y": 1}, + {"matrix": [1, 4], "x": 6, "y": 1}, + {"matrix": [1, 5], "x": 7, "y": 1}, + {"matrix": [1, 6], "x": 8, "y": 1}, + {"matrix": [1, 7], "x": 9, "y": 1}, + {"matrix": [1, 8], "x": 10, "y": 1}, + {"matrix": [1, 9], "x": 11, "y": 1}, + {"matrix": [1, 10], "x": 12, "y": 1}, + {"matrix": [1, 11], "x": 13, "y": 1}, + {"matrix": [1, 12], "x": 14, "y": 1}, + {"matrix": [1, 14], "x": 16.75, "y": 1}, + + {"matrix": [2, 0], "x": 1.5, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 3.25, "y": 2}, + {"matrix": [2, 2], "x": 4.25, "y": 2}, + {"matrix": [2, 3], "x": 5.25, "y": 2}, + {"matrix": [2, 4], "x": 6.25, "y": 2}, + {"matrix": [2, 5], "x": 7.25, "y": 2}, + {"matrix": [2, 6], "x": 8.25, "y": 2}, + {"matrix": [2, 7], "x": 9.25, "y": 2}, + {"matrix": [2, 8], "x": 10.25, "y": 2}, + {"matrix": [2, 9], "x": 11.25, "y": 2}, + {"matrix": [2, 10], "x": 12.25, "y": 2}, + {"matrix": [2, 11], "x": 13.25, "y": 2}, + {"matrix": [2, 12], "x": 14.25, "y": 2}, + {"matrix": [1, 13], "x": 15.25, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 14], "x": 16.75, "y": 2}, + + {"matrix": [3, 0], "x": 1.5, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 2.75, "y": 3}, + {"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": [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, "w": 1.75}, + {"matrix": [3, 13], "x": 15.5, "y": 3}, + + {"matrix": [4, 0], "x": 1.5, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 3, "y": 4}, + {"matrix": [4, 2], "x": 4, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 5.5, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 14.5, "y": 4}, + {"matrix": [4, 13], "x": 15.5, "y": 4}, + {"matrix": [4, 14], "x": 16.5, "y": 4} + ] + }, + "LAYOUT_iso_blocker_tsangan_split_bs": { + "layout": [ + {"matrix": [3, 14], "x": 0, "y": 0}, + + {"matrix": [0, 0], "x": 1.5, "y": 0}, + {"matrix": [0, 1], "x": 2.5, "y": 0}, + {"matrix": [0, 2], "x": 3.5, "y": 0}, + {"matrix": [0, 3], "x": 4.5, "y": 0}, + {"matrix": [0, 4], "x": 5.5, "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}, + {"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, 13], "x": 14.5, "y": 0}, + {"matrix": [2, 13], "x": 15.5, "y": 0}, + {"matrix": [0, 14], "x": 16.75, "y": 0}, + + {"matrix": [1, 0], "x": 1.5, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 3, "y": 1}, + {"matrix": [1, 2], "x": 4, "y": 1}, + {"matrix": [1, 3], "x": 5, "y": 1}, + {"matrix": [1, 4], "x": 6, "y": 1}, + {"matrix": [1, 5], "x": 7, "y": 1}, + {"matrix": [1, 6], "x": 8, "y": 1}, + {"matrix": [1, 7], "x": 9, "y": 1}, + {"matrix": [1, 8], "x": 10, "y": 1}, + {"matrix": [1, 9], "x": 11, "y": 1}, + {"matrix": [1, 10], "x": 12, "y": 1}, + {"matrix": [1, 11], "x": 13, "y": 1}, + {"matrix": [1, 12], "x": 14, "y": 1}, + {"matrix": [1, 14], "x": 16.75, "y": 1}, + + {"matrix": [2, 0], "x": 1.5, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 3.25, "y": 2}, + {"matrix": [2, 2], "x": 4.25, "y": 2}, + {"matrix": [2, 3], "x": 5.25, "y": 2}, + {"matrix": [2, 4], "x": 6.25, "y": 2}, + {"matrix": [2, 5], "x": 7.25, "y": 2}, + {"matrix": [2, 6], "x": 8.25, "y": 2}, + {"matrix": [2, 7], "x": 9.25, "y": 2}, + {"matrix": [2, 8], "x": 10.25, "y": 2}, + {"matrix": [2, 9], "x": 11.25, "y": 2}, + {"matrix": [2, 10], "x": 12.25, "y": 2}, + {"matrix": [2, 11], "x": 13.25, "y": 2}, + {"matrix": [2, 12], "x": 14.25, "y": 2}, + {"matrix": [1, 13], "x": 15.25, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [2, 14], "x": 16.75, "y": 2}, + + {"matrix": [3, 0], "x": 1.5, "y": 3, "w": 1.25}, + {"matrix": [3, 1], "x": 2.75, "y": 3}, + {"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": [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, "w": 1.75}, + {"matrix": [3, 13], "x": 15.5, "y": 3}, + + {"matrix": [4, 0], "x": 1.5, "y": 4, "w": 1.5}, + {"matrix": [4, 1], "x": 3, "y": 4}, + {"matrix": [4, 2], "x": 4, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 5.5, "y": 4, "w": 7}, + {"matrix": [4, 11], "x": 12.5, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 14.5, "y": 4}, + {"matrix": [4, 13], "x": 15.5, "y": 4}, + {"matrix": [4, 14], "x": 16.5, "y": 4} + ] + } + } +} diff --git a/keyboards/keebfront/vanguard65/keymaps/default/keymap.c b/keyboards/keebfront/vanguard65/keymaps/default/keymap.c new file mode 100644 index 00000000000..3768ba89cc9 --- /dev/null +++ b/keyboards/keebfront/vanguard65/keymaps/default/keymap.c @@ -0,0 +1,63 @@ +/* +Copyright 2022 +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 "analog.h" +uint8_t last_val = 0; +extern MidiDevice midi_device; + +enum layers { + _LAYER0, + _LAYER1, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [_LAYER0] = LAYOUT_all( + KC_MUTE, 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_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_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 + ), + + [_LAYER1] = 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_END, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, _______, + _______, RGB_SPI, RGB_SPD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, KC_VOLU, + _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT + ) +}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_LAYER0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_LAYER1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, +}; +#endif + +void slider(void) { + uint8_t current_val = analogReadPin(SLIDER_PINA) >>3; + + if ( last_val - current_val < -1 || last_val - current_val > 1 ) { + midi_send_cc(&midi_device, 0, 90, current_val ); + } + + last_val = current_val; +} + +void housekeeping_task_user(void) { + slider(); +} diff --git a/keyboards/keebfront/vanguard65/keymaps/default/rules.mk b/keyboards/keebfront/vanguard65/keymaps/default/rules.mk new file mode 100644 index 00000000000..a0aef8b6e78 --- /dev/null +++ b/keyboards/keebfront/vanguard65/keymaps/default/rules.mk @@ -0,0 +1,2 @@ +ENCODER_MAP_ENABLE = yes +ANALOG_DRIVER_REQUIRED = yes diff --git a/keyboards/keebfront/vanguard65/readme.md b/keyboards/keebfront/vanguard65/readme.md new file mode 100644 index 00000000000..d054271bb3c --- /dev/null +++ b/keyboards/keebfront/vanguard65/readme.md @@ -0,0 +1,29 @@ +# Vanguard65 + +![Vanguard65](https://i.imgur.com/1AnyRaEh.png) + +*A 65% keyboard with knob and slider by [Keebfront](https://keebfront.com/).* + +* Keyboard Maintainer: [Keebfront](https://keebfront.com/) +* Hardware Supported: Vanguard65 +* Hardware Availability: https://www.keebfront.com/product/vanguard65 + +Make example for this keyboard (after setting up your build environment): + + make keebfront/vanguard65:default + +Flashing example for this keyboard: + + make keebfront/vanguard65: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**: pressing the two reset pads on the back of the PCB with tweezers. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available + +## Matrix Diagram +![MatrixCoordinates](https://i.imgur.com/rQfEXyeh.jpeg) \ No newline at end of file diff --git a/keyboards/keebfront/vanguard65/rules.mk b/keyboards/keebfront/vanguard65/rules.mk new file mode 100644 index 00000000000..3437a35bdf1 --- /dev/null +++ b/keyboards/keebfront/vanguard65/rules.mk @@ -0,0 +1,2 @@ +# Processor frequency +F_CPU = 8000000 From 70055221767ff6b004006d3f349fcfdfcc864180 Mon Sep 17 00:00:00 2001 From: Guido Bartolucci Date: Mon, 28 Oct 2024 01:50:42 -0400 Subject: [PATCH 61/66] Add madjax_macropad keyboard (#24524) Co-authored-by: Ryan --- keyboards/madjax_macropad/keyboard.json | 55 +++++++++++++++++++ .../madjax_macropad/keymaps/default/keymap.c | 49 +++++++++++++++++ .../madjax_macropad/keymaps/default/rules.mk | 1 + keyboards/madjax_macropad/readme.md | 24 ++++++++ 4 files changed, 129 insertions(+) create mode 100644 keyboards/madjax_macropad/keyboard.json create mode 100644 keyboards/madjax_macropad/keymaps/default/keymap.c create mode 100644 keyboards/madjax_macropad/keymaps/default/rules.mk create mode 100644 keyboards/madjax_macropad/readme.md diff --git a/keyboards/madjax_macropad/keyboard.json b/keyboards/madjax_macropad/keyboard.json new file mode 100644 index 00000000000..ac2802faef2 --- /dev/null +++ b/keyboards/madjax_macropad/keyboard.json @@ -0,0 +1,55 @@ +{ + "manufacturer": "MadJax", + "keyboard_name": "madjax_macropad", + "maintainer": "guidoism", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP26", "GP27", "GP28", "GP29"], + "rows": ["GP6", "GP7", "GP0", "GP4", "GP3"] + }, + "encoder": { + "rotary": [ + {"pin_a": "GP1", "pin_b": "GP2"} + ] + }, + "processor": "RP2040", + "url": "https://github.com/guidoism/madjax_macropad", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"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} + ] + } + } +} diff --git a/keyboards/madjax_macropad/keymaps/default/keymap.c b/keyboards/madjax_macropad/keymaps/default/keymap.c new file mode 100644 index 00000000000..693438c1f3e --- /dev/null +++ b/keyboards/madjax_macropad/keymaps/default/keymap.c @@ -0,0 +1,49 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum custom_keycodes { + KC_P00 = SAFE_RANGE +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┐ + * │ - │ + * ┌───┬───┬───┼───┤ + * │ 7 │ 8 │ 9 │ + │ + * ├───┼───┼───┼───┤ + * │ 4 │ 5 │ 6 │ % │ + * ├───┼───┼───┼───┤ + * │ 1 │ 2 │ 3 │ = │ + * ├───┼───┼───┼───┤ + * │ 0 │00 │ . │Ent│ + * └───┴───┴───┴───┘ + */ + [0] = LAYOUT( + KC_PMNS, + KC_P7, KC_P8, KC_P9, KC_PPLS, + KC_P4, KC_P5, KC_P6, KC_PERC, + KC_P1, KC_P2, KC_P3, KC_EQL, + KC_P0, KC_P00, KC_PDOT, KC_PENT + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + switch(keycode) { + case KC_P00: + tap_code(KC_P0); + tap_code(KC_P0); + return false; + } + } + return true; +} + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN) } +}; +#endif diff --git a/keyboards/madjax_macropad/keymaps/default/rules.mk b/keyboards/madjax_macropad/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/madjax_macropad/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/madjax_macropad/readme.md b/keyboards/madjax_macropad/readme.md new file mode 100644 index 00000000000..1abe17ecca9 --- /dev/null +++ b/keyboards/madjax_macropad/readme.md @@ -0,0 +1,24 @@ +# MadJax Macropad + +* Keyboard Maintainer: [Guido Bartolucci](https://github.com/guidoism) +* Hardware Supported: Seeed Studio XIAO RP2040 +* Hardware Availability: https://github.com/guidoism/madjax_macropad + +Make example for this keyboard (after setting up your build environment): + + make madjax_macropad:default + +Flashing example for this keyboard: + + make madjax_macropad: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 + From 7c9e650b1c8ba6b1fd2bfffa8dc64e27504e7e37 Mon Sep 17 00:00:00 2001 From: Thanh Son Tran <62438883+trnthsn@users.noreply.github.com> Date: Mon, 28 Oct 2024 13:59:54 +0700 Subject: [PATCH 62/66] [Keyboard] Add S6xty PCB (#24465) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Duncan Sutherland Co-authored-by: Trần Thanh Sơn --- keyboards/trnthsn/s6xty/config.h | 21 + keyboards/trnthsn/s6xty/halconf.h | 21 + keyboards/trnthsn/s6xty/keyboard.json | 504 ++++++++++++++++++ .../trnthsn/s6xty/keymaps/default/keymap.c | 40 ++ keyboards/trnthsn/s6xty/mcuconf.h | 22 + keyboards/trnthsn/s6xty/readme.md | 27 + 6 files changed, 635 insertions(+) create mode 100644 keyboards/trnthsn/s6xty/config.h create mode 100644 keyboards/trnthsn/s6xty/halconf.h create mode 100644 keyboards/trnthsn/s6xty/keyboard.json create mode 100644 keyboards/trnthsn/s6xty/keymaps/default/keymap.c create mode 100644 keyboards/trnthsn/s6xty/mcuconf.h create mode 100644 keyboards/trnthsn/s6xty/readme.md diff --git a/keyboards/trnthsn/s6xty/config.h b/keyboards/trnthsn/s6xty/config.h new file mode 100644 index 00000000000..cb72d64967e --- /dev/null +++ b/keyboards/trnthsn/s6xty/config.h @@ -0,0 +1,21 @@ +/* +Copyright 2024 ThanhSon.Mech + +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 WS2812_SPI_DRIVER SPID2 +#define WS2812_SPI_SCK_PIN B13 diff --git a/keyboards/trnthsn/s6xty/halconf.h b/keyboards/trnthsn/s6xty/halconf.h new file mode 100644 index 00000000000..b8f0a217c4b --- /dev/null +++ b/keyboards/trnthsn/s6xty/halconf.h @@ -0,0 +1,21 @@ +/* Copyright 2024 ThanhSon.Mech + * + * 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/trnthsn/s6xty/keyboard.json b/keyboards/trnthsn/s6xty/keyboard.json new file mode 100644 index 00000000000..3ec2f87f3df --- /dev/null +++ b/keyboards/trnthsn/s6xty/keyboard.json @@ -0,0 +1,504 @@ +{ + "manufacturer": "ThanhSon.Mech", + "keyboard_name": "S6xty", + "maintainer": "trnthsn", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "indicators": { + "caps_lock": "B12" + }, + "matrix_pins": { + "cols": ["B14", "A0", "A10", "C15", "A2", "A1", "B11", "B10", "B1", "B0", "A7", "A6", "A5", "A4"], + "rows": ["B3", "B7", "A3", "A9", "A8"] + }, + "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": 22, + "sleep": true + }, + "url": "", + "usb": { + "device_version": "0.0.1", + "pid": "0x5336", + "vid": "0x5453" + }, + "ws2812": { + "driver": "spi", + "pin": "B15" + }, + "community_layouts": ["60_ansi_tsangan", "60_ansi_tsangan_split_bs_rshift", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb"], + "layouts": { + "LAYOUT_60_ansi_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 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, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 10], "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_ansi_tsangan_arrow": { + "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, "w": 1.75}, + {"matrix": [3, 12], "x": 13, "y": 3}, + {"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, 7], "x": 4, "y": 4, "w": 7}, + {"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} + ] + }, + "LAYOUT_60_ansi_tsangan_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [2, 12], "x": 13, "y": 0}, + {"matrix": [0, 13], "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, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 10], "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_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": [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, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5} + ] + }, + "LAYOUT_60_ansi_wkl_split_bs_rshift": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [2, 12], "x": 13, "y": 0}, + {"matrix": [0, 13], "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, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [4, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, + {"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": [2, 12], "x": 13, "y": 0}, + {"matrix": [0, 13], "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, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [4, 10], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [4, 12], "x": 12.5, "y": 4} + ] + }, + "LAYOUT_all": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [2, 12], "x": 13, "y": 0}, + {"matrix": [0, 13], "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, "w": 1.75}, + {"matrix": [3, 12], "x": 13, "y": 3}, + {"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, 7], "x": 4, "y": 4, "w": 7}, + {"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} + ] + } + } +} diff --git a/keyboards/trnthsn/s6xty/keymaps/default/keymap.c b/keyboards/trnthsn/s6xty/keymaps/default/keymap.c new file mode 100644 index 00000000000..97dba0d7491 --- /dev/null +++ b/keyboards/trnthsn/s6xty/keymaps/default/keymap.c @@ -0,0 +1,40 @@ +// Copyright 2024 QMK +// 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 │ - │ = │Bsp│Bsp│ + // ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ + // │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ + // ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + // │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ + // ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┬───┤ + // │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │Shift │↑ │/ │ + // ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴──┬───┼───┼───┤ + // │Ctrl │GUI│ Alt │ │Fn │← │↓ │→ │ + // └─────┴───┴─────┴───────────────────────────┴───┴───┴───┴───┘ + + [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_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_RSFT, KC_UP, KC_SLSH, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_all( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + MO(2) , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ), + [2] = LAYOUT_all( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/trnthsn/s6xty/mcuconf.h b/keyboards/trnthsn/s6xty/mcuconf.h new file mode 100644 index 00000000000..3bf940e0bec --- /dev/null +++ b/keyboards/trnthsn/s6xty/mcuconf.h @@ -0,0 +1,22 @@ +/* Copyright 2024 ThanhSon.Mech + * + * 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_SPI_USE_SPI2 +#define STM32_SPI_USE_SPI2 TRUE diff --git a/keyboards/trnthsn/s6xty/readme.md b/keyboards/trnthsn/s6xty/readme.md new file mode 100644 index 00000000000..eb518b7cee5 --- /dev/null +++ b/keyboards/trnthsn/s6xty/readme.md @@ -0,0 +1,27 @@ +# S6xty + +![trnthsn/s6xty](https://i.imgur.com/YJZxxqY.png) + +A 60% keyboard PCB compatible with various keyboard cases. Supports a left USB Type-C connector or 3 JST SH positions for a daughter board + +* Keyboard Maintainer: [ThanhSon.Mech](https://github.com/trnthsn) +* Hardware Supported: s6xty PCB, STM32F072 +* Hardware Availability: [ThanhSon.Mech](https://www.facebook.com/ThanhSon.mech) + +Make example for this keyboard (after setting up your build environment): + + make trnthsn/s6xty:default + +Flashing example for this keyboard: + + make trnthsn/s6xty: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 From 92afc8198a5bfb46fb55e4a8421ade7c4585c6c6 Mon Sep 17 00:00:00 2001 From: leyew <102467346+itsme-zeix@users.noreply.github.com> Date: Tue, 29 Oct 2024 23:56:23 +0800 Subject: [PATCH 63/66] [Keyboard] Add Singa Kohaku (#24309) Co-authored-by: jack Co-authored-by: Joel Challis Co-authored-by: Duncan Sutherland Co-authored-by: Drashna Jaelre --- keyboards/zeix/singa/kohaku/config.h | 20 + keyboards/zeix/singa/kohaku/keyboard.json | 698 ++++++++++++++++++ .../singa/kohaku/keymaps/default/keymap.c | 35 + keyboards/zeix/singa/kohaku/matrix_diagram.md | 30 + keyboards/zeix/singa/kohaku/readme.md | 27 + 5 files changed, 810 insertions(+) create mode 100644 keyboards/zeix/singa/kohaku/config.h create mode 100644 keyboards/zeix/singa/kohaku/keyboard.json create mode 100644 keyboards/zeix/singa/kohaku/keymaps/default/keymap.c create mode 100644 keyboards/zeix/singa/kohaku/matrix_diagram.md create mode 100644 keyboards/zeix/singa/kohaku/readme.md diff --git a/keyboards/zeix/singa/kohaku/config.h b/keyboards/zeix/singa/kohaku/config.h new file mode 100644 index 00000000000..77970ce4d34 --- /dev/null +++ b/keyboards/zeix/singa/kohaku/config.h @@ -0,0 +1,20 @@ +/* +Copyright 2023 zeix (@itsme-zeix) + +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 500U diff --git a/keyboards/zeix/singa/kohaku/keyboard.json b/keyboards/zeix/singa/kohaku/keyboard.json new file mode 100644 index 00000000000..f1ce31fe64d --- /dev/null +++ b/keyboards/zeix/singa/kohaku/keyboard.json @@ -0,0 +1,698 @@ +{ + "manufacturer": "SINGA", + "keyboard_name": "Kohaku", + "maintainer": "itsme-zeix", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "rgblight": true, + "bootmagic": true, + "extrakey": true, + "mousekey": true + }, + "indicators": { + "caps_lock": "GP29" + }, + "matrix_pins": { + "cols": ["GP7", "GP6", "GP5", "GP4", "GP3", "GP2", "GP1", "GP0"], + "rows": ["GP27", "GP28", "GP10", "GP11", "GP18", "GP19", "GP23", "GP24", "GP25", "GP26"] + }, + "processor": "RP2040", + "rgblight": { + "animations": { + "alternating": true, + "breathing": true, + "christmas": true, + "knight": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "static_gradient": true, + "twinkle": true + }, + "brightness_steps": 8, + "led_count": 28, + "saturation_steps": 8, + "sleep": true + }, + "usb": { + "device_version": "0.0.1", + "pid": "0x8888", + "vid": "0x4C27" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP20" + }, + "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": [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, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [3, 7], "x": 15, "y": 1}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2}, + {"matrix": [5, 6], "x": 13.75, "y": 2, "w": 1.25}, + {"matrix": [5, 7], "x": 15, "y": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [7, 7], "x": 15, "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, 2], "x": 3.75, "y": 4, "w": 2.75}, + {"matrix": [8, 3], "x": 6.5, "y": 4, "w": 1.25}, + {"matrix": [9, 4], "x": 7.75, "y": 4, "w": 2.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": 13, "y": 4}, + {"matrix": [9, 6], "x": 14, "y": 4}, + {"matrix": [9, 7], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker": { + "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": [0, 7], "x": 13, "y": 0, "w": 2}, + {"matrix": [1, 7], "x": 15, "y": 0}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [3, 7], "x": 15, "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": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [5, 7], "x": 15, "y": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [7, 7], "x": 15, "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": [8, 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": 13, "y": 4}, + {"matrix": [9, 6], "x": 14, "y": 4}, + {"matrix": [9, 7], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_split_bs": { + "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, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [3, 7], "x": 15, "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": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [5, 7], "x": 15, "y": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [7, 7], "x": 15, "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": [8, 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": 13, "y": 4}, + {"matrix": [9, 6], "x": 14, "y": 4}, + {"matrix": [9, 7], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_ansi_blocker_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [0, 7], "x": 13, "y": 0, "w": 2}, + {"matrix": [1, 7], "x": 15, "y": 0}, + {"matrix": [2, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [3, 7], "x": 15, "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": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [5, 7], "x": 15, "y": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [7, 7], "x": 15, "y": 3}, + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [9, 0], "x": 1.5, "y": 4, "w": 1}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [8, 6], "x": 13, "y": 4}, + {"matrix": [9, 6], "x": 14, "y": 4}, + {"matrix": [9, 7], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_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, "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, "w": 1.5}, + {"matrix": [3, 0], "x": 1.5, "y": 1}, + {"matrix": [2, 1], "x": 2.5, "y": 1}, + {"matrix": [3, 1], "x": 3.5, "y": 1}, + {"matrix": [2, 2], "x": 4.5, "y": 1}, + {"matrix": [3, 2], "x": 5.5, "y": 1}, + {"matrix": [2, 3], "x": 6.5, "y": 1}, + {"matrix": [3, 3], "x": 7.5, "y": 1}, + {"matrix": [2, 4], "x": 8.5, "y": 1}, + {"matrix": [3, 4], "x": 9.5, "y": 1}, + {"matrix": [2, 5], "x": 10.5, "y": 1}, + {"matrix": [3, 5], "x": 11.5, "y": 1}, + {"matrix": [2, 6], "x": 12.5, "y": 1}, + {"matrix": [3, 6], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [3, 7], "x": 15, "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": [5, 6], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [5, 7], "x": 15, "y": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [7, 7], "x": 15, "y": 3}, + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [9, 0], "x": 1.5, "y": 4, "w": 1}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [8, 6], "x": 13, "y": 4}, + {"matrix": [9, 6], "x": 14, "y": 4}, + {"matrix": [9, 7], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker": { + "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": [0, 7], "x": 13, "y": 0, "w": 2}, + {"matrix": [1, 7], "x": 15, "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": 15, "y": 1}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2}, + {"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [5, 7], "x": 15, "y": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [7, 7], "x": 15, "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": [8, 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": 13, "y": 4}, + {"matrix": [9, 6], "x": 14, "y": 4}, + {"matrix": [9, 7], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_split_bs": { + "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, "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": 15, "y": 1}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2}, + {"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [5, 7], "x": 15, "y": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [7, 7], "x": 15, "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": [8, 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": 13, "y": 4}, + {"matrix": [9, 6], "x": 14, "y": 4}, + {"matrix": [9, 7], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker_tsangan": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [1, 0], "x": 1, "y": 0}, + {"matrix": [0, 1], "x": 2, "y": 0}, + {"matrix": [1, 1], "x": 3, "y": 0}, + {"matrix": [0, 2], "x": 4, "y": 0}, + {"matrix": [1, 2], "x": 5, "y": 0}, + {"matrix": [0, 3], "x": 6, "y": 0}, + {"matrix": [1, 3], "x": 7, "y": 0}, + {"matrix": [0, 4], "x": 8, "y": 0}, + {"matrix": [1, 4], "x": 9, "y": 0}, + {"matrix": [0, 5], "x": 10, "y": 0}, + {"matrix": [1, 5], "x": 11, "y": 0}, + {"matrix": [0, 6], "x": 12, "y": 0}, + {"matrix": [0, 7], "x": 13, "y": 0, "w": 2}, + {"matrix": [1, 7], "x": 15, "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": 15, "y": 1}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2}, + {"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [5, 7], "x": 15, "y": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [7, 7], "x": 15, "y": 3}, + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [9, 0], "x": 1.5, "y": 4, "w": 1}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [8, 6], "x": 13, "y": 4}, + {"matrix": [9, 6], "x": 14, "y": 4}, + {"matrix": [9, 7], "x": 15, "y": 4} + ] + }, + "LAYOUT_65_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, "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, "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": 15, "y": 1}, + {"matrix": [4, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [5, 0], "x": 1.75, "y": 2}, + {"matrix": [4, 1], "x": 2.75, "y": 2}, + {"matrix": [5, 1], "x": 3.75, "y": 2}, + {"matrix": [4, 2], "x": 4.75, "y": 2}, + {"matrix": [5, 2], "x": 5.75, "y": 2}, + {"matrix": [4, 3], "x": 6.75, "y": 2}, + {"matrix": [5, 3], "x": 7.75, "y": 2}, + {"matrix": [4, 4], "x": 8.75, "y": 2}, + {"matrix": [5, 4], "x": 9.75, "y": 2}, + {"matrix": [4, 5], "x": 10.75, "y": 2}, + {"matrix": [5, 5], "x": 11.75, "y": 2}, + {"matrix": [4, 6], "x": 12.75, "y": 2}, + {"matrix": [5, 6], "x": 13.75, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [5, 7], "x": 15, "y": 2}, + {"matrix": [6, 0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [7, 0], "x": 1.25, "y": 3}, + {"matrix": [6, 1], "x": 2.25, "y": 3}, + {"matrix": [7, 1], "x": 3.25, "y": 3}, + {"matrix": [6, 2], "x": 4.25, "y": 3}, + {"matrix": [7, 2], "x": 5.25, "y": 3}, + {"matrix": [6, 3], "x": 6.25, "y": 3}, + {"matrix": [7, 3], "x": 7.25, "y": 3}, + {"matrix": [6, 4], "x": 8.25, "y": 3}, + {"matrix": [7, 4], "x": 9.25, "y": 3}, + {"matrix": [6, 5], "x": 10.25, "y": 3}, + {"matrix": [7, 5], "x": 11.25, "y": 3}, + {"matrix": [6, 6], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [7, 6], "x": 14, "y": 3}, + {"matrix": [7, 7], "x": 15, "y": 3}, + {"matrix": [8, 0], "x": 0, "y": 4, "w": 1.5}, + {"matrix": [9, 0], "x": 1.5, "y": 4, "w": 1}, + {"matrix": [8, 1], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [8, 3], "x": 4, "y": 4, "w": 7}, + {"matrix": [8, 5], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [8, 6], "x": 13, "y": 4}, + {"matrix": [9, 6], "x": 14, "y": 4}, + {"matrix": [9, 7], "x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/zeix/singa/kohaku/keymaps/default/keymap.c b/keyboards/zeix/singa/kohaku/keymaps/default/keymap.c new file mode 100644 index 00000000000..e58dd0c18ae --- /dev/null +++ b/keyboards/zeix/singa/kohaku/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +/* +Copyright 2024 zeix (@itsme-zeix) + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[0] = LAYOUT_all( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_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_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, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT + ), + +[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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/zeix/singa/kohaku/matrix_diagram.md b/keyboards/zeix/singa/kohaku/matrix_diagram.md new file mode 100644 index 00000000000..79cd5d07845 --- /dev/null +++ b/keyboards/zeix/singa/kohaku/matrix_diagram.md @@ -0,0 +1,30 @@ +# Matrix Diagram for Singa Kohaku (Designed by Zeix) + +``` + ┌───┬───┐ + Split Backspace │16 │07 │ + └───┴───┘ +┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐ +│00 │10 │01 │11 │02 │12 │03 │13 │04 │14 │05 │15 │06 │07 │17 │ +├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ ┌─────┐ +│20 │30 │21 │31 │22 │32 │23 │33 │24 │34 │25 │35 │26 │36 │37 │ │ │ +├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤ ┌──┴┐56 │ ISO Enter +│40 │50 │41 │51 │42 │52 │43 │53 │44 │54 │45 │55 │56 │57 │ │46 │ │ +├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤ └───┴────┘ +│60 │61 │71 │62 │72 │63 │73 │64 │74 │65 │75 │66 │76 │77 │ +├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤ +│80 │90 │81 │83 │95 │ │86 │96 │97 │ +└─────┴───┴─────┴───────────────────────────┴─────┘ └───┴───┴───┘ +┌────┬───┐ +│60 │70 │ Split Left Shift +└────┴───┘ +┌────┬────┬────┬────────────────────────┬────┬────┐ +│80 │90 │81 │83 │85 │95 │ 6.25u +└────┴────┴────┴────────────────────────┴────┴────┘ +┌────┬────┬────┬───────────┬────┬───────┬────┬────┐ +│80 │90 │81 │92 │83 │94 │85 │95 │ Split Space (Left 2.75u) +└────┴────┴────┴───────────┴────┴───────┴────┴────┘ +┌────┬────┬────┬───────┬────┬───────────┬────┬────┐ +│80 │90 │81 │92 │83 │94 │85 │95 │ Split Space (Left 2.25u) +└────┴────┴────┴───────┴────┴───────────┴────┴────┘ +``` diff --git a/keyboards/zeix/singa/kohaku/readme.md b/keyboards/zeix/singa/kohaku/readme.md new file mode 100644 index 00000000000..864f660e5c9 --- /dev/null +++ b/keyboards/zeix/singa/kohaku/readme.md @@ -0,0 +1,27 @@ +# SINGA Kohaku R2 (PCB designed by Zeix) + +![Layout Compatibility](https://i.imgur.com/2RaSZxG.png) + +65% PCB designed to support Kohaku R2. + +- Keyboard Maintainer: [Zeix](https://github.com/itsme-zeix) +- Hardware Supported: Singa Kohaku R2 (PCB designed by Zeix) +- Hardware Availability: https://singakbd.com/ + +Make example for this keyboard (after setting up your build environment): + + make zeix/singa/kohaku:default + +Flashing example for this keyboard: + + make zeix/singa/kohaku:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +- **Bootmagic reset**: Hold down the top left key and plug in the keyboard. +- **Physical reset button**: Briefly press the `RESET` button twice or short the 'USB_BOOT' and `GND` pads and plug in the keyboard. +- **Keycode in layout**: Press the key mapped to `QK_BOOT`. From e6daffce464a0ea288bee68b49f8c7605d464c1b Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 30 Oct 2024 05:16:59 +0000 Subject: [PATCH 64/66] Handle `cli._subcommand.__name__` deprecation warning (#24533) --- lib/python/qmk/decorators.py | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/lib/python/qmk/decorators.py b/lib/python/qmk/decorators.py index f6270990b97..16b44d6d591 100644 --- a/lib/python/qmk/decorators.py +++ b/lib/python/qmk/decorators.py @@ -9,6 +9,15 @@ from qmk.keyboard import find_keyboard_from_dir from qmk.keymap import find_keymap_from_dir +def _get_subcommand_name(): + """Handle missing cli.subcommand_name on older versions of milc + """ + try: + return cli.subcommand_name + except AttributeError: + return cli._subcommand.__name__ + + def automagic_keyboard(func): """Sets `cli.config..keyboard` based on environment. @@ -16,13 +25,15 @@ def automagic_keyboard(func): """ @functools.wraps(func) def wrapper(*args, **kwargs): + cmd = _get_subcommand_name() + # Ensure that `--keyboard` was not passed and CWD is under `qmk_firmware/keyboards` - if cli.config_source[cli._subcommand.__name__]['keyboard'] != 'argument': + if cli.config_source[cmd]['keyboard'] != 'argument': keyboard = find_keyboard_from_dir() if keyboard: - cli.config[cli._subcommand.__name__]['keyboard'] = keyboard - cli.config_source[cli._subcommand.__name__]['keyboard'] = 'keyboard_directory' + cli.config[cmd]['keyboard'] = keyboard + cli.config_source[cmd]['keyboard'] = 'keyboard_directory' return func(*args, **kwargs) @@ -36,13 +47,15 @@ def automagic_keymap(func): """ @functools.wraps(func) def wrapper(*args, **kwargs): + cmd = _get_subcommand_name() + # Ensure that `--keymap` was not passed and that we're under `qmk_firmware` - if cli.config_source[cli._subcommand.__name__]['keymap'] != 'argument': + if cli.config_source[cmd]['keymap'] != 'argument': keymap_name, keymap_type = find_keymap_from_dir() if keymap_name: - cli.config[cli._subcommand.__name__]['keymap'] = keymap_name - cli.config_source[cli._subcommand.__name__]['keymap'] = keymap_type + cli.config[cmd]['keymap'] = keymap_name + cli.config_source[cmd]['keymap'] = keymap_type return func(*args, **kwargs) From 6693a30671a5bb690e395cf64c8a0a949123f401 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 30 Oct 2024 05:43:31 +0000 Subject: [PATCH 65/66] Remove `appdirs` from `requirements.txt` (#24550) --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 6bee7463243..fbee51ee575 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ # Python requirements -appdirs +# platformdirs argcomplete colorama dotty-dict From 465cbc87de0f9e92663cf4bb1a5e89739dbb5904 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 30 Oct 2024 11:26:53 +0000 Subject: [PATCH 66/66] Handle 'MILCInterface' object has no attribute 'log_level' error (#24549) --- lib/python/qmk/search.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/python/qmk/search.py b/lib/python/qmk/search.py index 25e3d92066d..6517bb4951d 100644 --- a/lib/python/qmk/search.py +++ b/lib/python/qmk/search.py @@ -119,8 +119,11 @@ def filter_help() -> str: def _set_log_level(level): cli.acquire_lock() - old = cli.log_level - cli.log_level = level + try: + old = cli.log_level + cli.log_level = level + except AttributeError: + old = cli.log.level cli.log.setLevel(level) logging.root.setLevel(level) cli.release_lock()