summaryrefslogtreecommitdiff
path: root/keyboards
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards')
-rw-r--r--keyboards/1k/keymaps/default/rgblite.h4
-rw-r--r--keyboards/25keys/zinc/rev1/post_config.h20
-rw-r--r--keyboards/25keys/zinc/reva/post_config.h20
-rw-r--r--keyboards/40percentclub/gherkin/keymaps/talljoe-gherkin/config.h3
-rw-r--r--keyboards/40percentclub/nano/keymaps/spooka/rules.mk1
-rw-r--r--keyboards/acheron/themis/87h/config.h2
-rw-r--r--keyboards/acheron/themis/87h/info.json3
-rw-r--r--keyboards/acheron/themis/87htsc/config.h2
-rw-r--r--keyboards/acheron/themis/87htsc/info.json3
-rw-r--r--keyboards/acheron/themis/88htsc/config.h2
-rw-r--r--keyboards/acheron/themis/88htsc/info.json3
-rw-r--r--keyboards/aeboards/ext65/rev2/rev2.c50
-rw-r--r--keyboards/arabica37/keymaps/default/config.h4
-rw-r--r--keyboards/aya/keymaps/default/config.h18
-rw-r--r--keyboards/bastardkb/dilemma/3x5_3/3x5_3.c132
-rw-r--r--keyboards/bastardkb/dilemma/3x5_3/config.h22
-rw-r--r--keyboards/bastardkb/dilemma/3x5_3/halconf.h1
-rw-r--r--keyboards/bastardkb/dilemma/3x5_3/info.json178
-rw-r--r--keyboards/bastardkb/dilemma/3x5_3/keymaps/bstiq/config.h64
-rw-r--r--keyboards/bastardkb/dilemma/3x5_3/keymaps/default/keymap.c24
-rw-r--r--keyboards/bastardkb/dilemma/3x5_3/keymaps/via/config.h (renamed from keyboards/rominronin/katana60/rev1/keymaps/msiu/config.h)10
-rw-r--r--keyboards/bastardkb/dilemma/3x5_3/keymaps/via/keymap.c170
-rw-r--r--keyboards/bastardkb/dilemma/3x5_3/keymaps/via/readme.md47
-rw-r--r--keyboards/bastardkb/dilemma/3x5_3/keymaps/via/rules.mk2
-rw-r--r--keyboards/bastardkb/dilemma/3x5_3/mcuconf.h7
-rw-r--r--keyboards/bastardkb/dilemma/3x5_3/readme.md4
-rw-r--r--keyboards/bastardkb/dilemma/3x5_3/rules.mk20
-rw-r--r--keyboards/bastardkb/dilemma/config.h3
-rw-r--r--keyboards/biacco42/ergo42/keymaps/default-underglow/config.h4
-rw-r--r--keyboards/biacco42/meishi2/keymaps/moc/config.h19
-rw-r--r--keyboards/boardwalk/keymaps/brendanwr/config.h16
-rw-r--r--keyboards/converter/ibm_terminal/keymaps/priyadi/config.h3
-rw-r--r--keyboards/cutie_club/wraith/keymaps/amber/config.h19
-rw-r--r--keyboards/dm9records/ergoinu/config.h2
-rw-r--r--keyboards/dm9records/plaid/keymaps/brickbots/config.h19
-rw-r--r--keyboards/dm9records/plaid/keymaps/stephen-huan/config.h19
-rw-r--r--keyboards/dm9records/plaid/keymaps/thehalfdeafchef/config.h19
-rw-r--r--keyboards/dp60/keymaps/indicator/indicator.c12
-rw-r--r--keyboards/dp60/keymaps/indicator/rules.mk2
-rw-r--r--keyboards/duck/jetfire/indicator_leds.h2
-rw-r--r--keyboards/duck/jetfire/jetfire.c8
-rw-r--r--keyboards/dumbpad/v1x_oled/v1x_oled.c32
-rw-r--r--keyboards/era/klein/config.h27
-rw-r--r--keyboards/era/klein/info.json590
-rw-r--r--keyboards/era/klein/keymaps/default/keymap.c23
-rw-r--r--keyboards/era/klein/keymaps/via/keymap.c23
-rw-r--r--keyboards/era/klein/readme.md23
-rw-r--r--keyboards/ergodox_ez/led_i2c.c8
-rw-r--r--keyboards/ergodox_ez/post_config.h4
-rw-r--r--keyboards/ergodox_ez/shine/info.json3
-rw-r--r--keyboards/ergodox_ez/shine/rules.mk1
-rw-r--r--keyboards/ergotravel/keymaps/default/config.h4
-rw-r--r--keyboards/ergotravel/keymaps/via/config.h4
-rw-r--r--keyboards/fc660c/keymaps/default_rgb/config.h2
-rw-r--r--keyboards/fc660c/keymaps/siroleo/config.h19
-rw-r--r--keyboards/fc660c/keymaps/via_rgb/config.h2
-rw-r--r--keyboards/fleuron/keymaps/dollartacos/config.h18
-rw-r--r--keyboards/fortitude60/keymaps/default/config.h18
-rw-r--r--keyboards/fortitude60/keymaps/via/config.h18
-rw-r--r--keyboards/foxlab/key65/universal/readme.md2
-rw-r--r--keyboards/gboards/gergo/keymaps/default/config.h2
-rw-r--r--keyboards/gboards/gergo/keymaps/germ/config.h2
-rw-r--r--keyboards/gboards/gergo/keymaps/gotham/config.h2
-rw-r--r--keyboards/geonworks/ee_at/ee_at.c (renamed from keyboards/converter/numeric_keypad_iie/keymaps/newbold/config.h)17
-rw-r--r--keyboards/geonworks/ee_at/info.json499
-rw-r--r--keyboards/geonworks/ee_at/keymaps/default/keymap.c32
-rw-r--r--keyboards/geonworks/ee_at/keymaps/via/keymap.c32
-rw-r--r--keyboards/geonworks/ee_at/keymaps/via/rules.mk (renamed from keyboards/laser_ninja/pumpkin_pad/keymaps/via/rules.mk)0
-rw-r--r--keyboards/geonworks/ee_at/matrix_diagram.md21
-rw-r--r--keyboards/geonworks/ee_at/readme.md32
-rw-r--r--keyboards/geonworks/ee_at/rules.mk2
-rw-r--r--keyboards/geonworks/w1_at/info.json (renamed from keyboards/w1_at/info.json)112
-rw-r--r--keyboards/geonworks/w1_at/keymaps/default/keymap.c (renamed from keyboards/w1_at/keymaps/default/keymap.c)2
-rw-r--r--keyboards/geonworks/w1_at/keymaps/via/keymap.c (renamed from keyboards/w1_at/keymaps/via/keymap.c)0
-rw-r--r--keyboards/geonworks/w1_at/keymaps/via/rules.mk (renamed from keyboards/lefty/keymaps/via/rules.mk)0
-rw-r--r--keyboards/geonworks/w1_at/keymaps/zq/keymap.c (renamed from keyboards/w1_at/keymaps/zq/keymap.c)0
-rw-r--r--keyboards/geonworks/w1_at/keymaps/zq/readme.md (renamed from keyboards/w1_at/keymaps/zq/readme.md)0
-rw-r--r--keyboards/geonworks/w1_at/keymaps/zq/rules.mk (renamed from keyboards/era/klein/keymaps/via/rules.mk)0
-rw-r--r--keyboards/geonworks/w1_at/matrix_diagram.md (renamed from keyboards/w1_at/matrix_diagram.md)0
-rw-r--r--keyboards/geonworks/w1_at/readme.md (renamed from keyboards/w1_at/readme.md)6
-rw-r--r--keyboards/geonworks/w1_at/rules.mk2
-rw-r--r--keyboards/geonworks/w1_at/w1_at.c (renamed from keyboards/w1_at/w1_at.c)14
-rw-r--r--keyboards/giabalanai/keymaps/default_giabarinaix2/config.h4
-rw-r--r--keyboards/giabalanai/keymaps/via_giabarinaix2/config.h4
-rw-r--r--keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h4
-rw-r--r--keyboards/hadron/ver3/keymaps/sebaslayout/config.h1
-rw-r--r--keyboards/handwired/6macro/keymaps/default/config.h18
-rw-r--r--keyboards/handwired/6macro/keymaps/osu/config.h18
-rw-r--r--keyboards/handwired/chiron/keymaps/default/config.h4
-rw-r--r--keyboards/handwired/freoduo/keymaps/default/keymap.c2
-rw-r--r--keyboards/handwired/hnah40rgb/keymaps/default/config.h17
-rw-r--r--keyboards/handwired/obuwunkunubi/spaget/keymaps/default/rules.mk1
-rw-r--r--keyboards/handwired/onekey/keymaps/apa102/config.h2
-rw-r--r--keyboards/handwired/onekey/keymaps/dip_switch_map/config.h6
-rw-r--r--keyboards/handwired/onekey/keymaps/dip_switch_map/keymap.c14
-rw-r--r--keyboards/handwired/onekey/keymaps/dip_switch_map/rules.mk2
-rw-r--r--keyboards/handwired/steamvan/keymaps/jmdaly/config.h3
-rw-r--r--keyboards/handwired/ziyoulang_k3_mod/config.h8
-rw-r--r--keyboards/handwired/ziyoulang_k3_mod/halconf.h (renamed from keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/config.h)5
-rw-r--r--keyboards/handwired/ziyoulang_k3_mod/info.json18
-rw-r--r--keyboards/handwired/ziyoulang_k3_mod/keymaps/via/rules.mk2
-rw-r--r--keyboards/handwired/ziyoulang_k3_mod/mcuconf.h22
-rw-r--r--keyboards/handwired/ziyoulang_k3_mod/readme.md2
-rw-r--r--keyboards/handwired/ziyoulang_k3_mod/ziyoulang_k3_mod.c117
-rw-r--r--keyboards/helix/pico/config.h8
-rw-r--r--keyboards/helix/rev2/config.h8
-rw-r--r--keyboards/hineybush/hbcp/hbcp.c2
-rw-r--r--keyboards/horrortroll/lemon40/lemon40.c27
-rw-r--r--keyboards/ibm/model_m/mschwingen/mschwingen.c10
-rw-r--r--keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/config.h19
-rw-r--r--keyboards/ibm/model_m_122/ibm122m/keymaps/default/config.h19
-rw-r--r--keyboards/ibm/model_m_122/ibm122m/keymaps/lukaus/config.h19
-rw-r--r--keyboards/idobao/id75/keymaps/revok75/config.h15
-rw-r--r--keyboards/idobao/id75/keymaps/revok75/rules.mk14
-rw-r--r--keyboards/idobao/id75/keymaps/xaceofspaidsx/config.h19
-rw-r--r--keyboards/input_club/k_type/is31fl3733-dual.c56
-rw-r--r--keyboards/input_club/k_type/is31fl3733-dual.h1
-rw-r--r--keyboards/input_club/k_type/keymaps/andrew-fahmy/config.h36
-rw-r--r--keyboards/jc65/v32u4/keymaps/coth/config.h1
-rw-r--r--keyboards/jc65/v32u4/keymaps/dead_encryption/config.h1
-rw-r--r--keyboards/jc65/v32u4/keymaps/jetpacktuxedo/config.h1
-rw-r--r--keyboards/jc65/v32u4/keymaps/na7thana/config.h1
-rw-r--r--keyboards/jian/keymaps/default/config.h20
-rw-r--r--keyboards/jian/keymaps/left_hand/config.h21
-rw-r--r--keyboards/jian/keymaps/via/config.h21
-rw-r--r--keyboards/jian/nsrev2/config.h4
-rw-r--r--keyboards/jian/rev1/post_config.h4
-rw-r--r--keyboards/jian/rev2/post_config.h4
-rw-r--r--keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/config.h19
-rw-r--r--keyboards/kapcave/gskt00/keymaps/default-poly/config.h2
-rw-r--r--keyboards/kapl/keymaps/default/config.h3
-rw-r--r--keyboards/kapl/keymaps/via/config.h3
-rw-r--r--keyboards/karn/info.json60
-rw-r--r--keyboards/karn/keymaps/colemak/keymap.c24
-rw-r--r--keyboards/karn/keymaps/default/keymap.c26
-rw-r--r--keyboards/kbdfans/kbd67/rev1/keymaps/koba/config.h17
-rw-r--r--keyboards/kbdfans/kbd67/rev1/keymaps/martinffx/config.h19
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keymaps/koba/config.h17
-rw-r--r--keyboards/kbdfans/kbd67/rev2/keymaps/rouge8/config.h19
-rw-r--r--keyboards/kbdfans/niu_mini/keymaps/planck/rules.mk1
-rw-r--r--keyboards/kc60/mod_rgb_underglow.md4
-rw-r--r--keyboards/keebio/dilly/keymaps/default/config.h1
-rw-r--r--keyboards/keebio/fourier/keymaps/maxim/config.h23
-rw-r--r--keyboards/keebio/quefrency/keymaps/default60/config.h22
-rw-r--r--keyboards/keebio/quefrency/keymaps/joestrong/config.h22
-rw-r--r--keyboards/keebio/quefrency/keymaps/rogthefrog/config.h23
-rw-r--r--keyboards/keebio/quefrency/keymaps/unausgeschlafen/config.h22
-rw-r--r--keyboards/keebio/quefrency/keymaps/yoryer/config.h22
-rw-r--r--keyboards/keebio/viterbi/keymaps/default/config.h4
-rw-r--r--keyboards/keyboardio/model01/keymaps/tw1t611/config.h19
-rw-r--r--keyboards/keycapsss/plaid_pad/keymaps/default/keymap.c42
-rw-r--r--keyboards/keycapsss/plaid_pad/keymaps/default/rules.mk1
-rw-r--r--keyboards/keycapsss/plaid_pad/keymaps/oled/keymap.c102
-rw-r--r--keyboards/keycapsss/plaid_pad/keymaps/oled/rules.mk1
-rw-r--r--keyboards/keycapsss/plaid_pad/keymaps/via/keymap.c61
-rw-r--r--keyboards/keycapsss/plaid_pad/keymaps/via/rules.mk1
-rw-r--r--keyboards/keyhive/ut472/keymaps/annihilator6000/config.h19
-rw-r--r--keyboards/kinesis/keymaps/tw1t611/config.h3
-rw-r--r--keyboards/kudox/columner/keymaps/default/config.h17
-rw-r--r--keyboards/kudox/rev1/keymaps/default/config.h17
-rw-r--r--keyboards/kudox/rev1/keymaps/jis/config.h17
-rw-r--r--keyboards/kudox/rev1/keymaps/x1/config.h17
-rw-r--r--keyboards/kudox/rev2/keymaps/default/config.h17
-rw-r--r--keyboards/kudox/rev2/keymaps/jis/config.h17
-rw-r--r--keyboards/kudox_game/keymaps/default/config.h18
-rw-r--r--keyboards/laser_ninja/pumpkinpad/config.h (renamed from keyboards/laser_ninja/pumpkin_pad/config.h)0
-rw-r--r--keyboards/laser_ninja/pumpkinpad/info.json (renamed from keyboards/laser_ninja/pumpkin_pad/info.json)2
-rw-r--r--keyboards/laser_ninja/pumpkinpad/keymaps/default/keymap.c (renamed from keyboards/laser_ninja/pumpkin_pad/keymaps/default/keymap.c)0
-rw-r--r--keyboards/laser_ninja/pumpkinpad/keymaps/via/keymap.c (renamed from keyboards/laser_ninja/pumpkin_pad/keymaps/via/keymap.c)0
-rw-r--r--keyboards/laser_ninja/pumpkinpad/keymaps/via/rules.mk (renamed from keyboards/pw88/keymaps/via/rules.mk)0
-rw-r--r--keyboards/laser_ninja/pumpkinpad/readme.md (renamed from keyboards/laser_ninja/pumpkin_pad/readme.md)10
-rw-r--r--keyboards/laser_ninja/pumpkinpad/rules.mk (renamed from keyboards/laser_ninja/pumpkin_pad/rules.mk)0
-rw-r--r--keyboards/lefty/rev2/rules.mk0
-rw-r--r--keyboards/lets_split/keymaps/via/config.h4
-rw-r--r--keyboards/lily58/keymaps/default/config.h8
-rw-r--r--keyboards/lily58/keymaps/via/config.h4
-rw-r--r--keyboards/lime/rev1/rev1.c62
-rw-r--r--keyboards/majistic/keymaps/default/config.h17
-rw-r--r--keyboards/maple_computing/launchpad/keymaps/default_rgb/config.h2
-rw-r--r--keyboards/maple_computing/lets_split_eh/keymaps/doxish_dvorak/config.h21
-rw-r--r--keyboards/maple_computing/lets_split_eh/keymaps/mikethetiger/config.h23
-rw-r--r--keyboards/maple_computing/lets_split_eh/keymaps/msiu/config.h21
-rw-r--r--keyboards/marksard/treadstone48/rev1/config.h4
-rw-r--r--keyboards/matrix/abelx/abelx.c7
-rw-r--r--keyboards/matrix/abelx/info.json1
-rw-r--r--keyboards/matrix/abelx/rules.mk1
-rw-r--r--keyboards/matrix/m20add/info.json1
-rw-r--r--keyboards/matrix/m20add/rgb_ring.c6
-rw-r--r--keyboards/matrix/noah/noah.c37
-rw-r--r--keyboards/mechwild/mercutio/keymaps/default/config.h17
-rw-r--r--keyboards/mechwild/mercutio/keymaps/fancy/config.h17
-rw-r--r--keyboards/mechwild/mercutio/keymaps/via/config.h17
-rw-r--r--keyboards/miiiw/blackio83/rev_0100/config.h1
-rw-r--r--keyboards/miiiw/blackio83/rev_0100/rev_0100.c17
-rw-r--r--keyboards/mino_plus/mino_plus.c25
-rw-r--r--keyboards/mixi/keymaps/default/keymap.c6
-rw-r--r--keyboards/mixi/keymaps/via/keymap.c6
-rw-r--r--keyboards/mlego/m48/keymaps/default/keymap.c8
-rw-r--r--keyboards/mlego/m48/keymaps/via/keymap.c8
-rw-r--r--keyboards/mlego/m60/keymaps/default/keymap.c8
-rw-r--r--keyboards/mlego/m60/keymaps/via/keymap.c8
-rw-r--r--keyboards/mlego/m60_split/keymaps/default/keymap.c8
-rw-r--r--keyboards/mlego/m60_split/keymaps/via/keymap.c8
-rw-r--r--keyboards/mlego/m65/m65.c8
-rw-r--r--keyboards/monstargear/xo87/rgb/keymaps/default/config.h16
-rw-r--r--keyboards/monstargear/xo87/solderable/solderable.h4
-rw-r--r--keyboards/neson_design/700e/700e.c7
-rw-r--r--keyboards/neson_design/700e/info.json1
-rw-r--r--keyboards/neson_design/700e/rules.mk1
-rw-r--r--keyboards/neson_design/n6/info.json1
-rw-r--r--keyboards/neson_design/n6/n6.c7
-rw-r--r--keyboards/neson_design/n6/rules.mk1
-rw-r--r--keyboards/neson_design/nico/info.json3
-rw-r--r--keyboards/neson_design/nico/nico.c12
-rw-r--r--keyboards/neson_design/nico/rules.mk2
-rw-r--r--keyboards/newgame40/post_config.h4
-rw-r--r--keyboards/nullbitsco/nibble/keymaps/via/keymap.c2
-rw-r--r--keyboards/pico/65keys/keymaps/default/config.h18
-rw-r--r--keyboards/pico/65keys/keymaps/jis/config.h18
-rw-r--r--keyboards/planck/keymaps/dsanchezseco/rules.mk1
-rw-r--r--keyboards/planck/keymaps/mitch/rules.mk0
-rw-r--r--keyboards/planck/keymaps/motform/config.h1
-rw-r--r--keyboards/planck/keymaps/vxid/config.h1
-rw-r--r--keyboards/projectcain/vault35/atmega32u4/info.json45
-rw-r--r--keyboards/projectcain/vault35/atmega32u4/rules.mk1
-rw-r--r--keyboards/projectcain/vault35/info.json113
-rw-r--r--keyboards/projectcain/vault35/keymaps/default/keymap.c39
-rw-r--r--keyboards/projectcain/vault35/keymaps/default/rules.mk3
-rw-r--r--keyboards/projectcain/vault35/rules.mk14
-rw-r--r--keyboards/rabbit/rabbit68/keymaps/kaiec/config.h19
-rw-r--r--keyboards/recompile_keys/choco60/config.h18
-rw-r--r--keyboards/redox/keymaps/default/config.h4
-rw-r--r--keyboards/redox/keymaps/via/config.h4
-rw-r--r--keyboards/reviung/reviung34/keymaps/default_rgb/config.h2
-rw-r--r--keyboards/reviung/reviung34/keymaps/default_rgb2u/config.h2
-rw-r--r--keyboards/reviung/reviung39/keymaps/default/config.h2
-rw-r--r--keyboards/reviung/reviung39/keymaps/default_s/config.h2
-rw-r--r--keyboards/reviung/reviung39/keymaps/default_s/readme.md2
-rw-r--r--keyboards/reviung/reviung61/keymaps/default_rgb/config.h2
-rw-r--r--keyboards/rgbkb/sol/keymaps/brianweyer/config.h25
-rw-r--r--keyboards/rgbkb/sol/keymaps/danielhklein/config.h25
-rw-r--r--keyboards/rgbkb/sol/rev1/config.h6
-rw-r--r--keyboards/rgbkb/sol/rev2/config.h14
-rw-r--r--keyboards/rgbkb/zen/rev1/keymaps/default/config.h4
-rw-r--r--keyboards/rgbkb/zygomorph/rev1/config.h4
-rw-r--r--keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/config.h19
-rw-r--r--keyboards/rura66/rev1/oled_display.c141
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/config.h6
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/config.h6
-rw-r--r--keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h4
-rw-r--r--keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/config.h2
-rw-r--r--keyboards/silverbullet44/config.h2
-rw-r--r--keyboards/sirius/unigo66/keymaps/danielhklein/config.h3
-rw-r--r--keyboards/smithrune/iron180/info.json2
-rw-r--r--keyboards/smithrune/iron180v2/readme.md27
-rw-r--r--keyboards/smithrune/iron180v2/v2h/config.h (renamed from keyboards/keebio/quefrency/keymaps/default65/config.h)13
-rw-r--r--keyboards/smithrune/iron180v2/v2h/info.json674
-rwxr-xr-xkeyboards/smithrune/iron180v2/v2h/keymaps/default/keymap.c37
-rwxr-xr-xkeyboards/smithrune/iron180v2/v2h/keymaps/via/keymap.c37
-rw-r--r--keyboards/smithrune/iron180v2/v2h/keymaps/via/rules.mk (renamed from keyboards/w1_at/keymaps/via/rules.mk)0
-rw-r--r--keyboards/smithrune/iron180v2/v2h/matrix_diagram.md24
-rw-r--r--keyboards/smithrune/iron180v2/v2h/rules.mk1
-rw-r--r--keyboards/smithrune/iron180v2/v2s/config.h (renamed from keyboards/projectcain/vault35/config.h)12
-rw-r--r--keyboards/smithrune/iron180v2/v2s/halconf.h (renamed from keyboards/era/klein/halconf.h)9
-rw-r--r--keyboards/smithrune/iron180v2/v2s/info.json1432
-rwxr-xr-xkeyboards/smithrune/iron180v2/v2s/keymaps/default/keymap.c37
-rwxr-xr-xkeyboards/smithrune/iron180v2/v2s/keymaps/via/keymap.c37
-rw-r--r--keyboards/smithrune/iron180v2/v2s/keymaps/via/rules.mk1
-rw-r--r--keyboards/smithrune/iron180v2/v2s/matrix_diagram.md24
-rw-r--r--keyboards/smithrune/iron180v2/v2s/mcuconf.h (renamed from keyboards/era/klein/mcuconf.h)6
-rw-r--r--keyboards/smithrune/iron180v2/v2s/rules.mk1
-rw-r--r--keyboards/smoll/lefty/config.h (renamed from keyboards/lefty/config.h)0
-rw-r--r--keyboards/smoll/lefty/info.json (renamed from keyboards/lefty/info.json)0
-rw-r--r--keyboards/smoll/lefty/keymaps/default/keymap.c (renamed from keyboards/lefty/keymaps/default/keymap.c)0
-rw-r--r--keyboards/smoll/lefty/keymaps/via/keymap.c (renamed from keyboards/lefty/keymaps/via/keymap.c)0
-rw-r--r--keyboards/smoll/lefty/keymaps/via/rules.mk1
-rw-r--r--keyboards/smoll/lefty/lefty.c (renamed from keyboards/lefty/lefty.c)0
-rw-r--r--keyboards/smoll/lefty/readme.md (renamed from keyboards/lefty/readme.md)0
-rw-r--r--keyboards/smoll/lefty/rev1/info.json (renamed from keyboards/lefty/rev1/info.json)0
-rw-r--r--keyboards/smoll/lefty/rev1/rules.mk (renamed from keyboards/era/klein/rules.mk)0
-rw-r--r--keyboards/smoll/lefty/rev2/info.json (renamed from keyboards/lefty/rev2/info.json)0
-rw-r--r--keyboards/smoll/lefty/rev2/rules.mk (renamed from keyboards/lefty/rev1/rules.mk)0
-rw-r--r--keyboards/smoll/lefty/rules.mk (renamed from keyboards/lefty/rules.mk)2
-rw-r--r--keyboards/smoll/pw88/config.h (renamed from keyboards/pw88/config.h)0
-rw-r--r--keyboards/smoll/pw88/info.json (renamed from keyboards/pw88/info.json)0
-rw-r--r--keyboards/smoll/pw88/keymaps/default/keymap.c (renamed from keyboards/pw88/keymaps/default/keymap.c)0
-rw-r--r--keyboards/smoll/pw88/keymaps/via/keymap.c (renamed from keyboards/pw88/keymaps/via/keymap.c)0
-rw-r--r--keyboards/smoll/pw88/keymaps/via/rules.mk1
-rw-r--r--keyboards/smoll/pw88/readme.md (renamed from keyboards/pw88/readme.md)0
-rw-r--r--keyboards/smoll/pw88/rules.mk (renamed from keyboards/pw88/rules.mk)0
-rw-r--r--keyboards/snes_macropad/snes_macropad.c2
-rw-r--r--keyboards/sofle/keymaps/default/config.h6
-rw-r--r--keyboards/sofle/keymaps/rgb_default/config.h12
-rw-r--r--keyboards/sofle/keymaps/via/config.h4
-rw-r--r--keyboards/stront/config.h2
-rw-r--r--keyboards/sx60/keymaps/amnobis/config.h1
-rw-r--r--keyboards/tada68/keymaps/iso-nor/config.h1
-rwxr-xr-xkeyboards/tada68/keymaps/laas/config.h1
-rw-r--r--keyboards/tada68/keymaps/peippo/config.h1
-rw-r--r--keyboards/takashiski/namecard2x4/keymaps/brainfuck/config.h19
-rw-r--r--keyboards/thevankeyboards/caravan/keymaps/default/config.h1
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/mikethetiger/config.h3
-rw-r--r--keyboards/tunks/ergo33/keymaps/default/config.h2
-rw-r--r--keyboards/unikeyboard/diverge3/keymaps/workman/rules.mk1
-rw-r--r--keyboards/unison/keymaps/via/config.h4
-rw-r--r--keyboards/v60_type_r/info.json16
-rw-r--r--keyboards/v60_type_r/rules.mk2
-rw-r--r--keyboards/v60_type_r/v60_type_r.c14
-rw-r--r--keyboards/w1_at/config.h21
-rw-r--r--keyboards/w1_at/keymaps/default/readme.md9
-rw-r--r--keyboards/w1_at/keymaps/via/readme.md9
-rw-r--r--keyboards/w1_at/keymaps/zq/rules.mk1
-rw-r--r--keyboards/w1_at/rules.mk15
-rw-r--r--keyboards/westfoxtrot/cyclops/keymaps/peippo/config.h19
-rw-r--r--keyboards/work_louder/loop/info.json1
-rw-r--r--keyboards/work_louder/micro/info.json1
-rw-r--r--keyboards/work_louder/nano/info.json1
-rw-r--r--keyboards/work_louder/numpad/info.json1
-rw-r--r--keyboards/work_louder/rgb_functions.c6
-rw-r--r--keyboards/work_louder/work_board/info.json1
-rw-r--r--keyboards/xiudi/xd75/keymaps/boy_314/config.h1
-rw-r--r--keyboards/xiudi/xd75/keymaps/bulbizarre/config.h19
-rw-r--r--keyboards/xiudi/xd75/keymaps/c4software_bepo/config.h19
-rw-r--r--keyboards/xiudi/xd75/keymaps/c4software_bepo/rules.mk14
-rw-r--r--keyboards/xiudi/xd75/keymaps/developper_bepo/config.h19
-rw-r--r--keyboards/xiudi/xd75/keymaps/developper_bepo/rules.mk14
-rw-r--r--keyboards/xiudi/xd75/keymaps/dyn_macro_tap_dance/config.h19
-rw-r--r--keyboards/xiudi/xd75/keymaps/fabian/config.h19
-rw-r--r--keyboards/xiudi/xd75/keymaps/french/config.h19
-rw-r--r--keyboards/xiudi/xd75/keymaps/kloki/config.h19
-rw-r--r--keyboards/xiudi/xd75/keymaps/kloki/rules.mk15
-rw-r--r--keyboards/xiudi/xd75/keymaps/msiu/config.h18
-rw-r--r--keyboards/xiudi/xd75/keymaps/pitty/config.h19
-rw-r--r--keyboards/xiudi/xd75/keymaps/pitty/rules.mk15
-rw-r--r--keyboards/xiudi/xd75/keymaps/skewwhiffy/rules.mk15
-rw-r--r--keyboards/yosino58/keymaps/default/config.h4
336 files changed, 4426 insertions, 3291 deletions
diff --git a/keyboards/1k/keymaps/default/rgblite.h b/keyboards/1k/keymaps/default/rgblite.h
index 29d684ac08..9a7761e30d 100644
--- a/keyboards/1k/keymaps/default/rgblite.h
+++ b/keyboards/1k/keymaps/default/rgblite.h
@@ -7,8 +7,8 @@
#include "color.h"
static inline void rgblite_setrgb(RGB rgb) {
- rgb_led_t leds[RGBLED_NUM] = {{.r = rgb.r, .g = rgb.g, .b = rgb.b}};
- ws2812_setleds(leds, RGBLED_NUM);
+ rgb_led_t leds[RGBLIGHT_LED_COUNT] = {{.r = rgb.r, .g = rgb.g, .b = rgb.b}};
+ ws2812_setleds(leds, RGBLIGHT_LED_COUNT);
}
static void rgblite_increase_hue(void) {
diff --git a/keyboards/25keys/zinc/rev1/post_config.h b/keyboards/25keys/zinc/rev1/post_config.h
index 3d51de9e4c..42d2d7e46c 100644
--- a/keyboards/25keys/zinc/rev1/post_config.h
+++ b/keyboards/25keys/zinc/rev1/post_config.h
@@ -24,35 +24,35 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_SPLIT
#ifdef RGBLED_BACK
#ifdef RGBLED_CONT
- #define RGBLED_NUM 48
+ #define RGBLIGHT_LED_COUNT 48
#define RGBLED_SPLIT { 24, 24 }
#else
- #define RGBLED_NUM 24
+ #define RGBLIGHT_LED_COUNT 24
#endif
#else
#ifdef RGBLED_BOTH
#ifdef RGBLED_CONT
- #define RGBLED_NUM 60
+ #define RGBLIGHT_LED_COUNT 60
#define RGBLED_SPLIT { 30, 30 }
#else
- #define RGBLED_NUM 30
+ #define RGBLIGHT_LED_COUNT 30
#endif
#else
#ifdef RGBLED_CONT
- #define RGBLED_NUM 12
+ #define RGBLIGHT_LED_COUNT 12
#define RGBLED_SPLIT { 6, 6 }
#else
- #define RGBLED_NUM 6
+ #define RGBLIGHT_LED_COUNT 6
#endif
#endif
#endif
#endif
#ifndef IOS_DEVICE_ENABLE
- #if (RGBLED_NUM <= 6) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 12))
+ #if (RGBLIGHT_LED_COUNT <= 6) || (defined(RGBLED_CONT) && (RGBLIGHT_LED_COUNT <= 12))
#define RGBLIGHT_LIMIT_VAL 255
#else
- #if (RGBLED_NUM <= 16) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 32))
+ #if (RGBLIGHT_LED_COUNT <= 16) || (defined(RGBLED_CONT) && (RGBLIGHT_LED_COUNT <= 32))
#define RGBLIGHT_LIMIT_VAL 130
#else
#define RGBLIGHT_LIMIT_VAL 120
@@ -60,10 +60,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#endif
#define RGBLIGHT_VAL_STEP 17
#else
- #if (RGBLED_NUM <= 6) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 12))
+ #if (RGBLIGHT_LED_COUNT <= 6) || (defined(RGBLED_CONT) && (RGBLIGHT_LED_COUNT <= 12))
#define RGBLIGHT_LIMIT_VAL 90
#else
- #if (RGBLED_NUM <= 16) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 32))
+ #if (RGBLIGHT_LED_COUNT <= 16) || (defined(RGBLED_CONT) && (RGBLIGHT_LED_COUNT <= 32))
#define RGBLIGHT_LIMIT_VAL 45
#else
#define RGBLIGHT_LIMIT_VAL 35
diff --git a/keyboards/25keys/zinc/reva/post_config.h b/keyboards/25keys/zinc/reva/post_config.h
index 3d51de9e4c..42d2d7e46c 100644
--- a/keyboards/25keys/zinc/reva/post_config.h
+++ b/keyboards/25keys/zinc/reva/post_config.h
@@ -24,35 +24,35 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_SPLIT
#ifdef RGBLED_BACK
#ifdef RGBLED_CONT
- #define RGBLED_NUM 48
+ #define RGBLIGHT_LED_COUNT 48
#define RGBLED_SPLIT { 24, 24 }
#else
- #define RGBLED_NUM 24
+ #define RGBLIGHT_LED_COUNT 24
#endif
#else
#ifdef RGBLED_BOTH
#ifdef RGBLED_CONT
- #define RGBLED_NUM 60
+ #define RGBLIGHT_LED_COUNT 60
#define RGBLED_SPLIT { 30, 30 }
#else
- #define RGBLED_NUM 30
+ #define RGBLIGHT_LED_COUNT 30
#endif
#else
#ifdef RGBLED_CONT
- #define RGBLED_NUM 12
+ #define RGBLIGHT_LED_COUNT 12
#define RGBLED_SPLIT { 6, 6 }
#else
- #define RGBLED_NUM 6
+ #define RGBLIGHT_LED_COUNT 6
#endif
#endif
#endif
#endif
#ifndef IOS_DEVICE_ENABLE
- #if (RGBLED_NUM <= 6) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 12))
+ #if (RGBLIGHT_LED_COUNT <= 6) || (defined(RGBLED_CONT) && (RGBLIGHT_LED_COUNT <= 12))
#define RGBLIGHT_LIMIT_VAL 255
#else
- #if (RGBLED_NUM <= 16) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 32))
+ #if (RGBLIGHT_LED_COUNT <= 16) || (defined(RGBLED_CONT) && (RGBLIGHT_LED_COUNT <= 32))
#define RGBLIGHT_LIMIT_VAL 130
#else
#define RGBLIGHT_LIMIT_VAL 120
@@ -60,10 +60,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#endif
#define RGBLIGHT_VAL_STEP 17
#else
- #if (RGBLED_NUM <= 6) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 12))
+ #if (RGBLIGHT_LED_COUNT <= 6) || (defined(RGBLED_CONT) && (RGBLIGHT_LED_COUNT <= 12))
#define RGBLIGHT_LIMIT_VAL 90
#else
- #if (RGBLED_NUM <= 16) || (defined(RGBLED_CONT) && (RGBLED_NUM <= 32))
+ #if (RGBLIGHT_LED_COUNT <= 16) || (defined(RGBLED_CONT) && (RGBLIGHT_LED_COUNT <= 32))
#define RGBLIGHT_LIMIT_VAL 45
#else
#define RGBLIGHT_LIMIT_VAL 35
diff --git a/keyboards/40percentclub/gherkin/keymaps/talljoe-gherkin/config.h b/keyboards/40percentclub/gherkin/keymaps/talljoe-gherkin/config.h
deleted file mode 100644
index 271f48d001..0000000000
--- a/keyboards/40percentclub/gherkin/keymaps/talljoe-gherkin/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-// place overrides here
diff --git a/keyboards/40percentclub/nano/keymaps/spooka/rules.mk b/keyboards/40percentclub/nano/keymaps/spooka/rules.mk
deleted file mode 100644
index 8b13789179..0000000000
--- a/keyboards/40percentclub/nano/keymaps/spooka/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/keyboards/acheron/themis/87h/config.h b/keyboards/acheron/themis/87h/config.h
index 605594eea2..ed1229c779 100644
--- a/keyboards/acheron/themis/87h/config.h
+++ b/keyboards/acheron/themis/87h/config.h
@@ -20,8 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define LOCKING_SUPPORT_ENABLE
#define LOCKING_RESYNC_ENABLE
-#define RGBLED_NUM 1
-
#define WS2812_PWM_COMPLEMENTARY_OUTPUT
#define WS2812_PWM_DRIVER PWMD1
#define WS2812_PWM_CHANNEL 3
diff --git a/keyboards/acheron/themis/87h/info.json b/keyboards/acheron/themis/87h/info.json
index cbff8f4eec..0ef52a61a0 100644
--- a/keyboards/acheron/themis/87h/info.json
+++ b/keyboards/acheron/themis/87h/info.json
@@ -26,6 +26,9 @@
"backing_size": 8192
}
},
+ "rgblight": {
+ "led_count": 1
+ },
"ws2812": {
"pin": "B15"
},
diff --git a/keyboards/acheron/themis/87htsc/config.h b/keyboards/acheron/themis/87htsc/config.h
index 605594eea2..ed1229c779 100644
--- a/keyboards/acheron/themis/87htsc/config.h
+++ b/keyboards/acheron/themis/87htsc/config.h
@@ -20,8 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define LOCKING_SUPPORT_ENABLE
#define LOCKING_RESYNC_ENABLE
-#define RGBLED_NUM 1
-
#define WS2812_PWM_COMPLEMENTARY_OUTPUT
#define WS2812_PWM_DRIVER PWMD1
#define WS2812_PWM_CHANNEL 3
diff --git a/keyboards/acheron/themis/87htsc/info.json b/keyboards/acheron/themis/87htsc/info.json
index 5b491690bb..75c680d2a4 100644
--- a/keyboards/acheron/themis/87htsc/info.json
+++ b/keyboards/acheron/themis/87htsc/info.json
@@ -26,6 +26,9 @@
"backing_size": 8192
}
},
+ "rgblight": {
+ "led_count": 1
+ },
"ws2812": {
"pin": "B15"
},
diff --git a/keyboards/acheron/themis/88htsc/config.h b/keyboards/acheron/themis/88htsc/config.h
index 605594eea2..ed1229c779 100644
--- a/keyboards/acheron/themis/88htsc/config.h
+++ b/keyboards/acheron/themis/88htsc/config.h
@@ -20,8 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define LOCKING_SUPPORT_ENABLE
#define LOCKING_RESYNC_ENABLE
-#define RGBLED_NUM 1
-
#define WS2812_PWM_COMPLEMENTARY_OUTPUT
#define WS2812_PWM_DRIVER PWMD1
#define WS2812_PWM_CHANNEL 3
diff --git a/keyboards/acheron/themis/88htsc/info.json b/keyboards/acheron/themis/88htsc/info.json
index 073a16e946..8726642c0c 100644
--- a/keyboards/acheron/themis/88htsc/info.json
+++ b/keyboards/acheron/themis/88htsc/info.json
@@ -26,6 +26,9 @@
"backing_size": 8192
}
},
+ "rgblight": {
+ "led_count": 1
+ },
"ws2812": {
"pin": "B15"
},
diff --git a/keyboards/aeboards/ext65/rev2/rev2.c b/keyboards/aeboards/ext65/rev2/rev2.c
index 6fe2d469dc..934553abcf 100644
--- a/keyboards/aeboards/ext65/rev2/rev2.c
+++ b/keyboards/aeboards/ext65/rev2/rev2.c
@@ -17,16 +17,18 @@
#include "quantum.h"
// Tested and verified working on ext65rev2
-void matrix_io_delay(void) { __asm__ volatile("nop\nnop\nnop\n"); }
+void matrix_io_delay(void) {
+ __asm__ volatile("nop\nnop\nnop\n");
+}
#ifdef OLED_ENABLE
void board_init(void) {
- SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP;
- SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP);
+ SYSCFG->CFGR1 |= SYSCFG_CFGR1_I2C1_DMA_RMP;
+ SYSCFG->CFGR1 &= ~(SYSCFG_CFGR1_SPI2_DMA_RMP);
}
oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
- return OLED_ROTATION_90; // rotates the display 90 degrees
+ return OLED_ROTATION_90; // rotates the display 90 degrees
}
void render_layer_state(void) {
@@ -55,26 +57,31 @@ void render_mod_status(uint8_t modifiers) {
}
bool oled_task_kb(void) {
+ if (!oled_task_user()) {
+ return false;
+ }
render_layer_state();
render_keylock_status(host_keyboard_led_state());
- render_mod_status(get_mods()|get_oneshot_mods());
- return false;
+ render_mod_status(get_mods() | get_oneshot_mods());
+ return true;
}
#else
-void keyboard_pre_init_user(void) {
- // Call the keyboard pre init code.
- // Set our LED pins as output
- setPinOutput(B4);
- setPinOutput(B3);
- setPinOutput(A15);
- setPinOutput(A14);
+void keyboard_pre_init_kb(void) {
+ // Call the keyboard pre init code.
+ // Set our LED pins as output
+ setPinOutput(B4);
+ setPinOutput(B3);
+ setPinOutput(A15);
+ setPinOutput(A14);
+
+ keyboard_pre_init_user();
}
bool led_update_kb(led_t led_state) {
bool res = led_update_user(led_state);
- if(res) {
+ if (res) {
writePin(B4, led_state.num_lock);
writePin(B3, led_state.caps_lock);
writePin(A15, led_state.scroll_lock);
@@ -84,14 +91,13 @@ bool led_update_kb(led_t led_state) {
layer_state_t layer_state_set_kb(layer_state_t state) {
switch (get_highest_layer(state)) {
- case 1:
- writePinHigh(A14);
- break;
- default: // for any other layers, or the default layer
- writePinLow(A14);
- break;
- }
+ case 1:
+ writePinHigh(A14);
+ break;
+ default: // for any other layers, or the default layer
+ writePinLow(A14);
+ break;
+ }
return layer_state_set_user(state);
}
#endif
-
diff --git a/keyboards/arabica37/keymaps/default/config.h b/keyboards/arabica37/keymaps/default/config.h
index 57ce4cc0c1..5654f4daf4 100644
--- a/keyboards/arabica37/keymaps/default/config.h
+++ b/keyboards/arabica37/keymaps/default/config.h
@@ -31,7 +31,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define QUICK_TAP_TERM 0
#define TAPPING_TERM 170
-#undef RGBLED_NUM
+#undef RGBLIGHT_LED_COUNT
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
@@ -42,7 +42,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 50
+#define RGBLIGHT_LED_COUNT 50
#define RGBLIGHT_LIMIT_VAL 120
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
diff --git a/keyboards/aya/keymaps/default/config.h b/keyboards/aya/keymaps/default/config.h
deleted file mode 100644
index 6e57fd6499..0000000000
--- a/keyboards/aya/keymaps/default/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2021 Dan Nixon
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
diff --git a/keyboards/bastardkb/dilemma/3x5_3/3x5_3.c b/keyboards/bastardkb/dilemma/3x5_3/3x5_3.c
index b9787f473e..0a5ba15181 100644
--- a/keyboards/bastardkb/dilemma/3x5_3/3x5_3.c
+++ b/keyboards/bastardkb/dilemma/3x5_3/3x5_3.c
@@ -2,6 +2,7 @@
* Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
* Copyright 2021 Quentin LEBASTARD <qlebastard@gmail.com>
* Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ * Copyright 2023 casuanoob <casuanoob@hotmail.com> (@casuanoob)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Publicw License as published by
@@ -19,65 +20,74 @@
#include "quantum.h"
-/**
- * LEDs index.
- *
- * ╭────────────────────╮ ╭────────────────────╮
- * 2 3 8 9 12 30 27 26 21 20
- * ├────────────────────┤ ├────────────────────┤
- * 1 4 7 10 13 31 28 25 22 19
- * ├────────────────────┤ ├────────────────────┤
- * 0 5 6 11 14 32 29 24 23 18
- * ╰────────────────────╯ ╰────────────────────╯
- * 15 16 17 35 34 33
- * ╰────────────╯ ╰────────────╯
- */
-// clang-format off
+#ifdef ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) {
+ return false;
+ }
+ switch (index) {
+ case 0: // Left-half encoder, mouse scroll.
+ tap_code(clockwise ? KC_MS_WH_UP : KC_MS_WH_DOWN);
+ break;
+ case 1: // Right-half encoder, volume control.
+ tap_code(clockwise ? KC_AUDIO_VOL_UP : KC_AUDIO_VOL_DOWN);
+ break;
+ }
+ return true;
+}
+#endif // ENCODER_ENABLE
+
#ifdef RGB_MATRIX_ENABLE
-led_config_t g_led_config = { {
- /* Key Matrix to LED index. */
- // Left split.
- { 2, 3, 8, 9, 12 }, // Top row
- { 1, 4, 7, 10, 13 }, // Middle row
- { 0, 5, 6, 11, 14 }, // Bottom row
- { 17, NO_LED, 15, 16, NO_LED }, // Thumb cluster
- // Right split.
- { 20, 21, 26, 27, 30 }, // Top row
- { 19, 22, 25, 28, 31 }, // Middle row
- { 18, 23, 24, 29, 32 }, // Bottom row
- { 35, NO_LED, 33, 34, NO_LED }, // Thumb cluster
-}, {
- /* LED index to physical position. */
- // Left split.
- /* index=0 */ { 0, 42 }, { 0, 21 }, { 0, 0 }, // col 1 (left most)
- /* index=3 */ { 18, 0 }, { 18, 21 }, { 18, 42 }, // col 2
- /* index=6 */ { 36, 42 }, { 36, 21 }, { 36, 0 },
- /* index=9 */ { 54, 0 }, { 54, 21 }, { 54, 42 },
- /* index=12 */ { 72, 0 }, { 72, 21 }, { 72, 42 },
- /* index=15 */ { 72, 64 }, { 90, 64 }, { 108, 64 }, // Thumb cluster
- // Right split.
- /* index=18 */ { 224, 42 }, { 224, 21 }, { 224, 0 }, // col 10 (right most)
- /* index=21 */ { 206, 0 }, { 206, 21 }, { 206, 42 }, // col 9
- /* index=24 */ { 188, 42 }, { 188, 21 }, { 188, 0 },
- /* index=27 */ { 170, 0 }, { 170, 21 }, { 170, 42 },
- /* index=30 */ { 152, 0 }, { 152, 21 }, { 152, 42 },
- /* index=33 */ { 152, 64 }, { 134, 64 }, { 116, 64 }, // Thumb cluster
-}, {
- /* LED index to flag. */
- // Left split.
- /* index=0 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 1
- /* index=3 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 2
- /* index=6 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
- /* index=9 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
- /* index=12 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
- /* index=15 */ LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, // Thumb cluster
- // Right split.
- /* index=18 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 10
- /* index=21 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // col 9
- /* index=24 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
- /* index=27 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
- /* index=30 */ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
- /* index=33 */ LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, LED_FLAG_MODIFIER, // Thumb cluster
-} };
-#endif
-// clang-format on
+// Layer state indicator
+bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
+ if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { return false; }
+ if (host_keyboard_led_state().caps_lock) {
+ for (int i = led_min; i <= led_max; i++) {
+ if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_MODIFIER)) {
+ rgb_matrix_set_color(i, MIN(rgb_matrix_get_val() + 76, 255), 0x00, 0x00);
+ }
+ }
+ }
+
+ uint8_t layer = get_highest_layer(layer_state);
+ if (layer > 0) {
+ HSV hsv = rgb_matrix_get_hsv();
+ switch (get_highest_layer(layer_state)) {
+ case 1:
+ hsv = (HSV){HSV_BLUE};
+ break;
+ case 2:
+ hsv = (HSV){HSV_AZURE};
+ break;
+ case 3:
+ hsv = (HSV){HSV_ORANGE};
+ break;
+ case 4:
+ hsv = (HSV){HSV_GREEN};
+ break;
+ case 5:
+ hsv = (HSV){HSV_TEAL};
+ break;
+ case 6:
+ hsv = (HSV){HSV_PURPLE};
+ break;
+ case 7:
+ default:
+ hsv = (HSV){HSV_RED};
+ break;
+ };
+
+ if (hsv.v > rgb_matrix_get_val()) {
+ hsv.v = MIN(rgb_matrix_get_val() + 22, 255);
+ }
+ RGB rgb = hsv_to_rgb(hsv);
+
+ for (uint8_t i = led_min; i < led_max; i++) {
+ if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
+ rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
+ }
+ }
+ }
+ return false;
+};
+#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/bastardkb/dilemma/3x5_3/config.h b/keyboards/bastardkb/dilemma/3x5_3/config.h
index d25bb07528..aaac4c880a 100644
--- a/keyboards/bastardkb/dilemma/3x5_3/config.h
+++ b/keyboards/bastardkb/dilemma/3x5_3/config.h
@@ -1,5 +1,6 @@
/**
* Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ * Copyright 2023 casuanoob <casuanoob@hotmail.com> (@casuanoob)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -21,32 +22,35 @@
#define SPLIT_HAND_PIN GP29
#define SPLIT_HAND_PIN_LOW_IS_LEFT // High -> right, Low -> left.
+/* VBUS detection. */
+#define USB_VBUS_PIN GP19
+
/* CRC. */
#define CRC8_USE_TABLE
#define CRC8_OPTIMIZE_SPEED
/* Cirque trackpad over SPI. */
+#define SPI_DRIVER SPID0
#define SPI_SCK_PIN GP22
#define SPI_MOSI_PIN GP23
#define SPI_MISO_PIN GP20
#define POINTING_DEVICE_CS_PIN GP21
-
-/* OLED over i2c. */
-#define I2C1_CLOCK_SPEED 400000
-#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_16_9
-#define OLED_DISPLAY_HEIGHT 128
+#undef CIRQUE_PINNACLE_DIAMETER_MM
+#define CIRQUE_PINNACLE_DIAMETER_MM 40
/* Reset. */
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
-#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U
+#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
/* RGB matrix support. */
#ifdef RGB_MATRIX_ENABLE
# define SPLIT_TRANSPORT_MIRROR
-# define RGB_MATRIX_LED_COUNT 36
-# define RGB_MATRIX_SPLIT { 18, 18 }
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
# define RGB_DISABLE_WHEN_USB_SUSPENDED
# define RGB_MATRIX_KEYPRESSES
+# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+
+// Startup values.
+# define RGB_MATRIX_DEFAULT_VAL 128
+# define RGB_MATRIX_DEFAULT_SPD 32
#endif
diff --git a/keyboards/bastardkb/dilemma/3x5_3/halconf.h b/keyboards/bastardkb/dilemma/3x5_3/halconf.h
index b79b0f9e88..57d15376d6 100644
--- a/keyboards/bastardkb/dilemma/3x5_3/halconf.h
+++ b/keyboards/bastardkb/dilemma/3x5_3/halconf.h
@@ -17,7 +17,6 @@
#pragma once
-#define HAL_USE_I2C TRUE
#define HAL_USE_SPI TRUE
#include_next <halconf.h>
diff --git a/keyboards/bastardkb/dilemma/3x5_3/info.json b/keyboards/bastardkb/dilemma/3x5_3/info.json
index 4ab43d6a8e..f3a3961330 100644
--- a/keyboards/bastardkb/dilemma/3x5_3/info.json
+++ b/keyboards/bastardkb/dilemma/3x5_3/info.json
@@ -2,28 +2,186 @@
"keyboard_name": "Dilemma (3x5+3) Assembled",
"usb": {
"device_version": "2.0.0",
- "pid": "0x1835"
- },
- "rgb_matrix": {
- "driver": "ws2812"
+ "pid": "0x1836"
},
+ "processor": "RP2040",
+ "bootloader": "rp2040",
+ "board": "GENERIC_RP_RP2040",
"matrix_pins": {
"cols": ["GP8", "GP9", "GP7", "GP6", "GP28"],
"rows": ["GP4", "GP5", "GP27", "GP26"]
},
"diode_direction": "ROW2COL",
"split": {
- "soft_serial_pin": "GP1"
+ "enabled": true,
+ "soft_serial_pin": "GP1",
+ "bootmagic": {
+ "matrix": [4, 0]
+ }
+ },
+ "encoder": {
+ "enabled" : true,
+ "rotary" : [
+ {"pin_a": "GP25", "pin_b": "GP24"}
+ ]
},
- "rgblight": {
- "split_count": [18, 18]
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "caps_word": true,
+ "tri_layer": true
},
"ws2812": {
- "pin": "GP0",
+ "pin": "GP10",
"driver": "vendor"
},
- "processor": "RP2040",
- "bootloader": "rp2040",
+ "rgb_matrix": {
+ "driver": "ws2812",
+ "split_count": [36, 36],
+ "max_brightness": 176,
+ "animations": {
+ "solid_color": true,
+ "alphas_mods": true,
+ "gradient_up_down": true,
+ "gradient_left_right": true,
+ "breathing": true,
+ "band_sat": true,
+ "band_val": true,
+ "band_pinwheel_sat": true,
+ "band_pinwheel_val": true,
+ "band_spiral_sat": true,
+ "band_spiral_val": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_up_down": true,
+ "cycle_out_in": true,
+ "cycle_out_in_dual": true,
+ "rainbow_moving_chevron": true,
+ "cycle_pinwheel": true,
+ "cycle_spiral": true,
+ "dual_beacon": true,
+ "rainbow_beacon": true,
+ "rainbow_pinwheels": true,
+ "raindrops": true,
+ "jellybean_raindrops": true,
+ "hue_breathing": true,
+ "hue_pendulum": true,
+ "hue_wave": true,
+ "pixel_fractal": true,
+ "pixel_flow": true,
+ "pixel_rain": true,
+ "typing_heatmap": true,
+ "digital_rain": true,
+ "solid_reactive_simple": true,
+ "solid_reactive": true,
+ "solid_reactive_wide": true,
+ "solid_reactive_multiwide": true,
+ "solid_reactive_cross": true,
+ "solid_reactive_multicross": true,
+ "solid_reactive_nexus": true,
+ "solid_reactive_multinexus": true,
+ "splash": true,
+ "multisplash": true,
+ "solid_splash": true,
+ "solid_multisplash": true
+ },
+ "layout": [
+ {"x": 82, "y": 0, "flags": 2},
+ {"x": 60, "y": 0, "flags": 2},
+ {"x": 22, "y": 0, "flags": 2},
+ {"x": 15, "y": 0, "flags": 2},
+
+ {"x": 0, "y": 25, "flags": 2},
+ {"x": 0, "y": 40, "flags": 2},
+ {"x": 0, "y": 55, "flags": 2},
+
+ {"x": 15, "y": 45, "flags": 2},
+ {"x": 30, "y": 45, "flags": 2},
+ {"x": 35, "y": 60, "flags": 2},
+ {"x": 55, "y": 62, "flags": 2},
+
+ {"x": 72, "y": 64, "flags": 2},
+ {"x": 90, "y": 64, "flags": 2},
+ {"x": 98, "y": 47, "flags": 2},
+ {"x": 107, "y": 40, "flags": 2},
+
+ {"x": 110, "y": 33, "flags": 2},
+ {"x": 110, "y": 19, "flags": 2},
+ {"x": 110, "y": 5, "flags": 2},
+
+ {"matrix": [0, 4], "x": 73, "y": 11, "flags": 4},
+ {"matrix": [0, 3], "x": 56, "y": 9, "flags": 4},
+ {"matrix": [0, 2], "x": 39, "y": 5, "flags": 4},
+ {"matrix": [0, 1], "x": 22, "y": 10, "flags": 4},
+ {"matrix": [0, 0], "x": 5, "y": 15, "flags": 1},
+
+ {"matrix": [1, 0], "x": 5, "y": 30, "flags": 1},
+ {"matrix": [1, 1], "x": 22, "y": 25, "flags": 4},
+ {"matrix": [1, 2], "x": 39, "y": 20, "flags": 4},
+ {"matrix": [1, 3], "x": 56, "y": 24, "flags": 4},
+ {"matrix": [1, 4], "x": 73, "y": 26, "flags": 4},
+
+ {"matrix": [2, 4], "x": 73, "y": 41, "flags": 4},
+ {"matrix": [2, 3], "x": 56, "y": 39, "flags": 4},
+ {"matrix": [2, 2], "x": 39, "y": 35, "flags": 4},
+ {"matrix": [2, 1], "x": 22, "y": 40, "flags": 4},
+ {"matrix": [2, 0], "x": 5, "y": 45, "flags": 1},
+
+ {"matrix": [3, 2], "x": 45, "y": 51, "flags": 4},
+ {"matrix": [3, 0], "x": 64, "y": 53, "flags": 4},
+ {"matrix": [3, 1], "x": 81, "y": 60, "flags": 4},
+
+ {"x": 142, "y": 0, "flags": 2},
+ {"x": 164, "y": 0, "flags": 2},
+ {"x": 202, "y": 0, "flags": 2},
+ {"x": 209, "y": 0, "flags": 2},
+
+ {"x": 224, "y": 25, "flags": 2},
+ {"x": 224, "y": 40, "flags": 2},
+ {"x": 224, "y": 55, "flags": 2},
+
+ {"x": 209, "y": 45, "flags": 2},
+ {"x": 194, "y": 45, "flags": 2},
+ {"x": 189, "y": 60, "flags": 2},
+ {"x": 169, "y": 62, "flags": 2},
+
+ {"x": 152, "y": 64, "flags": 2},
+ {"x": 134, "y": 64, "flags": 2},
+ {"x": 126, "y": 47, "flags": 2},
+ {"x": 117, "y": 40, "flags": 2},
+
+ {"x": 114, "y": 33, "flags": 2},
+ {"x": 114, "y": 19, "flags": 2},
+ {"x": 114, "y": 5, "flags": 2},
+
+ {"matrix": [4, 4], "x": 151, "y": 11, "flags": 4},
+ {"matrix": [4, 3], "x": 168, "y": 9, "flags": 4},
+ {"matrix": [4, 2], "x": 185, "y": 5, "flags": 4},
+ {"matrix": [4, 1], "x": 202, "y": 10, "flags": 4},
+ {"matrix": [4, 0], "x": 219, "y": 15, "flags": 1},
+
+ {"matrix": [5, 0], "x": 219, "y": 30, "flags": 1},
+ {"matrix": [5, 1], "x": 202, "y": 25, "flags": 4},
+ {"matrix": [5, 2], "x": 185, "y": 20, "flags": 4},
+ {"matrix": [5, 3], "x": 168, "y": 24, "flags": 4},
+ {"matrix": [5, 4], "x": 151, "y": 26, "flags": 4},
+
+ {"matrix": [6, 4], "x": 151, "y": 41, "flags": 4},
+ {"matrix": [6, 3], "x": 168, "y": 39, "flags": 4},
+ {"matrix": [6, 2], "x": 185, "y": 35, "flags": 4},
+ {"matrix": [6, 1], "x": 202, "y": 40, "flags": 4},
+ {"matrix": [6, 0], "x": 219, "y": 45, "flags": 1},
+
+ {"matrix": [7, 2], "x": 179, "y": 51, "flags": 4},
+ {"matrix": [7, 0], "x": 160, "y": 53, "flags": 4},
+ {"matrix": [7, 1], "x": 143, "y": 60, "flags": 4}
+ ]
+ },
"community_layouts": ["split_3x5_3"],
"layouts": {
"LAYOUT_split_3x5_3": {
diff --git a/keyboards/bastardkb/dilemma/3x5_3/keymaps/bstiq/config.h b/keyboards/bastardkb/dilemma/3x5_3/keymaps/bstiq/config.h
index cfdafc4a51..4626c7b141 100644
--- a/keyboards/bastardkb/dilemma/3x5_3/keymaps/bstiq/config.h
+++ b/keyboards/bastardkb/dilemma/3x5_3/keymaps/bstiq/config.h
@@ -66,67 +66,3 @@
# define DILEMMA_DRAGSCROLL_REVERSE_X
// #define DILEMMA_DRAGSCROLL_REVERSE_Y
#endif // POINTING_DEVICE_ENABLE
-
-/** RGB Matrix. */
-
-#ifdef RGB_MATRIX_ENABLE
-// Enable all animations on ARM boards since they have plenty of memory
-// available for it.
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-
-// Limit maximum brightness to keep power consumption reasonable, and avoid
-// disconnects.
-# undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 64
-
-// Rainbow swirl as startup mode.
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT
-
-// Slow swirl at startup.
-# define RGB_MATRIX_DEFAULT_SPD 32
-
-// Startup values.
-# define RGB_MATRIX_DEFAULT_HUE 0
-# define RGB_MATRIX_DEFAULT_SAT 255
-# define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
-#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/bastardkb/dilemma/3x5_3/keymaps/default/keymap.c b/keyboards/bastardkb/dilemma/3x5_3/keymaps/default/keymap.c
index 30fef9bbeb..4185bba7d9 100644
--- a/keyboards/bastardkb/dilemma/3x5_3/keymaps/default/keymap.c
+++ b/keyboards/bastardkb/dilemma/3x5_3/keymaps/default/keymap.c
@@ -24,8 +24,8 @@ enum dilemma_keymap_layers {
LAYER_NUM,
};
-#define NAV MO(LAYER_NAV)
-#define SYM MO(LAYER_SYM)
+#define NAV QK_TRI_LAYER_LOWER
+#define SYM QK_TRI_LAYER_UPPER
// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -33,11 +33,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ╭─────────────────────────────────────────────╮ ╭─────────────────────────────────────────────╮
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
// ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
- KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
+ KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT,
// ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
// ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯
- KC_A, NAV, CW_TOGG, KC_SPC, SYM, KC_A
+ KC_LCTL, NAV, KC_LGUI, KC_SPC, SYM, KC_A
// ╰───────────────────────────╯ ╰──────────────────────────╯
),
@@ -45,11 +45,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ╭─────────────────────────────────────────────╮ ╭─────────────────────────────────────────────╮
KC_TAB, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, XXXXXXX, KC_HOME, KC_UP, KC_END, KC_DEL,
// ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
- KC_LSFT, KC_LCTL, KC_LALT, KC_RGUI, KC_VOLD, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC,
+ KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, KC_VOLD, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC,
// ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
- QK_BOOT, EE_CLR, KC_MPRV, KC_MNXT, KC_MPLY, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, KC_ENT,
+ QK_BOOT, EE_CLR, KC_MPRV, KC_MNXT, KC_MPLY, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, KC_ENT,
// ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯
- KC_A, _______, KC_LSFT, KC_SPC, _______, KC_A
+ XXXXXXX, _______, KC_LSFT, KC_SPC, _______, KC_ESC
// ╰───────────────────────────╯ ╰──────────────────────────╯
),
@@ -59,9 +59,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
KC_MINS, KC_ASTR, KC_EQL, KC_UNDS, KC_DLR, KC_HASH, KC_RGUI, KC_RALT, KC_RCTL, KC_RSFT,
// ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
- KC_PLUS, KC_PIPE, KC_AT, KC_SLSH, KC_PERC, _______, KC_BSLS, KC_AMPR, KC_QUES, KC_EXLM,
+ KC_PLUS, KC_PIPE, KC_AT, KC_SLSH, KC_PERC, KC_SCLN, KC_BSLS, KC_AMPR, KC_QUES, KC_EXLM,
// ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯
- KC_A, _______, KC_LSFT, KC_SPC, _______, KC_A
+ KC_ESC, _______, KC_LSFT, KC_SPC, _______, XXXXXXX
// ╰───────────────────────────╯ ╰──────────────────────────╯
),
@@ -73,12 +73,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
// ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯
- KC_A, _______, KC_LSFT, KC_SPC, _______, KC_A
+ XXXXXXX, _______, KC_LSFT, KC_SPC, _______, XXXXXXX
// ╰───────────────────────────╯ ╰──────────────────────────╯
),
};
// clang-format on
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, LAYER_NAV, LAYER_SYM, LAYER_NUM);
-}
diff --git a/keyboards/rominronin/katana60/rev1/keymaps/msiu/config.h b/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/config.h
index b57cc482ec..790d6bf751 100644
--- a/keyboards/rominronin/katana60/rev1/keymaps/msiu/config.h
+++ b/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/config.h
@@ -1,4 +1,6 @@
-/* Copyright 2017 Baris Tosun
+/**
+ * Copyright 2021 Charly Delay <charly@codesink.dev> (@0xcharly)
+ * Copyright 2023 casuanoob <casuanoob@hotmail.com> (@casuanoob)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -13,9 +15,9 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-
#pragma once
+#define DYNAMIC_KEYMAP_LAYER_COUNT 8
-// place overrides here
-
+#define SPLIT_LAYER_STATE_ENABLE
+#define SPLIT_LED_STATE_ENABLE
diff --git a/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/keymap.c b/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/keymap.c
new file mode 100644
index 0000000000..dacef2231e
--- /dev/null
+++ b/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/keymap.c
@@ -0,0 +1,170 @@
+/**
+ * Copyright 2022 Charly Delay <charly@codesink.dev> (@0xcharly)
+ * Copyright 2023 casuanoob <casuanoob@hotmail.com> (@casuanoob)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+enum dilemma_keymap_layers {
+ LAYER_BASE = 0,
+ LAYER_FUNCTION,
+ LAYER_NAVIGATION,
+ LAYER_MEDIA,
+ LAYER_POINTER,
+ LAYER_NUMERAL,
+ LAYER_SYMBOLS,
+};
+
+// Automatically enable sniping-mode on the pointer layer.
+// #define DILEMMA_AUTO_SNIPING_ON_LAYER LAYER_POINTER
+
+#define ESC_MED LT(LAYER_MEDIA, KC_ESC)
+#define SPC_NAV LT(LAYER_NAVIGATION, KC_SPC)
+#define TAB_FUN LT(LAYER_FUNCTION, KC_TAB)
+#define ENT_SYM LT(LAYER_SYMBOLS, KC_ENT)
+#define BSP_NUM LT(LAYER_NUMERAL, KC_BSPC)
+#define PT_Z LT(LAYER_POINTER, KC_Z)
+#define PT_SLSH LT(LAYER_POINTER, KC_SLSH)
+
+#ifndef POINTING_DEVICE_ENABLE
+# define DRGSCRL KC_NO
+# define DPI_MOD KC_NO
+# define S_D_MOD KC_NO
+# define SNIPING KC_NO
+#endif // !POINTING_DEVICE_ENABLE
+
+// clang-format off
+/** \brief QWERTY layout (3 rows, 10 columns). */
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [LAYER_BASE] = LAYOUT_split_3x5_3(
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ LGUI_T(KC_A), LALT_T(KC_S), LCTL_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, RSFT_T(KC_J), RCTL_T(KC_K), RALT_T(KC_L), RGUI_T(KC_QUOT),
+ PT_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, PT_SLSH,
+ ESC_MED, TAB_FUN, SPC_NAV, ENT_SYM, BSP_NUM, KC_MUTE
+ ),
+
+/*
+ * Layers used on the Dilemma.
+ *
+ * These layers started off heavily inspired by the Miryoku layout, but trimmed
+ * down and tailored for a stock experience that is meant to be fundation for
+ * further personalization.
+ *
+ * See https://github.com/manna-harbour/miryoku for the original layout.
+ */
+
+/**
+ * \brief Function layer.
+ *
+ * Secondary right-hand layer has function keys mirroring the numerals on the
+ * primary layer with extras on the pinkie column, plus system keys on the inner
+ * column. App is on the tertiary thumb key and other thumb keys are duplicated
+ * from the base layer to enable auto-repeat.
+ */
+ [LAYER_FUNCTION] = LAYOUT_split_3x5_3(
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_F7, KC_F8, KC_F9, KC_F12,
+ KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_SCRL, KC_F4, KC_F5, KC_F6, KC_F11,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PAUS, KC_F1, KC_F2, KC_F3, KC_F10,
+ XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+ ),
+
+/**
+ * \brief Navigation layer.
+ *
+ * Primary right-hand layer (left home thumb) is navigation and editing. Cursor
+ * keys are on the home position, line and page movement below, clipboard above,
+ * caps lock and insert on the inner column. Thumb keys are duplicated from the
+ * base layer to avoid having to layer change mid edit and to enable auto-repeat.
+ */
+ [LAYER_NAVIGATION] = LAYOUT_split_3x5_3(
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_CAPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_HOME, KC_PGDN, KC_PGUP, KC_END,
+ XXXXXXX, XXXXXXX, _______, KC_ENT, KC_BSPC, KC_DEL
+ ),
+
+/**
+ * \brief Media layer.
+ *
+ * Tertiary left- and right-hand layer is media and RGB control. This layer is
+ * symmetrical to accomodate the left- and right-hand trackball.
+ */
+ [LAYER_MEDIA] = LAYOUT_split_3x5_3(
+ XXXXXXX,RGB_RMOD, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX,RGB_RMOD, RGB_TOG, RGB_MOD, XXXXXXX,
+ KC_MPRV, KC_VOLD, KC_MUTE, KC_VOLU, KC_MNXT, KC_MPRV, KC_VOLD, KC_MUTE, KC_VOLU, KC_MNXT,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, KC_MPLY, KC_MSTP, KC_MSTP, KC_MPLY, KC_MUTE
+ ),
+
+/** \brief Mouse emulation and pointer functions. */
+ [LAYER_POINTER] = LAYOUT_split_3x5_3(
+ QK_BOOT, EE_CLR, XXXXXXX, DPI_MOD, S_D_MOD, S_D_MOD, DPI_MOD, XXXXXXX, EE_CLR, QK_BOOT,
+ KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, XXXXXXX, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI,
+ _______, DRGSCRL, SNIPING, KC_BTN3, XXXXXXX, XXXXXXX, KC_BTN3, SNIPING, DRGSCRL, _______,
+ KC_BTN3, KC_BTN2, KC_BTN1, KC_BTN1, KC_BTN2, KC_BTN3
+ ),
+
+/**
+ * \brief Numeral layout.
+ *
+ * Primary left-hand layer (right home thumb) is numerals and symbols. Numerals
+ * are in the standard numpad locations with symbols in the remaining positions.
+ * `KC_DOT` is duplicated from the base layer.
+ */
+ [LAYER_NUMERAL] = LAYOUT_split_3x5_3(
+ KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ KC_SCLN, KC_4, KC_5, KC_6, KC_EQL, XXXXXXX, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI,
+ KC_DOT, KC_1, KC_2, KC_3, KC_BSLS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ KC_DOT, KC_MINS, KC_0, XXXXXXX, _______, XXXXXXX
+ ),
+
+/**
+ * \brief Symbols layer.
+ *
+ * Secondary left-hand layer has shifted symbols in the same locations to reduce
+ * chording when using mods with shifted symbols. `KC_LPRN` is duplicated next to
+ * `KC_RPRN`.
+ */
+ [LAYER_SYMBOLS] = LAYOUT_split_3x5_3(
+ KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ KC_COLN, KC_DLR, KC_PERC, KC_CIRC, KC_PLUS, XXXXXXX, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI,
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ KC_LPRN, KC_GRV, KC_UNDS, _______, XXXXXXX, XXXXXXX
+ ),
+};
+// clang-format on
+
+#ifdef POINTING_DEVICE_ENABLE
+# ifdef DILEMMA_AUTO_SNIPING_ON_LAYER
+layer_state_t layer_state_set_user(layer_state_t state) {
+ dilemma_set_pointer_sniping_enabled(layer_state_cmp(state, DILEMMA_AUTO_SNIPING_ON_LAYER));
+ return state;
+}
+# endif // DILEMMA_AUTO_SNIPING_ON_LAYER
+#endif // POINTING_DEVICE_ENABLE
+
+#ifdef ENCODER_MAP_ENABLE
+// clang-format off
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+ [LAYER_BASE] = {ENCODER_CCW_CW(KC_WH_D, KC_WH_U), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
+ [LAYER_FUNCTION] = {ENCODER_CCW_CW(KC_DOWN, KC_UP), ENCODER_CCW_CW(KC_LEFT, KC_RGHT)},
+ [LAYER_NAVIGATION] = {ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLU, KC_VOLD)},
+ [LAYER_POINTER] = {ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI)},
+ [LAYER_NUMERAL] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI)},
+ [LAYER_SYMBOLS] = {ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_LEFT, KC_RGHT)},
+};
+// clang-format on
+#endif // ENCODER_MAP_ENABLE
diff --git a/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/readme.md b/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/readme.md
new file mode 100644
index 0000000000..4552f0948d
--- /dev/null
+++ b/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/readme.md
@@ -0,0 +1,47 @@
+# Dilemma `via` keymap
+
+The Dilemma `via` keymap is based on a QWERTY layout with [home row mods](https://precondition.github.io/home-row-mods) and [Miryoku-inspired layers](https://github.com/manna-harbour/miryoku), and some features and changes specific to the Dilemma.
+
+This layout also supports VIA.
+
+## Customizing the keymap
+
+### Dynamic DPI scaling
+
+Use the following keycodes to change the default DPI:
+
+- `POINTER_DEFAULT_DPI_FORWARD`: increases the DPI; decreases when shifted;
+- `POINTER_DEFAULT_DPI_REVERSE`: decreases the DPI; increases when shifted.
+
+There's a maximum of 16 possible values for the sniping mode DPI. See the [Dilemma documentation](../../README.md) for more information.
+
+Use the following keycodes to change the sniping mode DPI:
+
+- `POINTER_SNIPING_DPI_FORWARD`: increases the DPI; decreases when shifted;
+- `POINTER_SNIPING_DPI_REVERSE`: decreases the DPI; increases when shifted.
+
+There's a maximum of 4 possible values for the sniping mode DPI. See the [Dilemma documentation](../../README.md) for more information.
+
+### Drag-scroll
+
+Use the `DRAGSCROLL_MODE` keycode to enable drag-scroll on hold. Use the `DRAGSCROLL_TOGGLE` keycode to enable/disable drag-scroll on key press.
+
+### Circular scroll
+
+By default, the firmware is configured to enable the circular scroll feature on Cirque trackpad.
+
+To disable this, add the following to your keymap:
+
+```c
+#undef POINTING_DEVICE_GESTURES_SCROLL_ENABLE
+```
+
+### Sniping
+
+Use the `SNIPING_MODE` keycode to enable sniping mode on hold. Use the `SNIPING_TOGGLE` keycode to enable/disable sniping mode on key press.
+
+Change the value of `DILEMMA_AUTO_SNIPING_ON_LAYER` to automatically enable sniping mode on layer change. By default, sniping mode is enabled on the pointer layer:
+
+```c
+#define DILEMMA_AUTO_SNIPING_ON_LAYER LAYER_POINTER
+``` \ No newline at end of file
diff --git a/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/rules.mk b/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/rules.mk
new file mode 100644
index 0000000000..f1adcab005
--- /dev/null
+++ b/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/bastardkb/dilemma/3x5_3/mcuconf.h b/keyboards/bastardkb/dilemma/3x5_3/mcuconf.h
index f194dd225c..52b726a56d 100644
--- a/keyboards/bastardkb/dilemma/3x5_3/mcuconf.h
+++ b/keyboards/bastardkb/dilemma/3x5_3/mcuconf.h
@@ -19,8 +19,5 @@
#include_next <mcuconf.h>
-#undef RP_SPI_USE_SPI1
-#define RP_SPI_USE_SPI1 TRUE
-
-#undef RP_I2C_USE_I2C1
-#define RP_I2C_USE_I2C1 TRUE
+#undef RP_SPI_USE_SPI0
+#define RP_SPI_USE_SPI0 TRUE
diff --git a/keyboards/bastardkb/dilemma/3x5_3/readme.md b/keyboards/bastardkb/dilemma/3x5_3/readme.md
index bfddbc9efc..b57df90921 100644
--- a/keyboards/bastardkb/dilemma/3x5_3/readme.md
+++ b/keyboards/bastardkb/dilemma/3x5_3/readme.md
@@ -1,5 +1,5 @@
-# Next generation Dilemma keyboard
+# Dilemma v2 (3x5+3 assembled)
This keyboard is an updated version of the [3x5+2 Dilemma](../3x5_2/).
-This is still under active development, and not available publicly yet.
+The Dilemma v2 is available at [bastardkb.com](https://bastardkb.com).
diff --git a/keyboards/bastardkb/dilemma/3x5_3/rules.mk b/keyboards/bastardkb/dilemma/3x5_3/rules.mk
index 3cdb41160c..4923c2c84a 100644
--- a/keyboards/bastardkb/dilemma/3x5_3/rules.mk
+++ b/keyboards/bastardkb/dilemma/3x5_3/rules.mk
@@ -1,24 +1,4 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-
-AUDIO_SUPPORTED = no # Audio is not supported
-RGB_MATRIX_SUPPORTED = yes # RGB matrix is supported and enabled by default
-RGBLIGHT_SUPPORTED = no # RGB underglow is supported, but not enabled by default
-RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix functionality
-
SERIAL_DRIVER = vendor
POINTING_DEVICE_ENABLE = yes
POINTING_DEVICE_DRIVER = cirque_pinnacle_spi
-
-SPLIT_KEYBOARD = yes
diff --git a/keyboards/bastardkb/dilemma/config.h b/keyboards/bastardkb/dilemma/config.h
index d282c635ea..0da85ec99a 100644
--- a/keyboards/bastardkb/dilemma/config.h
+++ b/keyboards/bastardkb/dilemma/config.h
@@ -26,6 +26,9 @@
// Pointing device is on the right split.
#define POINTING_DEVICE_RIGHT
+// Enables support for extended i16 mouse reports (instead of i8).
+#define MOUSE_EXTENDED_REPORT
+
// Limits the frequency that the sensor is polled for motion.
#define POINTING_DEVICE_TASK_THROTTLE_MS 10
diff --git a/keyboards/biacco42/ergo42/keymaps/default-underglow/config.h b/keyboards/biacco42/ergo42/keymaps/default-underglow/config.h
index a56bd0f2e7..2469b627e2 100644
--- a/keyboards/biacco42/ergo42/keymaps/default-underglow/config.h
+++ b/keyboards/biacco42/ergo42/keymaps/default-underglow/config.h
@@ -27,8 +27,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define EE_HANDS
// Underglow
-#undef RGBLED_NUM
-#define RGBLED_NUM 14 // Number of LEDs
+#undef RGBLIGHT_LED_COUNT
+#define RGBLIGHT_LED_COUNT 14 // Number of LEDs
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
diff --git a/keyboards/biacco42/meishi2/keymaps/moc/config.h b/keyboards/biacco42/meishi2/keymaps/moc/config.h
deleted file mode 100644
index 9b5675af6b..0000000000
--- a/keyboards/biacco42/meishi2/keymaps/moc/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2021 Atsushi Nagase
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/boardwalk/keymaps/brendanwr/config.h b/keyboards/boardwalk/keymaps/brendanwr/config.h
deleted file mode 100644
index a2530241f4..0000000000
--- a/keyboards/boardwalk/keymaps/brendanwr/config.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
diff --git a/keyboards/converter/ibm_terminal/keymaps/priyadi/config.h b/keyboards/converter/ibm_terminal/keymaps/priyadi/config.h
deleted file mode 100644
index 271f48d001..0000000000
--- a/keyboards/converter/ibm_terminal/keymaps/priyadi/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-// place overrides here
diff --git a/keyboards/cutie_club/wraith/keymaps/amber/config.h b/keyboards/cutie_club/wraith/keymaps/amber/config.h
deleted file mode 100644
index b825835bb4..0000000000
--- a/keyboards/cutie_club/wraith/keymaps/amber/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2019 Amber Holly
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/dm9records/ergoinu/config.h b/keyboards/dm9records/ergoinu/config.h
index d1c1201a54..b6a3484a26 100644
--- a/keyboards/dm9records/ergoinu/config.h
+++ b/keyboards/dm9records/ergoinu/config.h
@@ -25,7 +25,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define EE_HANDS
#ifndef IOS_DEVICE_ENABLE
- #if RGBLED_NUM <= 7
+ #if RGBLIGHT_LED_COUNT <= 7
#define RGBLIGHT_LIMIT_VAL 255
#define RGBLIGHT_VAL_STEP 17
#endif
diff --git a/keyboards/dm9records/plaid/keymaps/brickbots/config.h b/keyboards/dm9records/plaid/keymaps/brickbots/config.h
deleted file mode 100644
index 5733b9e4b0..0000000000
--- a/keyboards/dm9records/plaid/keymaps/brickbots/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2019 Takuya Urakawa (dm9records.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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/dm9records/plaid/keymaps/stephen-huan/config.h b/keyboards/dm9records/plaid/keymaps/stephen-huan/config.h
deleted file mode 100644
index 5733b9e4b0..0000000000
--- a/keyboards/dm9records/plaid/keymaps/stephen-huan/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2019 Takuya Urakawa (dm9records.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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/config.h b/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/config.h
deleted file mode 100644
index 4bcbc6f673..0000000000
--- a/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2019 Ian Canino (ian@thecommittedbug.io)
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/dp60/keymaps/indicator/indicator.c b/keyboards/dp60/keymaps/indicator/indicator.c
index 02450ce68d..d7b628cc56 100644
--- a/keyboards/dp60/keymaps/indicator/indicator.c
+++ b/keyboards/dp60/keymaps/indicator/indicator.c
@@ -14,10 +14,8 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "dp60.h"
-
-#include "rgblight.h"
-
+#include QMK_KEYBOARD_H
+#include "ws2812.h"
// caps led
const rgblight_segment_t PROGMEM dp60_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS(
@@ -72,13 +70,17 @@ extern rgblight_config_t rgblight_config;
extern void rgblight_layers_write(void);
extern void indicator_write(rgb_led_t *start_led, uint8_t num_leds);
-void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
+void setleds_custom(rgb_led_t *start_led, uint16_t num_leds)
{
ws2812_setleds(start_led, RGBLED_NUM-RGB_INDICATOR_NUM);
indicator_write(start_led + (RGBLED_NUM - RGB_INDICATOR_NUM), RGB_INDICATOR_NUM);
}
+const rgblight_driver_t rgblight_driver = {
+ .setleds = setleds_custom,
+};
+
void led_update_ports(led_t led_state) {
rgblight_set_layer_state(0, led_state.caps_lock);
rgblight_set_layer_state(1, led_state.scroll_lock);
diff --git a/keyboards/dp60/keymaps/indicator/rules.mk b/keyboards/dp60/keymaps/indicator/rules.mk
index a8891659f7..853666e4f4 100644
--- a/keyboards/dp60/keymaps/indicator/rules.mk
+++ b/keyboards/dp60/keymaps/indicator/rules.mk
@@ -1,4 +1,6 @@
RGBLIGHT_ENABLE = yes # Use RGB underglow light
+RGBLIGHT_DRIVER = custom
+WS2812_DRIVER_REQUIRED = yes
SRC += indicator.c led_driver.c
diff --git a/keyboards/duck/jetfire/indicator_leds.h b/keyboards/duck/jetfire/indicator_leds.h
index d94709d1cb..36dda632fb 100644
--- a/keyboards/duck/jetfire/indicator_leds.h
+++ b/keyboards/duck/jetfire/indicator_leds.h
@@ -6,6 +6,6 @@ void backlight_init_ports(void);
void backlight_set_state(bool cfg[7]);
void backlight_update_state(void);
void backlight_toggle_rgb(bool enabled);
-void backlight_set_rgb(uint8_t cfg[RGBLED_NUM][3]);
+void backlight_set_rgb(uint8_t cfg[RGBLIGHT_LED_COUNT][3]);
void backlight_set(uint8_t level);
void send_color(uint8_t r, uint8_t g, uint8_t b, enum Device device);
diff --git a/keyboards/duck/jetfire/jetfire.c b/keyboards/duck/jetfire/jetfire.c
index 23e6e9095a..45a46766fd 100644
--- a/keyboards/duck/jetfire/jetfire.c
+++ b/keyboards/duck/jetfire/jetfire.c
@@ -44,10 +44,10 @@ uint8_t backlight_state_led = 1<<STATE_LED_LAYER_0;
void backlight_toggle_rgb(bool enabled)
{
- uint8_t rgb[RGBLED_NUM][3] = { 0 };
+ uint8_t rgb[RGBLIGHT_LED_COUNT][3] = { 0 };
if(enabled) {
- for(uint8_t i = 0; i < RGBLED_NUM; ++i) {
+ for(uint8_t i = 0; i < RGBLIGHT_LED_COUNT; ++i) {
rgb[i][0] = backlight_rgb_r;
rgb[i][1] = backlight_rgb_g;
rgb[i][2] = backlight_rgb_b;
@@ -56,10 +56,10 @@ void backlight_toggle_rgb(bool enabled)
backlight_set_rgb(rgb);
}
-void backlight_set_rgb(uint8_t cfg[RGBLED_NUM][3])
+void backlight_set_rgb(uint8_t cfg[RGBLIGHT_LED_COUNT][3])
{
cli();
- for(uint8_t i = 0; i < RGBLED_NUM; ++i) {
+ for(uint8_t i = 0; i < RGBLIGHT_LED_COUNT; ++i) {
send_color(cfg[i][0], cfg[i][1], cfg[i][2], Device_PCBRGB);
}
sei();
diff --git a/keyboards/dumbpad/v1x_oled/v1x_oled.c b/keyboards/dumbpad/v1x_oled/v1x_oled.c
index ef91d4d416..2abf45b184 100644
--- a/keyboards/dumbpad/v1x_oled/v1x_oled.c
+++ b/keyboards/dumbpad/v1x_oled/v1x_oled.c
@@ -19,7 +19,10 @@
char wpm_str[10];
#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) {
+ return false;
+ }
// Right encoder
if (index == 0) {
if (clockwise) {
@@ -42,16 +45,16 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
#ifdef OLED_ENABLE
// WPM-responsive animation stuff here
# define IDLE_FRAMES 5
-# define IDLE_SPEED 20 // below this wpm value your animation will idle
+# define IDLE_SPEED 20 // below this wpm value your animation will idle
// #define PREP_FRAMES 1 // uncomment if >1
# define TAP_FRAMES 2
-# define TAP_SPEED 40 // above this wpm value typing animation to trigger
+# define TAP_SPEED 40 // above this wpm value typing animation to trigger
-# define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms
+# define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms
// #define SLEEP_TIMER 60000 // should sleep after this period of 0 wpm, needs fixing
-# define ANIM_SIZE 636 // number of bytes in array, minimize for adequate firmware size, max is 1024
+# define ANIM_SIZE 636 // number of bytes in array, minimize for adequate firmware size, max is 1024
uint32_t anim_timer = 0;
uint32_t anim_sleep = 0;
@@ -111,7 +114,7 @@ static void render_anim(void) {
}
if (get_current_wpm() > IDLE_SPEED && get_current_wpm() < TAP_SPEED) {
// oled_write_raw_P(prep[abs((PREP_FRAMES-1)-current_prep_frame)], ANIM_SIZE); // uncomment if IDLE_FRAMES >1
- oled_write_raw_P(prep[0], ANIM_SIZE); // remove if IDLE_FRAMES >1
+ oled_write_raw_P(prep[0], ANIM_SIZE); // remove if IDLE_FRAMES >1
}
if (get_current_wpm() >= TAP_SPEED) {
current_tap_frame = (current_tap_frame + 1) % TAP_FRAMES;
@@ -119,7 +122,7 @@ static void render_anim(void) {
}
}
if (get_current_wpm() != 000) {
- oled_on(); // not essential but turns on animation OLED with any alpha keypress
+ oled_on(); // not essential but turns on animation OLED with any alpha keypress
if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
anim_timer = timer_read32();
animation_phase();
@@ -138,18 +141,21 @@ static void render_anim(void) {
}
// Used to draw on to the oled screen
-bool oled_task_user(void) {
- render_anim(); // renders pixelart
+bool oled_task_kb(void) {
+ if (!oled_task_user()) {
+ return false;
+ }
+ render_anim(); // renders pixelart
- oled_set_cursor(0, 0); // sets cursor to (row, column) using charactar spacing (5 rows on 128x32 screen, anything more will overflow back to the top)
+ oled_set_cursor(0, 0); // sets cursor to (row, column) using charactar spacing (5 rows on 128x32 screen, anything more will overflow back to the top)
oled_write_P(PSTR("WPM: "), false);
oled_write(get_u8_str(get_current_wpm(), '0'), false);
- oled_write(wpm_str, false); // writes wpm on top left corner of string
+ oled_write(wpm_str, false); // writes wpm on top left corner of string
- led_t led_state = host_keyboard_led_state(); // caps lock stuff, prints CAPS on new line if caps led is on
+ led_t led_state = host_keyboard_led_state(); // caps lock stuff, prints CAPS on new line if caps led is on
oled_set_cursor(0, 1);
oled_write_P(led_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false);
- return false;
+ return true;
}
#endif
diff --git a/keyboards/era/klein/config.h b/keyboards/era/klein/config.h
deleted file mode 100644
index 1033bc738e..0000000000
--- a/keyboards/era/klein/config.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright 2023 eerraa
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* BACKLIGHT PWM */
-#define BACKLIGHT_PWM_DRIVER PWMD7
-#define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_B
-
-/* RGB Matrix */
-#define RGB_MATRIX_DEFAULT_VAL 60
-#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_DISABLE_WHEN_USB_SUSPENDED
diff --git a/keyboards/era/klein/info.json b/keyboards/era/klein/info.json
deleted file mode 100644
index ac08cbb8a2..0000000000
--- a/keyboards/era/klein/info.json
+++ /dev/null
@@ -1,590 +0,0 @@
-{
- "manufacturer": "SIRIND",
- "keyboard_name": "Klein",
- "maintainer": "eerraa",
- "backlight": {
- "levels": 5,
- "pin": "GP15"
- },
- "bootloader": "rp2040",
- "build": {
- "debounce_type": "sym_defer_pk"
- },
- "diode_direction": "COL2ROW",
- "features": {
- "backlight": true,
- "bootmagic": true,
- "extrakey": true,
- "mousekey": true,
- "nkro": true,
- "rgb_matrix": true
- },
- "indicators": {
- "caps_lock": "GP16",
- "on_state": 0,
- "scroll_lock": "GP17"
- },
- "matrix_pins": {
- "cols": ["GP22", "GP23", "GP24", "GP25", "GP26", "GP27", "GP28", "GP29", "GP11", "GP10", "GP8", "GP7", "GP1", "GP2", "GP3", "GP4"],
- "rows": ["GP18", "GP19", "GP20", "GP21", "GP14", "GP5", "GP6", "GP9", "GP13", "GP12"]
- },
- "processor": "RP2040",
- "rgb_matrix": {
- "animations": {
- "alphas_mods": true,
- "gradient_up_down": true,
- "gradient_left_right": true,
- "breathing": true,
- "band_sat": true,
- "band_val": true,
- "band_pinwheel_sat": true,
- "band_pinwheel_val": true,
- "band_spiral_sat": true,
- "band_spiral_val": true,
- "cycle_all": true,
- "cycle_left_right": true,
- "cycle_up_down": true,
- "rainbow_moving_chevron": true,
- "cycle_out_in": true,
- "cycle_out_in_dual": true,
- "cycle_pinwheel": true,
- "cycle_spiral": true,
- "dual_beacon": true,
- "rainbow_beacon": true,
- "rainbow_pinwheels": true,
- "raindrops": true,
- "jellybean_raindrops": true,
- "hue_breathing": true,
- "hue_pendulum": true,
- "hue_wave": true,
- "pixel_rain": true,
- "pixel_flow": true,
- "pixel_fractal": true,
- "typing_heatmap": true,
- "digital_rain": true,
- "solid_reactive_simple": true,
- "solid_reactive": true,
- "solid_reactive_wide": true,
- "solid_reactive_multiwide": true,
- "solid_reactive_cross": true,
- "solid_reactive_multicross": true,
- "solid_reactive_nexus": true,
- "solid_reactive_multinexus": true,
- "splash": true,
- "multisplash": true,
- "solid_splash": true,
- "solid_multisplash": true
- },
- "driver": "ws2812",
- "layout": [
- {"matrix": [0, 7], "x": 4, "y": 0, "flags": 1},
- {"matrix": [0, 6], "x": 20, "y": 2, "flags": 4},
- {"matrix": [0, 5], "x": 32, "y": 2, "flags": 4},
- {"matrix": [0, 4], "x": 45, "y": 1, "flags": 4},
- {"matrix": [0, 3], "x": 58, "y": 3, "flags": 4},
- {"matrix": [0, 2], "x": 71, "y": 5, "flags": 4},
- {"matrix": [0, 1], "x": 83, "y": 8, "flags": 4},
- {"matrix": [0, 0], "x": 96, "y": 10, "flags": 4},
- {"matrix": [1, 0], "x": 129, "y": 9, "flags": 4},
- {"matrix": [1, 1], "x": 141, "y": 7, "flags": 4},
- {"matrix": [1, 2], "x": 154, "y": 4, "flags": 4},
- {"matrix": [1, 3], "x": 166, "y": 2, "flags": 4},
- {"matrix": [1, 4], "x": 179, "y": 1, "flags": 4},
- {"matrix": [1, 5], "x": 192, "y": 2, "flags": 4},
- {"matrix": [1, 6], "x": 211, "y": 2, "flags": 1},
- {"matrix": [1, 7], "x": 1, "y": 13, "flags": 1},
- {"matrix": [2, 6], "x": 21, "y": 15, "flags": 1},
- {"matrix": [2, 5], "x": 36, "y": 15, "flags": 4},
- {"matrix": [2, 4], "x": 50, "y": 15, "flags": 4},
- {"matrix": [2, 3], "x": 62, "y": 17, "flags": 4},
- {"matrix": [2, 2], "x": 75, "y": 20, "flags": 4},
- {"matrix": [2, 1], "x": 87, "y": 22, "flags": 4},
- {"matrix": [2, 0], "x": 100, "y": 24, "flags": 4},
- {"matrix": [3, 1], "x": 125, "y": 23, "flags": 4},
- {"matrix": [3, 2], "x": 137, "y": 21, "flags": 4},
- {"matrix": [3, 3], "x": 150, "y": 18, "flags": 4},
- {"matrix": [3, 4], "x": 162, "y": 16, "flags": 4},
- {"matrix": [3, 5], "x": 175, "y": 15, "flags": 4},
- {"matrix": [3, 6], "x": 188, "y": 15, "flags": 4},
- {"matrix": [4, 6], "x": 201, "y": 15, "flags": 4},
- {"matrix": [4, 5], "x": 217, "y": 15, "flags": 4},
- {"matrix": [4, 3], "x": 0, "y": 27, "flags": 1},
- {"matrix": [4, 1], "x": 18, "y": 29, "flags": 1},
- {"matrix": [0, 8], "x": 38, "y": 29, "flags": 4},
- {"matrix": [0, 9], "x": 51, "y": 29, "flags": 4},
- {"matrix": [0, 10], "x": 64, "y": 31, "flags": 4},
- {"matrix": [0, 11], "x": 76, "y": 33, "flags": 4},
- {"matrix": [0, 12], "x": 89, "y": 36, "flags": 4},
- {"matrix": [0, 13], "x": 129, "y": 36, "flags": 4},
- {"matrix": [0, 15], "x": 142, "y": 33, "flags": 4},
- {"matrix": [1, 15], "x": 154, "y": 31, "flags": 4},
- {"matrix": [1, 14], "x": 167, "y": 29, "flags": 4},
- {"matrix": [1, 13], "x": 180, "y": 29, "flags": 4},
- {"matrix": [1, 12], "x": 193, "y": 29, "flags": 4},
- {"matrix": [1, 11], "x": 213, "y": 29, "flags": 1},
- {"matrix": [1, 10], "x": 21, "y": 42, "flags": 1},
- {"matrix": [1, 9], "x": 42, "y": 42, "flags": 4},
- {"matrix": [1, 8], "x": 60, "y": 57, "flags": 4},
- {"matrix": [2, 8], "x": 67, "y": 45, "flags": 4},
- {"matrix": [2, 9], "x": 80, "y": 47, "flags": 4},
- {"matrix": [2, 10], "x": 92, "y": 50, "flags": 4},
- {"matrix": [2, 11], "x": 126, "y": 50, "flags": 4},
- {"matrix": [2, 12], "x": 138, "y": 48, "flags": 4},
- {"matrix": [2, 13], "x": 151, "y": 45, "flags": 4},
- {"matrix": [2, 15], "x": 163, "y": 43, "flags": 4},
- {"matrix": [3, 14], "x": 177, "y": 42, "flags": 4},
- {"matrix": [3, 13], "x": 189, "y": 42, "flags": 4},
- {"matrix": [3, 12], "x": 213, "y": 42, "flags": 1},
- {"matrix": [3, 11], "x": 16, "y": 55, "flags": 1},
- {"matrix": [3, 10], "x": 55, "y": 43, "flags": 1},
- {"matrix": [3, 9], "x": 76, "y": 60, "flags": 4},
- {"matrix": [3, 8], "x": 96, "y": 64, "flags": 1},
- {"matrix": [4, 9], "x": 139, "y": 61, "flags": 4},
- {"matrix": [4, 11], "x": 166, "y": 57, "flags": 1},
- {"matrix": [4, 13], "x": 189, "y": 55, "flags": 1},
- {"matrix": [4, 14], "x": 202, "y": 55, "flags": 1},
- {"matrix": [4, 15], "x": 221, "y": 55, "flags": 1}
- ],
- "led_count": 67
- },
- "url": "",
- "usb": {
- "device_version": "1.0.0",
- "pid": "0x0003",
- "vid": "0x4552"
- },
- "ws2812": {
- "driver": "vendor",
- "pin": "GP0"
- },
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"matrix": [0, 0], "x": 0, "y": 0},
- {"matrix": [0, 1], "x": 1.5, "y": 0},
- {"matrix": [0, 2], "x": 2.5, "y": 0},
- {"matrix": [0, 3], "x": 3.5, "y": 0},
- {"matrix": [0, 4], "x": 4.5, "y": 0},
- {"matrix": [0, 5], "x": 5.5, "y": 0},
- {"matrix": [0, 6], "x": 6.5, "y": 0},
- {"matrix": [0, 7], "x": 7.5, "y": 0},
- {"matrix": [5, 0], "x": 10.75, "y": 0},
- {"matrix": [5, 1], "x": 11.75, "y": 0},
- {"matrix": [5, 2], "x": 12.75, "y": 0},
- {"matrix": [5, 3], "x": 13.75, "y": 0},
- {"matrix": [5, 4], "x": 14.75, "y": 0},
- {"matrix": [5, 5], "x": 15.75, "y": 0},
- {"matrix": [5, 6], "x": 16.75, "y": 0},
- {"matrix": [5, 7], "x": 17.75, "y": 0},
- {"matrix": [1, 0], "x": 0, "y": 1},
- {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5},
- {"matrix": [1, 2], "x": 3, "y": 1},
- {"matrix": [1, 3], "x": 4, "y": 1},
- {"matrix": [1, 4], "x": 5, "y": 1},
- {"matrix": [1, 5], "x": 6, "y": 1},
- {"matrix": [1, 6], "x": 7, "y": 1},
- {"matrix": [1, 7], "x": 8, "y": 1},
- {"matrix": [6, 0], "x": 10.25, "y": 1},
- {"matrix": [6, 1], "x": 11.25, "y": 1},
- {"matrix": [6, 2], "x": 12.25, "y": 1},
- {"matrix": [6, 3], "x": 13.25, "y": 1},
- {"matrix": [6, 4], "x": 14.25, "y": 1},
- {"matrix": [6, 5], "x": 15.25, "y": 1},
- {"matrix": [6, 6], "x": 16.25, "y": 1},
- {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5},
- {"matrix": [2, 0], "x": 0, "y": 2},
- {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75},
- {"matrix": [2, 2], "x": 3.25, "y": 2},
- {"matrix": [2, 3], "x": 4.25, "y": 2},
- {"matrix": [2, 4], "x": 5.25, "y": 2},
- {"matrix": [2, 5], "x": 6.25, "y": 2},
- {"matrix": [2, 6], "x": 7.25, "y": 2},
- {"matrix": [7, 0], "x": 10.5, "y": 2},
- {"matrix": [7, 1], "x": 11.5, "y": 2},
- {"matrix": [7, 2], "x": 12.5, "y": 2},
- {"matrix": [7, 3], "x": 13.5, "y": 2},
- {"matrix": [7, 4], "x": 14.5, "y": 2},
- {"matrix": [7, 5], "x": 15.5, "y": 2},
- {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25},
- {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25},
- {"matrix": [3, 2], "x": 3.75, "y": 3},
- {"matrix": [3, 3], "x": 4.75, "y": 3},
- {"matrix": [3, 4], "x": 5.75, "y": 3},
- {"matrix": [3, 5], "x": 6.75, "y": 3},
- {"matrix": [3, 6], "x": 7.75, "y": 3},
- {"matrix": [8, 0], "x": 10, "y": 3},
- {"matrix": [8, 1], "x": 11, "y": 3},
- {"matrix": [8, 2], "x": 12, "y": 3},
- {"matrix": [8, 3], "x": 13, "y": 3},
- {"matrix": [8, 4], "x": 14, "y": 3},
- {"matrix": [8, 5], "x": 15, "y": 3},
- {"matrix": [8, 6], "x": 16, "y": 3, "w": 1.75},
- {"matrix": [8, 7], "x": 17.75, "y": 3},
- {"matrix": [4, 1], "x": 1.5, "y": 4},
- {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5},
- {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25},
- {"matrix": [4, 5], "x": 8.25, "y": 4},
- {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75},
- {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5},
- {"matrix": [9, 5], "x": 15, "y": 4},
- {"matrix": [9, 6], "x": 16, "y": 4},
- {"matrix": [9, 7], "x": 17, "y": 4}
- ]
- },
- "LAYOUT_ansi": {
- "layout": [
- {"matrix": [0, 0], "x": 0, "y": 0},
- {"matrix": [0, 1], "x": 1.5, "y": 0},
- {"matrix": [0, 2], "x": 2.5, "y": 0},
- {"matrix": [0, 3], "x": 3.5, "y": 0},
- {"matrix": [0, 4], "x": 4.5, "y": 0},
- {"matrix": [0, 5], "x": 5.5, "y": 0},
- {"matrix": [0, 6], "x": 6.5, "y": 0},
- {"matrix": [0, 7], "x": 7.5, "y": 0},
- {"matrix": [5, 0], "x": 10.75, "y": 0},
- {"matrix": [5, 1], "x": 11.75, "y": 0},
- {"matrix": [5, 2], "x": 12.75, "y": 0},
- {"matrix": [5, 3], "x": 13.75, "y": 0},
- {"matrix": [5, 4], "x": 14.75, "y": 0},
- {"matrix": [5, 5], "x": 15.75, "y": 0},
- {"matrix": [5, 7], "x": 16.75, "y": 0, "w": 2},
- {"matrix": [1, 0], "x": 0, "y": 1},
- {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5},
- {"matrix": [1, 2], "x": 3, "y": 1},
- {"matrix": [1, 3], "x": 4, "y": 1},
- {"matrix": [1, 4], "x": 5, "y": 1},
- {"matrix": [1, 5], "x": 6, "y": 1},
- {"matrix": [1, 6], "x": 7, "y": 1},
- {"matrix": [1, 7], "x": 8, "y": 1},
- {"matrix": [6, 0], "x": 10.25, "y": 1},
- {"matrix": [6, 1], "x": 11.25, "y": 1},
- {"matrix": [6, 2], "x": 12.25, "y": 1},
- {"matrix": [6, 3], "x": 13.25, "y": 1},
- {"matrix": [6, 4], "x": 14.25, "y": 1},
- {"matrix": [6, 5], "x": 15.25, "y": 1},
- {"matrix": [6, 6], "x": 16.25, "y": 1},
- {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5},
- {"matrix": [2, 0], "x": 0, "y": 2},
- {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75},
- {"matrix": [2, 2], "x": 3.25, "y": 2},
- {"matrix": [2, 3], "x": 4.25, "y": 2},
- {"matrix": [2, 4], "x": 5.25, "y": 2},
- {"matrix": [2, 5], "x": 6.25, "y": 2},
- {"matrix": [2, 6], "x": 7.25, "y": 2},
- {"matrix": [7, 0], "x": 10.5, "y": 2},
- {"matrix": [7, 1], "x": 11.5, "y": 2},
- {"matrix": [7, 2], "x": 12.5, "y": 2},
- {"matrix": [7, 3], "x": 13.5, "y": 2},
- {"matrix": [7, 4], "x": 14.5, "y": 2},
- {"matrix": [7, 5], "x": 15.5, "y": 2},
- {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25},
- {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25},
- {"matrix": [3, 2], "x": 3.75, "y": 3},
- {"matrix": [3, 3], "x": 4.75, "y": 3},
- {"matrix": [3, 4], "x": 5.75, "y": 3},
- {"matrix": [3, 5], "x": 6.75, "y": 3},
- {"matrix": [3, 6], "x": 7.75, "y": 3},
- {"matrix": [8, 0], "x": 10, "y": 3},
- {"matrix": [8, 1], "x": 11, "y": 3},
- {"matrix": [8, 2], "x": 12, "y": 3},
- {"matrix": [8, 3], "x": 13, "y": 3},
- {"matrix": [8, 4], "x": 14, "y": 3},
- {"matrix": [8, 5], "x": 15, "y": 3},
- {"matrix": [8, 6], "x": 16, "y": 3, "w": 2.75},
- {"matrix": [4, 1], "x": 1.5, "y": 4},
- {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5},
- {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25},
- {"matrix": [4, 5], "x": 8.25, "y": 4},
- {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75},
- {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5},
- {"matrix": [9, 7], "x": 17.25, "y": 4, "w": 1.5}
- ]
- },
- "LAYOUT_ansi_arrow": {
- "layout": [
- {"matrix": [0, 0], "x": 0, "y": 0},
- {"matrix": [0, 1], "x": 1.5, "y": 0},
- {"matrix": [0, 2], "x": 2.5, "y": 0},
- {"matrix": [0, 3], "x": 3.5, "y": 0},
- {"matrix": [0, 4], "x": 4.5, "y": 0},
- {"matrix": [0, 5], "x": 5.5, "y": 0},
- {"matrix": [0, 6], "x": 6.5, "y": 0},
- {"matrix": [0, 7], "x": 7.5, "y": 0},
- {"matrix": [5, 0], "x": 10.75, "y": 0},
- {"matrix": [5, 1], "x": 11.75, "y": 0},
- {"matrix": [5, 2], "x": 12.75, "y": 0},
- {"matrix": [5, 3], "x": 13.75, "y": 0},
- {"matrix": [5, 4], "x": 14.75, "y": 0},
- {"matrix": [5, 5], "x": 15.75, "y": 0},
- {"matrix": [5, 7], "x": 16.75, "y": 0, "w": 2},
- {"matrix": [1, 0], "x": 0, "y": 1},
- {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5},
- {"matrix": [1, 2], "x": 3, "y": 1},
- {"matrix": [1, 3], "x": 4, "y": 1},
- {"matrix": [1, 4], "x": 5, "y": 1},
- {"matrix": [1, 5], "x": 6, "y": 1},
- {"matrix": [1, 6], "x": 7, "y": 1},
- {"matrix": [1, 7], "x": 8, "y": 1},
- {"matrix": [6, 0], "x": 10.25, "y": 1},
- {"matrix": [6, 1], "x": 11.25, "y": 1},
- {"matrix": [6, 2], "x": 12.25, "y": 1},
- {"matrix": [6, 3], "x": 13.25, "y": 1},
- {"matrix": [6, 4], "x": 14.25, "y": 1},
- {"matrix": [6, 5], "x": 15.25, "y": 1},
- {"matrix": [6, 6], "x": 16.25, "y": 1},
- {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5},
- {"matrix": [2, 0], "x": 0, "y": 2},
- {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75},
- {"matrix": [2, 2], "x": 3.25, "y": 2},
- {"matrix": [2, 3], "x": 4.25, "y": 2},
- {"matrix": [2, 4], "x": 5.25, "y": 2},
- {"matrix": [2, 5], "x": 6.25, "y": 2},
- {"matrix": [2, 6], "x": 7.25, "y": 2},
- {"matrix": [7, 0], "x": 10.5, "y": 2},
- {"matrix": [7, 1], "x": 11.5, "y": 2},
- {"matrix": [7, 2], "x": 12.5, "y": 2},
- {"matrix": [7, 3], "x": 13.5, "y": 2},
- {"matrix": [7, 4], "x": 14.5, "y": 2},
- {"matrix": [7, 5], "x": 15.5, "y": 2},
- {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25},
- {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25},
- {"matrix": [3, 2], "x": 3.75, "y": 3},
- {"matrix": [3, 3], "x": 4.75, "y": 3},
- {"matrix": [3, 4], "x": 5.75, "y": 3},
- {"matrix": [3, 5], "x": 6.75, "y": 3},
- {"matrix": [3, 6], "x": 7.75, "y": 3},
- {"matrix": [8, 0], "x": 10, "y": 3},
- {"matrix": [8, 1], "x": 11, "y": 3},
- {"matrix": [8, 2], "x": 12, "y": 3},
- {"matrix": [8, 3], "x": 13, "y": 3},
- {"matrix": [8, 4], "x": 14, "y": 3},
- {"matrix": [8, 5], "x": 15, "y": 3},
- {"matrix": [8, 6], "x": 16, "y": 3},
- {"matrix": [8, 7], "x": 17, "y": 3, "w": 1.75},
- {"matrix": [4, 1], "x": 1.5, "y": 4},
- {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5},
- {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25},
- {"matrix": [4, 5], "x": 8.25, "y": 4},
- {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75},
- {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5},
- {"matrix": [9, 5], "x": 15, "y": 4},
- {"matrix": [9, 6], "x": 16, "y": 4},
- {"matrix": [9, 7], "x": 17, "y": 4}
- ]
- },
- "LAYOUT_ansi_split_bs": {
- "layout": [
- {"matrix": [0, 0], "x": 0, "y": 0},
- {"matrix": [0, 1], "x": 1.5, "y": 0},
- {"matrix": [0, 2], "x": 2.5, "y": 0},
- {"matrix": [0, 3], "x": 3.5, "y": 0},
- {"matrix": [0, 4], "x": 4.5, "y": 0},
- {"matrix": [0, 5], "x": 5.5, "y": 0},
- {"matrix": [0, 6], "x": 6.5, "y": 0},
- {"matrix": [0, 7], "x": 7.5, "y": 0},
- {"matrix": [5, 0], "x": 10.75, "y": 0},
- {"matrix": [5, 1], "x": 11.75, "y": 0},
- {"matrix": [5, 2], "x": 12.75, "y": 0},
- {"matrix": [5, 3], "x": 13.75, "y": 0},
- {"matrix": [5, 4], "x": 14.75, "y": 0},
- {"matrix": [5, 5], "x": 15.75, "y": 0},
- {"matrix": [5, 6], "x": 16.75, "y": 0},
- {"matrix": [5, 7], "x": 17.75, "y": 0},
- {"matrix": [1, 0], "x": 0, "y": 1},
- {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5},
- {"matrix": [1, 2], "x": 3, "y": 1},
- {"matrix": [1, 3], "x": 4, "y": 1},
- {"matrix": [1, 4], "x": 5, "y": 1},
- {"matrix": [1, 5], "x": 6, "y": 1},
- {"matrix": [1, 6], "x": 7, "y": 1},
- {"matrix": [1, 7], "x": 8, "y": 1},
- {"matrix": [6, 0], "x": 10.25, "y": 1},
- {"matrix": [6, 1], "x": 11.25, "y": 1},
- {"matrix": [6, 2], "x": 12.25, "y": 1},
- {"matrix": [6, 3], "x": 13.25, "y": 1},
- {"matrix": [6, 4], "x": 14.25, "y": 1},
- {"matrix": [6, 5], "x": 15.25, "y": 1},
- {"matrix": [6, 6], "x": 16.25, "y": 1},
- {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5},
- {"matrix": [2, 0], "x": 0, "y": 2},
- {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75},
- {"matrix": [2, 2], "x": 3.25, "y": 2},
- {"matrix": [2, 3], "x": 4.25, "y": 2},
- {"matrix": [2, 4], "x": 5.25, "y": 2},
- {"matrix": [2, 5], "x": 6.25, "y": 2},
- {"matrix": [2, 6], "x": 7.25, "y": 2},
- {"matrix": [7, 0], "x": 10.5, "y": 2},
- {"matrix": [7, 1], "x": 11.5, "y": 2},
- {"matrix": [7, 2], "x": 12.5, "y": 2},
- {"matrix": [7, 3], "x": 13.5, "y": 2},
- {"matrix": [7, 4], "x": 14.5, "y": 2},
- {"matrix": [7, 5], "x": 15.5, "y": 2},
- {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25},
- {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25},
- {"matrix": [3, 2], "x": 3.75, "y": 3},
- {"matrix": [3, 3], "x": 4.75, "y": 3},
- {"matrix": [3, 4], "x": 5.75, "y": 3},
- {"matrix": [3, 5], "x": 6.75, "y": 3},
- {"matrix": [3, 6], "x": 7.75, "y": 3},
- {"matrix": [8, 0], "x": 10, "y": 3},
- {"matrix": [8, 1], "x": 11, "y": 3},
- {"matrix": [8, 2], "x": 12, "y": 3},
- {"matrix": [8, 3], "x": 13, "y": 3},
- {"matrix": [8, 4], "x": 14, "y": 3},
- {"matrix": [8, 5], "x": 15, "y": 3},
- {"matrix": [8, 6], "x": 16, "y": 3, "w": 2.75},
- {"matrix": [4, 1], "x": 1.5, "y": 4},
- {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5},
- {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25},
- {"matrix": [4, 5], "x": 8.25, "y": 4},
- {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75},
- {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5},
- {"matrix": [9, 7], "x": 17.25, "y": 4, "w": 1.5}
- ]
- },
- "LAYOUT_ansi_split_bs_rsft": {
- "layout": [
- {"matrix": [0, 0], "x": 0, "y": 0},
- {"matrix": [0, 1], "x": 1.5, "y": 0},
- {"matrix": [0, 2], "x": 2.5, "y": 0},
- {"matrix": [0, 3], "x": 3.5, "y": 0},
- {"matrix": [0, 4], "x": 4.5, "y": 0},
- {"matrix": [0, 5], "x": 5.5, "y": 0},
- {"matrix": [0, 6], "x": 6.5, "y": 0},
- {"matrix": [0, 7], "x": 7.5, "y": 0},
- {"matrix": [5, 0], "x": 10.75, "y": 0},
- {"matrix": [5, 1], "x": 11.75, "y": 0},
- {"matrix": [5, 2], "x": 12.75, "y": 0},
- {"matrix": [5, 3], "x": 13.75, "y": 0},
- {"matrix": [5, 4], "x": 14.75, "y": 0},
- {"matrix": [5, 5], "x": 15.75, "y": 0},
- {"matrix": [5, 6], "x": 16.75, "y": 0},
- {"matrix": [5, 7], "x": 17.75, "y": 0},
- {"matrix": [1, 0], "x": 0, "y": 1},
- {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5},
- {"matrix": [1, 2], "x": 3, "y": 1},
- {"matrix": [1, 3], "x": 4, "y": 1},
- {"matrix": [1, 4], "x": 5, "y": 1},
- {"matrix": [1, 5], "x": 6, "y": 1},
- {"matrix": [1, 6], "x": 7, "y": 1},
- {"matrix": [1, 7], "x": 8, "y": 1},
- {"matrix": [6, 0], "x": 10.25, "y": 1},
- {"matrix": [6, 1], "x": 11.25, "y": 1},
- {"matrix": [6, 2], "x": 12.25, "y": 1},
- {"matrix": [6, 3], "x": 13.25, "y": 1},
- {"matrix": [6, 4], "x": 14.25, "y": 1},
- {"matrix": [6, 5], "x": 15.25, "y": 1},
- {"matrix": [6, 6], "x": 16.25, "y": 1},
- {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5},
- {"matrix": [2, 0], "x": 0, "y": 2},
- {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75},
- {"matrix": [2, 2], "x": 3.25, "y": 2},
- {"matrix": [2, 3], "x": 4.25, "y": 2},
- {"matrix": [2, 4], "x": 5.25, "y": 2},
- {"matrix": [2, 5], "x": 6.25, "y": 2},
- {"matrix": [2, 6], "x": 7.25, "y": 2},
- {"matrix": [7, 0], "x": 10.5, "y": 2},
- {"matrix": [7, 1], "x": 11.5, "y": 2},
- {"matrix": [7, 2], "x": 12.5, "y": 2},
- {"matrix": [7, 3], "x": 13.5, "y": 2},
- {"matrix": [7, 4], "x": 14.5, "y": 2},
- {"matrix": [7, 5], "x": 15.5, "y": 2},
- {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25},
- {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25},
- {"matrix": [3, 2], "x": 3.75, "y": 3},
- {"matrix": [3, 3], "x": 4.75, "y": 3},
- {"matrix": [3, 4], "x": 5.75, "y": 3},
- {"matrix": [3, 5], "x": 6.75, "y": 3},
- {"matrix": [3, 6], "x": 7.75, "y": 3},
- {"matrix": [8, 0], "x": 10, "y": 3},
- {"matrix": [8, 1], "x": 11, "y": 3},
- {"matrix": [8, 2], "x": 12, "y": 3},
- {"matrix": [8, 3], "x": 13, "y": 3},
- {"matrix": [8, 4], "x": 14, "y": 3},
- {"matrix": [8, 5], "x": 15, "y": 3},
- {"matrix": [8, 6], "x": 16, "y": 3, "w": 1.75},
- {"matrix": [8, 7], "x": 17.75, "y": 3},
- {"matrix": [4, 1], "x": 1.5, "y": 4},
- {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5},
- {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25},
- {"matrix": [4, 5], "x": 8.25, "y": 4},
- {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75},
- {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5},
- {"matrix": [9, 7], "x": 17.25, "y": 4, "w": 1.5}
- ]
- },
- "LAYOUT_arrow_split_bs": {
- "layout": [
- {"matrix": [0, 0], "x": 0, "y": 0},
- {"matrix": [0, 1], "x": 1.5, "y": 0},
- {"matrix": [0, 2], "x": 2.5, "y": 0},
- {"matrix": [0, 3], "x": 3.5, "y": 0},
- {"matrix": [0, 4], "x": 4.5, "y": 0},
- {"matrix": [0, 5], "x": 5.5, "y": 0},
- {"matrix": [0, 6], "x": 6.5, "y": 0},
- {"matrix": [0, 7], "x": 7.5, "y": 0},
- {"matrix": [5, 0], "x": 10.75, "y": 0},
- {"matrix": [5, 1], "x": 11.75, "y": 0},
- {"matrix": [5, 2], "x": 12.75, "y": 0},
- {"matrix": [5, 3], "x": 13.75, "y": 0},
- {"matrix": [5, 4], "x": 14.75, "y": 0},
- {"matrix": [5, 5], "x": 15.75, "y": 0},
- {"matrix": [5, 6], "x": 16.75, "y": 0},
- {"matrix": [5, 7], "x": 17.75, "y": 0},
- {"matrix": [1, 0], "x": 0, "y": 1},
- {"matrix": [1, 1], "x": 1.5, "y": 1, "w": 1.5},
- {"matrix": [1, 2], "x": 3, "y": 1},
- {"matrix": [1, 3], "x": 4, "y": 1},
- {"matrix": [1, 4], "x": 5, "y": 1},
- {"matrix": [1, 5], "x": 6, "y": 1},
- {"matrix": [1, 6], "x": 7, "y": 1},
- {"matrix": [1, 7], "x": 8, "y": 1},
- {"matrix": [6, 0], "x": 10.25, "y": 1},
- {"matrix": [6, 1], "x": 11.25, "y": 1},
- {"matrix": [6, 2], "x": 12.25, "y": 1},
- {"matrix": [6, 3], "x": 13.25, "y": 1},
- {"matrix": [6, 4], "x": 14.25, "y": 1},
- {"matrix": [6, 5], "x": 15.25, "y": 1},
- {"matrix": [6, 6], "x": 16.25, "y": 1},
- {"matrix": [6, 7], "x": 17.25, "y": 1, "w": 1.5},
- {"matrix": [2, 0], "x": 0, "y": 2},
- {"matrix": [2, 1], "x": 1.5, "y": 2, "w": 1.75},
- {"matrix": [2, 2], "x": 3.25, "y": 2},
- {"matrix": [2, 3], "x": 4.25, "y": 2},
- {"matrix": [2, 4], "x": 5.25, "y": 2},
- {"matrix": [2, 5], "x": 6.25, "y": 2},
- {"matrix": [2, 6], "x": 7.25, "y": 2},
- {"matrix": [7, 0], "x": 10.5, "y": 2},
- {"matrix": [7, 1], "x": 11.5, "y": 2},
- {"matrix": [7, 2], "x": 12.5, "y": 2},
- {"matrix": [7, 3], "x": 13.5, "y": 2},
- {"matrix": [7, 4], "x": 14.5, "y": 2},
- {"matrix": [7, 5], "x": 15.5, "y": 2},
- {"matrix": [7, 7], "x": 16.5, "y": 2, "w": 2.25},
- {"matrix": [3, 1], "x": 1.5, "y": 3, "w": 2.25},
- {"matrix": [3, 2], "x": 3.75, "y": 3},
- {"matrix": [3, 3], "x": 4.75, "y": 3},
- {"matrix": [3, 4], "x": 5.75, "y": 3},
- {"matrix": [3, 5], "x": 6.75, "y": 3},
- {"matrix": [3, 6], "x": 7.75, "y": 3},
- {"matrix": [8, 0], "x": 10, "y": 3},
- {"matrix": [8, 1], "x": 11, "y": 3},
- {"matrix": [8, 2], "x": 12, "y": 3},
- {"matrix": [8, 3], "x": 13, "y": 3},
- {"matrix": [8, 4], "x": 14, "y": 3},
- {"matrix": [8, 5], "x": 15, "y": 3},
- {"matrix": [8, 6], "x": 16, "y": 3},
- {"matrix": [8, 7], "x": 17, "y": 3, "w": 1.75},
- {"matrix": [4, 1], "x": 1.5, "y": 4},
- {"matrix": [4, 3], "x": 4.5, "y": 4, "w": 1.5},
- {"matrix": [4, 4], "x": 6, "y": 4, "w": 2.25},
- {"matrix": [4, 5], "x": 8.25, "y": 4},
- {"matrix": [9, 1], "x": 10, "y": 4, "w": 2.75},
- {"matrix": [9, 3], "x": 12.75, "y": 4, "w": 1.5},
- {"matrix": [9, 5], "x": 15, "y": 4},
- {"matrix": [9, 6], "x": 16, "y": 4},
- {"matrix": [9, 7], "x": 17, "y": 4}
- ]
- }
- }
-} \ No newline at end of file
diff --git a/keyboards/era/klein/keymaps/default/keymap.c b/keyboards/era/klein/keymaps/default/keymap.c
deleted file mode 100644
index 88878bbcd9..0000000000
--- a/keyboards/era/klein/keymaps/default/keymap.c
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2018-2022 QMK (@qmk)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT(
- KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
- KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RCTL
- ),
-
- [1] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-}; \ No newline at end of file
diff --git a/keyboards/era/klein/keymaps/via/keymap.c b/keyboards/era/klein/keymaps/via/keymap.c
deleted file mode 100644
index 88878bbcd9..0000000000
--- a/keyboards/era/klein/keymaps/via/keymap.c
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2018-2022 QMK (@qmk)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT(
- KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
- KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RCTL
- ),
-
- [1] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-}; \ No newline at end of file
diff --git a/keyboards/era/klein/readme.md b/keyboards/era/klein/readme.md
deleted file mode 100644
index 1efeafe451..0000000000
--- a/keyboards/era/klein/readme.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# MontK Cervin Klein
-
-* Keyboard Maintainer: [ERA](https://github.com/eerraa)
-* Hardware supported: SIRIND Klein
-* Hardware availability: [Syryan](https://srind.mysoho.com/)
-
-Make example for this keyboard (after setting up your build environment):
-
- make era/klein:default
-
-Flashing example for this keyboard:
-
- make era/klein:default:flash
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-## Bootloader
-
-Enter the bootloader in 3 ways:
-
-* **Bootmagic reset**: Hold down the key at ESC(0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
-* **Physical reset button**: Briefly short the `RESET` and `GND` pads on the SWD header twice, or short the `BOOT` header and plug in keyboard
-* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file
diff --git a/keyboards/ergodox_ez/led_i2c.c b/keyboards/ergodox_ez/led_i2c.c
index 23ef91b74f..a8802858ec 100644
--- a/keyboards/ergodox_ez/led_i2c.c
+++ b/keyboards/ergodox_ez/led_i2c.c
@@ -21,8 +21,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifdef RGBLIGHT_ENABLE
# include "ergodox_ez.h"
+# include "ws2812.h"
-void rgblight_call_driver(rgb_led_t *led, uint8_t led_num) {
+void setleds_custom(rgb_led_t *led, uint16_t led_num) {
i2c_init();
i2c_start(0x84, ERGODOX_EZ_I2C_TIMEOUT);
int i = 0;
@@ -30,7 +31,7 @@ void rgblight_call_driver(rgb_led_t *led, uint8_t led_num) {
// prevent right-half code from trying to bitbang all 30
// so with 30 LEDs, we count from 29 to 15 here, and the
// other half does 0 to 14.
- uint8_t half_led_num = RGBLED_NUM / 2;
+ uint8_t half_led_num = RGBLIGHT_LED_COUNT / 2;
for (i = half_led_num + half_led_num - 1; i >= half_led_num; --i)
# elif defined(ERGODOX_LED_15_MIRROR)
for (i = 0; i < led_num; ++i)
@@ -51,5 +52,8 @@ void rgblight_call_driver(rgb_led_t *led, uint8_t led_num) {
ws2812_setleds(led, led_num);
}
+const rgblight_driver_t rgblight_driver = {
+ .setleds = setleds_custom,
+};
#endif // RGBLIGHT_ENABLE
diff --git a/keyboards/ergodox_ez/post_config.h b/keyboards/ergodox_ez/post_config.h
index 0d4fe5c683..eb22439ae4 100644
--- a/keyboards/ergodox_ez/post_config.h
+++ b/keyboards/ergodox_ez/post_config.h
@@ -33,8 +33,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifdef ERGODOX_LED_30
// If using 30 LEDs, then define that many
-# define RGBLED_NUM 30 // Number of LEDs
+# define RGBLIGHT_LED_COUNT 30 // Number of LEDs
#else
// If not, then only define 15
-# define RGBLED_NUM 15 // Number of LEDs
+# define RGBLIGHT_LED_COUNT 15 // Number of LEDs
#endif
diff --git a/keyboards/ergodox_ez/shine/info.json b/keyboards/ergodox_ez/shine/info.json
index 11c3a8b209..181ac52e6c 100644
--- a/keyboards/ergodox_ez/shine/info.json
+++ b/keyboards/ergodox_ez/shine/info.json
@@ -2,5 +2,8 @@
"keyboard_name": "ErgoDox EZ Shine",
"usb": {
"pid": "0x4975"
+ },
+ "rgblight": {
+ "driver": "custom"
}
}
diff --git a/keyboards/ergodox_ez/shine/rules.mk b/keyboards/ergodox_ez/shine/rules.mk
index 1e3cebb145..b035c36850 100644
--- a/keyboards/ergodox_ez/shine/rules.mk
+++ b/keyboards/ergodox_ez/shine/rules.mk
@@ -1 +1,2 @@
RGBLIGHT_ENABLE = yes
+WS2812_DRIVER_REQUIRED = yes
diff --git a/keyboards/ergotravel/keymaps/default/config.h b/keyboards/ergotravel/keymaps/default/config.h
index d047f718d6..746e60da5a 100644
--- a/keyboards/ergotravel/keymaps/default/config.h
+++ b/keyboards/ergotravel/keymaps/default/config.h
@@ -23,7 +23,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define MASTER_RIGHT
// #define EE_HANDS
-#undef RGBLED_NUM
+#undef RGBLIGHT_LED_COUNT
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
@@ -34,7 +34,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 14
+#define RGBLIGHT_LED_COUNT 14
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/ergotravel/keymaps/via/config.h b/keyboards/ergotravel/keymaps/via/config.h
index 409e3efde4..d42b738adc 100644
--- a/keyboards/ergotravel/keymaps/via/config.h
+++ b/keyboards/ergotravel/keymaps/via/config.h
@@ -23,8 +23,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define MASTER_RIGHT
// #define EE_HANDS
-// #undef RGBLED_NUM
-// #define RGBLED_NUM 14
+// #undef RGBLIGHT_LED_COUNT
+// #define RGBLIGHT_LED_COUNT 14
// #define RGBLIGHT_HUE_STEP 8
// #define RGBLIGHT_SAT_STEP 8
// #define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/fc660c/keymaps/default_rgb/config.h b/keyboards/fc660c/keymaps/default_rgb/config.h
index 23745f3190..1953964f88 100644
--- a/keyboards/fc660c/keymaps/default_rgb/config.h
+++ b/keyboards/fc660c/keymaps/default_rgb/config.h
@@ -21,7 +21,7 @@
/*RGB*/
/*Repurpose Insert LED */
#define WS2812_DI_PIN B5
- #define RGBLED_NUM 16
+ #define RGBLIGHT_LED_COUNT 16
#define RGBLIGHT_DEFAULT_HUE 127
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
diff --git a/keyboards/fc660c/keymaps/siroleo/config.h b/keyboards/fc660c/keymaps/siroleo/config.h
deleted file mode 100644
index 8262805a0a..0000000000
--- a/keyboards/fc660c/keymaps/siroleo/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2019 Khader Syed
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/fc660c/keymaps/via_rgb/config.h b/keyboards/fc660c/keymaps/via_rgb/config.h
index 23745f3190..1953964f88 100644
--- a/keyboards/fc660c/keymaps/via_rgb/config.h
+++ b/keyboards/fc660c/keymaps/via_rgb/config.h
@@ -21,7 +21,7 @@
/*RGB*/
/*Repurpose Insert LED */
#define WS2812_DI_PIN B5
- #define RGBLED_NUM 16
+ #define RGBLIGHT_LED_COUNT 16
#define RGBLIGHT_DEFAULT_HUE 127
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
diff --git a/keyboards/fleuron/keymaps/dollartacos/config.h b/keyboards/fleuron/keymaps/dollartacos/config.h
deleted file mode 100644
index 1ce0a168f5..0000000000
--- a/keyboards/fleuron/keymaps/dollartacos/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2018 James Underwood
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-// Place overrides here \ No newline at end of file
diff --git a/keyboards/fortitude60/keymaps/default/config.h b/keyboards/fortitude60/keymaps/default/config.h
deleted file mode 100644
index 7e9b510ff6..0000000000
--- a/keyboards/fortitude60/keymaps/default/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
-Copyright 2017 Danny Nguyen <danny@hexwire.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 <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
diff --git a/keyboards/fortitude60/keymaps/via/config.h b/keyboards/fortitude60/keymaps/via/config.h
deleted file mode 100644
index 7e9b510ff6..0000000000
--- a/keyboards/fortitude60/keymaps/via/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
-Copyright 2017 Danny Nguyen <danny@hexwire.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 <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
diff --git a/keyboards/foxlab/key65/universal/readme.md b/keyboards/foxlab/key65/universal/readme.md
index 967b9565f2..36f63b1aba 100644
--- a/keyboards/foxlab/key65/universal/readme.md
+++ b/keyboards/foxlab/key65/universal/readme.md
@@ -19,4 +19,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## RGB LED support
-The universal PCB supports RGB LEDs as an LED strip, but is not supplied with one. To use RGB LEDs, you should configure the RGBLED_NUM to match the number of LEDs on your strip.
+The universal PCB supports RGB LEDs as an LED strip, but is not supplied with one. To use RGB LEDs, you should configure the RGBLIGHT_LED_COUNT to match the number of LEDs on your strip.
diff --git a/keyboards/gboards/gergo/keymaps/default/config.h b/keyboards/gboards/gergo/keymaps/default/config.h
deleted file mode 100644
index 3f59c932d3..0000000000
--- a/keyboards/gboards/gergo/keymaps/default/config.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#pragma once
-
diff --git a/keyboards/gboards/gergo/keymaps/germ/config.h b/keyboards/gboards/gergo/keymaps/germ/config.h
deleted file mode 100644
index 3f59c932d3..0000000000
--- a/keyboards/gboards/gergo/keymaps/germ/config.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#pragma once
-
diff --git a/keyboards/gboards/gergo/keymaps/gotham/config.h b/keyboards/gboards/gergo/keymaps/gotham/config.h
deleted file mode 100644
index 3f59c932d3..0000000000
--- a/keyboards/gboards/gergo/keymaps/gotham/config.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#pragma once
-
diff --git a/keyboards/converter/numeric_keypad_iie/keymaps/newbold/config.h b/keyboards/geonworks/ee_at/ee_at.c
index 667668959a..b2e6320851 100644
--- a/keyboards/converter/numeric_keypad_iie/keymaps/newbold/config.h
+++ b/keyboards/geonworks/ee_at/ee_at.c
@@ -1,4 +1,4 @@
-/* Copyright 2019 Adam Newbold <adam@neatnik.net>
+/* Copyright 2023 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
@@ -13,7 +13,18 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#include "quantum.h"
-#pragma once
+void led_init_ports(void) {
+ // Set our LED pins as open drain outputs
+ setPinOutputOpenDrain(LED_CAPS_LOCK_PIN);
+ setPinOutputOpenDrain(LED_NUM_LOCK_PIN);
+ setPinOutputOpenDrain(LED_SCROLL_LOCK_PIN);
+ setPinOutputOpenDrain(LED_KANA_PIN);
+ setPinOutputOpenDrain(A14);
+}
-// place overrides here
+layer_state_t layer_state_set_kb(layer_state_t state) {
+ writePin(A14, !layer_state_cmp(state, 1));
+ return layer_state_set_user(state);
+}
diff --git a/keyboards/geonworks/ee_at/info.json b/keyboards/geonworks/ee_at/info.json
new file mode 100644
index 0000000000..803e0d3640
--- /dev/null
+++ b/keyboards/geonworks/ee_at/info.json
@@ -0,0 +1,499 @@
+{
+ "manufacturer": "Yiancar-Designs",
+ "keyboard_name": "EE-AT",
+ "maintainer": "Yiancar-Designs",
+ "bootloader": "stm32-dfu",
+ "bootmagic": {
+ "matrix": [0, 2]
+ },
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "indicators": {
+ "caps_lock": "B6",
+ "kana": "A13",
+ "num_lock": "B3",
+ "on_state": 0,
+ "scroll_lock": "A15"
+ },
+ "matrix_pins": {
+ "cols": ["B7", "A0", "A1", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "B2", "B10", "B11", "B12", "B13", "B14", "B15", "A8", "A9", "A10"],
+ "rows": ["A2", "B9", "B8", "B5", "B4"]
+ },
+ "processor": "STM32F072",
+ "url": "https://yiancar-designs.com",
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0x5755",
+ "vid": "0x8968"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2.25, "y": 0},
+ {"matrix": [0, 3], "x": 3.25, "y": 0},
+ {"matrix": [0, 4], "x": 4.25, "y": 0},
+ {"matrix": [0, 5], "x": 5.25, "y": 0},
+ {"matrix": [0, 6], "x": 6.25, "y": 0},
+ {"matrix": [0, 7], "x": 7.25, "y": 0},
+ {"matrix": [0, 8], "x": 8.25, "y": 0},
+ {"matrix": [0, 9], "x": 9.25, "y": 0},
+ {"matrix": [0, 10], "x": 10.25, "y": 0},
+ {"matrix": [0, 11], "x": 11.25, "y": 0},
+ {"matrix": [0, 12], "x": 12.25, "y": 0},
+ {"matrix": [0, 13], "x": 13.25, "y": 0},
+ {"matrix": [0, 14], "x": 14.25, "y": 0},
+ {"matrix": [0, 15], "x": 15.25, "y": 0},
+ {"matrix": [2, 14], "x": 16.25, "y": 0},
+ {"matrix": [0, 16], "x": 17.5, "y": 0},
+ {"matrix": [0, 17], "x": 18.5, "y": 0},
+ {"matrix": [0, 18], "x": 19.5, "y": 0},
+ {"matrix": [0, 19], "x": 20.5, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
+ {"matrix": [1, 3], "x": 3.75, "y": 1},
+ {"matrix": [1, 4], "x": 4.75, "y": 1},
+ {"matrix": [1, 5], "x": 5.75, "y": 1},
+ {"matrix": [1, 6], "x": 6.75, "y": 1},
+ {"matrix": [1, 7], "x": 7.75, "y": 1},
+ {"matrix": [1, 8], "x": 8.75, "y": 1},
+ {"matrix": [1, 9], "x": 9.75, "y": 1},
+ {"matrix": [1, 10], "x": 10.75, "y": 1},
+ {"matrix": [1, 11], "x": 11.75, "y": 1},
+ {"matrix": [1, 12], "x": 12.75, "y": 1},
+ {"matrix": [1, 13], "x": 13.75, "y": 1},
+ {"matrix": [1, 14], "x": 14.75, "y": 1},
+ {"matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5},
+ {"matrix": [1, 16], "x": 17.5, "y": 1},
+ {"matrix": [1, 17], "x": 18.5, "y": 1},
+ {"matrix": [1, 18], "x": 19.5, "y": 1},
+ {"matrix": [1, 19], "x": 20.5, "y": 1, "h": 2},
+ {"matrix": [2, 0], "x": 0, "y": 2},
+ {"matrix": [2, 1], "x": 1, "y": 2},
+ {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
+ {"matrix": [2, 3], "x": 4, "y": 2},
+ {"matrix": [2, 4], "x": 5, "y": 2},
+ {"matrix": [2, 5], "x": 6, "y": 2},
+ {"matrix": [2, 6], "x": 7, "y": 2},
+ {"matrix": [2, 7], "x": 8, "y": 2},
+ {"matrix": [2, 8], "x": 9, "y": 2},
+ {"matrix": [2, 9], "x": 10, "y": 2},
+ {"matrix": [2, 10], "x": 11, "y": 2},
+ {"matrix": [2, 11], "x": 12, "y": 2},
+ {"matrix": [2, 12], "x": 13, "y": 2},
+ {"matrix": [2, 13], "x": 14, "y": 2},
+ {"matrix": [2, 15], "x": 15, "y": 2, "w": 2.25},
+ {"matrix": [2, 16], "x": 17.5, "y": 2},
+ {"matrix": [2, 17], "x": 18.5, "y": 2},
+ {"matrix": [2, 18], "x": 19.5, "y": 2},
+ {"matrix": [3, 0], "x": 0, "y": 3},
+ {"matrix": [3, 1], "x": 1, "y": 3},
+ {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25},
+ {"matrix": [3, 4], "x": 4.5, "y": 3},
+ {"matrix": [3, 5], "x": 5.5, "y": 3},
+ {"matrix": [3, 6], "x": 6.5, "y": 3},
+ {"matrix": [3, 7], "x": 7.5, "y": 3},
+ {"matrix": [3, 8], "x": 8.5, "y": 3},
+ {"matrix": [3, 9], "x": 9.5, "y": 3},
+ {"matrix": [3, 10], "x": 10.5, "y": 3},
+ {"matrix": [3, 11], "x": 11.5, "y": 3},
+ {"matrix": [3, 12], "x": 12.5, "y": 3},
+ {"matrix": [3, 13], "x": 13.5, "y": 3},
+ {"matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75},
+ {"matrix": [3, 15], "x": 16.25, "y": 3},
+ {"matrix": [3, 16], "x": 17.5, "y": 3},
+ {"matrix": [3, 17], "x": 18.5, "y": 3},
+ {"matrix": [3, 18], "x": 19.5, "y": 3},
+ {"matrix": [4, 19], "x": 20.5, "y": 3, "h": 2},
+ {"matrix": [4, 0], "x": 0, "y": 4},
+ {"matrix": [4, 1], "x": 1, "y": 4},
+ {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
+ {"matrix": [4, 3], "x": 3.75, "y": 4},
+ {"matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
+ {"matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
+ {"matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
+ {"matrix": [4, 14], "x": 14.75, "y": 4},
+ {"matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
+ {"matrix": [4, 16], "x": 17.5, "y": 4, "w": 2},
+ {"matrix": [4, 18], "x": 19.5, "y": 4}
+ ]
+ },
+ "LAYOUT_ansi": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2.25, "y": 0},
+ {"matrix": [0, 3], "x": 3.25, "y": 0},
+ {"matrix": [0, 4], "x": 4.25, "y": 0},
+ {"matrix": [0, 5], "x": 5.25, "y": 0},
+ {"matrix": [0, 6], "x": 6.25, "y": 0},
+ {"matrix": [0, 7], "x": 7.25, "y": 0},
+ {"matrix": [0, 8], "x": 8.25, "y": 0},
+ {"matrix": [0, 9], "x": 9.25, "y": 0},
+ {"matrix": [0, 10], "x": 10.25, "y": 0},
+ {"matrix": [0, 11], "x": 11.25, "y": 0},
+ {"matrix": [0, 12], "x": 12.25, "y": 0},
+ {"matrix": [0, 13], "x": 13.25, "y": 0},
+ {"matrix": [0, 14], "x": 14.25, "y": 0},
+ {"matrix": [0, 15], "x": 15.25, "y": 0, "w": 2},
+ {"matrix": [0, 16], "x": 17.5, "y": 0},
+ {"matrix": [0, 17], "x": 18.5, "y": 0},
+ {"matrix": [0, 18], "x": 19.5, "y": 0},
+ {"matrix": [0, 19], "x": 20.5, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
+ {"matrix": [1, 3], "x": 3.75, "y": 1},
+ {"matrix": [1, 4], "x": 4.75, "y": 1},
+ {"matrix": [1, 5], "x": 5.75, "y": 1},
+ {"matrix": [1, 6], "x": 6.75, "y": 1},
+ {"matrix": [1, 7], "x": 7.75, "y": 1},
+ {"matrix": [1, 8], "x": 8.75, "y": 1},
+ {"matrix": [1, 9], "x": 9.75, "y": 1},
+ {"matrix": [1, 10], "x": 10.75, "y": 1},
+ {"matrix": [1, 11], "x": 11.75, "y": 1},
+ {"matrix": [1, 12], "x": 12.75, "y": 1},
+ {"matrix": [1, 13], "x": 13.75, "y": 1},
+ {"matrix": [1, 14], "x": 14.75, "y": 1},
+ {"matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5},
+ {"matrix": [1, 16], "x": 17.5, "y": 1},
+ {"matrix": [1, 17], "x": 18.5, "y": 1},
+ {"matrix": [1, 18], "x": 19.5, "y": 1},
+ {"matrix": [1, 19], "x": 20.5, "y": 1, "h": 2},
+ {"matrix": [2, 0], "x": 0, "y": 2},
+ {"matrix": [2, 1], "x": 1, "y": 2},
+ {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
+ {"matrix": [2, 3], "x": 4, "y": 2},
+ {"matrix": [2, 4], "x": 5, "y": 2},
+ {"matrix": [2, 5], "x": 6, "y": 2},
+ {"matrix": [2, 6], "x": 7, "y": 2},
+ {"matrix": [2, 7], "x": 8, "y": 2},
+ {"matrix": [2, 8], "x": 9, "y": 2},
+ {"matrix": [2, 9], "x": 10, "y": 2},
+ {"matrix": [2, 10], "x": 11, "y": 2},
+ {"matrix": [2, 11], "x": 12, "y": 2},
+ {"matrix": [2, 12], "x": 13, "y": 2},
+ {"matrix": [2, 13], "x": 14, "y": 2},
+ {"matrix": [2, 15], "x": 15, "y": 2, "w": 2.25},
+ {"matrix": [2, 16], "x": 17.5, "y": 2},
+ {"matrix": [2, 17], "x": 18.5, "y": 2},
+ {"matrix": [2, 18], "x": 19.5, "y": 2},
+ {"matrix": [3, 0], "x": 0, "y": 3},
+ {"matrix": [3, 1], "x": 1, "y": 3},
+ {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25},
+ {"matrix": [3, 4], "x": 4.5, "y": 3},
+ {"matrix": [3, 5], "x": 5.5, "y": 3},
+ {"matrix": [3, 6], "x": 6.5, "y": 3},
+ {"matrix": [3, 7], "x": 7.5, "y": 3},
+ {"matrix": [3, 8], "x": 8.5, "y": 3},
+ {"matrix": [3, 9], "x": 9.5, "y": 3},
+ {"matrix": [3, 10], "x": 10.5, "y": 3},
+ {"matrix": [3, 11], "x": 11.5, "y": 3},
+ {"matrix": [3, 12], "x": 12.5, "y": 3},
+ {"matrix": [3, 13], "x": 13.5, "y": 3},
+ {"matrix": [3, 14], "x": 14.5, "y": 3, "w": 2.75},
+ {"matrix": [3, 16], "x": 17.5, "y": 3},
+ {"matrix": [3, 17], "x": 18.5, "y": 3},
+ {"matrix": [3, 18], "x": 19.5, "y": 3},
+ {"matrix": [4, 19], "x": 20.5, "y": 3, "h": 2},
+ {"matrix": [4, 0], "x": 0, "y": 4},
+ {"matrix": [4, 1], "x": 1, "y": 4},
+ {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
+ {"matrix": [4, 3], "x": 3.75, "y": 4},
+ {"matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
+ {"matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
+ {"matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
+ {"matrix": [4, 14], "x": 14.75, "y": 4},
+ {"matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
+ {"matrix": [4, 16], "x": 17.5, "y": 4, "w": 2},
+ {"matrix": [4, 18], "x": 19.5, "y": 4}
+ ]
+ },
+ "LAYOUT_ansi_split_bs": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2.25, "y": 0},
+ {"matrix": [0, 3], "x": 3.25, "y": 0},
+ {"matrix": [0, 4], "x": 4.25, "y": 0},
+ {"matrix": [0, 5], "x": 5.25, "y": 0},
+ {"matrix": [0, 6], "x": 6.25, "y": 0},
+ {"matrix": [0, 7], "x": 7.25, "y": 0},
+ {"matrix": [0, 8], "x": 8.25, "y": 0},
+ {"matrix": [0, 9], "x": 9.25, "y": 0},
+ {"matrix": [0, 10], "x": 10.25, "y": 0},
+ {"matrix": [0, 11], "x": 11.25, "y": 0},
+ {"matrix": [0, 12], "x": 12.25, "y": 0},
+ {"matrix": [0, 13], "x": 13.25, "y": 0},
+ {"matrix": [0, 14], "x": 14.25, "y": 0},
+ {"matrix": [0, 15], "x": 15.25, "y": 0},
+ {"matrix": [2, 14], "x": 16.25, "y": 0},
+ {"matrix": [0, 16], "x": 17.5, "y": 0},
+ {"matrix": [0, 17], "x": 18.5, "y": 0},
+ {"matrix": [0, 18], "x": 19.5, "y": 0},
+ {"matrix": [0, 19], "x": 20.5, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
+ {"matrix": [1, 3], "x": 3.75, "y": 1},
+ {"matrix": [1, 4], "x": 4.75, "y": 1},
+ {"matrix": [1, 5], "x": 5.75, "y": 1},
+ {"matrix": [1, 6], "x": 6.75, "y": 1},
+ {"matrix": [1, 7], "x": 7.75, "y": 1},
+ {"matrix": [1, 8], "x": 8.75, "y": 1},
+ {"matrix": [1, 9], "x": 9.75, "y": 1},
+ {"matrix": [1, 10], "x": 10.75, "y": 1},
+ {"matrix": [1, 11], "x": 11.75, "y": 1},
+ {"matrix": [1, 12], "x": 12.75, "y": 1},
+ {"matrix": [1, 13], "x": 13.75, "y": 1},
+ {"matrix": [1, 14], "x": 14.75, "y": 1},
+ {"matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5},
+ {"matrix": [1, 16], "x": 17.5, "y": 1},
+ {"matrix": [1, 17], "x": 18.5, "y": 1},
+ {"matrix": [1, 18], "x": 19.5, "y": 1},
+ {"matrix": [1, 19], "x": 20.5, "y": 1, "h": 2},
+ {"matrix": [2, 0], "x": 0, "y": 2},
+ {"matrix": [2, 1], "x": 1, "y": 2},
+ {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
+ {"matrix": [2, 3], "x": 4, "y": 2},
+ {"matrix": [2, 4], "x": 5, "y": 2},
+ {"matrix": [2, 5], "x": 6, "y": 2},
+ {"matrix": [2, 6], "x": 7, "y": 2},
+ {"matrix": [2, 7], "x": 8, "y": 2},
+ {"matrix": [2, 8], "x": 9, "y": 2},
+ {"matrix": [2, 9], "x": 10, "y": 2},
+ {"matrix": [2, 10], "x": 11, "y": 2},
+ {"matrix": [2, 11], "x": 12, "y": 2},
+ {"matrix": [2, 12], "x": 13, "y": 2},
+ {"matrix": [2, 13], "x": 14, "y": 2},
+ {"matrix": [2, 15], "x": 15, "y": 2, "w": 2.25},
+ {"matrix": [2, 16], "x": 17.5, "y": 2},
+ {"matrix": [2, 17], "x": 18.5, "y": 2},
+ {"matrix": [2, 18], "x": 19.5, "y": 2},
+ {"matrix": [3, 0], "x": 0, "y": 3},
+ {"matrix": [3, 1], "x": 1, "y": 3},
+ {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25},
+ {"matrix": [3, 4], "x": 4.5, "y": 3},
+ {"matrix": [3, 5], "x": 5.5, "y": 3},
+ {"matrix": [3, 6], "x": 6.5, "y": 3},
+ {"matrix": [3, 7], "x": 7.5, "y": 3},
+ {"matrix": [3, 8], "x": 8.5, "y": 3},
+ {"matrix": [3, 9], "x": 9.5, "y": 3},
+ {"matrix": [3, 10], "x": 10.5, "y": 3},
+ {"matrix": [3, 11], "x": 11.5, "y": 3},
+ {"matrix": [3, 12], "x": 12.5, "y": 3},
+ {"matrix": [3, 13], "x": 13.5, "y": 3},
+ {"matrix": [3, 14], "x": 14.5, "y": 3, "w": 2.75},
+ {"matrix": [3, 16], "x": 17.5, "y": 3},
+ {"matrix": [3, 17], "x": 18.5, "y": 3},
+ {"matrix": [3, 18], "x": 19.5, "y": 3},
+ {"matrix": [4, 19], "x": 20.5, "y": 3, "h": 2},
+ {"matrix": [4, 0], "x": 0, "y": 4},
+ {"matrix": [4, 1], "x": 1, "y": 4},
+ {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
+ {"matrix": [4, 3], "x": 3.75, "y": 4},
+ {"matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
+ {"matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
+ {"matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
+ {"matrix": [4, 14], "x": 14.75, "y": 4},
+ {"matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
+ {"matrix": [4, 16], "x": 17.5, "y": 4, "w": 2},
+ {"matrix": [4, 18], "x": 19.5, "y": 4}
+ ]
+ },
+ "LAYOUT_ansi_split_bs_rshift": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2.25, "y": 0},
+ {"matrix": [0, 3], "x": 3.25, "y": 0},
+ {"matrix": [0, 4], "x": 4.25, "y": 0},
+ {"matrix": [0, 5], "x": 5.25, "y": 0},
+ {"matrix": [0, 6], "x": 6.25, "y": 0},
+ {"matrix": [0, 7], "x": 7.25, "y": 0},
+ {"matrix": [0, 8], "x": 8.25, "y": 0},
+ {"matrix": [0, 9], "x": 9.25, "y": 0},
+ {"matrix": [0, 10], "x": 10.25, "y": 0},
+ {"matrix": [0, 11], "x": 11.25, "y": 0},
+ {"matrix": [0, 12], "x": 12.25, "y": 0},
+ {"matrix": [0, 13], "x": 13.25, "y": 0},
+ {"matrix": [0, 14], "x": 14.25, "y": 0},
+ {"matrix": [0, 15], "x": 15.25, "y": 0},
+ {"matrix": [2, 14], "x": 16.25, "y": 0},
+ {"matrix": [0, 16], "x": 17.5, "y": 0},
+ {"matrix": [0, 17], "x": 18.5, "y": 0},
+ {"matrix": [0, 18], "x": 19.5, "y": 0},
+ {"matrix": [0, 19], "x": 20.5, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
+ {"matrix": [1, 3], "x": 3.75, "y": 1},
+ {"matrix": [1, 4], "x": 4.75, "y": 1},
+ {"matrix": [1, 5], "x": 5.75, "y": 1},
+ {"matrix": [1, 6], "x": 6.75, "y": 1},
+ {"matrix": [1, 7], "x": 7.75, "y": 1},
+ {"matrix": [1, 8], "x": 8.75, "y": 1},
+ {"matrix": [1, 9], "x": 9.75, "y": 1},
+ {"matrix": [1, 10], "x": 10.75, "y": 1},
+ {"matrix": [1, 11], "x": 11.75, "y": 1},
+ {"matrix": [1, 12], "x": 12.75, "y": 1},
+ {"matrix": [1, 13], "x": 13.75, "y": 1},
+ {"matrix": [1, 14], "x": 14.75, "y": 1},
+ {"matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5},
+ {"matrix": [1, 16], "x": 17.5, "y": 1},
+ {"matrix": [1, 17], "x": 18.5, "y": 1},
+ {"matrix": [1, 18], "x": 19.5, "y": 1},
+ {"matrix": [1, 19], "x": 20.5, "y": 1, "h": 2},
+ {"matrix": [2, 0], "x": 0, "y": 2},
+ {"matrix": [2, 1], "x": 1, "y": 2},
+ {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
+ {"matrix": [2, 3], "x": 4, "y": 2},
+ {"matrix": [2, 4], "x": 5, "y": 2},
+ {"matrix": [2, 5], "x": 6, "y": 2},
+ {"matrix": [2, 6], "x": 7, "y": 2},
+ {"matrix": [2, 7], "x": 8, "y": 2},
+ {"matrix": [2, 8], "x": 9, "y": 2},
+ {"matrix": [2, 9], "x": 10, "y": 2},
+ {"matrix": [2, 10], "x": 11, "y": 2},
+ {"matrix": [2, 11], "x": 12, "y": 2},
+ {"matrix": [2, 12], "x": 13, "y": 2},
+ {"matrix": [2, 13], "x": 14, "y": 2},
+ {"matrix": [2, 15], "x": 15, "y": 2, "w": 2.25},
+ {"matrix": [2, 16], "x": 17.5, "y": 2},
+ {"matrix": [2, 17], "x": 18.5, "y": 2},
+ {"matrix": [2, 18], "x": 19.5, "y": 2},
+ {"matrix": [3, 0], "x": 0, "y": 3},
+ {"matrix": [3, 1], "x": 1, "y": 3},
+ {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25},
+ {"matrix": [3, 4], "x": 4.5, "y": 3},
+ {"matrix": [3, 5], "x": 5.5, "y": 3},
+ {"matrix": [3, 6], "x": 6.5, "y": 3},
+ {"matrix": [3, 7], "x": 7.5, "y": 3},
+ {"matrix": [3, 8], "x": 8.5, "y": 3},
+ {"matrix": [3, 9], "x": 9.5, "y": 3},
+ {"matrix": [3, 10], "x": 10.5, "y": 3},
+ {"matrix": [3, 11], "x": 11.5, "y": 3},
+ {"matrix": [3, 12], "x": 12.5, "y": 3},
+ {"matrix": [3, 13], "x": 13.5, "y": 3},
+ {"matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75},
+ {"matrix": [3, 15], "x": 16.25, "y": 3},
+ {"matrix": [3, 16], "x": 17.5, "y": 3},
+ {"matrix": [3, 17], "x": 18.5, "y": 3},
+ {"matrix": [3, 18], "x": 19.5, "y": 3},
+ {"matrix": [4, 19], "x": 20.5, "y": 3, "h": 2},
+ {"matrix": [4, 0], "x": 0, "y": 4},
+ {"matrix": [4, 1], "x": 1, "y": 4},
+ {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
+ {"matrix": [4, 3], "x": 3.75, "y": 4},
+ {"matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
+ {"matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
+ {"matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
+ {"matrix": [4, 14], "x": 14.75, "y": 4},
+ {"matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
+ {"matrix": [4, 16], "x": 17.5, "y": 4, "w": 2},
+ {"matrix": [4, 18], "x": 19.5, "y": 4}
+ ]
+ },
+ "LAYOUT_ansi_split_rshift": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2.25, "y": 0},
+ {"matrix": [0, 3], "x": 3.25, "y": 0},
+ {"matrix": [0, 4], "x": 4.25, "y": 0},
+ {"matrix": [0, 5], "x": 5.25, "y": 0},
+ {"matrix": [0, 6], "x": 6.25, "y": 0},
+ {"matrix": [0, 7], "x": 7.25, "y": 0},
+ {"matrix": [0, 8], "x": 8.25, "y": 0},
+ {"matrix": [0, 9], "x": 9.25, "y": 0},
+ {"matrix": [0, 10], "x": 10.25, "y": 0},
+ {"matrix": [0, 11], "x": 11.25, "y": 0},
+ {"matrix": [0, 12], "x": 12.25, "y": 0},
+ {"matrix": [0, 13], "x": 13.25, "y": 0},
+ {"matrix": [0, 14], "x": 14.25, "y": 0},
+ {"matrix": [0, 15], "x": 15.25, "y": 0, "w": 2},
+ {"matrix": [0, 16], "x": 17.5, "y": 0},
+ {"matrix": [0, 17], "x": 18.5, "y": 0},
+ {"matrix": [0, 18], "x": 19.5, "y": 0},
+ {"matrix": [0, 19], "x": 20.5, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
+ {"matrix": [1, 3], "x": 3.75, "y": 1},
+ {"matrix": [1, 4], "x": 4.75, "y": 1},
+ {"matrix": [1, 5], "x": 5.75, "y": 1},
+ {"matrix": [1, 6], "x": 6.75, "y": 1},
+ {"matrix": [1, 7], "x": 7.75, "y": 1},
+ {"matrix": [1, 8], "x": 8.75, "y": 1},
+ {"matrix": [1, 9], "x": 9.75, "y": 1},
+ {"matrix": [1, 10], "x": 10.75, "y": 1},
+ {"matrix": [1, 11], "x": 11.75, "y": 1},
+ {"matrix": [1, 12], "x": 12.75, "y": 1},
+ {"matrix": [1, 13], "x": 13.75, "y": 1},
+ {"matrix": [1, 14], "x": 14.75, "y": 1},
+ {"matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5},
+ {"matrix": [1, 16], "x": 17.5, "y": 1},
+ {"matrix": [1, 17], "x": 18.5, "y": 1},
+ {"matrix": [1, 18], "x": 19.5, "y": 1},
+ {"matrix": [1, 19], "x": 20.5, "y": 1, "h": 2},
+ {"matrix": [2, 0], "x": 0, "y": 2},
+ {"matrix": [2, 1], "x": 1, "y": 2},
+ {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
+ {"matrix": [2, 3], "x": 4, "y": 2},
+ {"matrix": [2, 4], "x": 5, "y": 2},
+ {"matrix": [2, 5], "x": 6, "y": 2},
+ {"matrix": [2, 6], "x": 7, "y": 2},
+ {"matrix": [2, 7], "x": 8, "y": 2},
+ {"matrix": [2, 8], "x": 9, "y": 2},
+ {"matrix": [2, 9], "x": 10, "y": 2},
+ {"matrix": [2, 10], "x": 11, "y": 2},
+ {"matrix": [2, 11], "x": 12, "y": 2},
+ {"matrix": [2, 12], "x": 13, "y": 2},
+ {"matrix": [2, 13], "x": 14, "y": 2},
+ {"matrix": [2, 15], "x": 15, "y": 2, "w": 2.25},
+ {"matrix": [2, 16], "x": 17.5, "y": 2},
+ {"matrix": [2, 17], "x": 18.5, "y": 2},
+ {"matrix": [2, 18], "x": 19.5, "y": 2},
+ {"matrix": [3, 0], "x": 0, "y": 3},
+ {"matrix": [3, 1], "x": 1, "y": 3},
+ {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25},
+ {"matrix": [3, 4], "x": 4.5, "y": 3},
+ {"matrix": [3, 5], "x": 5.5, "y": 3},
+ {"matrix": [3, 6], "x": 6.5, "y": 3},
+ {"matrix": [3, 7], "x": 7.5, "y": 3},
+ {"matrix": [3, 8], "x": 8.5, "y": 3},
+ {"matrix": [3, 9], "x": 9.5, "y": 3},
+ {"matrix": [3, 10], "x": 10.5, "y": 3},
+ {"matrix": [3, 11], "x": 11.5, "y": 3},
+ {"matrix": [3, 12], "x": 12.5, "y": 3},
+ {"matrix": [3, 13], "x": 13.5, "y": 3},
+ {"matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75},
+ {"matrix": [3, 15], "x": 16.25, "y": 3},
+ {"matrix": [3, 16], "x": 17.5, "y": 3},
+ {"matrix": [3, 17], "x": 18.5, "y": 3},
+ {"matrix": [3, 18], "x": 19.5, "y": 3},
+ {"matrix": [4, 19], "x": 20.5, "y": 3, "h": 2},
+ {"matrix": [4, 0], "x": 0, "y": 4},
+ {"matrix": [4, 1], "x": 1, "y": 4},
+ {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
+ {"matrix": [4, 3], "x": 3.75, "y": 4},
+ {"matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
+ {"matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
+ {"matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
+ {"matrix": [4, 14], "x": 14.75, "y": 4},
+ {"matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
+ {"matrix": [4, 16], "x": 17.5, "y": 4, "w": 2},
+ {"matrix": [4, 18], "x": 19.5, "y": 4}
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/keyboards/geonworks/ee_at/keymaps/default/keymap.c b/keyboards/geonworks/ee_at/keymaps/default/keymap.c
new file mode 100644
index 0000000000..f0eb9ba7a8
--- /dev/null
+++ b/keyboards/geonworks/ee_at/keymaps/default/keymap.c
@@ -0,0 +1,32 @@
+/* Copyright 2023 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 <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_all( /* Base */
+ KC_F1, KC_F2, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_NUM, KC_PMNS, KC_PSLS, KC_PAST,
+ KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_F5, KC_F6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6,
+ KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_P0, KC_PDOT),
+
+[1] = LAYOUT_all( /* FN */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+};
diff --git a/keyboards/geonworks/ee_at/keymaps/via/keymap.c b/keyboards/geonworks/ee_at/keymaps/via/keymap.c
new file mode 100644
index 0000000000..f0eb9ba7a8
--- /dev/null
+++ b/keyboards/geonworks/ee_at/keymaps/via/keymap.c
@@ -0,0 +1,32 @@
+/* Copyright 2023 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 <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+[0] = LAYOUT_all( /* Base */
+ KC_F1, KC_F2, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_NUM, KC_PMNS, KC_PSLS, KC_PAST,
+ KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_F5, KC_F6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6,
+ KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_P0, KC_PDOT),
+
+[1] = LAYOUT_all( /* FN */
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+};
diff --git a/keyboards/laser_ninja/pumpkin_pad/keymaps/via/rules.mk b/keyboards/geonworks/ee_at/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100644
--- a/keyboards/laser_ninja/pumpkin_pad/keymaps/via/rules.mk
+++ b/keyboards/geonworks/ee_at/keymaps/via/rules.mk
diff --git a/keyboards/geonworks/ee_at/matrix_diagram.md b/keyboards/geonworks/ee_at/matrix_diagram.md
new file mode 100644
index 0000000000..382487564d
--- /dev/null
+++ b/keyboards/geonworks/ee_at/matrix_diagram.md
@@ -0,0 +1,21 @@
+# Matrix Diagram for Yiancar-Designs EE-AT
+
+```
+ ┌───────┐
+ 2u Backspace │0F │
+ └───────┘
+┌───┬───┐┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┬───┐
+│00 │01 ││02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │0F │2E ││0G │0H │0I │0J │
+├───┼───┤├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┼───┤
+│10 │11 ││12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E │1F ││1G │1H │1I │ │
+├───┼───┤├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤├───┼───┼───┤1J │
+│20 │21 ││22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │2F ││2G │2H │2I │ │
+├───┼───┤├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤├───┼───┼───┼───┤
+│30 │31 ││32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │3E │3F ││3G │3H │3I │ │
+├───┼───┤├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤├───┼───┼───┤4J │
+│40 │41 ││42 │43 │44 │48 │4D │4E │4F ││4G │4H │4I │ │
+└───┴───┘└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘└───┴───┴───┴───┘
+ ┌──────────┐
+ 2.75u RShift │3E │
+ └──────────┘
+```
diff --git a/keyboards/geonworks/ee_at/readme.md b/keyboards/geonworks/ee_at/readme.md
new file mode 100644
index 0000000000..0c7c8d1926
--- /dev/null
+++ b/keyboards/geonworks/ee_at/readme.md
@@ -0,0 +1,32 @@
+# EE-AT
+
+This is a standard weird layout PCB, now with Hotswap. It supports VIA.
+
+* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
+* Hardware Supported: A keyboard with STM32F072CB
+* Hardware Availability: https://geon.works/
+
+## Instructions
+
+### Build
+
+Make example for this keyboard (after setting up your build environment):
+
+ make geonworks/ee_at: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 CLI (`make geonworks/ee_at:<keymap>:flash`)
diff --git a/keyboards/geonworks/ee_at/rules.mk b/keyboards/geonworks/ee_at/rules.mk
new file mode 100644
index 0000000000..0ab54aaaf7
--- /dev/null
+++ b/keyboards/geonworks/ee_at/rules.mk
@@ -0,0 +1,2 @@
+# Wildcard to allow APM32 MCU
+DFU_SUFFIX_ARGS = -v FFFF -p FFFF
diff --git a/keyboards/w1_at/info.json b/keyboards/geonworks/w1_at/info.json
index 896e523c83..8b7991c03d 100644
--- a/keyboards/w1_at/info.json
+++ b/keyboards/geonworks/w1_at/info.json
@@ -1,36 +1,43 @@
{
- "keyboard_name": "W1-AT",
"manufacturer": "Yiancar-Designs",
- "url": "https://yiancar-designs.com",
+ "keyboard_name": "W1-AT",
"maintainer": "Yiancar-Designs",
- "usb": {
- "vid": "0x8968",
- "pid": "0x5754",
- "device_version": "0.0.1"
- },
- "matrix_pins": {
- "cols": ["B7", "A0", "A1", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "B2", "B10", "B11", "B12", "B13", "B14", "B15", "A8", "A9", "A10"],
- "rows": ["A2", "B9", "B8", "B5", "B4"]
+ "bootloader": "stm32-dfu",
+ "bootmagic": {
+ "matrix": [0, 2]
},
"diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
"indicators": {
"caps_lock": "B6",
- "num_lock": "B3",
- "scroll_lock": "A15",
"kana": "A13",
- "on_state": 0
+ "num_lock": "B3",
+ "on_state": 0,
+ "scroll_lock": "A15"
},
- "bootmagic": {
- "matrix": [0, 2]
+ "matrix_pins": {
+ "cols": ["B7", "A0", "A1", "B1", "B0", "A7", "A6", "A5", "A4", "A3", "B2", "B10", "B11", "B12", "B13", "B14", "B15", "A8", "A9", "A10"],
+ "rows": ["A2", "B9", "B8", "B5", "B4"]
},
"processor": "STM32F072",
- "bootloader": "stm32-dfu",
+ "url": "https://yiancar-designs.com",
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0x5754",
+ "vid": "0x8968"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
{"label": "F1", "matrix": [0, 0], "x": 0, "y": 0},
{"label": "F2", "matrix": [0, 1], "x": 1, "y": 0},
-
{"label": "Esc", "matrix": [0, 2], "x": 2.25, "y": 0},
{"label": "1", "matrix": [0, 3], "x": 3.25, "y": 0},
{"label": "2", "matrix": [0, 4], "x": 4.25, "y": 0},
@@ -46,15 +53,12 @@
{"label": "=", "matrix": [0, 14], "x": 14.25, "y": 0},
{"label": "Backspace", "matrix": [0, 15], "x": 15.25, "y": 0},
{"label": "Delete", "matrix": [2, 14], "x": 16.25, "y": 0},
-
{"label": "Num Lock", "matrix": [0, 16], "x": 17.5, "y": 0},
{"label": "-", "matrix": [0, 17], "x": 18.5, "y": 0},
{"label": "/", "matrix": [0, 18], "x": 19.5, "y": 0},
{"label": "*", "matrix": [0, 19], "x": 20.5, "y": 0},
-
{"label": "F3", "matrix": [1, 0], "x": 0, "y": 1},
{"label": "F4", "matrix": [1, 1], "x": 1, "y": 1},
-
{"label": "Tab", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
{"label": "Q", "matrix": [1, 3], "x": 3.75, "y": 1},
{"label": "W", "matrix": [1, 4], "x": 4.75, "y": 1},
@@ -69,15 +73,12 @@
{"label": "[", "matrix": [1, 13], "x": 13.75, "y": 1},
{"label": "]", "matrix": [1, 14], "x": 14.75, "y": 1},
{"label": "\\", "matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5},
-
{"label": "7", "matrix": [1, 16], "x": 17.5, "y": 1},
{"label": "8", "matrix": [1, 17], "x": 18.5, "y": 1},
{"label": "9", "matrix": [1, 18], "x": 19.5, "y": 1},
{"label": "+", "matrix": [1, 19], "x": 20.5, "y": 1},
-
{"label": "F5", "matrix": [2, 0], "x": 0, "y": 2},
{"label": "F6", "matrix": [2, 1], "x": 1, "y": 2},
-
{"label": "Caps Lock", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
{"label": "A", "matrix": [2, 3], "x": 4, "y": 2},
{"label": "S", "matrix": [2, 4], "x": 5, "y": 2},
@@ -91,15 +92,12 @@
{"label": ";", "matrix": [2, 12], "x": 13, "y": 2},
{"label": "'", "matrix": [2, 13], "x": 14, "y": 2},
{"label": "Enter", "matrix": [2, 15], "x": 15, "y": 2, "w": 2.25},
-
{"label": "4", "matrix": [2, 16], "x": 17.5, "y": 2},
{"label": "5", "matrix": [2, 17], "x": 18.5, "y": 2},
{"label": "6", "matrix": [2, 18], "x": 19.5, "y": 2},
{"label": "-", "matrix": [2, 19], "x": 20.5, "y": 2},
-
{"label": "F7", "matrix": [3, 0], "x": 0, "y": 3},
{"label": "F8", "matrix": [3, 1], "x": 1, "y": 3},
-
{"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 1.25},
{"label": "\\", "matrix": [3, 3], "x": 3.5, "y": 3},
{"label": "Z", "matrix": [3, 4], "x": 4.5, "y": 3},
@@ -114,21 +112,17 @@
{"label": "/", "matrix": [3, 13], "x": 13.5, "y": 3},
{"label": "Shift", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75},
{"label": "Fn", "matrix": [3, 15], "x": 16.25, "y": 3},
-
{"label": "1", "matrix": [3, 16], "x": 17.5, "y": 3},
{"label": "2", "matrix": [3, 17], "x": 18.5, "y": 3},
{"label": "3", "matrix": [3, 18], "x": 19.5, "y": 3},
{"label": "-", "matrix": [3, 19], "x": 20.5, "y": 3},
-
{"label": "F9", "matrix": [4, 0], "x": 0, "y": 4},
{"label": "F10", "matrix": [4, 1], "x": 1, "y": 4},
-
{"label": "Ctrl", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
{"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
{"label": "Space", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
{"label": "Alt", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
{"label": "Ctrl", "matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
-
{"label": "0", "matrix": [4, 16], "x": 17.5, "y": 4},
{"label": "00", "matrix": [4, 17], "x": 18.5, "y": 4},
{"label": ".", "matrix": [4, 18], "x": 19.5, "y": 4},
@@ -139,7 +133,6 @@
"layout": [
{"label": "F1", "matrix": [0, 0], "x": 0, "y": 0},
{"label": "F2", "matrix": [0, 1], "x": 1, "y": 0},
-
{"label": "Esc", "matrix": [0, 2], "x": 2.25, "y": 0},
{"label": "1", "matrix": [0, 3], "x": 3.25, "y": 0},
{"label": "2", "matrix": [0, 4], "x": 4.25, "y": 0},
@@ -154,15 +147,12 @@
{"label": "-", "matrix": [0, 13], "x": 13.25, "y": 0},
{"label": "=", "matrix": [0, 14], "x": 14.25, "y": 0},
{"label": "Backspace", "matrix": [0, 15], "x": 15.25, "y": 0, "w": 2},
-
{"label": "Num Lock", "matrix": [0, 16], "x": 17.5, "y": 0},
{"label": "-", "matrix": [0, 17], "x": 18.5, "y": 0},
{"label": "/", "matrix": [0, 18], "x": 19.5, "y": 0},
{"label": "*", "matrix": [0, 19], "x": 20.5, "y": 0},
-
{"label": "F3", "matrix": [1, 0], "x": 0, "y": 1},
{"label": "F4", "matrix": [1, 1], "x": 1, "y": 1},
-
{"label": "Tab", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
{"label": "Q", "matrix": [1, 3], "x": 3.75, "y": 1},
{"label": "W", "matrix": [1, 4], "x": 4.75, "y": 1},
@@ -177,15 +167,12 @@
{"label": "[", "matrix": [1, 13], "x": 13.75, "y": 1},
{"label": "]", "matrix": [1, 14], "x": 14.75, "y": 1},
{"label": "\\", "matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5},
-
{"label": "7", "matrix": [1, 16], "x": 17.5, "y": 1},
{"label": "8", "matrix": [1, 17], "x": 18.5, "y": 1},
{"label": "9", "matrix": [1, 18], "x": 19.5, "y": 1},
{"label": "+", "matrix": [1, 19], "x": 20.5, "y": 1},
-
{"label": "F5", "matrix": [2, 0], "x": 0, "y": 2},
{"label": "F6", "matrix": [2, 1], "x": 1, "y": 2},
-
{"label": "Caps Lock", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
{"label": "A", "matrix": [2, 3], "x": 4, "y": 2},
{"label": "S", "matrix": [2, 4], "x": 5, "y": 2},
@@ -199,15 +186,12 @@
{"label": ";", "matrix": [2, 12], "x": 13, "y": 2},
{"label": "'", "matrix": [2, 13], "x": 14, "y": 2},
{"label": "Enter", "matrix": [2, 15], "x": 15, "y": 2, "w": 2.25},
-
{"label": "4", "matrix": [2, 16], "x": 17.5, "y": 2},
{"label": "5", "matrix": [2, 17], "x": 18.5, "y": 2},
{"label": "6", "matrix": [2, 18], "x": 19.5, "y": 2},
{"label": "-", "matrix": [2, 19], "x": 20.5, "y": 2},
-
{"label": "F7", "matrix": [3, 0], "x": 0, "y": 3},
{"label": "F8", "matrix": [3, 1], "x": 1, "y": 3},
-
{"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25},
{"label": "Z", "matrix": [3, 4], "x": 4.5, "y": 3},
{"label": "X", "matrix": [3, 5], "x": 5.5, "y": 3},
@@ -220,21 +204,17 @@
{"label": ".", "matrix": [3, 12], "x": 12.5, "y": 3},
{"label": "/", "matrix": [3, 13], "x": 13.5, "y": 3},
{"label": "Shift", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 2.75},
-
{"label": "1", "matrix": [3, 16], "x": 17.5, "y": 3},
{"label": "2", "matrix": [3, 17], "x": 18.5, "y": 3},
{"label": "3", "matrix": [3, 18], "x": 19.5, "y": 3},
{"label": "-", "matrix": [3, 19], "x": 20.5, "y": 3},
-
{"label": "F9", "matrix": [4, 0], "x": 0, "y": 4},
{"label": "F10", "matrix": [4, 1], "x": 1, "y": 4},
-
{"label": "Ctrl", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
{"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
{"label": "Space", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
{"label": "Alt", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
{"label": "Ctrl", "matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
-
{"label": "0", "matrix": [4, 16], "x": 17.5, "y": 4},
{"label": "00", "matrix": [4, 17], "x": 18.5, "y": 4},
{"label": ".", "matrix": [4, 18], "x": 19.5, "y": 4},
@@ -245,7 +225,6 @@
"layout": [
{"label": "F1", "matrix": [0, 0], "x": 0, "y": 0},
{"label": "F2", "matrix": [0, 1], "x": 1, "y": 0},
-
{"label": "Esc", "matrix": [0, 2], "x": 2.25, "y": 0},
{"label": "1", "matrix": [0, 3], "x": 3.25, "y": 0},
{"label": "2", "matrix": [0, 4], "x": 4.25, "y": 0},
@@ -261,15 +240,12 @@
{"label": "=", "matrix": [0, 14], "x": 14.25, "y": 0},
{"label": "Backspace", "matrix": [0, 15], "x": 15.25, "y": 0},
{"label": "Delete", "matrix": [2, 14], "x": 16.25, "y": 0},
-
{"label": "Num Lock", "matrix": [0, 16], "x": 17.5, "y": 0},
{"label": "-", "matrix": [0, 17], "x": 18.5, "y": 0},
{"label": "/", "matrix": [0, 18], "x": 19.5, "y": 0},
{"label": "*", "matrix": [0, 19], "x": 20.5, "y": 0},
-
{"label": "F3", "matrix": [1, 0], "x": 0, "y": 1},
{"label": "F4", "matrix": [1, 1], "x": 1, "y": 1},
-
{"label": "Tab", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
{"label": "Q", "matrix": [1, 3], "x": 3.75, "y": 1},
{"label": "W", "matrix": [1, 4], "x": 4.75, "y": 1},
@@ -284,15 +260,12 @@
{"label": "[", "matrix": [1, 13], "x": 13.75, "y": 1},
{"label": "]", "matrix": [1, 14], "x": 14.75, "y": 1},
{"label": "\\", "matrix": [1, 15], "x": 15.75, "y": 1, "w": 1.5},
-
{"label": "7", "matrix": [1, 16], "x": 17.5, "y": 1},
{"label": "8", "matrix": [1, 17], "x": 18.5, "y": 1},
{"label": "9", "matrix": [1, 18], "x": 19.5, "y": 1},
{"label": "+", "matrix": [1, 19], "x": 20.5, "y": 1},
-
{"label": "F5", "matrix": [2, 0], "x": 0, "y": 2},
{"label": "F6", "matrix": [2, 1], "x": 1, "y": 2},
-
{"label": "Caps Lock", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
{"label": "A", "matrix": [2, 3], "x": 4, "y": 2},
{"label": "S", "matrix": [2, 4], "x": 5, "y": 2},
@@ -306,15 +279,12 @@
{"label": ";", "matrix": [2, 12], "x": 13, "y": 2},
{"label": "'", "matrix": [2, 13], "x": 14, "y": 2},
{"label": "Enter", "matrix": [2, 15], "x": 15, "y": 2, "w": 2.25},
-
{"label": "4", "matrix": [2, 16], "x": 17.5, "y": 2},
{"label": "5", "matrix": [2, 17], "x": 18.5, "y": 2},
{"label": "6", "matrix": [2, 18], "x": 19.5, "y": 2},
{"label": "-", "matrix": [2, 19], "x": 20.5, "y": 2},
-
{"label": "F7", "matrix": [3, 0], "x": 0, "y": 3},
{"label": "F8", "matrix": [3, 1], "x": 1, "y": 3},
-
{"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25},
{"label": "Z", "matrix": [3, 4], "x": 4.5, "y": 3},
{"label": "X", "matrix": [3, 5], "x": 5.5, "y": 3},
@@ -328,21 +298,17 @@
{"label": "/", "matrix": [3, 13], "x": 13.5, "y": 3},
{"label": "Shift", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75},
{"label": "Fn", "matrix": [3, 15], "x": 16.25, "y": 3},
-
{"label": "1", "matrix": [3, 16], "x": 17.5, "y": 3},
{"label": "2", "matrix": [3, 17], "x": 18.5, "y": 3},
{"label": "3", "matrix": [3, 18], "x": 19.5, "y": 3},
{"label": "-", "matrix": [3, 19], "x": 20.5, "y": 3},
-
{"label": "F9", "matrix": [4, 0], "x": 0, "y": 4},
{"label": "F10", "matrix": [4, 1], "x": 1, "y": 4},
-
{"label": "Ctrl", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
{"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
{"label": "Space", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
{"label": "Alt", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
{"label": "Ctrl", "matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
-
{"label": "0", "matrix": [4, 16], "x": 17.5, "y": 4},
{"label": "00", "matrix": [4, 17], "x": 18.5, "y": 4},
{"label": ".", "matrix": [4, 18], "x": 19.5, "y": 4},
@@ -353,7 +319,6 @@
"layout": [
{"label": "F1", "matrix": [0, 0], "x": 0, "y": 0},
{"label": "F2", "matrix": [0, 1], "x": 1, "y": 0},
-
{"label": "Esc", "matrix": [0, 2], "x": 2.25, "y": 0},
{"label": "1", "matrix": [0, 3], "x": 3.25, "y": 0},
{"label": "2", "matrix": [0, 4], "x": 4.25, "y": 0},
@@ -368,15 +333,12 @@
{"label": "-", "matrix": [0, 13], "x": 13.25, "y": 0},
{"label": "=", "matrix": [0, 14], "x": 14.25, "y": 0},
{"label": "Backspace", "matrix": [0, 15], "x": 15.25, "y": 0, "w": 2},
-
{"label": "Num Lock", "matrix": [0, 16], "x": 17.5, "y": 0},
{"label": "-", "matrix": [0, 17], "x": 18.5, "y": 0},
{"label": "/", "matrix": [0, 18], "x": 19.5, "y": 0},
{"label": "*", "matrix": [0, 19], "x": 20.5, "y": 0},
-
{"label": "F3", "matrix": [1, 0], "x": 0, "y": 1},
{"label": "F4", "matrix": [1, 1], "x": 1, "y": 1},
-
{"label": "Tab", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
{"label": "Q", "matrix": [1, 3], "x": 3.75, "y": 1},
{"label": "W", "matrix": [1, 4], "x": 4.75, "y": 1},
@@ -390,15 +352,12 @@
{"label": "P", "matrix": [1, 12], "x": 12.75, "y": 1},
{"label": "[", "matrix": [1, 13], "x": 13.75, "y": 1},
{"label": "]", "matrix": [1, 14], "x": 14.75, "y": 1},
-
{"label": "7", "matrix": [1, 16], "x": 17.5, "y": 1},
{"label": "8", "matrix": [1, 17], "x": 18.5, "y": 1},
{"label": "9", "matrix": [1, 18], "x": 19.5, "y": 1},
{"label": "+", "matrix": [1, 19], "x": 20.5, "y": 1},
-
{"label": "F5", "matrix": [2, 0], "x": 0, "y": 2},
{"label": "F6", "matrix": [2, 1], "x": 1, "y": 2},
-
{"label": "Caps Lock", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
{"label": "A", "matrix": [2, 3], "x": 4, "y": 2},
{"label": "S", "matrix": [2, 4], "x": 5, "y": 2},
@@ -413,15 +372,12 @@
{"label": "'", "matrix": [2, 13], "x": 14, "y": 2},
{"label": "#", "matrix": [1, 15], "x": 15, "y": 2},
{"label": "Enter", "matrix": [2, 15], "x": 16, "y": 1, "w": 1.25, "h": 2},
-
{"label": "4", "matrix": [2, 16], "x": 17.5, "y": 2},
{"label": "5", "matrix": [2, 17], "x": 18.5, "y": 2},
{"label": "6", "matrix": [2, 18], "x": 19.5, "y": 2},
{"label": "-", "matrix": [2, 19], "x": 20.5, "y": 2},
-
{"label": "F7", "matrix": [3, 0], "x": 0, "y": 3},
{"label": "F8", "matrix": [3, 1], "x": 1, "y": 3},
-
{"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 1.25},
{"label": "\\", "matrix": [3, 3], "x": 3.5, "y": 3},
{"label": "Z", "matrix": [3, 4], "x": 4.5, "y": 3},
@@ -435,21 +391,17 @@
{"label": ".", "matrix": [3, 12], "x": 12.5, "y": 3},
{"label": "/", "matrix": [3, 13], "x": 13.5, "y": 3},
{"label": "Shift", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 2.75},
-
{"label": "1", "matrix": [3, 16], "x": 17.5, "y": 3},
{"label": "2", "matrix": [3, 17], "x": 18.5, "y": 3},
{"label": "3", "matrix": [3, 18], "x": 19.5, "y": 3},
{"label": "-", "matrix": [3, 19], "x": 20.5, "y": 3},
-
{"label": "F9", "matrix": [4, 0], "x": 0, "y": 4},
{"label": "F10", "matrix": [4, 1], "x": 1, "y": 4},
-
{"label": "Ctrl", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
{"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
{"label": "Space", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
{"label": "Alt", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
{"label": "Ctrl", "matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
-
{"label": "0", "matrix": [4, 16], "x": 17.5, "y": 4},
{"label": "00", "matrix": [4, 17], "x": 18.5, "y": 4},
{"label": ".", "matrix": [4, 18], "x": 19.5, "y": 4},
@@ -460,7 +412,6 @@
"layout": [
{"label": "F1", "matrix": [0, 0], "x": 0, "y": 0},
{"label": "F2", "matrix": [0, 1], "x": 1, "y": 0},
-
{"label": "Esc", "matrix": [0, 2], "x": 2.25, "y": 0},
{"label": "1", "matrix": [0, 3], "x": 3.25, "y": 0},
{"label": "2", "matrix": [0, 4], "x": 4.25, "y": 0},
@@ -476,15 +427,12 @@
{"label": "=", "matrix": [0, 14], "x": 14.25, "y": 0},
{"label": "Backspace", "matrix": [0, 15], "x": 15.25, "y": 0},
{"label": "Delete", "matrix": [2, 14], "x": 16.25, "y": 0},
-
{"label": "Num Lock", "matrix": [0, 16], "x": 17.5, "y": 0},
{"label": "-", "matrix": [0, 17], "x": 18.5, "y": 0},
{"label": "/", "matrix": [0, 18], "x": 19.5, "y": 0},
{"label": "*", "matrix": [0, 19], "x": 20.5, "y": 0},
-
{"label": "F3", "matrix": [1, 0], "x": 0, "y": 1},
{"label": "F4", "matrix": [1, 1], "x": 1, "y": 1},
-
{"label": "Tab", "matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
{"label": "Q", "matrix": [1, 3], "x": 3.75, "y": 1},
{"label": "W", "matrix": [1, 4], "x": 4.75, "y": 1},
@@ -498,15 +446,12 @@
{"label": "P", "matrix": [1, 12], "x": 12.75, "y": 1},
{"label": "[", "matrix": [1, 13], "x": 13.75, "y": 1},
{"label": "]", "matrix": [1, 14], "x": 14.75, "y": 1},
-
{"label": "7", "matrix": [1, 16], "x": 17.5, "y": 1},
{"label": "8", "matrix": [1, 17], "x": 18.5, "y": 1},
{"label": "9", "matrix": [1, 18], "x": 19.5, "y": 1},
{"label": "+", "matrix": [1, 19], "x": 20.5, "y": 1},
-
{"label": "F5", "matrix": [2, 0], "x": 0, "y": 2},
{"label": "F6", "matrix": [2, 1], "x": 1, "y": 2},
-
{"label": "Caps Lock", "matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
{"label": "A", "matrix": [2, 3], "x": 4, "y": 2},
{"label": "S", "matrix": [2, 4], "x": 5, "y": 2},
@@ -521,15 +466,12 @@
{"label": "'", "matrix": [2, 13], "x": 14, "y": 2},
{"label": "#", "matrix": [1, 15], "x": 15, "y": 2},
{"label": "Enter", "matrix": [2, 15], "x": 16, "y": 1, "w": 1.25, "h": 2},
-
{"label": "4", "matrix": [2, 16], "x": 17.5, "y": 2},
{"label": "5", "matrix": [2, 17], "x": 18.5, "y": 2},
{"label": "6", "matrix": [2, 18], "x": 19.5, "y": 2},
{"label": "-", "matrix": [2, 19], "x": 20.5, "y": 2},
-
{"label": "F7", "matrix": [3, 0], "x": 0, "y": 3},
{"label": "F8", "matrix": [3, 1], "x": 1, "y": 3},
-
{"label": "Shift", "matrix": [3, 2], "x": 2.25, "y": 3, "w": 1.25},
{"label": "\\", "matrix": [3, 3], "x": 3.5, "y": 3},
{"label": "Z", "matrix": [3, 4], "x": 4.5, "y": 3},
@@ -544,21 +486,17 @@
{"label": "/", "matrix": [3, 13], "x": 13.5, "y": 3},
{"label": "Shift", "matrix": [3, 14], "x": 14.5, "y": 3, "w": 1.75},
{"label": "Fn", "matrix": [3, 15], "x": 16.25, "y": 3},
-
{"label": "1", "matrix": [3, 16], "x": 17.5, "y": 3},
{"label": "2", "matrix": [3, 17], "x": 18.5, "y": 3},
{"label": "3", "matrix": [3, 18], "x": 19.5, "y": 3},
{"label": "-", "matrix": [3, 19], "x": 20.5, "y": 3},
-
{"label": "F9", "matrix": [4, 0], "x": 0, "y": 4},
{"label": "F10", "matrix": [4, 1], "x": 1, "y": 4},
-
{"label": "Ctrl", "matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
{"label": "Alt", "matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
{"label": "Space", "matrix": [4, 8], "x": 6.25, "y": 4, "w": 7},
{"label": "Alt", "matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
{"label": "Ctrl", "matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
-
{"label": "0", "matrix": [4, 16], "x": 17.5, "y": 4},
{"label": "00", "matrix": [4, 17], "x": 18.5, "y": 4},
{"label": ".", "matrix": [4, 18], "x": 19.5, "y": 4},
@@ -566,4 +504,4 @@
]
}
}
-}
+} \ No newline at end of file
diff --git a/keyboards/w1_at/keymaps/default/keymap.c b/keyboards/geonworks/w1_at/keymaps/default/keymap.c
index 7c190b73d6..f69fa8a426 100644
--- a/keyboards/w1_at/keymaps/default/keymap.c
+++ b/keyboards/geonworks/w1_at/keymaps/default/keymap.c
@@ -46,4 +46,4 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
}
return true;
-} \ No newline at end of file
+}
diff --git a/keyboards/w1_at/keymaps/via/keymap.c b/keyboards/geonworks/w1_at/keymaps/via/keymap.c
index ce3b6aa4bd..ce3b6aa4bd 100644
--- a/keyboards/w1_at/keymaps/via/keymap.c
+++ b/keyboards/geonworks/w1_at/keymaps/via/keymap.c
diff --git a/keyboards/lefty/keymaps/via/rules.mk b/keyboards/geonworks/w1_at/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100644
--- a/keyboards/lefty/keymaps/via/rules.mk
+++ b/keyboards/geonworks/w1_at/keymaps/via/rules.mk
diff --git a/keyboards/w1_at/keymaps/zq/keymap.c b/keyboards/geonworks/w1_at/keymaps/zq/keymap.c
index eba9aedb8f..eba9aedb8f 100644
--- a/keyboards/w1_at/keymaps/zq/keymap.c
+++ b/keyboards/geonworks/w1_at/keymaps/zq/keymap.c
diff --git a/keyboards/w1_at/keymaps/zq/readme.md b/keyboards/geonworks/w1_at/keymaps/zq/readme.md
index 103130b161..103130b161 100644
--- a/keyboards/w1_at/keymaps/zq/readme.md
+++ b/keyboards/geonworks/w1_at/keymaps/zq/readme.md
diff --git a/keyboards/era/klein/keymaps/via/rules.mk b/keyboards/geonworks/w1_at/keymaps/zq/rules.mk
index 036bd6d1c3..036bd6d1c3 100644
--- a/keyboards/era/klein/keymaps/via/rules.mk
+++ b/keyboards/geonworks/w1_at/keymaps/zq/rules.mk
diff --git a/keyboards/w1_at/matrix_diagram.md b/keyboards/geonworks/w1_at/matrix_diagram.md
index 6118e90fe8..6118e90fe8 100644
--- a/keyboards/w1_at/matrix_diagram.md
+++ b/keyboards/geonworks/w1_at/matrix_diagram.md
diff --git a/keyboards/w1_at/readme.md b/keyboards/geonworks/w1_at/readme.md
index 7608e72f76..16296ef6d6 100644
--- a/keyboards/w1_at/readme.md
+++ b/keyboards/geonworks/w1_at/readme.md
@@ -3,7 +3,7 @@
This is a standard weird layout PCB, best build with a 10U spacebar. It supports VIA.
* Keyboard Maintainer: [Yiancar](http://yiancar-designs.com/) and on [GitHub](https://github.com/yiancar)
-* Hardware Supported: A TKL keyboard with STM32F072CB
+* Hardware Supported: A keyboard with STM32F072CB
* Hardware Availability: https://geon.works/
## Instructions
@@ -12,7 +12,7 @@ This is a standard weird layout PCB, best build with a 10U spacebar. It supports
Make example for this keyboard (after setting up your build environment):
- make w1_at:default
+ make geonworks/w1_at: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).
@@ -29,4 +29,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
- Unplug
- Hold Escape
- Plug In
-- Flash using QMK Toolbox or CLI (`make w1_at:<keymap>:flash`)
+- Flash using QMK Toolbox or CLI (`make geonworks/w1_at:<keymap>:flash`)
diff --git a/keyboards/geonworks/w1_at/rules.mk b/keyboards/geonworks/w1_at/rules.mk
new file mode 100644
index 0000000000..0ab54aaaf7
--- /dev/null
+++ b/keyboards/geonworks/w1_at/rules.mk
@@ -0,0 +1,2 @@
+# Wildcard to allow APM32 MCU
+DFU_SUFFIX_ARGS = -v FFFF -p FFFF
diff --git a/keyboards/w1_at/w1_at.c b/keyboards/geonworks/w1_at/w1_at.c
index d4c4ce932a..9858561bc5 100644
--- a/keyboards/w1_at/w1_at.c
+++ b/keyboards/geonworks/w1_at/w1_at.c
@@ -13,18 +13,18 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
- #include "quantum.h"
+#include "quantum.h"
void led_init_ports(void) {
// Set our LED pins as open drain outputs
- palSetLineMode(LED_CAPS_LOCK_PIN, PAL_MODE_OUTPUT_OPENDRAIN);
- palSetLineMode(LED_NUM_LOCK_PIN, PAL_MODE_OUTPUT_OPENDRAIN);
- palSetLineMode(LED_SCROLL_LOCK_PIN, PAL_MODE_OUTPUT_OPENDRAIN);
- palSetLineMode(LED_KANA_PIN, PAL_MODE_OUTPUT_OPENDRAIN);
- palSetLineMode(A14, PAL_MODE_OUTPUT_OPENDRAIN);
+ setPinOutputOpenDrain(LED_CAPS_LOCK_PIN);
+ setPinOutputOpenDrain(LED_NUM_LOCK_PIN);
+ setPinOutputOpenDrain(LED_SCROLL_LOCK_PIN);
+ setPinOutputOpenDrain(LED_KANA_PIN);
+ setPinOutputOpenDrain(A14);
}
layer_state_t layer_state_set_kb(layer_state_t state) {
writePin(A14, !layer_state_cmp(state, 1));
return layer_state_set_user(state);
-} \ No newline at end of file
+}
diff --git a/keyboards/giabalanai/keymaps/default_giabarinaix2/config.h b/keyboards/giabalanai/keymaps/default_giabarinaix2/config.h
index dd10d213a0..01ad55eec0 100644
--- a/keyboards/giabalanai/keymaps/default_giabarinaix2/config.h
+++ b/keyboards/giabalanai/keymaps/default_giabarinaix2/config.h
@@ -22,8 +22,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# undef MATRIX_COL_PINS_RIGHT
# ifdef RGBLIGHT_ENABLE
-# undef RGBLED_NUM
-# define RGBLED_NUM 120
+# undef RGBLIGHT_LED_COUNT
+# define RGBLIGHT_LED_COUNT 120
# undef RGBLIGHT_LED_MAP
# define RGBLIGHT_LED_MAP { \
108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, \
diff --git a/keyboards/giabalanai/keymaps/via_giabarinaix2/config.h b/keyboards/giabalanai/keymaps/via_giabarinaix2/config.h
index 01905b8dfe..decc2e2dc1 100644
--- a/keyboards/giabalanai/keymaps/via_giabarinaix2/config.h
+++ b/keyboards/giabalanai/keymaps/via_giabarinaix2/config.h
@@ -7,8 +7,8 @@
# undef MATRIX_COL_PINS_RIGHT
# ifdef RGBLIGHT_ENABLE
-# undef RGBLED_NUM
-# define RGBLED_NUM 120
+# undef RGBLIGHT_LED_COUNT
+# define RGBLIGHT_LED_COUNT 120
# undef RGBLIGHT_LED_MAP
# define RGBLIGHT_LED_MAP { \
108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, \
diff --git a/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h b/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h
index 0f71fedd0e..b3970ff04a 100644
--- a/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h
+++ b/keyboards/gl516/j73gl/keymaps/via_rgb_matrix/config.h
@@ -21,8 +21,8 @@
#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
-#ifdef RGBLED_NUM
- #undef RGBLED_NUM
+#ifdef RGBLIGHT_LED_COUNT
+ #undef RGBLIGHT_LED_COUNT
#endif
#define RGB_MATRIX_LED_COUNT 73
diff --git a/keyboards/hadron/ver3/keymaps/sebaslayout/config.h b/keyboards/hadron/ver3/keymaps/sebaslayout/config.h
deleted file mode 100644
index 6f70f09bee..0000000000
--- a/keyboards/hadron/ver3/keymaps/sebaslayout/config.h
+++ /dev/null
@@ -1 +0,0 @@
-#pragma once
diff --git a/keyboards/handwired/6macro/keymaps/default/config.h b/keyboards/handwired/6macro/keymaps/default/config.h
deleted file mode 100644
index 64ba57443f..0000000000
--- a/keyboards/handwired/6macro/keymaps/default/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2019 joaofbmaia
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
diff --git a/keyboards/handwired/6macro/keymaps/osu/config.h b/keyboards/handwired/6macro/keymaps/osu/config.h
deleted file mode 100644
index 64ba57443f..0000000000
--- a/keyboards/handwired/6macro/keymaps/osu/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2019 joaofbmaia
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
diff --git a/keyboards/handwired/chiron/keymaps/default/config.h b/keyboards/handwired/chiron/keymaps/default/config.h
index c373743a39..5d8a8a083d 100644
--- a/keyboards/handwired/chiron/keymaps/default/config.h
+++ b/keyboards/handwired/chiron/keymaps/default/config.h
@@ -30,8 +30,8 @@
#define MOUSEKEY_WHEEL_MAX_SPEED 8
#define MOUSEKEY_WHEEL_TIME_TO_MAX 40
-#undef RGBLED_NUM
-#define RGBLED_NUM 2
+#undef RGBLIGHT_LED_COUNT
+#define RGBLIGHT_LED_COUNT 2
#define RGBLED_SPLIT {1, 1}
// Don't turn off lights when the host goes to sleep.
diff --git a/keyboards/handwired/freoduo/keymaps/default/keymap.c b/keyboards/handwired/freoduo/keymaps/default/keymap.c
index bd01de7585..791e6af318 100644
--- a/keyboards/handwired/freoduo/keymaps/default/keymap.c
+++ b/keyboards/handwired/freoduo/keymaps/default/keymap.c
@@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS(
{0, 7, 0},
{7, 24, HSV_RED},
- {24, RGBLED_NUM, 0}
+ {24, RGBLIGHT_LED_COUNT, 0}
);
// Light all LEDs in green when keyboard layer 1 is active
const rgblight_segment_t PROGMEM layer_lower[] = RGBLIGHT_LAYER_SEGMENTS(
diff --git a/keyboards/handwired/hnah40rgb/keymaps/default/config.h b/keyboards/handwired/hnah40rgb/keymaps/default/config.h
deleted file mode 100644
index aa9325a59d..0000000000
--- a/keyboards/handwired/hnah40rgb/keymaps/default/config.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2019 HnahKB
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
diff --git a/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/rules.mk b/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/rules.mk
deleted file mode 100644
index 916b1154bd..0000000000
--- a/keyboards/handwired/obuwunkunubi/spaget/keymaps/default/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-# Build Overrides
diff --git a/keyboards/handwired/onekey/keymaps/apa102/config.h b/keyboards/handwired/onekey/keymaps/apa102/config.h
index 756ebb3593..bb618d77fb 100644
--- a/keyboards/handwired/onekey/keymaps/apa102/config.h
+++ b/keyboards/handwired/onekey/keymaps/apa102/config.h
@@ -1,6 +1,6 @@
#pragma once
-#define RGBLED_NUM 40
+#define RGBLIGHT_LED_COUNT 40
#define APA102_DEFAULT_BRIGHTNESS 5
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
diff --git a/keyboards/handwired/onekey/keymaps/dip_switch_map/config.h b/keyboards/handwired/onekey/keymaps/dip_switch_map/config.h
new file mode 100644
index 0000000000..7e5b6c0b91
--- /dev/null
+++ b/keyboards/handwired/onekey/keymaps/dip_switch_map/config.h
@@ -0,0 +1,6 @@
+// Copyright 2023 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+// TODO: Remove reuse of pin
+#define DIP_SWITCH_PINS { WS2812_DI_PIN }
diff --git a/keyboards/handwired/onekey/keymaps/dip_switch_map/keymap.c b/keyboards/handwired/onekey/keymaps/dip_switch_map/keymap.c
new file mode 100644
index 0000000000..35bb16d458
--- /dev/null
+++ b/keyboards/handwired/onekey/keymaps/dip_switch_map/keymap.c
@@ -0,0 +1,14 @@
+// Copyright 2023 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_ortho_1x1(KC_A),
+ [1] = LAYOUT_ortho_1x1(KC_B),
+};
+
+#if defined(DIP_SWITCH_MAP_ENABLE)
+const uint16_t PROGMEM dip_switch_map[NUM_DIP_SWITCHES][NUM_DIP_STATES] = {
+ DIP_SWITCH_OFF_ON(DF(0), DF(1))
+};
+#endif
diff --git a/keyboards/handwired/onekey/keymaps/dip_switch_map/rules.mk b/keyboards/handwired/onekey/keymaps/dip_switch_map/rules.mk
new file mode 100644
index 0000000000..b2429854f1
--- /dev/null
+++ b/keyboards/handwired/onekey/keymaps/dip_switch_map/rules.mk
@@ -0,0 +1,2 @@
+DIP_SWITCH_ENABLE = yes
+DIP_SWITCH_MAP_ENABLE = yes
diff --git a/keyboards/handwired/steamvan/keymaps/jmdaly/config.h b/keyboards/handwired/steamvan/keymaps/jmdaly/config.h
deleted file mode 100644
index 271f48d001..0000000000
--- a/keyboards/handwired/steamvan/keymaps/jmdaly/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-// place overrides here
diff --git a/keyboards/handwired/ziyoulang_k3_mod/config.h b/keyboards/handwired/ziyoulang_k3_mod/config.h
new file mode 100644
index 0000000000..304ca5eb28
--- /dev/null
+++ b/keyboards/handwired/ziyoulang_k3_mod/config.h
@@ -0,0 +1,8 @@
+// Copyright 2023 Coom (@coomstoolbox)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define I2C1_SCL_PIN B10
+#define I2C1_SDA_PIN B11
+#define I2C_DRIVER I2CD2
diff --git a/keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/config.h b/keyboards/handwired/ziyoulang_k3_mod/halconf.h
index 0054f43e6b..44602147bb 100644
--- a/keyboards/rominronin/katana60/rev1/keymaps/josefadamcik/config.h
+++ b/keyboards/handwired/ziyoulang_k3_mod/halconf.h
@@ -1,4 +1,4 @@
-/* Copyright 2017 Baris Tosun
+/* Copyright 2021 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
@@ -16,5 +16,6 @@
#pragma once
-// place overrides here
+#define HAL_USE_I2C TRUE
+#include_next <halconf.h>
diff --git a/keyboards/handwired/ziyoulang_k3_mod/info.json b/keyboards/handwired/ziyoulang_k3_mod/info.json
index 127cc51299..5d4ca7a254 100644
--- a/keyboards/handwired/ziyoulang_k3_mod/info.json
+++ b/keyboards/handwired/ziyoulang_k3_mod/info.json
@@ -2,7 +2,7 @@
"keyboard_name": "ziyoulang k3 mod",
"development_board": "bluepill",
"usb": {
- "device_version": "1.0.0",
+ "device_version": "1.2.0",
"pid": "0xE002",
"vid": "0x5006"
},
@@ -11,10 +11,14 @@
"command": false,
"console": false,
"extrakey": true,
- "mousekey": true,
- "nkro": false
+ "mousekey": false,
+ "nkro": false,
+ "oled": true
},
- "diode_direction": "COL2ROW",
+ "build": {
+ "lto": true
+ },
+ "diode_direction": "ROW2COL",
"dynamic_keymap": {
"layer_count": 3
},
@@ -78,7 +82,7 @@
{"label":"P", "x":10.5, "y":2.25, "matrix": [2, 10]},
{"label":"{", "x":11.5, "y":2.25, "matrix": [2, 11]},
{"label":"}", "x":12.5, "y":2.25, "matrix": [2, 12]},
- {"label":"|", "x":13.5, "y":2.25, "w":1.5, "matrix": [2, 13]},
+ {"label":"|", "x":13.5, "y":2.25, "w":1.5, "matrix": [3, 13]},
{"label":"7", "x":15.5, "y":2.25, "matrix": [2, 17]},
{"label":"8", "x":16.5, "y":2.25, "matrix": [2, 18]},
{"label":"9", "x":17.5, "y":2.25, "matrix": [2, 19]},
@@ -96,7 +100,7 @@
{"label":"L", "x":9.75, "y":3.25, "matrix": [3, 10]},
{"label":":", "x":10.75, "y":3.25, "matrix": [3, 11]},
{"label":"\"", "x":11.75, "y":3.25, "matrix": [3, 12]},
- {"label":"Enter", "x":12.75, "y":3.25, "w":2.25, "matrix": [3, 13]},
+ {"label":"Enter", "x":12.75, "y":3.25, "w":2.25, "matrix": [2, 13]},
{"label":"4", "x":15.5, "y":3.25, "matrix": [3, 17]},
{"label":"5", "x":16.5, "y":3.25, "matrix": [3, 18]},
{"label":"6", "x":17.5, "y":3.25, "matrix": [3, 19]},
@@ -139,4 +143,4 @@
"manufacturer": "Coom",
"maintainer": "coomstoolbox",
"url": ""
-} \ No newline at end of file
+}
diff --git a/keyboards/handwired/ziyoulang_k3_mod/keymaps/via/rules.mk b/keyboards/handwired/ziyoulang_k3_mod/keymaps/via/rules.mk
index ea877d6786..1e5b99807c 100644
--- a/keyboards/handwired/ziyoulang_k3_mod/keymaps/via/rules.mk
+++ b/keyboards/handwired/ziyoulang_k3_mod/keymaps/via/rules.mk
@@ -1,3 +1 @@
VIA_ENABLE = yes
-MOUSEKEY_ENABLE = no
-LTO_ENABLE = yes
diff --git a/keyboards/handwired/ziyoulang_k3_mod/mcuconf.h b/keyboards/handwired/ziyoulang_k3_mod/mcuconf.h
new file mode 100644
index 0000000000..8f1da10fe2
--- /dev/null
+++ b/keyboards/handwired/ziyoulang_k3_mod/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2021 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 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_I2C_USE_I2C2
+#define STM32_I2C_USE_I2C2 TRUE
diff --git a/keyboards/handwired/ziyoulang_k3_mod/readme.md b/keyboards/handwired/ziyoulang_k3_mod/readme.md
index 7e247fde19..553f735d4c 100644
--- a/keyboards/handwired/ziyoulang_k3_mod/readme.md
+++ b/keyboards/handwired/ziyoulang_k3_mod/readme.md
@@ -23,7 +23,7 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
[KiCAD wiring diagram](https://github.com/coomstoolbox/ZK3-BP-MOD-wiring-diagram)
-![explanation](https://i.imgur.com/yvhvhoBh.png)
+![explanation](https://i.imgur.com/thGIdOth.png)
## Bootloader
diff --git a/keyboards/handwired/ziyoulang_k3_mod/ziyoulang_k3_mod.c b/keyboards/handwired/ziyoulang_k3_mod/ziyoulang_k3_mod.c
new file mode 100644
index 0000000000..cadae4aa28
--- /dev/null
+++ b/keyboards/handwired/ziyoulang_k3_mod/ziyoulang_k3_mod.c
@@ -0,0 +1,117 @@
+// Copyright 2023 Coom (@coomstoolbox)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "quantum.h"
+#include <stdio.h>
+
+void keyboard_post_init_kb(void) {
+#ifdef CONSOLE_ENABLE
+ debug_enable=true;
+ debug_matrix=true;
+#endif
+ keyboard_post_init_user();
+}
+
+static uint16_t last_keycode = KC_NO;
+static keypos_t last_key = {0, 0};
+
+bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+ if (!process_record_user(keycode, record)) {
+ return false;
+ }
+ // コンソールが有効化されている場合、マトリックス上の位置とキー押下状態を出力します
+#ifdef CONSOLE_ENABLE
+ uprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed);
+#endif
+ if (record->event.pressed) {
+ if (last_keycode != keycode) {
+ last_keycode = keycode;
+ last_key = record->event.key;
+ }
+ }
+ return true;
+}
+
+#ifdef OLED_ENABLE
+oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
+ return OLED_ROTATION_180;
+}
+
+static void render_logo(void) {
+ static const char PROGMEM qmk_logo[] = {
+ 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94,
+ 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4,
+ 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00
+ };
+ oled_write_P(qmk_logo, false);
+#ifdef CONSOLE_ENABLE
+ uprintf("Ziyoulang K3 Mod\n");
+ oled_set_cursor(3, 0);
+ oled_write_P(PSTR("Ziyoulang K3 Mod"), false);
+#endif
+}
+
+bool oled_task_kb(void) {
+ if (!oled_task_user()) {
+ return false;
+ }
+ int uptime_seconds = (int)(timer_read32() / 1000);
+ if (uptime_seconds < 5) {
+ render_logo();
+ return false;
+ }
+
+ // 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("Default\n"), false);
+ break;
+ case 1:
+ oled_write_P(PSTR("2\n"), false);
+ break;
+ case 2:
+ oled_write_P(PSTR("3\n"), false);
+ break;
+ default:
+ // Or use the write_ln shortcut over adding '\n' to the end of your string
+ oled_write_ln_P(PSTR("Undefined"), false);
+ }
+
+ // Host Keyboard LED Status
+ led_t led_state = host_keyboard_led_state();
+ if (led_state.num_lock) {
+ oled_write_P(PSTR("NUM"), true);
+ oled_write_P(PSTR(" "), false);
+ } else {
+ oled_write_P(PSTR(" "), false);
+ }
+ if (led_state.caps_lock) {
+ oled_write_P(PSTR("CAP"), true);
+ oled_write_P(PSTR(" "), false);
+ } else {
+ oled_write_P(PSTR(" "), false);
+ }
+ if (led_state.scroll_lock) {
+ oled_write_P(PSTR("SCR"), true);
+ oled_write_ln_P(PSTR(" "), false);
+ } else {
+ oled_write_ln_P(PSTR(" "), false);
+ }
+
+ // Last Key pressed info
+ oled_write_P(PSTR("kc : "), false);
+ if (last_keycode > 21000) {
+ oled_write_ln_P(PSTR(" Fn"), false);
+ } else {
+ oled_write_ln_P(get_u16_str(last_keycode, ' '), false);
+ }
+ oled_write_P(PSTR("col: "), false);
+ oled_write_P(get_u8_str(last_key.col, ' '), false);
+ oled_write_P(PSTR(",row: "), false);
+ oled_write_P(get_u8_str(last_key.row, ' '), false);
+
+ return false;
+}
+#endif
diff --git a/keyboards/helix/pico/config.h b/keyboards/helix/pico/config.h
index f5eb4c13e1..e1cd9c2e90 100644
--- a/keyboards/helix/pico/config.h
+++ b/keyboards/helix/pico/config.h
@@ -50,20 +50,20 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Helix keyboard RGB LED support
// see ./rules.mk: LED_BACK_ENABLE or LED_UNDERGLOW_ENABLE set yes
#ifdef RGBLED_BACK
- #define RGBLED_NUM 25
+ #define RGBLIGHT_LED_COUNT 25
#else
- #define RGBLED_NUM 6
+ #define RGBLIGHT_LED_COUNT 6
#endif
#ifndef IOS_DEVICE_ENABLE
- #if RGBLED_NUM <= 6
+ #if RGBLIGHT_LED_COUNT <= 6
#define RGBLIGHT_LIMIT_VAL 255
#else
#define RGBLIGHT_LIMIT_VAL 130
#endif
#define RGBLIGHT_VAL_STEP 17
#else
- #if RGBLED_NUM <= 6
+ #if RGBLIGHT_LED_COUNT <= 6
#define RGBLIGHT_LIMIT_VAL 90
#else
#define RGBLIGHT_LIMIT_VAL 45
diff --git a/keyboards/helix/rev2/config.h b/keyboards/helix/rev2/config.h
index 7ab494522a..8af2a44ecc 100644
--- a/keyboards/helix/rev2/config.h
+++ b/keyboards/helix/rev2/config.h
@@ -31,20 +31,20 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Helix keyboard RGB LED support
// see ./rules.mk: LED_BACK_ENABLE or LED_UNDERGLOW_ENABLE set yes
#ifdef RGBLED_BACK
- #define RGBLED_NUM 32
+ #define RGBLIGHT_LED_COUNT 32
#else
- #define RGBLED_NUM 6
+ #define RGBLIGHT_LED_COUNT 6
#endif
#ifndef IOS_DEVICE_ENABLE
- #if RGBLED_NUM <= 6
+ #if RGBLIGHT_LED_COUNT <= 6
#define RGBLIGHT_LIMIT_VAL 255
#else
#define RGBLIGHT_LIMIT_VAL 120
#endif
#define RGBLIGHT_VAL_STEP 17
#else
- #if RGBLED_NUM <= 6
+ #if RGBLIGHT_LED_COUNT <= 6
#define RGBLIGHT_LIMIT_VAL 90
#else
#define RGBLIGHT_LIMIT_VAL 35
diff --git a/keyboards/hineybush/hbcp/hbcp.c b/keyboards/hineybush/hbcp/hbcp.c
index df17650f27..754b63b200 100644
--- a/keyboards/hineybush/hbcp/hbcp.c
+++ b/keyboards/hineybush/hbcp/hbcp.c
@@ -70,7 +70,7 @@ bool led_update_kb(led_t led_state) {
__attribute__ ((weak))
void keyboard_post_init_user(void) {
- rgblight_set_effect_range(3, RGBLED_NUM-3);
+ rgblight_set_effect_range(3, RGBLIGHT_LED_COUNT-3);
led_t led_state = {
.caps_lock = true,
.num_lock = true,
diff --git a/keyboards/horrortroll/lemon40/lemon40.c b/keyboards/horrortroll/lemon40/lemon40.c
index 75321f41b3..ad42e93e67 100644
--- a/keyboards/horrortroll/lemon40/lemon40.c
+++ b/keyboards/horrortroll/lemon40/lemon40.c
@@ -20,18 +20,21 @@
#include "lib/bongocat.h"
#ifdef OLED_ENABLE
- bool oled_task_kb(void) {
- led_t led_usb_state = host_keyboard_led_state();
+bool oled_task_kb(void) {
+ if (!oled_task_user()) {
+ return false;
+ }
+ led_t led_usb_state = host_keyboard_led_state();
- render_bongocat();
- oled_set_cursor(14, 0); // sets cursor to (column, row) using charactar spacing (4 rows on 128x32 screen, anything more will overflow back to the top)
- oled_write_P(PSTR("WPM:"), false);
- oled_write(get_u8_str(get_current_wpm(), '0'), false); // writes wpm on top right corner of string
- oled_set_cursor(17, 2);
- oled_write_P(led_usb_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false);
- oled_set_cursor(17, 3);
- oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRL") : PSTR(" "), false);
+ render_bongocat();
+ oled_set_cursor(14, 0); // sets cursor to (column, row) using charactar spacing (4 rows on 128x32 screen, anything more will overflow back to the top)
+ oled_write_P(PSTR("WPM:"), false);
+ oled_write(get_u8_str(get_current_wpm(), '0'), false); // writes wpm on top right corner of string
+ oled_set_cursor(17, 2);
+ oled_write_P(led_usb_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false);
+ oled_set_cursor(17, 3);
+ oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRL") : PSTR(" "), false);
- return true;
- }
+ return true;
+}
#endif
diff --git a/keyboards/ibm/model_m/mschwingen/mschwingen.c b/keyboards/ibm/model_m/mschwingen/mschwingen.c
index 8e3810cd23..03dfcdc2f2 100644
--- a/keyboards/ibm/model_m/mschwingen/mschwingen.c
+++ b/keyboards/ibm/model_m/mschwingen/mschwingen.c
@@ -36,10 +36,10 @@ static bool blink_state = false;
static uint8_t isRecording = 0;
#ifdef KEYBOARD_ibm_model_m_mschwingen_led_ws2812
-# if RGBLED_NUM < 3
+# if RGBLIGHT_LED_COUNT < 3
# error we need at least 3 RGB LEDs!
# endif
-static rgb_led_t led[RGBLED_NUM] = {{255, 255, 255}, {255, 255, 255}, {255, 255, 255}};
+static rgb_led_t led[RGBLIGHT_LED_COUNT] = {{255, 255, 255}, {255, 255, 255}, {255, 255, 255}};
# define BRIGHT 32
# define DIM 6
@@ -84,13 +84,13 @@ void sleep_led_enable(void) {
led[0] = black;
led[1] = black;
led[2] = black;
- ws2812_setleds(led, RGBLED_NUM);
+ ws2812_setleds(led, RGBLIGHT_LED_COUNT);
#endif
}
void keyboard_pre_init_kb(void) {
#ifdef KEYBOARD_ibm_model_m_mschwingen_led_ws2812
- ws2812_setleds(led, RGBLED_NUM);
+ ws2812_setleds(led, RGBLIGHT_LED_COUNT);
#else
/* Set status LEDs pins to output and Low (on) */
setPinOutput(MODELM_LED_CAPSLOCK);
@@ -146,7 +146,7 @@ static void led_update_rgb(void) {
break;
}
if (!suspend_active) {
- ws2812_setleds(led, RGBLED_NUM);
+ ws2812_setleds(led, RGBLIGHT_LED_COUNT);
}
}
diff --git a/keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/config.h b/keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/config.h
deleted file mode 100644
index 779e5a858f..0000000000
--- a/keyboards/ibm/model_m/teensypp/keymaps/iw0rm3r/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2019 iw0rm3r
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/ibm/model_m_122/ibm122m/keymaps/default/config.h b/keyboards/ibm/model_m_122/ibm122m/keymaps/default/config.h
deleted file mode 100644
index 0453a72580..0000000000
--- a/keyboards/ibm/model_m_122/ibm122m/keymaps/default/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2018 REPLACE_WITH_YOUR_NAME
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides below
diff --git a/keyboards/ibm/model_m_122/ibm122m/keymaps/lukaus/config.h b/keyboards/ibm/model_m_122/ibm122m/keymaps/lukaus/config.h
deleted file mode 100644
index bf338e196d..0000000000
--- a/keyboards/ibm/model_m_122/ibm122m/keymaps/lukaus/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2018 REPLACE_WITH_YOUR_NAME
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-// place overrides here
-
diff --git a/keyboards/idobao/id75/keymaps/revok75/config.h b/keyboards/idobao/id75/keymaps/revok75/config.h
deleted file mode 100644
index f5c4659880..0000000000
--- a/keyboards/idobao/id75/keymaps/revok75/config.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/* Copyright 2017 Benjamin Kesselring
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
diff --git a/keyboards/idobao/id75/keymaps/revok75/rules.mk b/keyboards/idobao/id75/keymaps/revok75/rules.mk
deleted file mode 100644
index 7efceba50a..0000000000
--- a/keyboards/idobao/id75/keymaps/revok75/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 2013 Jun Wako <wakojun@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 <http://www.gnu.org/licenses/>.
diff --git a/keyboards/idobao/id75/keymaps/xaceofspaidsx/config.h b/keyboards/idobao/id75/keymaps/xaceofspaidsx/config.h
deleted file mode 100644
index a3ed4f762a..0000000000
--- a/keyboards/idobao/id75/keymaps/xaceofspaidsx/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2018 MechMerlin
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/input_club/k_type/is31fl3733-dual.c b/keyboards/input_club/k_type/is31fl3733-dual.c
index e471cf0b71..385416439a 100644
--- a/keyboards/input_club/k_type/is31fl3733-dual.c
+++ b/keyboards/input_club/k_type/is31fl3733-dual.c
@@ -60,11 +60,10 @@
# define IS31FL3733_SYNC_4 IS31FL3733_SYNC_NONE
#endif
-// Transfer buffer for TWITransmitData()
-uint8_t g_twi_transfer_buffer[20];
+uint8_t i2c_transfer_buffer[20];
// These buffers match the IS31FL3733 PWM registers.
-// The control buffers match the PG0 LED On/Off registers.
+// The control buffers match the page 0 LED On/Off registers.
// Storing them like this is optimal for I2C transfers to the registers.
// We could optimize this and take out the unused registers from these
// buffers and the transfers in is31fl3733_write_pwm_buffer() but it's
@@ -77,47 +76,52 @@ bool g_led_control_registers_update_required[IS31FL3733_DRIVER_COUNT]
bool is31fl3733_write_register(uint8_t index, uint8_t addr, uint8_t reg, uint8_t data) {
// If the transaction fails function returns false.
- g_twi_transfer_buffer[0] = reg;
- g_twi_transfer_buffer[1] = data;
+ i2c_transfer_buffer[0] = reg;
+ i2c_transfer_buffer[1] = data;
#if IS31FL3733_I2C_PERSISTENCE > 0
for (uint8_t i = 0; i < IS31FL3733_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(index, addr << 1, g_twi_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) {
+ if (i2c_transmit(index, addr << 1, i2c_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) {
return false;
}
}
#else
- if (i2c_transmit(index, addr << 1, g_twi_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) {
+ if (i2c_transmit(index, addr << 1, i2c_transfer_buffer, 2, IS31FL3733_I2C_TIMEOUT) != 0) {
return false;
}
#endif
return true;
}
+void is31fl3733_select_page(uint8_t index, uint8_t addr, uint8_t page) {
+ is31fl3733_write_register(index, addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3733_write_register(index, addr, IS31FL3733_REG_COMMAND, page);
+}
+
bool is31fl3733_write_pwm_buffer(uint8_t index, uint8_t addr, uint8_t *pwm_buffer) {
- // Assumes PG1 is already selected.
+ // Assumes page 1 is already selected.
// If any of the transactions fails function returns false.
// Transmit PWM registers in 12 transfers of 16 bytes.
- // g_twi_transfer_buffer[] is 20 bytes
+ // i2c_transfer_buffer[] is 20 bytes
// Iterate over the pwm_buffer contents at 16 byte intervals.
for (int i = 0; i < IS31FL3733_PWM_REGISTER_COUNT; i += 16) {
- g_twi_transfer_buffer[0] = i;
+ i2c_transfer_buffer[0] = i;
// Copy the data from i to i+15.
// Device will auto-increment register for data after the first byte
// Thus this sets registers 0x00-0x0F, 0x10-0x1F, etc. in one transfer.
for (int j = 0; j < 16; j++) {
- g_twi_transfer_buffer[1 + j] = pwm_buffer[i + j];
+ i2c_transfer_buffer[1 + j] = pwm_buffer[i + j];
}
#if IS31FL3733_I2C_PERSISTENCE > 0
for (uint8_t i = 0; i < IS31FL3733_I2C_PERSISTENCE; i++) {
- if (i2c_transmit(index, addr << 1, g_twi_transfer_buffer, 17, IS31FL3733_I2C_TIMEOUT) != 0) {
+ if (i2c_transmit(index, addr << 1, i2c_transfer_buffer, 17, IS31FL3733_I2C_TIMEOUT) != 0) {
return false;
}
}
#else
- if (i2c_transmit(index, addr << 1, g_twi_transfer_buffer, 17, IS31FL3733_I2C_TIMEOUT) != 0) {
+ if (i2c_transmit(index, addr << 1, i2c_transfer_buffer, 17, IS31FL3733_I2C_TIMEOUT) != 0) {
return false;
}
#endif
@@ -150,32 +154,23 @@ void is31fl3733_init(uint8_t bus, uint8_t addr, uint8_t sync) {
// then disable software shutdown.
// Sync is passed so set it according to the datasheet.
- // Unlock the command register.
- is31fl3733_write_register(bus, addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3733_select_page(bus, addr, IS31FL3733_COMMAND_LED_CONTROL);
- // Select PG0
- is31fl3733_write_register(bus, addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_LED_CONTROL);
// Turn off all LEDs.
for (int i = 0; i < IS31FL3733_LED_CONTROL_REGISTER_COUNT; i++) {
is31fl3733_write_register(bus, addr, i, 0x00);
}
- // Unlock the command register.
- is31fl3733_write_register(bus, addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3733_select_page(bus, addr, IS31FL3733_COMMAND_PWM);
- // Select PG1
- is31fl3733_write_register(bus, addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_PWM);
// Set PWM on all LEDs to 0
// No need to setup Breath registers to PWM as that is the default.
for (int i = 0; i < IS31FL3733_PWM_REGISTER_COUNT; i++) {
is31fl3733_write_register(bus, addr, i, 0x00);
}
- // Unlock the command register.
- is31fl3733_write_register(bus, addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC);
+ is31fl3733_select_page(bus, addr, IS31FL3733_COMMAND_FUNCTION);
- // Select PG3
- is31fl3733_write_register(bus, addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_FUNCTION);
// Set de-ghost pull-up resistors (SWx)
is31fl3733_write_register(bus, addr, IS31FL3733_FUNCTION_REG_SW_PULLUP, IS31FL3733_SW_PULLUP);
// Set de-ghost pull-down resistors (CSx)
@@ -242,11 +237,9 @@ void is31fl3733_set_led_control_register(uint8_t index, bool red, bool green, bo
void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index) {
if (g_pwm_buffer_update_required[index]) {
- // Firstly we need to unlock the command register and select PG1.
- is31fl3733_write_register(index, addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC);
- is31fl3733_write_register(index, addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_PWM);
+ is31fl3733_select_page(index, addr, IS31FL3733_COMMAND_PWM);
- // If any of the transactions fail we risk writing dirty PG0,
+ // If any of the transactions fail we risk writing dirty page 0,
// refresh page 0 just in case.
if (!is31fl3733_write_pwm_buffer(index, addr, g_pwm_buffer[index])) {
g_led_control_registers_update_required[index] = true;
@@ -257,9 +250,8 @@ void is31fl3733_update_pwm_buffers(uint8_t addr, uint8_t index) {
void is31fl3733_update_led_control_registers(uint8_t addr, uint8_t index) {
if (g_led_control_registers_update_required[index]) {
- // Firstly we need to unlock the command register and select PG0
- is31fl3733_write_register(index, addr, IS31FL3733_REG_COMMAND_WRITE_LOCK, IS31FL3733_COMMAND_WRITE_LOCK_MAGIC);
- is31fl3733_write_register(index, addr, IS31FL3733_REG_COMMAND, IS31FL3733_COMMAND_LED_CONTROL);
+ is31fl3733_select_page(index, addr, IS31FL3733_COMMAND_LED_CONTROL);
+
for (int i = 0; i < IS31FL3733_LED_CONTROL_REGISTER_COUNT; i++) {
is31fl3733_write_register(index, addr, i, g_led_control_registers[index][i]);
}
diff --git a/keyboards/input_club/k_type/is31fl3733-dual.h b/keyboards/input_club/k_type/is31fl3733-dual.h
index 2f7d58f7e7..e0fc5fd3b9 100644
--- a/keyboards/input_club/k_type/is31fl3733-dual.h
+++ b/keyboards/input_club/k_type/is31fl3733-dual.h
@@ -70,6 +70,7 @@ extern const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT];
void is31fl3733_init_drivers(void);
void is31fl3733_init(uint8_t bus, uint8_t addr, uint8_t sync);
bool is31fl3733_write_register(uint8_t index, uint8_t addr, uint8_t reg, uint8_t data);
+void is31fl3733_select_page(uint8_t index, uint8_t addr, uint8_t page);
bool is31fl3733_write_pwm_buffer(uint8_t index, uint8_t addr, uint8_t *pwm_buffer);
void is31fl3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
diff --git a/keyboards/input_club/k_type/keymaps/andrew-fahmy/config.h b/keyboards/input_club/k_type/keymaps/andrew-fahmy/config.h
index c40495c8de..5052271687 100644
--- a/keyboards/input_club/k_type/keymaps/andrew-fahmy/config.h
+++ b/keyboards/input_club/k_type/keymaps/andrew-fahmy/config.h
@@ -16,37 +16,5 @@
#pragma once
-
-#ifdef RGB_MATRIX_ENABLE
-// # define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// # define RGB_MATRIX_KEYPRESSES
-# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_RAINDROPS
-
-// # define DEBUG_MATRIX_SCAN_RATE
-
-# define RGB_MATRIX_LED_FLUSH_LIMIT 100
-// # define RGB_MATRIX_LED_PROCESS_LIMIT 2
-
-// i2c_master defines
-# define I2C_COUNT 2
-
-# define I2C1_BANK GPIOB
-# define I2C1_SCL 0 // A2 on pinout = B0
-# define I2C1_SDA 1 // A2 on pinout = B1
-# define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2
-# define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2
-
-# define USE_I2C2
-# define I2C2_BANK GPIOC
-# define I2C2_SCL 10 // A2 on pinout = C10
-# define I2C2_SDA 11 // A2 on pinout = C11
-# define I2C2_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2
-# define I2C2_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2
-
-# define DRIVER_ADDR_1 0b1010000
-# define DRIVER_ADDR_2 0b1010000
-# define DRIVER_COUNT 2
-# define DRIVER_1_LED_TOTAL 64
-# define DRIVER_2_LED_TOTAL 55
-# define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-#endif
+#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_RAINDROPS
+#define RGB_MATRIX_LED_FLUSH_LIMIT 100
diff --git a/keyboards/jc65/v32u4/keymaps/coth/config.h b/keyboards/jc65/v32u4/keymaps/coth/config.h
deleted file mode 100644
index a5568e400d..0000000000
--- a/keyboards/jc65/v32u4/keymaps/coth/config.h
+++ /dev/null
@@ -1 +0,0 @@
-#include "../../config.h"
diff --git a/keyboards/jc65/v32u4/keymaps/dead_encryption/config.h b/keyboards/jc65/v32u4/keymaps/dead_encryption/config.h
deleted file mode 100644
index a5568e400d..0000000000
--- a/keyboards/jc65/v32u4/keymaps/dead_encryption/config.h
+++ /dev/null
@@ -1 +0,0 @@
-#include "../../config.h"
diff --git a/keyboards/jc65/v32u4/keymaps/jetpacktuxedo/config.h b/keyboards/jc65/v32u4/keymaps/jetpacktuxedo/config.h
deleted file mode 100644
index a5568e400d..0000000000
--- a/keyboards/jc65/v32u4/keymaps/jetpacktuxedo/config.h
+++ /dev/null
@@ -1 +0,0 @@
-#include "../../config.h"
diff --git a/keyboards/jc65/v32u4/keymaps/na7thana/config.h b/keyboards/jc65/v32u4/keymaps/na7thana/config.h
deleted file mode 100644
index a5568e400d..0000000000
--- a/keyboards/jc65/v32u4/keymaps/na7thana/config.h
+++ /dev/null
@@ -1 +0,0 @@
-#include "../../config.h"
diff --git a/keyboards/jian/keymaps/default/config.h b/keyboards/jian/keymaps/default/config.h
deleted file mode 100644
index 314836a54d..0000000000
--- a/keyboards/jian/keymaps/default/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-#pragma once
diff --git a/keyboards/jian/keymaps/left_hand/config.h b/keyboards/jian/keymaps/left_hand/config.h
deleted file mode 100644
index cae66a5c3a..0000000000
--- a/keyboards/jian/keymaps/left_hand/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-#pragma once
-
diff --git a/keyboards/jian/keymaps/via/config.h b/keyboards/jian/keymaps/via/config.h
deleted file mode 100644
index cae66a5c3a..0000000000
--- a/keyboards/jian/keymaps/via/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-#pragma once
-
diff --git a/keyboards/jian/nsrev2/config.h b/keyboards/jian/nsrev2/config.h
index 5025847259..7df400367f 100644
--- a/keyboards/jian/nsrev2/config.h
+++ b/keyboards/jian/nsrev2/config.h
@@ -22,14 +22,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_TIMER
#ifndef IOS_DEVICE_ENABLE
-#if RGBLED_NUM <= 6
+#if RGBLIGHT_LED_COUNT <= 6
#define RGBLIGHT_LIMIT_VAL 255
#else
#define RGBLIGHT_LIMIT_VAL 130
#endif
#define RGBLIGHT_VAL_STEP 8
#else
-#if RGBLED_NUM <= 6
+#if RGBLIGHT_LED_COUNT <= 6
#define RGBLIGHT_LIMIT_VAL 90
#else
#define RGBLIGHT_LIMIT_VAL 45
diff --git a/keyboards/jian/rev1/post_config.h b/keyboards/jian/rev1/post_config.h
index fade065e19..935d0d1f01 100644
--- a/keyboards/jian/rev1/post_config.h
+++ b/keyboards/jian/rev1/post_config.h
@@ -1,14 +1,14 @@
#pragma once
#ifndef IOS_DEVICE_ENABLE
-# if RGBLED_NUM <= 6
+# if RGBLIGHT_LED_COUNT <= 6
# define RGBLIGHT_LIMIT_VAL 255
# else
# define RGBLIGHT_LIMIT_VAL 130
# endif
# define RGBLIGHT_VAL_STEP 8
#else
-# if RGBLED_NUM <= 6
+# if RGBLIGHT_LED_COUNT <= 6
# define RGBLIGHT_LIMIT_VAL 90
# else
# define RGBLIGHT_LIMIT_VAL 45
diff --git a/keyboards/jian/rev2/post_config.h b/keyboards/jian/rev2/post_config.h
index fade065e19..935d0d1f01 100644
--- a/keyboards/jian/rev2/post_config.h
+++ b/keyboards/jian/rev2/post_config.h
@@ -1,14 +1,14 @@
#pragma once
#ifndef IOS_DEVICE_ENABLE
-# if RGBLED_NUM <= 6
+# if RGBLIGHT_LED_COUNT <= 6
# define RGBLIGHT_LIMIT_VAL 255
# else
# define RGBLIGHT_LIMIT_VAL 130
# endif
# define RGBLIGHT_VAL_STEP 8
#else
-# if RGBLED_NUM <= 6
+# if RGBLIGHT_LED_COUNT <= 6
# define RGBLIGHT_LIMIT_VAL 90
# else
# define RGBLIGHT_LIMIT_VAL 45
diff --git a/keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/config.h b/keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/config.h
deleted file mode 100644
index bf1149ebc6..0000000000
--- a/keyboards/kakunpc/angel64/rev1/keymaps/kakunpc/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2019 kakunpc
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/kapcave/gskt00/keymaps/default-poly/config.h b/keyboards/kapcave/gskt00/keymaps/default-poly/config.h
index 64135cabcd..40a7c6ec47 100644
--- a/keyboards/kapcave/gskt00/keymaps/default-poly/config.h
+++ b/keyboards/kapcave/gskt00/keymaps/default-poly/config.h
@@ -30,7 +30,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 14
+#define RGBLIGHT_LED_COUNT 14
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
#define RGBLIGHT_VAL_STEP 12
diff --git a/keyboards/kapl/keymaps/default/config.h b/keyboards/kapl/keymaps/default/config.h
deleted file mode 100644
index cc82705192..0000000000
--- a/keyboards/kapl/keymaps/default/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-// Copyright 2022 Alexander Lozyuk (@keyzog)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
diff --git a/keyboards/kapl/keymaps/via/config.h b/keyboards/kapl/keymaps/via/config.h
deleted file mode 100644
index cc82705192..0000000000
--- a/keyboards/kapl/keymaps/via/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-// Copyright 2022 Alexander Lozyuk (@keyzog)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
diff --git a/keyboards/karn/info.json b/keyboards/karn/info.json
index c15801da35..b088f61425 100644
--- a/keyboards/karn/info.json
+++ b/keyboards/karn/info.json
@@ -23,52 +23,54 @@
"split": {
"enabled": true
},
- "community_layouts": ["split_3x6_3"],
"layouts": {
- "LAYOUT_split_3x6_3": {
+ "LAYOUT": {
"layout": [
- {"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
- {"matrix": [4, 0], "x": 8, "y": 0},
- {"matrix": [4, 1], "x": 9, "y": 0},
- {"matrix": [4, 2], "x": 10, "y": 0},
- {"matrix": [4, 3], "x": 11, "y": 0},
- {"matrix": [4, 4], "x": 12, "y": 0},
- {"matrix": [4, 5], "x": 13, "y": 0},
- {"matrix": [1, 0], "x": 0, "y": 1},
+
+ {"matrix": [4, 0], "x": 9, "y": 0},
+ {"matrix": [4, 1], "x": 10, "y": 0},
+ {"matrix": [4, 2], "x": 11, "y": 0},
+ {"matrix": [4, 3], "x": 12, "y": 0},
+ {"matrix": [4, 4], "x": 13, "y": 0},
+
+ {"matrix": [1, 0], "x": 0, "y": 0.75, "h": 1.5},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4, "y": 1},
{"matrix": [1, 5], "x": 5, "y": 1},
- {"matrix": [5, 0], "x": 8, "y": 1},
- {"matrix": [5, 1], "x": 9, "y": 1},
- {"matrix": [5, 2], "x": 10, "y": 1},
- {"matrix": [5, 3], "x": 11, "y": 1},
- {"matrix": [5, 4], "x": 12, "y": 1},
- {"matrix": [5, 5], "x": 13, "y": 1},
- {"matrix": [2, 0], "x": 0, "y": 2},
+
+ {"matrix": [5, 0], "x": 9, "y": 1},
+ {"matrix": [5, 1], "x": 10, "y": 1},
+ {"matrix": [5, 2], "x": 11, "y": 1},
+ {"matrix": [5, 3], "x": 12, "y": 1},
+ {"matrix": [5, 4], "x": 13, "y": 1},
+ {"matrix": [5, 5], "x": 14, "y": 0.75, "h": 1.5},
+
{"matrix": [2, 1], "x": 1, "y": 2},
{"matrix": [2, 2], "x": 2, "y": 2},
{"matrix": [2, 3], "x": 3, "y": 2},
{"matrix": [2, 4], "x": 4, "y": 2},
{"matrix": [2, 5], "x": 5, "y": 2},
- {"matrix": [6, 0], "x": 8, "y": 2},
- {"matrix": [6, 1], "x": 9, "y": 2},
- {"matrix": [6, 2], "x": 10, "y": 2},
- {"matrix": [6, 3], "x": 11, "y": 2},
- {"matrix": [6, 4], "x": 12, "y": 2},
- {"matrix": [6, 5], "x": 13, "y": 2},
- {"matrix": [3, 0], "x": 3.5, "y": 3.25},
- {"matrix": [3, 1], "x": 4.5, "y": 3.5},
- {"matrix": [3, 2], "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": [6, 0], "x": 9, "y": 2},
+ {"matrix": [6, 1], "x": 10, "y": 2},
+ {"matrix": [6, 2], "x": 11, "y": 2},
+ {"matrix": [6, 3], "x": 12, "y": 2},
+ {"matrix": [6, 4], "x": 13, "y": 2},
+
+ {"matrix": [3, 0], "x": 4, "y": 3, "h": 1.5},
+ {"matrix": [3, 1], "x": 5, "y": 3.25, "h": 1.5},
+ {"matrix": [3, 2], "x": 6, "y": 3.5, "h": 1.5},
+
+ {"matrix": [7, 0], "x": 8, "y": 3.5, "h": 1.5},
+ {"matrix": [7, 1], "x": 9, "y": 3.25, "h": 1.5},
+ {"matrix": [7, 2], "x": 10, "y": 3, "h": 1.5}
]
}
}
diff --git a/keyboards/karn/keymaps/colemak/keymap.c b/keyboards/karn/keymaps/colemak/keymap.c
index 585798e8a1..13f23170e1 100644
--- a/keyboards/karn/keymaps/colemak/keymap.c
+++ b/keyboards/karn/keymaps/colemak/keymap.c
@@ -31,34 +31,34 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// default (colemak)
- [0] = LAYOUT_split_3x6_3(
- KC_NO, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_NO,
+ [0] = LAYOUT(
+ KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN,
HYPR_T(KC_TAB),KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, HYPR_T(KC_ENT),
- KC_NO, SFT_T(KC_Z),CTL_T(KC_X),ALT_T(KC_C),CMD_T(KC_V),KC_B, KC_K, CMD_T(KC_M),ALT_T(KC_COMM),CTL_T(KC_DOT),RSFT_T(KC_SLSH),KC_NO,
+ SFT_T(KC_Z),CTL_T(KC_X),ALT_T(KC_C),CMD_T(KC_V),KC_B, KC_K, CMD_T(KC_M),ALT_T(KC_COMM),CTL_T(KC_DOT),RSFT_T(KC_SLSH),
MO(1), SFT_T(KC_ESC),MO(3), KC_BSPC,KC_SPC,MO(2)
),
// symbols
- [1] = LAYOUT_split_3x6_3(
- _______, KC_BSLS, KC_GRV, KC_QUOT, KC_DQT, KC_LCBR, KC_RCBR, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
+ [1] = LAYOUT(
+ KC_BSLS, KC_GRV, KC_QUOT, KC_DQT, KC_LCBR, KC_RCBR, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC,
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, KC_DEL, _______, _______
),
// nav
- [2] = LAYOUT_split_3x6_3(
- _______, _______, KC_Q, _______, _______, KC_VOLU, _______, _______, _______, KC_SCLN, _______, _______,
+ [2] = LAYOUT(
+ _______, KC_Q, _______, _______, KC_VOLU, _______, _______, _______, KC_SCLN, _______,
_______, C(KC_UP),C(KC_DOWN),G(KC_GRV), G(KC_TAB), KC_VOLD, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_CAPS, _______,
- _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______
),
// numbers
- [3] = LAYOUT_split_3x6_3(
- _______, TD(TD_F1_F11), TD(TD_F2_F12), KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
+ [3] = LAYOUT(
+ TD(TD_F1_F11), TD(TD_F2_F12), KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/karn/keymaps/default/keymap.c b/keyboards/karn/keymaps/default/keymap.c
index 5f679552d9..b39fe99d5d 100644
--- a/keyboards/karn/keymaps/default/keymap.c
+++ b/keyboards/karn/keymaps/default/keymap.c
@@ -7,34 +7,34 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// default (qwerty)
- [0] = LAYOUT_split_3x6_3(
- KC_NO, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_NO,
- HYPR_T(KC_TAB),KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, HYPR_T(KC_ENT),
- KC_NO, SFT_T(KC_Z),CTL_T(KC_X),ALT_T(KC_C),CMD_T(KC_V),KC_B, KC_N, CMD_T(KC_M),ALT_T(KC_COMM),CTL_T(KC_DOT),RSFT_T(KC_SLSH),KC_NO,
+ [0] = LAYOUT(
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ HYPR_T(KC_TAB),KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, HYPR_T(KC_ENT),
+ SFT_T(KC_Z),CTL_T(KC_X),ALT_T(KC_C),CMD_T(KC_V),KC_B, KC_N, CMD_T(KC_M),ALT_T(KC_COMM),CTL_T(KC_DOT),RSFT_T(KC_SLSH),
MO(1), SFT_T(KC_ESC),MO(3), KC_BSPC,KC_SPC,MO(2)
),
// symbols
- [1] = LAYOUT_split_3x6_3(
- _______, KC_BSLS, KC_GRV, KC_QUOT, KC_DQT, KC_LCBR, KC_RCBR, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
+ [1] = LAYOUT(
+ KC_BSLS, KC_GRV, KC_QUOT, KC_DQT, KC_LCBR, KC_RCBR, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC,
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, KC_DEL, _______, _______
),
// nav
- [2] = LAYOUT_split_3x6_3(
- _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, _______, _______,
+ [2] = LAYOUT(
+ _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______, _______,
_______, C(KC_UP),C(KC_DOWN),G(KC_GRV), G(KC_TAB), KC_VOLD, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_CAPS, _______,
- _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______
),
// numbers
- [3] = LAYOUT_split_3x6_3(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
+ [3] = LAYOUT(
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/kbdfans/kbd67/rev1/keymaps/koba/config.h b/keyboards/kbdfans/kbd67/rev1/keymaps/koba/config.h
deleted file mode 100644
index f4d7de06e5..0000000000
--- a/keyboards/kbdfans/kbd67/rev1/keymaps/koba/config.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2019 Daisuke Kobayashi
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
diff --git a/keyboards/kbdfans/kbd67/rev1/keymaps/martinffx/config.h b/keyboards/kbdfans/kbd67/rev1/keymaps/martinffx/config.h
deleted file mode 100644
index a3ed4f762a..0000000000
--- a/keyboards/kbdfans/kbd67/rev1/keymaps/martinffx/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2018 MechMerlin
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/koba/config.h b/keyboards/kbdfans/kbd67/rev2/keymaps/koba/config.h
deleted file mode 100644
index f4d7de06e5..0000000000
--- a/keyboards/kbdfans/kbd67/rev2/keymaps/koba/config.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2019 Daisuke Kobayashi
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
diff --git a/keyboards/kbdfans/kbd67/rev2/keymaps/rouge8/config.h b/keyboards/kbdfans/kbd67/rev2/keymaps/rouge8/config.h
deleted file mode 100644
index a3ed4f762a..0000000000
--- a/keyboards/kbdfans/kbd67/rev2/keymaps/rouge8/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2018 MechMerlin
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/kbdfans/niu_mini/keymaps/planck/rules.mk b/keyboards/kbdfans/niu_mini/keymaps/planck/rules.mk
deleted file mode 100644
index 8b13789179..0000000000
--- a/keyboards/kbdfans/niu_mini/keymaps/planck/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/keyboards/kc60/mod_rgb_underglow.md b/keyboards/kc60/mod_rgb_underglow.md
index 6aab1e1d2e..22ade4fa1b 100644
--- a/keyboards/kc60/mod_rgb_underglow.md
+++ b/keyboards/kc60/mod_rgb_underglow.md
@@ -9,8 +9,8 @@ By default, the source is set up for 16 LEDs on the F5 breakout pin. See [includ
```c
#pragma once
-#undef RGBLED_NUM
-#define RGBLED_NUM <number of leds>
+#undef RGBLIGHT_LED_COUNT
+#define RGBLIGHT_LED_COUNT <number of leds>
```
To enable RGB Underglow, simply add a `rules.mk` file containing `RGBLIGHT_ENABLE = yes` alongside your `keymap.c` file, and compile as normal:
diff --git a/keyboards/keebio/dilly/keymaps/default/config.h b/keyboards/keebio/dilly/keymaps/default/config.h
deleted file mode 100644
index 6f70f09bee..0000000000
--- a/keyboards/keebio/dilly/keymaps/default/config.h
+++ /dev/null
@@ -1 +0,0 @@
-#pragma once
diff --git a/keyboards/keebio/fourier/keymaps/maxim/config.h b/keyboards/keebio/fourier/keymaps/maxim/config.h
deleted file mode 100644
index 4f0ea3dc32..0000000000
--- a/keyboards/keebio/fourier/keymaps/maxim/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-
diff --git a/keyboards/keebio/quefrency/keymaps/default60/config.h b/keyboards/keebio/quefrency/keymaps/default60/config.h
deleted file mode 100644
index 497e05b540..0000000000
--- a/keyboards/keebio/quefrency/keymaps/default60/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-Copyright 2018 Danny Nguyen <danny@keeb.io>
-
-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 <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
diff --git a/keyboards/keebio/quefrency/keymaps/joestrong/config.h b/keyboards/keebio/quefrency/keymaps/joestrong/config.h
deleted file mode 100644
index 497e05b540..0000000000
--- a/keyboards/keebio/quefrency/keymaps/joestrong/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-Copyright 2018 Danny Nguyen <danny@keeb.io>
-
-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 <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
diff --git a/keyboards/keebio/quefrency/keymaps/rogthefrog/config.h b/keyboards/keebio/quefrency/keymaps/rogthefrog/config.h
deleted file mode 100644
index 0eefd14dfe..0000000000
--- a/keyboards/keebio/quefrency/keymaps/rogthefrog/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-Copyright 2018 Danny Nguyen <danny@keeb.io>
-Copyright 2021 Roger Billerey-Mosier
-
-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 <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
diff --git a/keyboards/keebio/quefrency/keymaps/unausgeschlafen/config.h b/keyboards/keebio/quefrency/keymaps/unausgeschlafen/config.h
deleted file mode 100644
index 497e05b540..0000000000
--- a/keyboards/keebio/quefrency/keymaps/unausgeschlafen/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-Copyright 2018 Danny Nguyen <danny@keeb.io>
-
-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 <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
diff --git a/keyboards/keebio/quefrency/keymaps/yoryer/config.h b/keyboards/keebio/quefrency/keymaps/yoryer/config.h
deleted file mode 100644
index 497e05b540..0000000000
--- a/keyboards/keebio/quefrency/keymaps/yoryer/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-Copyright 2018 Danny Nguyen <danny@keeb.io>
-
-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 <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
diff --git a/keyboards/keebio/viterbi/keymaps/default/config.h b/keyboards/keebio/viterbi/keymaps/default/config.h
index 38c399ff2c..acc5970dcb 100644
--- a/keyboards/keebio/viterbi/keymaps/default/config.h
+++ b/keyboards/keebio/viterbi/keymaps/default/config.h
@@ -24,7 +24,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define MASTER_RIGHT
// #define EE_HANDS
-#undef RGBLED_NUM
+#undef RGBLIGHT_LED_COUNT
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
@@ -35,7 +35,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 12
+#define RGBLIGHT_LED_COUNT 12
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/keyboardio/model01/keymaps/tw1t611/config.h b/keyboards/keyboardio/model01/keymaps/tw1t611/config.h
deleted file mode 100644
index 8ab9d8b025..0000000000
--- a/keyboards/keyboardio/model01/keymaps/tw1t611/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2018 James Laird-Wah
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* place overrides here */
diff --git a/keyboards/keycapsss/plaid_pad/keymaps/default/keymap.c b/keyboards/keycapsss/plaid_pad/keymaps/default/keymap.c
index 2382185362..789bb7af02 100644
--- a/keyboards/keycapsss/plaid_pad/keymaps/default/keymap.c
+++ b/keyboards/keycapsss/plaid_pad/keymaps/default/keymap.c
@@ -42,9 +42,8 @@ bool oled_task_user(void) {
#endif
-#ifdef ENCODER_ENABLE
+#ifdef ENCODER_MAP_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
/*
Rev1.1 Rev1
,-----------------------, ,-----------------------,
@@ -57,37 +56,12 @@ Rev1.1 Rev1
| | | | E1 | | | | | |
`-----------------------' `-----------------------'
*/
-
- // First encoder (E1)
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_F17);
- } else {
- tap_code(KC_F18);
- }
- // Second encoder (E2)
- } else if (index == 1) {
- if (clockwise) {
- tap_code(KC_F19);
- } else {
- tap_code(KC_F20);
- }
- // Third encoder (E3)
- } else if (index == 2) {
- if (clockwise) {
- tap_code(KC_F21);
- } else {
- tap_code(KC_F22);
- }
- // Forth encoder (E4)
- } else if (index == 3) {
- if (clockwise) {
- tap_code(KC_F23);
- } else {
- tap_code(KC_F24);
- }
- }
- return true;
-}
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+#ifdef KEYBOARD_keycapsss_plaid_pad_rev1
+ { ENCODER_CCW_CW(KC_F18, KC_F17), ENCODER_CCW_CW(KC_F20, KC_F19) }
+#else
+ { ENCODER_CCW_CW(KC_F18, KC_F17), ENCODER_CCW_CW(KC_F20, KC_F19), ENCODER_CCW_CW(KC_F22, KC_F21), ENCODER_CCW_CW(KC_F24, KC_F23) }
+#endif
+};
#endif
diff --git a/keyboards/keycapsss/plaid_pad/keymaps/default/rules.mk b/keyboards/keycapsss/plaid_pad/keymaps/default/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/keycapsss/plaid_pad/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/keycapsss/plaid_pad/keymaps/oled/keymap.c b/keyboards/keycapsss/plaid_pad/keymaps/oled/keymap.c
index 371e8e9941..944f822fb3 100644
--- a/keyboards/keycapsss/plaid_pad/keymaps/oled/keymap.c
+++ b/keyboards/keycapsss/plaid_pad/keymaps/oled/keymap.c
@@ -125,8 +125,7 @@ bool oled_task_user(void) {
#endif
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
+#ifdef ENCODER_MAP_ENABLE
/*
,-----------------------,
| E1 | E2 | E3 | E4 |
@@ -138,93 +137,16 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
| | | | E1 |
`-----------------------'
*/
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+#ifdef KEYBOARD_keycapsss_plaid_pad_rev1
+ [_NUMPAD] = { ENCODER_CCW_CW(KC_F18, KC_F17), ENCODER_CCW_CW(KC_F20, KC_F19) },
+ [_NAVIGATION] = { ENCODER_CCW_CW(C(S(KC_TAB)), C(KC_TAB)), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
+ [_MEDIA] = { ENCODER_CCW_CW(KC_F18, KC_F17), ENCODER_CCW_CW(KC_F20, KC_F19) }
+#else
+ [_NUMPAD] = { ENCODER_CCW_CW(KC_F18, KC_F17), ENCODER_CCW_CW(KC_F20, KC_F19), ENCODER_CCW_CW(KC_F22, KC_F21), ENCODER_CCW_CW(KC_F24, KC_F23) },
+ [_NAVIGATION] = { ENCODER_CCW_CW(C(S(KC_TAB)), C(KC_TAB)), ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [_MEDIA] = { ENCODER_CCW_CW(KC_F18, KC_F17), ENCODER_CCW_CW(KC_F20, KC_F19), ENCODER_CCW_CW(KC_BRID, KC_BRIU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }
+#endif
+};
- // First encoder (E1)
- if (index == 0) {
- switch (get_highest_layer(layer_state)) {
- case _NAVIGATION:
- // Browser tab switching
- if (clockwise) {
- tap_code16(LCTL(KC_TAB));
- } else {
- tap_code16(LCTL(LSFT(KC_TAB)));
- }
- break;
- default:
- if (clockwise) {
- tap_code(KC_F17);
- } else {
- tap_code(KC_F18);
- }
- break;
- }
- // Second encoder (E2)
- } else if (index == 1) {
- switch (get_highest_layer(layer_state)) {
- case _NAVIGATION:
- // Page Down/Up
- if (clockwise) {
- tap_code16(KC_PGDN);
- } else {
- tap_code16(KC_PGUP);
- }
- break;
- default:
- if (clockwise) {
- tap_code(KC_F19);
- } else {
- tap_code(KC_F20);
- }
- break;
- }
- // Third encoder (E3)
- } else if (index == 2) {
- switch (get_highest_layer(layer_state)) {
- case _NAVIGATION:
- // Mouse wheel up/down
- if (clockwise) {
- tap_code(KC_MS_WH_DOWN);
- } else {
- tap_code(KC_MS_WH_UP);
- }
- break;
- case _MEDIA:
- // BRIGHTNESS Up/Down
- if (clockwise) {
- tap_code16(KC_BRIGHTNESS_UP);
- } else {
- tap_code16(KC_BRIGHTNESS_DOWN);
- }
- break;
- default:
- if (clockwise) {
- tap_code(KC_F21);
- } else {
- tap_code(KC_F22);
- }
- break;
- }
- // Forth encoder (E4)
- } else if (index == 3) {
- switch (get_highest_layer(layer_state)) {
- case _NAVIGATION:
- case _MEDIA:
- // Volume Up/Down
- if (clockwise) {
- tap_code16(KC_AUDIO_VOL_UP);
- } else {
- tap_code16(KC_AUDIO_VOL_DOWN);
- }
- break;
- default:
- if (clockwise) {
- tap_code(KC_F23);
- } else {
- tap_code(KC_F24);
- }
- break;
- }
- }
- return true;
-}
#endif
diff --git a/keyboards/keycapsss/plaid_pad/keymaps/oled/rules.mk b/keyboards/keycapsss/plaid_pad/keymaps/oled/rules.mk
index dc3e29cf8b..33bd0c3611 100644
--- a/keyboards/keycapsss/plaid_pad/keymaps/oled/rules.mk
+++ b/keyboards/keycapsss/plaid_pad/keymaps/oled/rules.mk
@@ -1,2 +1,3 @@
OLED_ENABLE = yes
COMBO_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/keycapsss/plaid_pad/keymaps/via/keymap.c b/keyboards/keycapsss/plaid_pad/keymaps/via/keymap.c
index 7d48591cd2..4ca3fc944b 100644
--- a/keyboards/keycapsss/plaid_pad/keymaps/via/keymap.c
+++ b/keyboards/keycapsss/plaid_pad/keymaps/via/keymap.c
@@ -27,26 +27,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | 0 | . | = | + |
* `-----------------------'
*/
- [0] = LAYOUT_ortho_4x4(
+ LAYOUT_ortho_4x4(
KC_P7, KC_P8, KC_P9, KC_PSLS,
KC_P4, KC_P5, KC_P6, KC_PAST,
KC_P1, KC_P2, KC_P3, KC_PMNS,
- KC_P0, KC_PDOT, KC_PEQL, KC_PPLS ),
- [1] = LAYOUT_ortho_4x4(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- 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_ortho_4x4(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- 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_ortho_4x4(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
+ KC_P0, KC_PDOT, KC_PEQL, KC_PPLS
+ ),
};
@@ -69,8 +55,7 @@ bool oled_task_user(void) {
#endif
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
+#ifdef ENCODER_MAP_ENABLE
/*
Rev1.1 Rev1
,-----------------------, ,-----------------------,
@@ -84,35 +69,11 @@ Rev1.1 Rev1
`-----------------------' `-----------------------'
*/
- // First encoder (E1)
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_F17);
- } else {
- tap_code(KC_F18);
- }
- // Second encoder (E2)
- } else if (index == 1) {
- if (clockwise) {
- tap_code(KC_F19);
- } else {
- tap_code(KC_F20);
- }
- // Third encoder (E3)
- } else if (index == 2) {
- if (clockwise) {
- tap_code(KC_F21);
- } else {
- tap_code(KC_F22);
- }
- // Forth encoder (E4)
- } else if (index == 3) {
- if (clockwise) {
- tap_code(KC_F23);
- } else {
- tap_code(KC_F24);
- }
- }
- return true;
-}
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+#ifdef KEYBOARD_keycapsss_plaid_pad_rev1
+ { ENCODER_CCW_CW(KC_F18, KC_F17), ENCODER_CCW_CW(KC_F20, KC_F19) }
+#else
+ { ENCODER_CCW_CW(KC_F18, KC_F17), ENCODER_CCW_CW(KC_F20, KC_F19), ENCODER_CCW_CW(KC_F22, KC_F21), ENCODER_CCW_CW(KC_F24, KC_F23) }
+#endif
+};
#endif
diff --git a/keyboards/keycapsss/plaid_pad/keymaps/via/rules.mk b/keyboards/keycapsss/plaid_pad/keymaps/via/rules.mk
index 36b7ba9cbc..1189f4ad19 100644
--- a/keyboards/keycapsss/plaid_pad/keymaps/via/rules.mk
+++ b/keyboards/keycapsss/plaid_pad/keymaps/via/rules.mk
@@ -1,2 +1,3 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/keyhive/ut472/keymaps/annihilator6000/config.h b/keyboards/keyhive/ut472/keymaps/annihilator6000/config.h
deleted file mode 100644
index 023c753c27..0000000000
--- a/keyboards/keyhive/ut472/keymaps/annihilator6000/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2018 Carlos Filoteo
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/kinesis/keymaps/tw1t611/config.h b/keyboards/kinesis/keymaps/tw1t611/config.h
deleted file mode 100644
index 271f48d001..0000000000
--- a/keyboards/kinesis/keymaps/tw1t611/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-// place overrides here
diff --git a/keyboards/kudox/columner/keymaps/default/config.h b/keyboards/kudox/columner/keymaps/default/config.h
deleted file mode 100644
index f5bf85cca0..0000000000
--- a/keyboards/kudox/columner/keymaps/default/config.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2019 Kumao Kobo <kumaokobo@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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
diff --git a/keyboards/kudox/rev1/keymaps/default/config.h b/keyboards/kudox/rev1/keymaps/default/config.h
deleted file mode 100644
index f5bf85cca0..0000000000
--- a/keyboards/kudox/rev1/keymaps/default/config.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2019 Kumao Kobo <kumaokobo@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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
diff --git a/keyboards/kudox/rev1/keymaps/jis/config.h b/keyboards/kudox/rev1/keymaps/jis/config.h
deleted file mode 100644
index f5bf85cca0..0000000000
--- a/keyboards/kudox/rev1/keymaps/jis/config.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2019 Kumao Kobo <kumaokobo@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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
diff --git a/keyboards/kudox/rev1/keymaps/x1/config.h b/keyboards/kudox/rev1/keymaps/x1/config.h
deleted file mode 100644
index f5bf85cca0..0000000000
--- a/keyboards/kudox/rev1/keymaps/x1/config.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2019 Kumao Kobo <kumaokobo@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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
diff --git a/keyboards/kudox/rev2/keymaps/default/config.h b/keyboards/kudox/rev2/keymaps/default/config.h
deleted file mode 100644
index f5bf85cca0..0000000000
--- a/keyboards/kudox/rev2/keymaps/default/config.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2019 Kumao Kobo <kumaokobo@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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
diff --git a/keyboards/kudox/rev2/keymaps/jis/config.h b/keyboards/kudox/rev2/keymaps/jis/config.h
deleted file mode 100644
index f5bf85cca0..0000000000
--- a/keyboards/kudox/rev2/keymaps/jis/config.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2019 Kumao Kobo <kumaokobo@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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
diff --git a/keyboards/kudox_game/keymaps/default/config.h b/keyboards/kudox_game/keymaps/default/config.h
deleted file mode 100644
index 5cbe7609a3..0000000000
--- a/keyboards/kudox_game/keymaps/default/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
-Copyright 2019 Kumao Kobo <kumaokobo@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 <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
diff --git a/keyboards/laser_ninja/pumpkin_pad/config.h b/keyboards/laser_ninja/pumpkinpad/config.h
index f42e9c1025..f42e9c1025 100644
--- a/keyboards/laser_ninja/pumpkin_pad/config.h
+++ b/keyboards/laser_ninja/pumpkinpad/config.h
diff --git a/keyboards/laser_ninja/pumpkin_pad/info.json b/keyboards/laser_ninja/pumpkinpad/info.json
index cb76145388..1921ac6917 100644
--- a/keyboards/laser_ninja/pumpkin_pad/info.json
+++ b/keyboards/laser_ninja/pumpkinpad/info.json
@@ -1,5 +1,5 @@
{
- "keyboard_name": "Pumpkin Pad",
+ "keyboard_name": "Pumpkinpad",
"manufacturer": "Laser Ninja",
"url": "",
"maintainer": "Jels",
diff --git a/keyboards/laser_ninja/pumpkin_pad/keymaps/default/keymap.c b/keyboards/laser_ninja/pumpkinpad/keymaps/default/keymap.c
index 8b60519b90..8b60519b90 100644
--- a/keyboards/laser_ninja/pumpkin_pad/keymaps/default/keymap.c
+++ b/keyboards/laser_ninja/pumpkinpad/keymaps/default/keymap.c
diff --git a/keyboards/laser_ninja/pumpkin_pad/keymaps/via/keymap.c b/keyboards/laser_ninja/pumpkinpad/keymaps/via/keymap.c
index a63a5a0047..a63a5a0047 100644
--- a/keyboards/laser_ninja/pumpkin_pad/keymaps/via/keymap.c
+++ b/keyboards/laser_ninja/pumpkinpad/keymaps/via/keymap.c
diff --git a/keyboards/pw88/keymaps/via/rules.mk b/keyboards/laser_ninja/pumpkinpad/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100644
--- a/keyboards/pw88/keymaps/via/rules.mk
+++ b/keyboards/laser_ninja/pumpkinpad/keymaps/via/rules.mk
diff --git a/keyboards/laser_ninja/pumpkin_pad/readme.md b/keyboards/laser_ninja/pumpkinpad/readme.md
index 452f4f6723..a5739029e7 100644
--- a/keyboards/laser_ninja/pumpkin_pad/readme.md
+++ b/keyboards/laser_ninja/pumpkinpad/readme.md
@@ -1,20 +1,20 @@
-# Pumpkin Pad
+# Pumpkinpad
-![pumpkin-pad](https://i.imgur.com/jFkl9rwh.jpg)
+![pumpkinpad](https://i.imgur.com/jFkl9rwh.jpg)
A 60% PCB
- Keyboard Maintainer: [Jels](https://github.com/Jels02)
-- Hardware Supported: Pumpkin Pad PCB
+- Hardware Supported: Pumpkinpad PCB
- Hardware Availabililty: [Laser_Ninja](https://kennui.com/w/Laser_Ninja)
Make example for this keyboard (after setting up your build environment):
- make laser_ninja/pumpkin_pad:default
+ make laser_ninja/pumpkinpad:default
Flashing example for this keyboard:
- make laser_ninja/pumpkin_pad:default:flash
+ make laser_ninja/pumpkinpad:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/laser_ninja/pumpkin_pad/rules.mk b/keyboards/laser_ninja/pumpkinpad/rules.mk
index 08a1c1568c..08a1c1568c 100644
--- a/keyboards/laser_ninja/pumpkin_pad/rules.mk
+++ b/keyboards/laser_ninja/pumpkinpad/rules.mk
diff --git a/keyboards/lefty/rev2/rules.mk b/keyboards/lefty/rev2/rules.mk
deleted file mode 100644
index e69de29bb2..0000000000
--- a/keyboards/lefty/rev2/rules.mk
+++ /dev/null
diff --git a/keyboards/lets_split/keymaps/via/config.h b/keyboards/lets_split/keymaps/via/config.h
index a676d6826d..03853dc391 100644
--- a/keyboards/lets_split/keymaps/via/config.h
+++ b/keyboards/lets_split/keymaps/via/config.h
@@ -31,7 +31,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define MASTER_RIGHT
// #define EE_HANDS
-#undef RGBLED_NUM
+#undef RGBLIGHT_LED_COUNT
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
@@ -42,6 +42,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 10
+#define RGBLIGHT_LED_COUNT 10
#define NO_MUSIC_MODE
diff --git a/keyboards/lily58/keymaps/default/config.h b/keyboards/lily58/keymaps/default/config.h
index b16e63b6d7..5b45770f38 100644
--- a/keyboards/lily58/keymaps/default/config.h
+++ b/keyboards/lily58/keymaps/default/config.h
@@ -29,7 +29,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define QUICK_TAP_TERM 0
#define TAPPING_TERM 100
-#undef RGBLED_NUM
+#undef RGBLIGHT_LED_COUNT
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
@@ -40,7 +40,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 27
+#define RGBLIGHT_LED_COUNT 27
#define RGBLIGHT_LIMIT_VAL 120
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
@@ -48,7 +48,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Underglow
/*
-#undef RGBLED_NUM
-#define RGBLED_NUM 14 // Number of LEDs
+#undef RGBLIGHT_LED_COUNT
+#define RGBLIGHT_LED_COUNT 14 // Number of LEDs
#define RGBLIGHT_SLEEP
*/
diff --git a/keyboards/lily58/keymaps/via/config.h b/keyboards/lily58/keymaps/via/config.h
index 331521bcbf..284d3944b9 100644
--- a/keyboards/lily58/keymaps/via/config.h
+++ b/keyboards/lily58/keymaps/via/config.h
@@ -33,7 +33,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Underglow
/*
-#undef RGBLED_NUM
-#define RGBLED_NUM 14 // Number of LEDs
+#undef RGBLIGHT_LED_COUNT
+#define RGBLIGHT_LED_COUNT 14 // Number of LEDs
#define RGBLIGHT_SLEEP
*/
diff --git a/keyboards/lime/rev1/rev1.c b/keyboards/lime/rev1/rev1.c
index 91d00e0d2f..d08cf39810 100644
--- a/keyboards/lime/rev1/rev1.c
+++ b/keyboards/lime/rev1/rev1.c
@@ -1,38 +1,40 @@
- /* Copyright 2021 HellSingCoder
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
+/* Copyright 2021 HellSingCoder
+ *
+ * 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 <http://www.gnu.org/licenses/>.
+ */
#include "quantum.h"
/* Encoders */
#ifdef ENCODER_ENABLE
- bool encoder_update_user(uint8_t index, bool clockwise) {
-
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_MNXT);
- } else {
- tap_code(KC_MPRV);
- }
- } else if (index == 1) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- }
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) {
return false;
}
+ if (index == 0) {
+ if (clockwise) {
+ tap_code(KC_MNXT);
+ } else {
+ tap_code(KC_MPRV);
+ }
+ } else if (index == 1) {
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ }
+ return true;
+}
#endif
diff --git a/keyboards/majistic/keymaps/default/config.h b/keyboards/majistic/keymaps/default/config.h
deleted file mode 100644
index 4db5715cba..0000000000
--- a/keyboards/majistic/keymaps/default/config.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2020 yossiyossy
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
diff --git a/keyboards/maple_computing/launchpad/keymaps/default_rgb/config.h b/keyboards/maple_computing/launchpad/keymaps/default_rgb/config.h
index 3d47ae41e7..c50e010375 100644
--- a/keyboards/maple_computing/launchpad/keymaps/default_rgb/config.h
+++ b/keyboards/maple_computing/launchpad/keymaps/default_rgb/config.h
@@ -12,7 +12,7 @@
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 2 // Number of LEDs
+#define RGBLIGHT_LED_COUNT 2 // Number of LEDs
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
#define RGBLIGHT_VAL_STEP 17
diff --git a/keyboards/maple_computing/lets_split_eh/keymaps/doxish_dvorak/config.h b/keyboards/maple_computing/lets_split_eh/keymaps/doxish_dvorak/config.h
deleted file mode 100644
index 526c0837c7..0000000000
--- a/keyboards/maple_computing/lets_split_eh/keymaps/doxish_dvorak/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
diff --git a/keyboards/maple_computing/lets_split_eh/keymaps/mikethetiger/config.h b/keyboards/maple_computing/lets_split_eh/keymaps/mikethetiger/config.h
deleted file mode 100644
index c535299e74..0000000000
--- a/keyboards/maple_computing/lets_split_eh/keymaps/mikethetiger/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
- // place overrides here
diff --git a/keyboards/maple_computing/lets_split_eh/keymaps/msiu/config.h b/keyboards/maple_computing/lets_split_eh/keymaps/msiu/config.h
deleted file mode 100644
index 526c0837c7..0000000000
--- a/keyboards/maple_computing/lets_split_eh/keymaps/msiu/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
diff --git a/keyboards/marksard/treadstone48/rev1/config.h b/keyboards/marksard/treadstone48/rev1/config.h
index 3f43b16d2b..66007ee2ef 100644
--- a/keyboards/marksard/treadstone48/rev1/config.h
+++ b/keyboards/marksard/treadstone48/rev1/config.h
@@ -18,10 +18,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
#ifndef RS_EXTRA_LED
- #define RGBLED_NUM 12
+ #define RGBLIGHT_LED_COUNT 12
#define RGBLED_SPLIT {12, 0}
#else
- #define RGBLED_NUM 32
+ #define RGBLIGHT_LED_COUNT 32
#define RGBLED_SPLIT {12, 20}
#endif
diff --git a/keyboards/matrix/abelx/abelx.c b/keyboards/matrix/abelx/abelx.c
index a05934238a..0a3071a402 100644
--- a/keyboards/matrix/abelx/abelx.c
+++ b/keyboards/matrix/abelx/abelx.c
@@ -57,6 +57,7 @@ void housekeeping_task_kb(void) {
#ifdef RGBLIGHT_ENABLE
#include "rgblight.h"
+#include "ws2812.h"
#include "i2c_master.h"
const aw9523b_led g_aw9523b_leds[AW9523B_RGB_NUM] = {
@@ -66,7 +67,7 @@ const aw9523b_led g_aw9523b_leds[AW9523B_RGB_NUM] = {
{AW9523B_P07_PWM, AW9523B_P06_PWM, AW9523B_P05_PWM},
};
-void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
+void setleds_custom(rgb_led_t *start_led, uint16_t num_leds)
{
uint8_t num = num_leds < AW9523B_RGB_NUM ? num_leds : AW9523B_RGB_NUM;
@@ -77,6 +78,10 @@ void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
}
}
+const rgblight_driver_t rgblight_driver = {
+ .setleds = setleds_custom,
+};
+
#endif
static uint16_t caps_lock_pin = DEF_PIN(TCA6424_PORT2, 3);
diff --git a/keyboards/matrix/abelx/info.json b/keyboards/matrix/abelx/info.json
index 35bc059810..b9aa23b756 100644
--- a/keyboards/matrix/abelx/info.json
+++ b/keyboards/matrix/abelx/info.json
@@ -10,6 +10,7 @@
},
"rgblight": {
"led_count": 9,
+ "driver": "custom",
"animations": {
"breathing": true,
"rainbow_mood": true,
diff --git a/keyboards/matrix/abelx/rules.mk b/keyboards/matrix/abelx/rules.mk
index 1c2fc05ffe..83142dd71c 100644
--- a/keyboards/matrix/abelx/rules.mk
+++ b/keyboards/matrix/abelx/rules.mk
@@ -46,3 +46,4 @@ CUSTOM_MATRIX = lite
# project specific files
SRC += matrix.c tca6424.c aw9523b.c
I2C_DRIVER_REQUIRED = yes
+WS2812_DRIVER_REQUIRED = yes
diff --git a/keyboards/matrix/m20add/info.json b/keyboards/matrix/m20add/info.json
index 972aab9d0d..6e1a1c493f 100644
--- a/keyboards/matrix/m20add/info.json
+++ b/keyboards/matrix/m20add/info.json
@@ -10,6 +10,7 @@
},
"rgblight": {
"led_count": 20,
+ "driver": "custom",
"animations": {
"breathing": true,
"rainbow_mood": true,
diff --git a/keyboards/matrix/m20add/rgb_ring.c b/keyboards/matrix/m20add/rgb_ring.c
index f3fbe83d72..f32875cf4f 100644
--- a/keyboards/matrix/m20add/rgb_ring.c
+++ b/keyboards/matrix/m20add/rgb_ring.c
@@ -357,7 +357,7 @@ static void custom_effects(void)
effect_funcs[rgb_ring.effect]();
}
-void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
+void setleds_custom(rgb_led_t *start_led, uint16_t num_leds)
{
if (rgb_ring.state != RING_STATE_QMK) {
return;
@@ -368,6 +368,10 @@ void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
}
}
+const rgblight_driver_t rgblight_driver = {
+ .setleds = setleds_custom,
+};
+
void rgb_ring_init(void)
{
diff --git a/keyboards/matrix/noah/noah.c b/keyboards/matrix/noah/noah.c
index 8246da809c..d62177a2f4 100644
--- a/keyboards/matrix/noah/noah.c
+++ b/keyboards/matrix/noah/noah.c
@@ -17,50 +17,47 @@ extern rgblight_config_t rgblight_config;
// led 0 for caps lock, led 1 for scroll lock, led 3 for num lock
// led 4 for layer 1, led 5 for layer 2, led 6 for layer 3, led 7 for layer 4
-#if RGBLED_NUM < 7
-#error "MUST set the RGBLED_NUM bigger than 7"
+#if RGBLIGHT_LED_COUNT < 7
+#error "MUST set the RGBLIGHT_LED_COUNT bigger than 7"
#endif
-rgb_led_t noah_leds[RGBLED_NUM];
+rgb_led_t noah_leds[RGBLIGHT_LED_COUNT];
static bool noah_led_mode = false;
-void rgblight_set(void) {
+void setleds_custom(rgb_led_t *ledarray, uint16_t num_leds) {
memset(&noah_leds[0], 0, sizeof(noah_leds));
if (!rgblight_config.enable) {
- for (uint8_t i = 0; i < RGBLED_NUM; i++) {
- led[i].r = 0;
- led[i].g = 0;
- led[i].b = 0;
+ for (uint8_t i = 0; i < RGBLIGHT_LED_COUNT; i++) {
+ ledarray[i].r = 0;
+ ledarray[i].g = 0;
+ ledarray[i].b = 0;
}
}
if (noah_led_mode) {
led_t led_state = host_keyboard_led_state();
if (led_state.caps_lock) {
- noah_leds[0] = led[0];
+ noah_leds[0] = ledarray[0];
}
if (led_state.scroll_lock) {
- noah_leds[1] = led[1];
+ noah_leds[1] = ledarray[1];
}
if (led_state.num_lock) {
- noah_leds[2] = led[2];
+ noah_leds[2] = ledarray[2];
}
for (int32_t i = 0; i < 4; i++) {
if(layer_state_is(i+1)) {
- noah_leds[i + 3] = led[i + 3];
+ noah_leds[i + 3] = ledarray[i + 3];
}
}
} else {
- memcpy(&noah_leds[0], &led[0], sizeof(noah_leds));
+ memcpy(&noah_leds[0], &ledarray[0], sizeof(noah_leds));
}
- ws2812_setleds(noah_leds, RGBLED_NUM);
+ ws2812_setleds(noah_leds, RGBLIGHT_LED_COUNT);
}
-#endif
-void matrix_scan_kb(void) {
-#ifdef RGBLIGHT_ENABLE
- rgblight_task();
+const rgblight_driver_t rgblight_driver = {
+ .setleds = setleds_custom,
+};
#endif
- matrix_scan_user();
-}
#ifdef RGB_MATRIX_ENABLE
const is31fl3731_led_t PROGMEM g_is31fl3731_leds[RGB_MATRIX_LED_COUNT] = {
diff --git a/keyboards/mechwild/mercutio/keymaps/default/config.h b/keyboards/mechwild/mercutio/keymaps/default/config.h
deleted file mode 100644
index b428d6e260..0000000000
--- a/keyboards/mechwild/mercutio/keymaps/default/config.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2021 Kyle McCreery
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
diff --git a/keyboards/mechwild/mercutio/keymaps/fancy/config.h b/keyboards/mechwild/mercutio/keymaps/fancy/config.h
deleted file mode 100644
index b428d6e260..0000000000
--- a/keyboards/mechwild/mercutio/keymaps/fancy/config.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2021 Kyle McCreery
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
diff --git a/keyboards/mechwild/mercutio/keymaps/via/config.h b/keyboards/mechwild/mercutio/keymaps/via/config.h
deleted file mode 100644
index b428d6e260..0000000000
--- a/keyboards/mechwild/mercutio/keymaps/via/config.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2021 Kyle McCreery
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
diff --git a/keyboards/miiiw/blackio83/rev_0100/config.h b/keyboards/miiiw/blackio83/rev_0100/config.h
index e68a9d0b16..78f7739f0a 100644
--- a/keyboards/miiiw/blackio83/rev_0100/config.h
+++ b/keyboards/miiiw/blackio83/rev_0100/config.h
@@ -36,7 +36,6 @@
/* RGB Matrix config */
#define RGB_EN_PIN A8
-#define RGBLED_NUM 83
#define RGB_MATRIX_LED_COUNT 83
#define RGB_MATRIX_CENTER { 62, 42 }
diff --git a/keyboards/miiiw/blackio83/rev_0100/rev_0100.c b/keyboards/miiiw/blackio83/rev_0100/rev_0100.c
deleted file mode 100644
index b28ac84acb..0000000000
--- a/keyboards/miiiw/blackio83/rev_0100/rev_0100.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2023 ArthurCyy <https://github.com/ArthurCyy>
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#include "blackio83.h"
diff --git a/keyboards/mino_plus/mino_plus.c b/keyboards/mino_plus/mino_plus.c
index cd651b6d17..0763a5292b 100644
--- a/keyboards/mino_plus/mino_plus.c
+++ b/keyboards/mino_plus/mino_plus.c
@@ -3,13 +3,13 @@
#include "quantum.h"
#ifdef OLED_ENABLE
-#define FRAMES 5
-#define ANIMATION_SIZE 512
-#define TAP_SPEED 30
+# define FRAMES 5
+# define ANIMATION_SIZE 512
+# define TAP_SPEED 30
-uint8_t current_frame = 0;
-uint32_t anim_timer = 0;
-uint32_t anim_sleep = 0;
+uint8_t current_frame = 0;
+uint32_t anim_timer = 0;
+uint32_t anim_sleep = 0;
uint32_t ANIM_FRAME_DURATION = 1000;
static void render_animation(void) {
@@ -191,8 +191,8 @@ static void render_animation(void) {
}
if (get_current_wpm() != 000) {
- oled_on(); // not essential but turns on animation OLED with any alpha keypress
- if (get_current_wpm() > TAP_SPEED){
+ oled_on(); // not essential but turns on animation OLED with any alpha keypress
+ if (get_current_wpm() > TAP_SPEED) {
ANIM_FRAME_DURATION = 100;
} else {
ANIM_FRAME_DURATION = 1000;
@@ -233,16 +233,19 @@ static void render_status(void) {
}
oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
- return OLED_ROTATION_270;
+ return OLED_ROTATION_270;
}
bool oled_task_kb(void) {
+ if (!oled_task_user()) {
+ return false;
+ }
render_animation();
render_status();
oled_write_ln_P(PSTR("WPM:"), false);
oled_write_ln(get_u8_str(get_current_wpm(), '0'), false);
- return false;
+ return true;
}
-#endif \ No newline at end of file
+#endif
diff --git a/keyboards/mixi/keymaps/default/keymap.c b/keyboards/mixi/keymaps/default/keymap.c
index d14a692a89..29f19349cc 100644
--- a/keyboards/mixi/keymaps/default/keymap.c
+++ b/keyboards/mixi/keymaps/default/keymap.c
@@ -59,13 +59,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
const rgblight_segment_t PROGMEM _base_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, RGBLED_NUM, HSV_BLUE}
+ {0, RGBLIGHT_LED_COUNT, HSV_BLUE}
);
const rgblight_segment_t PROGMEM _middle_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, RGBLED_NUM, HSV_GREEN}
+ {0, RGBLIGHT_LED_COUNT, HSV_GREEN}
);
const rgblight_segment_t PROGMEM _top_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, RGBLED_NUM, HSV_RED}
+ {0, RGBLIGHT_LED_COUNT, HSV_RED}
);
const rgblight_segment_t* const PROGMEM _rgb_layers[] =
diff --git a/keyboards/mixi/keymaps/via/keymap.c b/keyboards/mixi/keymaps/via/keymap.c
index ef5aace888..adcf448503 100644
--- a/keyboards/mixi/keymaps/via/keymap.c
+++ b/keyboards/mixi/keymaps/via/keymap.c
@@ -76,13 +76,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
const rgblight_segment_t PROGMEM _base_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, RGBLED_NUM, HSV_BLUE}
+ {0, RGBLIGHT_LED_COUNT, HSV_BLUE}
);
const rgblight_segment_t PROGMEM _middle_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, RGBLED_NUM, HSV_GREEN}
+ {0, RGBLIGHT_LED_COUNT, HSV_GREEN}
);
const rgblight_segment_t PROGMEM _top_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, RGBLED_NUM, HSV_RED}
+ {0, RGBLIGHT_LED_COUNT, HSV_RED}
);
const rgblight_segment_t* const PROGMEM _rgb_layers[] =
diff --git a/keyboards/mlego/m48/keymaps/default/keymap.c b/keyboards/mlego/m48/keymaps/default/keymap.c
index d07f193526..71409bf939 100644
--- a/keyboards/mlego/m48/keymaps/default/keymap.c
+++ b/keyboards/mlego/m48/keymaps/default/keymap.c
@@ -26,10 +26,10 @@ enum layer_names {
#ifdef RGBLIGHT_ENABLE
-const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_PURPLE});
-const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_CYAN});
-const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_RED});
-const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_GREEN});
+const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_PURPLE});
+const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_CYAN});
+const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_RED});
+const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_GREEN});
const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(my_qwerty_layer, my_lwr_layer, my_rse_layer, my_adj_layer);
#endif
diff --git a/keyboards/mlego/m48/keymaps/via/keymap.c b/keyboards/mlego/m48/keymaps/via/keymap.c
index 91649631dc..d180c3e8ac 100644
--- a/keyboards/mlego/m48/keymaps/via/keymap.c
+++ b/keyboards/mlego/m48/keymaps/via/keymap.c
@@ -26,10 +26,10 @@ enum layer_names {
#ifdef RGBLIGHT_ENABLE
-const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_PURPLE});
-const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_CYAN});
-const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_RED});
-const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_GREEN});
+const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_PURPLE});
+const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_CYAN});
+const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_RED});
+const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_GREEN});
const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(my_qwerty_layer, my_lwr_layer, my_rse_layer, my_adj_layer);
#endif
diff --git a/keyboards/mlego/m60/keymaps/default/keymap.c b/keyboards/mlego/m60/keymaps/default/keymap.c
index dbfcad3152..d997bd2dc0 100644
--- a/keyboards/mlego/m60/keymaps/default/keymap.c
+++ b/keyboards/mlego/m60/keymaps/default/keymap.c
@@ -26,10 +26,10 @@ enum layer_names {
#ifdef RGBLIGHT_ENABLE
-const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_PURPLE});
-const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_CYAN});
-const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_RED});
-const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_GREEN});
+const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_PURPLE});
+const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_CYAN});
+const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_RED});
+const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_GREEN});
const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(my_qwerty_layer, my_lwr_layer, my_rse_layer, my_adj_layer);
#endif
diff --git a/keyboards/mlego/m60/keymaps/via/keymap.c b/keyboards/mlego/m60/keymaps/via/keymap.c
index 8d0cddae80..fc3ab612d0 100644
--- a/keyboards/mlego/m60/keymaps/via/keymap.c
+++ b/keyboards/mlego/m60/keymaps/via/keymap.c
@@ -26,10 +26,10 @@ enum layer_names {
#ifdef RGBLIGHT_ENABLE
-const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_PURPLE});
-const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_CYAN});
-const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_RED});
-const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_GREEN});
+const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_PURPLE});
+const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_CYAN});
+const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_RED});
+const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_GREEN});
const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(my_qwerty_layer, my_lwr_layer, my_rse_layer, my_adj_layer);
#endif
diff --git a/keyboards/mlego/m60_split/keymaps/default/keymap.c b/keyboards/mlego/m60_split/keymaps/default/keymap.c
index 2f51794c1c..506aa45f30 100644
--- a/keyboards/mlego/m60_split/keymaps/default/keymap.c
+++ b/keyboards/mlego/m60_split/keymaps/default/keymap.c
@@ -29,10 +29,10 @@ enum layer_names {
#ifdef RGBLIGHT_ENABLE
-const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_PURPLE});
-const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_CYAN});
-const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_RED});
-const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_GREEN});
+const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_PURPLE});
+const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_CYAN});
+const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_RED});
+const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_GREEN});
const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(my_qwerty_layer, my_lwr_layer, my_rse_layer, my_adj_layer);
#endif
diff --git a/keyboards/mlego/m60_split/keymaps/via/keymap.c b/keyboards/mlego/m60_split/keymaps/via/keymap.c
index 756639bfd9..29270b0425 100644
--- a/keyboards/mlego/m60_split/keymaps/via/keymap.c
+++ b/keyboards/mlego/m60_split/keymaps/via/keymap.c
@@ -29,10 +29,10 @@ enum layer_names {
#ifdef RGBLIGHT_ENABLE
-const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_PURPLE});
-const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_CYAN});
-const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_RED});
-const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_GREEN});
+const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_PURPLE});
+const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_CYAN});
+const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_RED});
+const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_GREEN});
const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(my_qwerty_layer, my_lwr_layer, my_rse_layer, my_adj_layer);
#endif
diff --git a/keyboards/mlego/m65/m65.c b/keyboards/mlego/m65/m65.c
index 12ea866f1e..506ac2e30d 100644
--- a/keyboards/mlego/m65/m65.c
+++ b/keyboards/mlego/m65/m65.c
@@ -9,10 +9,10 @@ static bool toggle_rse = false;
#if defined(RGBLIGHT_ENABLE)
-const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_OFF});
-const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_AZURE});
-const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_CORAL});
-const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_RED});
+const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_OFF});
+const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_AZURE});
+const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_CORAL});
+const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLIGHT_LED_COUNT, HSV_RED});
const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(my_qwerty_layer, my_lwr_layer, my_rse_layer, my_adj_layer);
diff --git a/keyboards/monstargear/xo87/rgb/keymaps/default/config.h b/keyboards/monstargear/xo87/rgb/keymaps/default/config.h
deleted file mode 100644
index 910a014d79..0000000000
--- a/keyboards/monstargear/xo87/rgb/keymaps/default/config.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/* Copyright 2021 datafx
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-#pragma once \ No newline at end of file
diff --git a/keyboards/monstargear/xo87/solderable/solderable.h b/keyboards/monstargear/xo87/solderable/solderable.h
index 2758a3a3ff..70e8a6c8d5 100644
--- a/keyboards/monstargear/xo87/solderable/solderable.h
+++ b/keyboards/monstargear/xo87/solderable/solderable.h
@@ -43,11 +43,11 @@ typedef struct{
rgb_;
#define colorAGSize 10
-#define colorBGSize RGBLED_NUM-10
+#define colorBGSize RGBLIGHT_LED_COUNT-10
typedef struct{
rgb_ colorAG[colorAGSize];
- rgb_ colorBG[RGBLED_NUM-10];
+ rgb_ colorBG[RGBLIGHT_LED_COUNT-10];
}
backLedRgbG_;
diff --git a/keyboards/neson_design/700e/700e.c b/keyboards/neson_design/700e/700e.c
index 9def73d6a4..31f88a71f9 100644
--- a/keyboards/neson_design/700e/700e.c
+++ b/keyboards/neson_design/700e/700e.c
@@ -20,6 +20,7 @@
#include "quantum.h"
#include "i2c_master.h"
#include "drivers/led/issi/is31fl3731.h"
+#include "ws2812.h"
enum {
SELF_TESTING,
@@ -336,7 +337,7 @@ void housekeeping_task_kb(void)
housekeeping_task_user();
}
-void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
+void setleds_custom(rgb_led_t *start_led, uint16_t num_leds)
{
if (rgb_state.state != NORMAL) return;
@@ -353,6 +354,10 @@ void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
ws2812_setleds(leds, 4);
}
+const rgblight_driver_t rgblight_driver = {
+ .setleds = setleds_custom,
+};
+
bool led_update_kb(led_t led_state)
{
bool res = led_update_user(led_state);
diff --git a/keyboards/neson_design/700e/info.json b/keyboards/neson_design/700e/info.json
index 12a979ab11..3b74e9609a 100644
--- a/keyboards/neson_design/700e/info.json
+++ b/keyboards/neson_design/700e/info.json
@@ -20,6 +20,7 @@
"saturation_steps": 8,
"brightness_steps": 8,
"led_count": 68,
+ "driver": "custom",
"animations": {
"breathing": true,
"rainbow_mood": true,
diff --git a/keyboards/neson_design/700e/rules.mk b/keyboards/neson_design/700e/rules.mk
index 5650ed1fee..dd1db38bab 100644
--- a/keyboards/neson_design/700e/rules.mk
+++ b/keyboards/neson_design/700e/rules.mk
@@ -12,4 +12,5 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
NO_USB_STARTUP_CHECK = yes
QUANTUM_LIB_SRC += drivers/led/issi/is31fl3731.c
+WS2812_DRIVER_REQUIRED = yes
I2C_DRIVER_REQUIRED = yes
diff --git a/keyboards/neson_design/n6/info.json b/keyboards/neson_design/n6/info.json
index 3f383b4f8f..c48824d80f 100644
--- a/keyboards/neson_design/n6/info.json
+++ b/keyboards/neson_design/n6/info.json
@@ -23,6 +23,7 @@
"saturation_steps": 8,
"brightness_steps": 8,
"led_count": 65,
+ "driver": "custom",
"max_brightness": 192,
"animations": {
"breathing": true,
diff --git a/keyboards/neson_design/n6/n6.c b/keyboards/neson_design/n6/n6.c
index 38b634eeb7..b878b9368d 100644
--- a/keyboards/neson_design/n6/n6.c
+++ b/keyboards/neson_design/n6/n6.c
@@ -20,6 +20,7 @@
#include "quantum.h"
#include "i2c_master.h"
#include "drivers/led/issi/is31fl3731.h"
+#include "ws2812.h"
enum {
SELF_TESTING,
@@ -338,7 +339,7 @@ void housekeeping_task_kb(void)
housekeeping_task_user();
}
-void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
+void setleds_custom(rgb_led_t *start_led, uint16_t num_leds)
{
if (rgb_state.state != NORMAL) return;
@@ -348,6 +349,10 @@ void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
ws2812_setleds(start_led+IS31FL3731_LED_COUNT, 1);
}
+const rgblight_driver_t rgblight_driver = {
+ .setleds = setleds_custom,
+};
+
bool led_update_kb(led_t led_state)
{
bool res = led_update_user(led_state);
diff --git a/keyboards/neson_design/n6/rules.mk b/keyboards/neson_design/n6/rules.mk
index a3e4abe6cd..4c9ce45352 100644
--- a/keyboards/neson_design/n6/rules.mk
+++ b/keyboards/neson_design/n6/rules.mk
@@ -11,4 +11,5 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
QUANTUM_LIB_SRC += drivers/led/issi/is31fl3731.c
+WS2812_DRIVER_REQUIRED = yes
I2C_DRIVER_REQUIRED = yes
diff --git a/keyboards/neson_design/nico/info.json b/keyboards/neson_design/nico/info.json
index 477ac3ba7c..1c86d9a1ae 100644
--- a/keyboards/neson_design/nico/info.json
+++ b/keyboards/neson_design/nico/info.json
@@ -25,7 +25,8 @@
"pin": "B0"
},
"rgblight": {
- "led_count": 5
+ "led_count": 5,
+ "driver": "custom"
},
"url": "",
"usb": {
diff --git a/keyboards/neson_design/nico/nico.c b/keyboards/neson_design/nico/nico.c
index b4d15777b7..bf8eeb87dd 100644
--- a/keyboards/neson_design/nico/nico.c
+++ b/keyboards/neson_design/nico/nico.c
@@ -18,6 +18,7 @@
*/
#include "quantum.h"
+#include "ws2812.h"
#ifdef RGBLIGHT_ENABLE
static bool alert = false;
@@ -53,20 +54,20 @@ void housekeeping_task_kb(void)
alert = !alert;
last_ticks = timer_read();
}
- ws2812_setleds(led, RGBLED_NUM);
+ ws2812_setleds(led, RGBLIGHT_LED_COUNT);
} else {
if (backup) {
led[4].r = caps_led.r;
led[4].g = caps_led.g;
led[4].b = caps_led.b;
backup = false;
- ws2812_setleds(led, RGBLED_NUM);
+ ws2812_setleds(led, RGBLIGHT_LED_COUNT);
}
}
housekeeping_task_user();
}
-void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
+void setleds_custom(rgb_led_t *start_led, uint16_t num_leds)
{
start_led[2].r = start_led[0].r;
start_led[2].g = start_led[0].g;
@@ -79,7 +80,10 @@ void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds)
uint8_t tmp = start_led[4].g;
start_led[4].g = start_led[4].r;
start_led[4].r = tmp;
- ws2812_setleds(start_led, RGBLED_NUM);
+ ws2812_setleds(start_led, RGBLIGHT_LED_COUNT);
}
+const rgblight_driver_t rgblight_driver = {
+ .setleds = setleds_custom,
+};
#endif \ No newline at end of file
diff --git a/keyboards/neson_design/nico/rules.mk b/keyboards/neson_design/nico/rules.mk
index 6e7633bfe0..9a69649289 100644
--- a/keyboards/neson_design/nico/rules.mk
+++ b/keyboards/neson_design/nico/rules.mk
@@ -1 +1 @@
-# This file intentionally left blank
+WS2812_DRIVER_REQUIRED = yes
diff --git a/keyboards/newgame40/post_config.h b/keyboards/newgame40/post_config.h
index 247178beec..7ac270c932 100644
--- a/keyboards/newgame40/post_config.h
+++ b/keyboards/newgame40/post_config.h
@@ -1,14 +1,14 @@
#pragma once
#ifndef IOS_DEVICE_ENABLE
-# if RGBLED_NUM <= 6
+# if RGBLIGHT_LED_COUNT <= 6
# define RGBLIGHT_LIMIT_VAL 255
# else
# define RGBLIGHT_LIMIT_VAL 130
# endif
# define RGBLIGHT_VAL_STEP 17
#else
-# if RGBLED_NUM <= 6
+# if RGBLIGHT_LED_COUNT <= 6
# define RGBLIGHT_LIMIT_VAL 90
# else
# define RGBLIGHT_LIMIT_VAL 45
diff --git a/keyboards/nullbitsco/nibble/keymaps/via/keymap.c b/keyboards/nullbitsco/nibble/keymaps/via/keymap.c
index b71f9119ef..4e2f7dd4d6 100644
--- a/keyboards/nullbitsco/nibble/keymaps/via/keymap.c
+++ b/keyboards/nullbitsco/nibble/keymaps/via/keymap.c
@@ -112,7 +112,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
} else {
rgblight_timer_disable();
uint8_t val = rgblight_get_val();
- rgblight_sethsv_range(255, 255, val, 0, RGBLED_NUM-1);
+ rgblight_sethsv_range(255, 255, val, 0, RGBLIGHT_LED_COUNT-1);
}
deafened = !deafened;
}
diff --git a/keyboards/pico/65keys/keymaps/default/config.h b/keyboards/pico/65keys/keymaps/default/config.h
deleted file mode 100644
index 5cbe7609a3..0000000000
--- a/keyboards/pico/65keys/keymaps/default/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
-Copyright 2019 Kumao Kobo <kumaokobo@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 <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
diff --git a/keyboards/pico/65keys/keymaps/jis/config.h b/keyboards/pico/65keys/keymaps/jis/config.h
deleted file mode 100644
index 5cbe7609a3..0000000000
--- a/keyboards/pico/65keys/keymaps/jis/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
-Copyright 2019 Kumao Kobo <kumaokobo@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 <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
diff --git a/keyboards/planck/keymaps/dsanchezseco/rules.mk b/keyboards/planck/keymaps/dsanchezseco/rules.mk
deleted file mode 100644
index 8b13789179..0000000000
--- a/keyboards/planck/keymaps/dsanchezseco/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/keyboards/planck/keymaps/mitch/rules.mk b/keyboards/planck/keymaps/mitch/rules.mk
deleted file mode 100644
index e69de29bb2..0000000000
--- a/keyboards/planck/keymaps/mitch/rules.mk
+++ /dev/null
diff --git a/keyboards/planck/keymaps/motform/config.h b/keyboards/planck/keymaps/motform/config.h
deleted file mode 100644
index 6f70f09bee..0000000000
--- a/keyboards/planck/keymaps/motform/config.h
+++ /dev/null
@@ -1 +0,0 @@
-#pragma once
diff --git a/keyboards/planck/keymaps/vxid/config.h b/keyboards/planck/keymaps/vxid/config.h
deleted file mode 100644
index 6f70f09bee..0000000000
--- a/keyboards/planck/keymaps/vxid/config.h
+++ /dev/null
@@ -1 +0,0 @@
-#pragma once
diff --git a/keyboards/projectcain/vault35/atmega32u4/info.json b/keyboards/projectcain/vault35/atmega32u4/info.json
new file mode 100644
index 0000000000..9acd8ee34d
--- /dev/null
+++ b/keyboards/projectcain/vault35/atmega32u4/info.json
@@ -0,0 +1,45 @@
+{
+ "bootloader": "atmel-dfu",
+ "build": {
+ "lto": true
+ },
+ "encoder": {
+ "rotary": [
+ {"pin_a": "D7", "pin_b": "D6", "resolution": 2}
+ ]
+ },
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "encoder": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": true
+ },
+ "matrix_pins": {
+ "cols": ["B1", "D3", "F0", "F1", "F4", "F5", "F6", "F7", "C6", "B6", "B5"],
+ "rows": ["B4", "D4", "B0", "C7"]
+ },
+ "processor": "atmega32u4",
+ "rgblight": {
+ "animations": {
+ "alternating": true,
+ "breathing": true,
+ "christmas": true,
+ "knight": true,
+ "rainbow_mood": true,
+ "rainbow_swirl": true,
+ "rgb_test": true,
+ "snake": true,
+ "static_gradient": true,
+ "twinkle": true
+ },
+ "brightness_steps": 8,
+ "led_count": 12,
+ "saturation_steps": 8,
+ "sleep": true
+ },
+ "ws2812": {
+ "pin": "D5"
+ }
+}
diff --git a/keyboards/projectcain/vault35/atmega32u4/rules.mk b/keyboards/projectcain/vault35/atmega32u4/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/projectcain/vault35/atmega32u4/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/projectcain/vault35/info.json b/keyboards/projectcain/vault35/info.json
index d23c4b2f46..5662cdbf6b 100644
--- a/keyboards/projectcain/vault35/info.json
+++ b/keyboards/projectcain/vault35/info.json
@@ -1,27 +1,22 @@
{
- "keyboard_name": "Vault35",
"manufacturer": "projectcain",
- "url": "",
+ "keyboard_name": "Vault35",
"maintainer": "projectcain",
- "usb": {
- "vid": "0xFEED",
- "pid": "0x6060",
- "device_version": "0.0.1"
- },
- "matrix_pins": {
- "cols": ["B1", "D3", "F0", "F1", "F4", "F5", "F6", "F7", "C6", "B6", "B5"],
- "rows": ["B4", "D4", "B0", "C7"]
- },
"diode_direction": "COL2ROW",
- "encoder": {
- "rotary": [
- {"pin_a": "D6", "pin_b": "D7", "resolution": 2}
- ]
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
+ "url": "https://mechvault.net",
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0x6060",
+ "vid": "0xFEED"
},
- "processor": "atmega32u4",
- "bootloader": "atmel-dfu",
"layouts": {
- "LAYOUT_split_4space": {
+ "LAYOUT_all": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
@@ -33,8 +28,7 @@
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
- {"matrix": [0, 10], "x": 10, "y": 0},
-
+ {"matrix": [0, 10], "x": 10, "y": 0, "encoder": 0},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25},
{"matrix": [1, 1], "x": 1.25, "y": 1},
{"matrix": [1, 2], "x": 2.25, "y": 1},
@@ -45,7 +39,6 @@
{"matrix": [1, 7], "x": 7.25, "y": 1},
{"matrix": [1, 8], "x": 8.25, "y": 1},
{"matrix": [1, 9], "x": 9.25, "y": 1, "w": 1.75},
-
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 1], "x": 1.75, "y": 2},
{"matrix": [2, 2], "x": 2.75, "y": 2},
@@ -56,16 +49,16 @@
{"matrix": [2, 7], "x": 7.75, "y": 2},
{"matrix": [2, 8], "x": 8.75, "y": 2},
{"matrix": [2, 9], "x": 9.75, "y": 2, "w": 1.25},
-
{"matrix": [3, 1], "x": 1.5, "y": 3},
{"matrix": [3, 2], "x": 2.5, "y": 3, "w": 1.25},
- {"matrix": [3, 3], "x": 3.75, "y": 3, "w": 1.75},
- {"matrix": [3, 5], "x": 5.5, "y": 3, "w": 1.75},
- {"matrix": [3, 6], "x": 7.25, "y": 3, "w": 1.25},
- {"matrix": [3, 7], "x": 8.5, "y": 3}
+ {"matrix": [3, 3], "x": 3.75, "y": 3, "w": 1.5},
+ {"matrix": [3, 4], "x": 5.25, "y": 3},
+ {"matrix": [3, 5], "x": 6.25, "y": 3, "w": 1.5},
+ {"matrix": [3, 6], "x": 7.75, "y": 3, "w": 1.25},
+ {"matrix": [3, 7], "x": 9, "y": 3}
]
},
- "LAYOUT_split_3space": {
+ "LAYOUT_full_space": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
@@ -77,8 +70,7 @@
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
- {"matrix": [0, 10], "x": 10, "y": 0},
-
+ {"matrix": [0, 10], "x": 10, "y": 0, "encoder": 0},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25},
{"matrix": [1, 1], "x": 1.25, "y": 1},
{"matrix": [1, 2], "x": 2.25, "y": 1},
@@ -89,7 +81,6 @@
{"matrix": [1, 7], "x": 7.25, "y": 1},
{"matrix": [1, 8], "x": 8.25, "y": 1},
{"matrix": [1, 9], "x": 9.25, "y": 1, "w": 1.75},
-
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 1], "x": 1.75, "y": 2},
{"matrix": [2, 2], "x": 2.75, "y": 2},
@@ -100,11 +91,8 @@
{"matrix": [2, 7], "x": 7.75, "y": 2},
{"matrix": [2, 8], "x": 8.75, "y": 2},
{"matrix": [2, 9], "x": 9.75, "y": 2, "w": 1.25},
-
{"matrix": [3, 1], "x": 1.5, "y": 3},
- {"matrix": [3, 3], "x": 2.5, "y": 3, "w": 2.25},
- {"matrix": [3, 4], "x": 4.75, "y": 3},
- {"matrix": [3, 5], "x": 5.75, "y": 3, "w": 2.75},
+ {"matrix": [3, 4], "x": 2.5, "y": 3, "w": 6},
{"matrix": [3, 7], "x": 8.5, "y": 3}
]
},
@@ -120,8 +108,7 @@
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
- {"matrix": [0, 10], "x": 10, "y": 0},
-
+ {"matrix": [0, 10], "x": 10, "y": 0, "encoder": 0},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25},
{"matrix": [1, 1], "x": 1.25, "y": 1},
{"matrix": [1, 2], "x": 2.25, "y": 1},
@@ -132,7 +119,6 @@
{"matrix": [1, 7], "x": 7.25, "y": 1},
{"matrix": [1, 8], "x": 8.25, "y": 1},
{"matrix": [1, 9], "x": 9.25, "y": 1, "w": 1.75},
-
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 1], "x": 1.75, "y": 2},
{"matrix": [2, 2], "x": 2.75, "y": 2},
@@ -143,14 +129,13 @@
{"matrix": [2, 7], "x": 7.75, "y": 2},
{"matrix": [2, 8], "x": 8.75, "y": 2},
{"matrix": [2, 9], "x": 9.75, "y": 2, "w": 1.25},
-
{"matrix": [3, 1], "x": 1.5, "y": 3},
{"matrix": [3, 3], "x": 2.5, "y": 3, "w": 3},
{"matrix": [3, 5], "x": 5.5, "y": 3, "w": 3},
{"matrix": [3, 7], "x": 8.5, "y": 3}
]
},
- "LAYOUT_full_space": {
+ "LAYOUT_split_3space": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
@@ -162,8 +147,7 @@
{"matrix": [0, 7], "x": 7, "y": 0},
{"matrix": [0, 8], "x": 8, "y": 0},
{"matrix": [0, 9], "x": 9, "y": 0},
- {"matrix": [0, 10], "x": 10, "y": 0},
-
+ {"matrix": [0, 10], "x": 10, "y": 0, "encoder": 0},
{"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25},
{"matrix": [1, 1], "x": 1.25, "y": 1},
{"matrix": [1, 2], "x": 2.25, "y": 1},
@@ -174,7 +158,6 @@
{"matrix": [1, 7], "x": 7.25, "y": 1},
{"matrix": [1, 8], "x": 8.25, "y": 1},
{"matrix": [1, 9], "x": 9.25, "y": 1, "w": 1.75},
-
{"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
{"matrix": [2, 1], "x": 1.75, "y": 2},
{"matrix": [2, 2], "x": 2.75, "y": 2},
@@ -185,9 +168,51 @@
{"matrix": [2, 7], "x": 7.75, "y": 2},
{"matrix": [2, 8], "x": 8.75, "y": 2},
{"matrix": [2, 9], "x": 9.75, "y": 2, "w": 1.25},
-
{"matrix": [3, 1], "x": 1.5, "y": 3},
- {"matrix": [3, 4], "x": 2.5, "y": 3, "w": 6},
+ {"matrix": [3, 3], "x": 2.5, "y": 3, "w": 2.25},
+ {"matrix": [3, 4], "x": 4.75, "y": 3},
+ {"matrix": [3, 5], "x": 5.75, "y": 3, "w": 2.75},
+ {"matrix": [3, 7], "x": 8.5, "y": 3}
+ ]
+ },
+ "LAYOUT_split_4space": {
+ "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, "encoder": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.25},
+ {"matrix": [1, 1], "x": 1.25, "y": 1},
+ {"matrix": [1, 2], "x": 2.25, "y": 1},
+ {"matrix": [1, 3], "x": 3.25, "y": 1},
+ {"matrix": [1, 4], "x": 4.25, "y": 1},
+ {"matrix": [1, 5], "x": 5.25, "y": 1},
+ {"matrix": [1, 6], "x": 6.25, "y": 1},
+ {"matrix": [1, 7], "x": 7.25, "y": 1},
+ {"matrix": [1, 8], "x": 8.25, "y": 1},
+ {"matrix": [1, 9], "x": 9.25, "y": 1, "w": 1.75},
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"matrix": [2, 1], "x": 1.75, "y": 2},
+ {"matrix": [2, 2], "x": 2.75, "y": 2},
+ {"matrix": [2, 3], "x": 3.75, "y": 2},
+ {"matrix": [2, 4], "x": 4.75, "y": 2},
+ {"matrix": [2, 5], "x": 5.75, "y": 2},
+ {"matrix": [2, 6], "x": 6.75, "y": 2},
+ {"matrix": [2, 7], "x": 7.75, "y": 2},
+ {"matrix": [2, 8], "x": 8.75, "y": 2},
+ {"matrix": [2, 9], "x": 9.75, "y": 2, "w": 1.25},
+ {"matrix": [3, 1], "x": 1.5, "y": 3},
+ {"matrix": [3, 2], "x": 2.5, "y": 3, "w": 1.25},
+ {"matrix": [3, 3], "x": 3.75, "y": 3, "w": 1.75},
+ {"matrix": [3, 5], "x": 5.5, "y": 3, "w": 1.75},
+ {"matrix": [3, 6], "x": 7.25, "y": 3, "w": 1.25},
{"matrix": [3, 7], "x": 8.5, "y": 3}
]
}
diff --git a/keyboards/projectcain/vault35/keymaps/default/keymap.c b/keyboards/projectcain/vault35/keymaps/default/keymap.c
index 5bb3a622b2..ec9f350218 100644
--- a/keyboards/projectcain/vault35/keymaps/default/keymap.c
+++ b/keyboards/projectcain/vault35/keymaps/default/keymap.c
@@ -1,19 +1,18 @@
-
- /* Copyright 2021 projectcain
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
+/* Copyright 2021 projectcain
+ *
+ * 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 <http://www.gnu.org/licenses/>.
+ */
#include QMK_KEYBOARD_H
enum layers{
@@ -64,3 +63,11 @@ combo_t key_combos[] = {
[KL_SLSH] = COMBO(kl_combo, S(KC_SLSH)),
[JK_MINUS] = COMBO(jk_combo, KC_MINUS)
};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+ [BASE] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
+ [NUM] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
+ [SYM] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
+};
+#endif
diff --git a/keyboards/projectcain/vault35/keymaps/default/rules.mk b/keyboards/projectcain/vault35/keymaps/default/rules.mk
index ff681299e4..cbd8b4aa81 100644
--- a/keyboards/projectcain/vault35/keymaps/default/rules.mk
+++ b/keyboards/projectcain/vault35/keymaps/default/rules.mk
@@ -1 +1,2 @@
-COMBO_ENABLE = yes \ No newline at end of file
+COMBO_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/projectcain/vault35/rules.mk b/keyboards/projectcain/vault35/rules.mk
index b03b6fa905..3cf3a331d8 100644
--- a/keyboards/projectcain/vault35/rules.mk
+++ b/keyboards/projectcain/vault35/rules.mk
@@ -1,13 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = yes
+DEFAULT_FOLDER = projectcain/vault35/atmega32u4
diff --git a/keyboards/rabbit/rabbit68/keymaps/kaiec/config.h b/keyboards/rabbit/rabbit68/keymaps/kaiec/config.h
deleted file mode 100644
index 1da00a2979..0000000000
--- a/keyboards/rabbit/rabbit68/keymaps/kaiec/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2019 Kai Eckert
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/recompile_keys/choco60/config.h b/keyboards/recompile_keys/choco60/config.h
deleted file mode 100644
index 378fc07981..0000000000
--- a/keyboards/recompile_keys/choco60/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
-Copyright 2019 Naoto Takai
-
-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 <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
diff --git a/keyboards/redox/keymaps/default/config.h b/keyboards/redox/keymaps/default/config.h
index 2a1801a78f..ab4d588cb0 100644
--- a/keyboards/redox/keymaps/default/config.h
+++ b/keyboards/redox/keymaps/default/config.h
@@ -22,7 +22,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define MASTER_RIGHT
// #define EE_HANDS
-#undef RGBLED_NUM
+#undef RGBLIGHT_LED_COUNT
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
@@ -33,7 +33,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 14
+#define RGBLIGHT_LED_COUNT 14
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/redox/keymaps/via/config.h b/keyboards/redox/keymaps/via/config.h
index cfb2a9378a..7b9be07d97 100644
--- a/keyboards/redox/keymaps/via/config.h
+++ b/keyboards/redox/keymaps/via/config.h
@@ -22,7 +22,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define MASTER_RIGHT
// #define EE_HANDS
-#undef RGBLED_NUM
+#undef RGBLIGHT_LED_COUNT
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
@@ -34,7 +34,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 14
+#define RGBLIGHT_LED_COUNT 14
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/reviung/reviung34/keymaps/default_rgb/config.h b/keyboards/reviung/reviung34/keymaps/default_rgb/config.h
index e4d91482c9..cc14e26943 100644
--- a/keyboards/reviung/reviung34/keymaps/default_rgb/config.h
+++ b/keyboards/reviung/reviung34/keymaps/default_rgb/config.h
@@ -19,7 +19,7 @@
// place overrides here
#define WS2812_DI_PIN D3
- #define RGBLED_NUM 9
+ #define RGBLIGHT_LED_COUNT 9
#define RGBLIGHT_HUE_STEP 16
#define RGBLIGHT_SAT_STEP 16
#define RGBLIGHT_VAL_STEP 16
diff --git a/keyboards/reviung/reviung34/keymaps/default_rgb2u/config.h b/keyboards/reviung/reviung34/keymaps/default_rgb2u/config.h
index e4d91482c9..cc14e26943 100644
--- a/keyboards/reviung/reviung34/keymaps/default_rgb2u/config.h
+++ b/keyboards/reviung/reviung34/keymaps/default_rgb2u/config.h
@@ -19,7 +19,7 @@
// place overrides here
#define WS2812_DI_PIN D3
- #define RGBLED_NUM 9
+ #define RGBLIGHT_LED_COUNT 9
#define RGBLIGHT_HUE_STEP 16
#define RGBLIGHT_SAT_STEP 16
#define RGBLIGHT_VAL_STEP 16
diff --git a/keyboards/reviung/reviung39/keymaps/default/config.h b/keyboards/reviung/reviung39/keymaps/default/config.h
index d868c539e4..d882e8ad94 100644
--- a/keyboards/reviung/reviung39/keymaps/default/config.h
+++ b/keyboards/reviung/reviung39/keymaps/default/config.h
@@ -19,7 +19,7 @@
// place overrides here
#define WS2812_DI_PIN D3
- #define RGBLED_NUM 11
+ #define RGBLIGHT_LED_COUNT 11
#define RGBLIGHT_HUE_STEP 16
#define RGBLIGHT_SAT_STEP 16
#define RGBLIGHT_VAL_STEP 16
diff --git a/keyboards/reviung/reviung39/keymaps/default_s/config.h b/keyboards/reviung/reviung39/keymaps/default_s/config.h
index c44a5f9d7c..3fd3c73fcc 100644
--- a/keyboards/reviung/reviung39/keymaps/default_s/config.h
+++ b/keyboards/reviung/reviung39/keymaps/default_s/config.h
@@ -19,7 +19,7 @@
// place overrides here
#define WS2812_DI_PIN D3
- #define RGBLED_NUM 6
+ #define RGBLIGHT_LED_COUNT 6
#define RGBLIGHT_HUE_STEP 16
#define RGBLIGHT_SAT_STEP 16
#define RGBLIGHT_VAL_STEP 16
diff --git a/keyboards/reviung/reviung39/keymaps/default_s/readme.md b/keyboards/reviung/reviung39/keymaps/default_s/readme.md
index b882ec40c2..a67401b97c 100644
--- a/keyboards/reviung/reviung39/keymaps/default_s/readme.md
+++ b/keyboards/reviung/reviung39/keymaps/default_s/readme.md
@@ -3,4 +3,4 @@
__REVIUNG39S is simple version__
The number of RGB LEDs is set to 6.
-To change the number of RGB LEDs, change the "#define RGBLED_NUM 6" number in "default_s / config.h".
+To change the number of RGB LEDs, change the "#define RGBLIGHT_LED_COUNT 6" number in "default_s / config.h".
diff --git a/keyboards/reviung/reviung61/keymaps/default_rgb/config.h b/keyboards/reviung/reviung61/keymaps/default_rgb/config.h
index 854af5142d..ddd5ef6cf5 100644
--- a/keyboards/reviung/reviung61/keymaps/default_rgb/config.h
+++ b/keyboards/reviung/reviung61/keymaps/default_rgb/config.h
@@ -20,7 +20,7 @@
// --- RGB underglow ---
#define WS2812_DI_PIN B7
- #define RGBLED_NUM 12
+ #define RGBLIGHT_LED_COUNT 12
#define RGBLIGHT_HUE_STEP 16
#define RGBLIGHT_SAT_STEP 16
#define RGBLIGHT_VAL_STEP 16
diff --git a/keyboards/rgbkb/sol/keymaps/brianweyer/config.h b/keyboards/rgbkb/sol/keymaps/brianweyer/config.h
deleted file mode 100644
index 452cdda823..0000000000
--- a/keyboards/rgbkb/sol/keymaps/brianweyer/config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-
-// place overrides here
-
diff --git a/keyboards/rgbkb/sol/keymaps/danielhklein/config.h b/keyboards/rgbkb/sol/keymaps/danielhklein/config.h
deleted file mode 100644
index 452cdda823..0000000000
--- a/keyboards/rgbkb/sol/keymaps/danielhklein/config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-
-// place overrides here
-
diff --git a/keyboards/rgbkb/sol/rev1/config.h b/keyboards/rgbkb/sol/rev1/config.h
index a41959a88b..575e393b1d 100644
--- a/keyboards/rgbkb/sol/rev1/config.h
+++ b/keyboards/rgbkb/sol/rev1/config.h
@@ -19,10 +19,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
#ifdef LED_MIRRORED
- #define RGBLED_NUM 35
+ #define RGBLIGHT_LED_COUNT 35
#else
- #define RGBLED_NUM 70
+ #define RGBLIGHT_LED_COUNT 70
#endif
-#define RGB_MATRIX_LED_COUNT RGBLED_NUM
+#define RGB_MATRIX_LED_COUNT RGBLIGHT_LED_COUNT
#define RGB_MATRIX_CENTER { 112, 35 }
diff --git a/keyboards/rgbkb/sol/rev2/config.h b/keyboards/rgbkb/sol/rev2/config.h
index 19680c84b3..7016cf7744 100644
--- a/keyboards/rgbkb/sol/rev2/config.h
+++ b/keyboards/rgbkb/sol/rev2/config.h
@@ -24,28 +24,28 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifdef LED_MIRRORED
#ifdef FULLHAND_ENABLE
#define FULLHAND_LEDS 24
- #define RGBLED_NUM 74
+ #define RGBLIGHT_LED_COUNT 74
#elif SF_ENABLE
#define FULLHAND_LEDS 38
- #define RGBLED_NUM 81
+ #define RGBLIGHT_LED_COUNT 81
#else
#define FULLHAND_LEDS 0
- #define RGBLED_NUM 62
+ #define RGBLIGHT_LED_COUNT 62
#endif
#else
#ifdef FULLHAND_ENABLE
#define FULLHAND_LEDS 24
- #define RGBLED_NUM 148
+ #define RGBLIGHT_LED_COUNT 148
#elif SF_ENABLE
#define FULLHAND_LEDS 38
- #define RGBLED_NUM 162
+ #define RGBLIGHT_LED_COUNT 162
#else
#define FULLHAND_LEDS 0
- #define RGBLED_NUM 124
+ #define RGBLIGHT_LED_COUNT 124
#endif
#endif
-#define RGB_MATRIX_LED_COUNT RGBLED_NUM
+#define RGB_MATRIX_LED_COUNT RGBLIGHT_LED_COUNT
#define RGB_MATRIX_CENTER { 112, 37 }
diff --git a/keyboards/rgbkb/zen/rev1/keymaps/default/config.h b/keyboards/rgbkb/zen/rev1/keymaps/default/config.h
index 1de23afd63..e9d6659d60 100644
--- a/keyboards/rgbkb/zen/rev1/keymaps/default/config.h
+++ b/keyboards/rgbkb/zen/rev1/keymaps/default/config.h
@@ -24,7 +24,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define MASTER_RIGHT
// #define EE_HANDS
-#undef RGBLED_NUM
+#undef RGBLIGHT_LED_COUNT
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
@@ -35,7 +35,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 16
+#define RGBLIGHT_LED_COUNT 16
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/rgbkb/zygomorph/rev1/config.h b/keyboards/rgbkb/zygomorph/rev1/config.h
index 8a46a941b7..81f961540c 100644
--- a/keyboards/rgbkb/zygomorph/rev1/config.h
+++ b/keyboards/rgbkb/zygomorph/rev1/config.h
@@ -22,9 +22,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define EE_HANDS
#ifndef RGBLIGHT_SPLIT_ENABLE
- #define RGBLED_NUM 30
+ #define RGBLIGHT_LED_COUNT 30
#else
- #define RGBLED_NUM 60
+ #define RGBLIGHT_LED_COUNT 60
#endif
#define RGB_MATRIX_LED_COUNT 60
diff --git a/keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/config.h b/keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/config.h
deleted file mode 100644
index 0689676402..0000000000
--- a/keyboards/rominronin/katana60/rev2/keymaps/rominronin_7u/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2019 rominronin
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/rura66/rev1/oled_display.c b/keyboards/rura66/rev1/oled_display.c
index d2e3422bf9..514fda9992 100644
--- a/keyboards/rura66/rev1/oled_display.c
+++ b/keyboards/rura66/rev1/oled_display.c
@@ -18,61 +18,59 @@
// Defines names for use in layer keycodes and the keymap
enum layer_names {
- _QWERTY = 0,
- _LOWER,
- _RAISE,
- _ADJUST
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST
};
#ifdef OLED_ENABLE
void render_status(void) {
+ // Render to mode icon
+ static const char os_logo[][2][3] PROGMEM = {{{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}};
+ if (is_mac_mode()) {
+ oled_write_P(os_logo[0][0], false);
+ oled_write_P(PSTR("\n"), false);
+ oled_write_P(os_logo[0][1], false);
+ } else {
+ oled_write_P(os_logo[1][0], false);
+ oled_write_P(PSTR("\n"), false);
+ oled_write_P(os_logo[1][1], false);
+ }
- // Render to mode icon
- static const char os_logo[][2][3] PROGMEM ={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}};
- if (is_mac_mode()) {
- oled_write_P(os_logo[0][0], false);
- oled_write_P(PSTR("\n"), false);
- oled_write_P(os_logo[0][1], false);
- }else{
- oled_write_P(os_logo[1][0], false);
- oled_write_P(PSTR("\n"), false);
- oled_write_P(os_logo[1][1], false);
- }
-
- oled_write_P(PSTR(" "), false);
+ oled_write_P(PSTR(" "), false);
- // Host Keyboard Layer Status
- oled_write_P(PSTR("Layer: "), false);
+ // Host Keyboard Layer Status
+ oled_write_P(PSTR("Layer: "), false);
- switch (get_highest_layer(layer_state)) {
- case _QWERTY:
- oled_write_P(PSTR("Default\n"), false);
- break;
- case _RAISE:
- oled_write_P(PSTR("Raise\n"), false);
- break;
- case _LOWER:
- oled_write_P(PSTR("Lower\n"), false);
- break;
- case _ADJUST:
- oled_write_P(PSTR("Adjust\n"), false);
- break;
- default:
- // Or use the write_ln shortcut over adding '\n' to the end of your string
- oled_write_ln_P(PSTR("Undefined"), false);
- }
+ switch (get_highest_layer(layer_state)) {
+ case _QWERTY:
+ oled_write_P(PSTR("Default\n"), false);
+ break;
+ case _RAISE:
+ oled_write_P(PSTR("Raise\n"), false);
+ break;
+ case _LOWER:
+ oled_write_P(PSTR("Lower\n"), false);
+ break;
+ case _ADJUST:
+ oled_write_P(PSTR("Adjust\n"), false);
+ break;
+ default:
+ // Or use the write_ln shortcut over adding '\n' to the end of your string
+ oled_write_ln_P(PSTR("Undefined"), false);
+ }
- oled_write_P(PSTR("\n"), false);
+ oled_write_P(PSTR("\n"), false);
- // Host Keyboard LED Status
- led_t led_state = host_keyboard_led_state();
- oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
- oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
- oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
+ // Host Keyboard LED Status
+ led_t led_state = host_keyboard_led_state();
+ oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
+ oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
+ oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
}
-
static void render_logo(void) {
static const char PROGMEM qmk_logo[] = {
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94,
@@ -84,35 +82,38 @@ static void render_logo(void) {
}
static void render_rgbled_status(bool full) {
-#ifdef RGBLIGHT_ENABLE
- if (RGBLIGHT_MODES > 1 && rgblight_is_enabled()) {
- if (full) {
- // " LED %d:%d,%d,%d"
- oled_write_P(PSTR(" LED"), false);
- oled_write(get_u8_str(rgblight_get_mode(), ' '), false);
- oled_write_char(':', false);
- oled_write(get_u8_str(rgblight_get_hue()/RGBLIGHT_HUE_STEP, ' '), false);
- oled_write_char(',', false);
- oled_write(get_u8_str(rgblight_get_sat()/RGBLIGHT_SAT_STEP, ' '), false);
- oled_write_char(',', false);
- oled_write(get_u8_str(rgblight_get_val()/RGBLIGHT_VAL_STEP, ' '), false);
- } else {
- // "[%2d] "
- oled_write_char('[', false);
- oled_write(get_u8_str(rgblight_get_mode(), ' '), false);
- oled_write_char(']', false);
+# ifdef RGBLIGHT_ENABLE
+ if (RGBLIGHT_MODES > 1 && rgblight_is_enabled()) {
+ if (full) {
+ // " LED %d:%d,%d,%d"
+ oled_write_P(PSTR(" LED"), false);
+ oled_write(get_u8_str(rgblight_get_mode(), ' '), false);
+ oled_write_char(':', false);
+ oled_write(get_u8_str(rgblight_get_hue() / RGBLIGHT_HUE_STEP, ' '), false);
+ oled_write_char(',', false);
+ oled_write(get_u8_str(rgblight_get_sat() / RGBLIGHT_SAT_STEP, ' '), false);
+ oled_write_char(',', false);
+ oled_write(get_u8_str(rgblight_get_val() / RGBLIGHT_VAL_STEP, ' '), false);
+ } else {
+ // "[%2d] "
+ oled_write_char('[', false);
+ oled_write(get_u8_str(rgblight_get_mode(), ' '), false);
+ oled_write_char(']', false);
+ }
}
- }
-#endif
+# endif
}
-bool oled_task_user(void) {
- if(is_keyboard_master()){
- render_status();
- }else{
- render_logo();
- render_rgbled_status(true);
- }
- return false;
+bool oled_task_kb(void) {
+ if (!oled_task_user()) {
+ return false;
+ }
+ if (is_keyboard_master()) {
+ render_status();
+ } else {
+ render_logo();
+ render_rgbled_status(true);
+ }
+ return true;
}
#endif
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/config.h b/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/config.h
index 12d5784374..f2a365a52e 100644
--- a/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/config.h
+++ b/keyboards/salicylic_acid3/naked48/keymaps/default_with_nafuda/config.h
@@ -25,11 +25,11 @@
#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
-#ifdef RGBLED_NUM
- #undef RGBLED_NUM
+#ifdef RGBLIGHT_LED_COUNT
+ #undef RGBLIGHT_LED_COUNT
#endif
-#define RGBLED_NUM 55 // Number of LEDs
+#define RGBLIGHT_LED_COUNT 55 // Number of LEDs
#define RGBLIGHT_SPLIT
#define RGBLED_SPLIT { 48, 7 }
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/config.h b/keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/config.h
index 392f2f97e8..d0f71f4f9f 100644
--- a/keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/config.h
+++ b/keyboards/salicylic_acid3/naked48/keymaps/default_with_setta21/config.h
@@ -25,10 +25,10 @@
#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
-#ifdef RGBLED_NUM
- #undef RGBLED_NUM
+#ifdef RGBLIGHT_LED_COUNT
+ #undef RGBLIGHT_LED_COUNT
#endif
-#define RGBLED_NUM 69 // Number of LEDs
+#define RGBLIGHT_LED_COUNT 69 // Number of LEDs
#define RGBLIGHT_SPLIT
#define RGBLED_SPLIT { 48, 21 }
diff --git a/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h b/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h
index 21494a0dfd..36be4d6868 100644
--- a/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h
+++ b/keyboards/salicylic_acid3/naked48/keymaps/via_rgb_matrix/config.h
@@ -21,8 +21,8 @@
#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
-#ifdef RGBLED_NUM
- #undef RGBLED_NUM
+#ifdef RGBLIGHT_LED_COUNT
+ #undef RGBLIGHT_LED_COUNT
#endif
#define RGB_MATRIX_LED_COUNT 48
diff --git a/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/config.h b/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/config.h
index 73a3019540..ebc2b46717 100644
--- a/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/config.h
+++ b/keyboards/salicylic_acid3/naked64/keymaps/default_with_setta21/config.h
@@ -25,6 +25,6 @@
#define QUICK_TAP_TERM 0
#define TAPPING_TERM 180
-#define RGBLED_NUM 12 // Number of LEDs
+#define RGBLIGHT_LED_COUNT 12 // Number of LEDs
#define RGBLIGHT_LED_MAP { 0, 1, 3, 2, 2, 3, 2, 3, 4, 5, 6, 7 }
diff --git a/keyboards/silverbullet44/config.h b/keyboards/silverbullet44/config.h
index e8f1cca7eb..2c9eac876c 100644
--- a/keyboards/silverbullet44/config.h
+++ b/keyboards/silverbullet44/config.h
@@ -36,7 +36,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_EFFECT_BREATHE_CENTER 2 // 1 to 2.7
#define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
/*== customize snake effect ==*/
- #define RGBLIGHT_EFFECT_SNAKE_LENGTH RGBLED_NUM
+ #define RGBLIGHT_EFFECT_SNAKE_LENGTH RGBLIGHT_LED_COUNT
/*== customize knight effect ==*/
#define RGBLIGHT_EFFECT_KNIGHT_LENGTH 6
#endif
diff --git a/keyboards/sirius/unigo66/keymaps/danielhklein/config.h b/keyboards/sirius/unigo66/keymaps/danielhklein/config.h
deleted file mode 100644
index 271f48d001..0000000000
--- a/keyboards/sirius/unigo66/keymaps/danielhklein/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-// place overrides here
diff --git a/keyboards/smithrune/iron180/info.json b/keyboards/smithrune/iron180/info.json
index aecd10ef84..4707f32664 100644
--- a/keyboards/smithrune/iron180/info.json
+++ b/keyboards/smithrune/iron180/info.json
@@ -1,5 +1,5 @@
{
- "keyboard_name": "Iron180",
+ "keyboard_name": "Iron180 V1",
"manufacturer": "SmithRune",
"url": "",
"maintainer": "Gondolindrim",
diff --git a/keyboards/smithrune/iron180v2/readme.md b/keyboards/smithrune/iron180v2/readme.md
new file mode 100644
index 0000000000..2df6b96521
--- /dev/null
+++ b/keyboards/smithrune/iron180v2/readme.md
@@ -0,0 +1,27 @@
+# Iron180 V2 PCBs QMK firmware folder
+
+## Introduction
+
+This is the QMK Firmware repository for the Iron180 PCB, a keyboard designed by [Smith and Rune](https://smithrune.com/) and PCB designed by [Gondolindrim](http://github.com/Gondolindrim).
+
+The Iron180 PCB PCB had two versions. The first version used an STM32F072 microcontroller, and was available only in solderable version; it also supports ALPS switches, in-switch single-color LEDs and a multi-layout design for default or 7U bottom row, ISO layout, split backspace and right shift.
+
+The second version used an STM32F401 microcontroller and was available in hotswap and solderable version. The solderable version removes in-switch LED support and ALPS support, but keeps all layout compatibilities of the first version. The hotswap incarnation removes ISO layout support.
+
+As of November 2020, the only way to obtain an Iron180 was through the [Group Buy](https://geekhack.org/index.php?topic=109513) which is already over and all spots were filled. There was a sale for the V2 PCBs in october, 2023.
+
+## How to compile
+
+After setting up your build environment, you can compile the Iron180 default keymap by using:
+
+ make smithrune/iron180v2/<version>/default
+
+Where `<version>` can be `v2s` or `v2h`.
+
+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 into bootloader DFU
+Enter the bootloader DFU mode in 3 ways:
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (Escape in the default keymap) and plug in the keyboard
+* **Physical reset button**: press and hold the reset button on the back of the PCB for five seconds
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` (Escape key on layer 1 in the default keymap)
diff --git a/keyboards/keebio/quefrency/keymaps/default65/config.h b/keyboards/smithrune/iron180v2/v2h/config.h
index 9aae0fdfc2..1d195c5a45 100644
--- a/keyboards/keebio/quefrency/keymaps/default65/config.h
+++ b/keyboards/smithrune/iron180v2/v2h/config.h
@@ -1,9 +1,5 @@
/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2015 Jack Humbert
-Copyright 2018 Danny Nguyen <danny@keeb.io>
+Copyright 2023 Gondolindrim <gondolindrim@acheronproject.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
@@ -21,3 +17,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+#define WEAR_LEVELING_LOGICAL_SIZE 2048
+#define WEAR_LEVELING_BACKING_SIZE 4096
diff --git a/keyboards/smithrune/iron180v2/v2h/info.json b/keyboards/smithrune/iron180v2/v2h/info.json
new file mode 100644
index 0000000000..67eaf0501b
--- /dev/null
+++ b/keyboards/smithrune/iron180v2/v2h/info.json
@@ -0,0 +1,674 @@
+{
+ "keyboard_name": "Iron180H v2",
+ "manufacturer": "SmithRune",
+ "url": "",
+ "maintainer": "Gondolindrim",
+ "usb": {
+ "vid": "0x8384",
+ "pid": "0x1182",
+ "device_version": "0.0.1"
+ },
+ "matrix_pins": {
+ "cols": ["C8" , "C7" , "C6" , "B15", "B14", "B13", "B12", "B3" , "D2" , "B1" , "B0" , "C12", "C10", "A10", "A15", "C0" , "C1" , "C4"],
+ "rows": ["B4" , "C11", "A8" , "C9" , "B10", "C5" , "B5" , "B6"]
+ },
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "build": {
+ "lto": true
+ },
+ "diode_direction": "COL2ROW",
+ "processor": "STM32F401",
+ "bootloader": "stm32-dfu",
+ "layout_aliases": {
+ "LAYOUT_all": "LAYOUT_tkl_f13_ansi_split_bs_rshift"
+ },
+ "community_layouts": [
+ "tkl_f13_ansi",
+ "tkl_f13_ansi_split_bs_rshift",
+ "tkl_f13_ansi_tsangan",
+ "tkl_f13_ansi_tsangan_split_bs_rshift"
+ ],
+ "layouts": {
+ "LAYOUT_tkl_f13_ansi": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+ {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25},
+ {"label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25},
+ {"label": "Fn", "matrix": [5, 11], "x": 12.5, "y": 5.25, "w": 1.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.75, "y": 5.25, "w": 1.25},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_split_bs_rshift": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25},
+ {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+ {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25},
+ {"label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25},
+ {"label": "Fn", "matrix": [5, 11], "x": 12.5, "y": 5.25, "w": 1.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.75, "y": 5.25, "w": 1.25},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_tsangan": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
+ {"label": "GUI", "matrix": [5, 11], "x": 12.5, "y": 5.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25},
+ {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
+ {"label": "GUI", "matrix": [5, 11], "x": 12.5, "y": 5.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_wkl": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_wkl_split_bs_rshift": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25},
+ {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/smithrune/iron180v2/v2h/keymaps/default/keymap.c b/keyboards/smithrune/iron180v2/v2h/keymaps/default/keymap.c
new file mode 100755
index 0000000000..82cc8162ad
--- /dev/null
+++ b/keyboards/smithrune/iron180v2/v2h/keymaps/default/keymap.c
@@ -0,0 +1,37 @@
+/*
+Copyright 2023 Gondolindrim <gondolindrim@acheronproject.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 <http://www.gnu.org/licenses/>.
+*/
+
+#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_BSPC, KC_INS , KC_HOME, KC_PGUP,
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN,
+ KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT ,
+ KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, MO(1) , KC_UP ,
+ KC_LCTL, KC_LWIN, KC_LALT, KC_SPC , KC_RALT, KC_RWIN, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_all(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/smithrune/iron180v2/v2h/keymaps/via/keymap.c b/keyboards/smithrune/iron180v2/v2h/keymaps/via/keymap.c
new file mode 100755
index 0000000000..82cc8162ad
--- /dev/null
+++ b/keyboards/smithrune/iron180v2/v2h/keymaps/via/keymap.c
@@ -0,0 +1,37 @@
+/*
+Copyright 2023 Gondolindrim <gondolindrim@acheronproject.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 <http://www.gnu.org/licenses/>.
+*/
+
+#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_BSPC, KC_INS , KC_HOME, KC_PGUP,
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN,
+ KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT ,
+ KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, MO(1) , KC_UP ,
+ KC_LCTL, KC_LWIN, KC_LALT, KC_SPC , KC_RALT, KC_RWIN, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_all(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/w1_at/keymaps/via/rules.mk b/keyboards/smithrune/iron180v2/v2h/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100644
--- a/keyboards/w1_at/keymaps/via/rules.mk
+++ b/keyboards/smithrune/iron180v2/v2h/keymaps/via/rules.mk
diff --git a/keyboards/smithrune/iron180v2/v2h/matrix_diagram.md b/keyboards/smithrune/iron180v2/v2h/matrix_diagram.md
new file mode 100644
index 0000000000..2e6310bcb6
--- /dev/null
+++ b/keyboards/smithrune/iron180v2/v2h/matrix_diagram.md
@@ -0,0 +1,24 @@
+# Matrix Diagram for SmithRune Iron180 V2 H
+
+```
+┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐
+│00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0A │0B │0C ││0D ││0G │0F │0E │
+└───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘
+┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ ┌───────┐
+│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E ││1F │1G │3G │ │1D │ 2u Backspace
+├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ └───────┘
+│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D ││2E │2F │2G │
+├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘
+│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │
+├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐
+│40 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │ │4F │
+├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───┐
+│50 │51 │52 │56 │59 │5A │5B │5C ││5E │5F │5G │
+└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘
+ ┌──────────┐
+ 2.75u RShift │4C │
+ └──────────┘
+┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐
+│50 │51 │52 │56 │5A │5B │5C │ Tsangan/WKL
+└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
+```
diff --git a/keyboards/smithrune/iron180v2/v2h/rules.mk b/keyboards/smithrune/iron180v2/v2h/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/smithrune/iron180v2/v2h/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/projectcain/vault35/config.h b/keyboards/smithrune/iron180v2/v2s/config.h
index 7abf6b197c..bf443b56f1 100644
--- a/keyboards/projectcain/vault35/config.h
+++ b/keyboards/smithrune/iron180v2/v2s/config.h
@@ -1,24 +1,34 @@
/*
-Copyright 2021 projectcain
+Copyright 2023 Gondolindrim <gondolindrim@acheronproject.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 <http://www.gnu.org/licenses/>.
*/
#pragma once
+#define BACKLIGHT_PWM_DRIVER PWMD3
+#define BACKLIGHT_PWM_CHANNEL 3
+#define BACKLIGHT_PAL_MODE 2
+
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
+#define WEAR_LEVELING_LOGICAL_SIZE 2048
+#define WEAR_LEVELING_BACKING_SIZE 4096
+
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/era/klein/halconf.h b/keyboards/smithrune/iron180v2/v2s/halconf.h
index f57e86df01..c58ddcbf7b 100644
--- a/keyboards/era/klein/halconf.h
+++ b/keyboards/smithrune/iron180v2/v2s/halconf.h
@@ -1,4 +1,4 @@
-/* Copyright 2023 eerraa
+/* Copyright 2020 QMK
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -14,8 +14,13 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+/*
+ * This file was auto-generated by:
+ * `qmk chibios-confmigrate -i keyboards/iron180/halconf.h -r platforms/chibios/common/configs/halconf.h`
+ */
+
#pragma once
#define HAL_USE_PWM TRUE
-#include_next <halconf.h> \ No newline at end of file
+#include_next <halconf.h>
diff --git a/keyboards/smithrune/iron180v2/v2s/info.json b/keyboards/smithrune/iron180v2/v2s/info.json
new file mode 100644
index 0000000000..aae84fd956
--- /dev/null
+++ b/keyboards/smithrune/iron180v2/v2s/info.json
@@ -0,0 +1,1432 @@
+{
+ "keyboard_name": "Iron180 Sv2",
+ "manufacturer": "SmithRune",
+ "url": "",
+ "maintainer": "Gondolindrim",
+ "usb": {
+ "vid": "0x8384",
+ "pid": "0x1181",
+ "device_version": "0.0.1"
+ },
+ "matrix_pins": {
+ "cols": ["C7" , "C6" , "B15", "B14", "B13", "B12", "B10", "B3" , "D2" , "B0" , "C5" , "C12", "C10", "A10", "A15", "C0" , "C1" , "A7"],
+ "rows": ["B4" , "C11", "A8" , "C9" , "B1" , "C4" , "B5" , "B6"]
+ },
+ "features": {
+ "backlight": true,
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "build": {
+ "lto": true
+ },
+ "diode_direction": "COL2ROW",
+ "backlight": {
+ "pin": "C8",
+ "levels": 20,
+ "breathing": false,
+ "as_caps_lock": true
+ },
+ "processor": "STM32F401",
+ "bootloader": "stm32-dfu",
+ "community_layouts": [
+ "tkl_f13_ansi",
+ "tkl_f13_ansi_split_bs_rshift",
+ "tkl_f13_ansi_tsangan",
+ "tkl_f13_ansi_tsangan_split_bs_rshift",
+ "tkl_f13_iso",
+ "tkl_f13_iso_split_bs_rshift",
+ "tkl_f13_iso_tsangan",
+ "tkl_f13_iso_tsangan_split_bs_rshift"
+ ],
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25},
+ {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+ {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25},
+ {"label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25},
+ {"label": "Fn", "matrix": [5, 11], "x": 12.5, "y": 5.25, "w": 1.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.75, "y": 5.25, "w": 1.25},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+ {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25},
+ {"label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25},
+ {"label": "Fn", "matrix": [5, 11], "x": 12.5, "y": 5.25, "w": 1.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.75, "y": 5.25, "w": 1.25},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_split_bs_rshift": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25},
+ {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+ {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25},
+ {"label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25},
+ {"label": "Fn", "matrix": [5, 11], "x": 12.5, "y": 5.25, "w": 1.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.75, "y": 5.25, "w": 1.25},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_tsangan": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
+ {"label": "GUI", "matrix": [5, 11], "x": 12.5, "y": 5.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25},
+ {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
+ {"label": "GUI", "matrix": [5, 11], "x": 12.5, "y": 5.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_wkl": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_wkl_split_bs_rshift": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25},
+ {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"label": "\\", "matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_iso": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+ {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25},
+ {"label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25},
+ {"label": "Fn", "matrix": [5, 11], "x": 12.5, "y": 5.25, "w": 1.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.75, "y": 5.25, "w": 1.25},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_iso_split_bs_rshift": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25},
+ {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+ {"label": "Space", "matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25},
+ {"label": "Alt", "matrix": [5, 9], "x": 10, "y": 5.25, "w": 1.25},
+ {"label": "GUI", "matrix": [5, 10], "x": 11.25, "y": 5.25, "w": 1.25},
+ {"label": "Fn", "matrix": [5, 11], "x": 12.5, "y": 5.25, "w": 1.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.75, "y": 5.25, "w": 1.25},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_iso_tsangan": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
+ {"label": "GUI", "matrix": [5, 11], "x": 12.5, "y": 5.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_iso_tsangan_split_bs_rshift": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25},
+ {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"label": "GUI", "matrix": [5, 1], "x": 1.5, "y": 5.25},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
+ {"label": "GUI", "matrix": [5, 11], "x": 12.5, "y": 5.25},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_iso_wkl": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_iso_wkl_split_bs_rshift": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+
+ {"label": "F1", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "F2", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "F3", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "F4", "matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"label": "F5", "matrix": [0, 5], "x": 5.5, "y": 0},
+ {"label": "F6", "matrix": [0, 6], "x": 6.5, "y": 0},
+ {"label": "F7", "matrix": [0, 7], "x": 7.5, "y": 0},
+ {"label": "F8", "matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"label": "F9", "matrix": [0, 9], "x": 9.75, "y": 0},
+ {"label": "F10", "matrix": [0, 10], "x": 10.75, "y": 0},
+ {"label": "F11", "matrix": [0, 11], "x": 11.75, "y": 0},
+ {"label": "F12", "matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"label": "F13", "matrix": [0, 13], "x": 14, "y": 0},
+
+ {"label": "Print Screen", "matrix": [0, 14], "x": 15.25, "y": 0},
+ {"label": "Scroll Lock", "matrix": [0, 15], "x": 16.25, "y": 0},
+ {"label": "Pause", "matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"label": "`", "matrix": [1, 0], "x": 0, "y": 1.25},
+ {"label": "1", "matrix": [1, 1], "x": 1, "y": 1.25},
+ {"label": "2", "matrix": [1, 2], "x": 2, "y": 1.25},
+ {"label": "3", "matrix": [1, 3], "x": 3, "y": 1.25},
+ {"label": "4", "matrix": [1, 4], "x": 4, "y": 1.25},
+ {"label": "5", "matrix": [1, 5], "x": 5, "y": 1.25},
+ {"label": "6", "matrix": [1, 6], "x": 6, "y": 1.25},
+ {"label": "7", "matrix": [1, 7], "x": 7, "y": 1.25},
+ {"label": "8", "matrix": [1, 8], "x": 8, "y": 1.25},
+ {"label": "9", "matrix": [1, 9], "x": 9, "y": 1.25},
+ {"label": "0", "matrix": [1, 10], "x": 10, "y": 1.25},
+ {"label": "-", "matrix": [1, 11], "x": 11, "y": 1.25},
+ {"label": "=", "matrix": [1, 12], "x": 12, "y": 1.25},
+ {"label": "Backspace", "matrix": [1, 13], "x": 13, "y": 1.25},
+ {"label": "Backspace", "matrix": [3, 14], "x": 14, "y": 1.25},
+
+ {"label": "Insert", "matrix": [6, 14], "x": 15.25, "y": 1.25},
+ {"label": "Home", "matrix": [6, 15], "x": 16.25, "y": 1.25},
+ {"label": "Page Up", "matrix": [6, 16], "x": 17.25, "y": 1.25},
+
+ {"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"label": "Q", "matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"label": "W", "matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"label": "E", "matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"label": "R", "matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"label": "T", "matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"label": "Y", "matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"label": "U", "matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"label": "I", "matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"label": "O", "matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"label": "P", "matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"label": "[", "matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"label": "]", "matrix": [2, 12], "x": 12.5, "y": 2.25},
+
+ {"label": "Delete", "matrix": [7, 14], "x": 15.25, "y": 2.25},
+ {"label": "End", "matrix": [7, 15], "x": 16.25, "y": 2.25},
+ {"label": "Page Down", "matrix": [7, 16], "x": 17.25, "y": 2.25},
+
+ {"label": "Caps Lock", "matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"label": "A", "matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"label": "S", "matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"label": "D", "matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"label": "F", "matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"label": "G", "matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"label": "H", "matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"label": "J", "matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"label": "K", "matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"label": "L", "matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"label": ";", "matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"label": "'", "matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"label": "#", "matrix": [3, 12], "x": 12.75, "y": 3.25},
+ {"label": "Enter", "matrix": [3, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
+
+ {"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"label": "\\", "matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"label": "Z", "matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"label": "X", "matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"label": "C", "matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"label": "V", "matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"label": "B", "matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"label": "N", "matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"label": "M", "matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"label": ",", "matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"label": ".", "matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"label": "/", "matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"label": "Shift", "matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"label": "Fn", "matrix": [4, 13], "x": 14, "y": 4.25},
+
+ {"label": "\u2191", "matrix": [4, 17], "x": 16.25, "y": 4.25},
+
+ {"label": "Ctrl", "matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"label": "Alt", "matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"label": "Space", "matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"label": "Alt", "matrix": [5, 10], "x": 11, "y": 5.25, "w": 1.5},
+ {"label": "Ctrl", "matrix": [5, 12], "x": 13.5, "y": 5.25, "w": 1.5},
+
+ {"label": "\u2190", "matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"label": "\u2193", "matrix": [5, 17], "x": 16.25, "y": 5.25},
+ {"label": "\u2192", "matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/smithrune/iron180v2/v2s/keymaps/default/keymap.c b/keyboards/smithrune/iron180v2/v2s/keymaps/default/keymap.c
new file mode 100755
index 0000000000..f2d58a163d
--- /dev/null
+++ b/keyboards/smithrune/iron180v2/v2s/keymaps/default/keymap.c
@@ -0,0 +1,37 @@
+/*
+Copyright 2012,2013 Jun Wako <wakojun@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 <http://www.gnu.org/licenses/>.
+*/
+
+#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_BSPC, KC_INS , KC_HOME, KC_PGUP,
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN,
+ KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT ,
+ KC_LSFT, KC_BSLS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, MO(1) , KC_UP ,
+ KC_LCTL, KC_LWIN, KC_LALT, KC_SPC , KC_RALT, KC_RWIN, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_all(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/smithrune/iron180v2/v2s/keymaps/via/keymap.c b/keyboards/smithrune/iron180v2/v2s/keymaps/via/keymap.c
new file mode 100755
index 0000000000..f2d58a163d
--- /dev/null
+++ b/keyboards/smithrune/iron180v2/v2s/keymaps/via/keymap.c
@@ -0,0 +1,37 @@
+/*
+Copyright 2012,2013 Jun Wako <wakojun@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 <http://www.gnu.org/licenses/>.
+*/
+
+#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_BSPC, KC_INS , KC_HOME, KC_PGUP,
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN,
+ KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT ,
+ KC_LSFT, KC_BSLS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, MO(1) , KC_UP ,
+ KC_LCTL, KC_LWIN, KC_LALT, KC_SPC , KC_RALT, KC_RWIN, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_all(
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/smithrune/iron180v2/v2s/keymaps/via/rules.mk b/keyboards/smithrune/iron180v2/v2s/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/smithrune/iron180v2/v2s/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/smithrune/iron180v2/v2s/matrix_diagram.md b/keyboards/smithrune/iron180v2/v2s/matrix_diagram.md
new file mode 100644
index 0000000000..d946162263
--- /dev/null
+++ b/keyboards/smithrune/iron180v2/v2s/matrix_diagram.md
@@ -0,0 +1,24 @@
+# Matrix Diagram for SmithRune Iron180 V2 S
+
+```
+┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐
+│00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0A │0B │0C ││0D ││0E │0F │0G │
+└───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘
+┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ ┌───────┐
+│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │1E ││6F │6F │6G │ │3E │ 2u Backspace
+├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ └─┬─────┤
+│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D ││7E │7F │7G │ │ │
+├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ ┌──┴┐3D │ ISO Enter
+│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │ │3C │ │
+├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ └───┴────┘
+│40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4B │4C │4D │ │4H │
+├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───┐
+│50 │51 │52 │56 │59 │5A │5B │5C ││5E │5H │5G │
+└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘
+┌────────┐ ┌──────────┐
+│40 │ 2.25u LShift 2.75u RShift │4C │
+└────────┘ └──────────┘
+┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐
+│50 │51 │52 │56 │5A │5B │5C │ Tsangan/WKL
+└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
+```
diff --git a/keyboards/era/klein/mcuconf.h b/keyboards/smithrune/iron180v2/v2s/mcuconf.h
index b82cc49d7d..b7b462f8cd 100644
--- a/keyboards/era/klein/mcuconf.h
+++ b/keyboards/smithrune/iron180v2/v2s/mcuconf.h
@@ -1,4 +1,4 @@
-/* Copyright 2023 eerraa
+/* Copyright 2023 Gondolindrim <gondolindrim@acheronproject.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
@@ -18,5 +18,5 @@
#include_next <mcuconf.h>
-#undef RP_PWM_USE_PWM7
-#define RP_PWM_USE_PWM7 TRUE \ No newline at end of file
+#undef STM32_PWM_USE_TIM3
+#define STM32_PWM_USE_TIM3 TRUE
diff --git a/keyboards/smithrune/iron180v2/v2s/rules.mk b/keyboards/smithrune/iron180v2/v2s/rules.mk
new file mode 100644
index 0000000000..6e7633bfe0
--- /dev/null
+++ b/keyboards/smithrune/iron180v2/v2s/rules.mk
@@ -0,0 +1 @@
+# This file intentionally left blank
diff --git a/keyboards/lefty/config.h b/keyboards/smoll/lefty/config.h
index b1432e4d87..b1432e4d87 100644
--- a/keyboards/lefty/config.h
+++ b/keyboards/smoll/lefty/config.h
diff --git a/keyboards/lefty/info.json b/keyboards/smoll/lefty/info.json
index c7113e4c26..c7113e4c26 100644
--- a/keyboards/lefty/info.json
+++ b/keyboards/smoll/lefty/info.json
diff --git a/keyboards/lefty/keymaps/default/keymap.c b/keyboards/smoll/lefty/keymaps/default/keymap.c
index e88edb63a5..e88edb63a5 100644
--- a/keyboards/lefty/keymaps/default/keymap.c
+++ b/keyboards/smoll/lefty/keymaps/default/keymap.c
diff --git a/keyboards/lefty/keymaps/via/keymap.c b/keyboards/smoll/lefty/keymaps/via/keymap.c
index e88edb63a5..e88edb63a5 100644
--- a/keyboards/lefty/keymaps/via/keymap.c
+++ b/keyboards/smoll/lefty/keymaps/via/keymap.c
diff --git a/keyboards/smoll/lefty/keymaps/via/rules.mk b/keyboards/smoll/lefty/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/smoll/lefty/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/lefty/lefty.c b/keyboards/smoll/lefty/lefty.c
index b1bea424b0..b1bea424b0 100644
--- a/keyboards/lefty/lefty.c
+++ b/keyboards/smoll/lefty/lefty.c
diff --git a/keyboards/lefty/readme.md b/keyboards/smoll/lefty/readme.md
index 7562517a22..7562517a22 100644
--- a/keyboards/lefty/readme.md
+++ b/keyboards/smoll/lefty/readme.md
diff --git a/keyboards/lefty/rev1/info.json b/keyboards/smoll/lefty/rev1/info.json
index 0a3e44c86f..0a3e44c86f 100644
--- a/keyboards/lefty/rev1/info.json
+++ b/keyboards/smoll/lefty/rev1/info.json
diff --git a/keyboards/era/klein/rules.mk b/keyboards/smoll/lefty/rev1/rules.mk
index e69de29bb2..e69de29bb2 100644
--- a/keyboards/era/klein/rules.mk
+++ b/keyboards/smoll/lefty/rev1/rules.mk
diff --git a/keyboards/lefty/rev2/info.json b/keyboards/smoll/lefty/rev2/info.json
index 9b8578c0db..9b8578c0db 100644
--- a/keyboards/lefty/rev2/info.json
+++ b/keyboards/smoll/lefty/rev2/info.json
diff --git a/keyboards/lefty/rev1/rules.mk b/keyboards/smoll/lefty/rev2/rules.mk
index e69de29bb2..e69de29bb2 100644
--- a/keyboards/lefty/rev1/rules.mk
+++ b/keyboards/smoll/lefty/rev2/rules.mk
diff --git a/keyboards/lefty/rules.mk b/keyboards/smoll/lefty/rules.mk
index bbf738e03b..d8d08e502c 100644
--- a/keyboards/lefty/rules.mk
+++ b/keyboards/smoll/lefty/rules.mk
@@ -14,4 +14,4 @@ LTO_ENABLE = yes
OLED_ENABLE = yes
-DEFAULT_FOLDER = lefty/rev2
+DEFAULT_FOLDER = smoll/lefty/rev2
diff --git a/keyboards/pw88/config.h b/keyboards/smoll/pw88/config.h
index f655b92527..f655b92527 100644
--- a/keyboards/pw88/config.h
+++ b/keyboards/smoll/pw88/config.h
diff --git a/keyboards/pw88/info.json b/keyboards/smoll/pw88/info.json
index bd24071e70..bd24071e70 100644
--- a/keyboards/pw88/info.json
+++ b/keyboards/smoll/pw88/info.json
diff --git a/keyboards/pw88/keymaps/default/keymap.c b/keyboards/smoll/pw88/keymaps/default/keymap.c
index 9e5ffd3f24..9e5ffd3f24 100644
--- a/keyboards/pw88/keymaps/default/keymap.c
+++ b/keyboards/smoll/pw88/keymaps/default/keymap.c
diff --git a/keyboards/pw88/keymaps/via/keymap.c b/keyboards/smoll/pw88/keymaps/via/keymap.c
index 9e5ffd3f24..9e5ffd3f24 100644
--- a/keyboards/pw88/keymaps/via/keymap.c
+++ b/keyboards/smoll/pw88/keymaps/via/keymap.c
diff --git a/keyboards/smoll/pw88/keymaps/via/rules.mk b/keyboards/smoll/pw88/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/smoll/pw88/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/pw88/readme.md b/keyboards/smoll/pw88/readme.md
index facee8bac8..facee8bac8 100644
--- a/keyboards/pw88/readme.md
+++ b/keyboards/smoll/pw88/readme.md
diff --git a/keyboards/pw88/rules.mk b/keyboards/smoll/pw88/rules.mk
index c628fc7d0f..c628fc7d0f 100644
--- a/keyboards/pw88/rules.mk
+++ b/keyboards/smoll/pw88/rules.mk
diff --git a/keyboards/snes_macropad/snes_macropad.c b/keyboards/snes_macropad/snes_macropad.c
index 1dcfda33ec..9f4f410fa3 100644
--- a/keyboards/snes_macropad/snes_macropad.c
+++ b/keyboards/snes_macropad/snes_macropad.c
@@ -90,7 +90,7 @@ static void setupForFlashing(void) {
// Set alternating backlight colors
const uint8_t max = 20;
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
- for (size_t i = 0; i < RGBLED_NUM; ++i) {
+ for (size_t i = 0; i < RGBLIGHT_LED_COUNT; ++i) {
rgb_led_t *led_ = (rgb_led_t *)&led[i];
switch (i % 2) {
case 0:
diff --git a/keyboards/sofle/keymaps/default/config.h b/keyboards/sofle/keymaps/default/config.h
deleted file mode 100644
index c5494c20aa..0000000000
--- a/keyboards/sofle/keymaps/default/config.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#pragma once
-
-/* The way how "handedness" is decided (which half is which),
-see https://docs.qmk.fm/#/feature_split_keyboard?id=setting-handedness
-for more options.
-*/
diff --git a/keyboards/sofle/keymaps/rgb_default/config.h b/keyboards/sofle/keymaps/rgb_default/config.h
index 7d14c6e337..ee137625c0 100644
--- a/keyboards/sofle/keymaps/rgb_default/config.h
+++ b/keyboards/sofle/keymaps/rgb_default/config.h
@@ -49,13 +49,13 @@
#ifdef RGB_MATRIX_ENABLE
-#define RGBLED_NUM 35 // Number of LEDs
-#define RGBLED_NUM 35 // Number of LEDs
-#define RGB_MATRIX_LED_COUNT RGBLED_NUM
+#define RGBLIGHT_LED_COUNT 35 // Number of LEDs
+#define RGBLIGHT_LED_COUNT 35 // Number of LEDs
+#define RGB_MATRIX_LED_COUNT RGBLIGHT_LED_COUNT
#endif
#ifdef RGBLIGHT_ENABLE
- #undef RGBLED_NUM
+ #undef RGBLIGHT_LED_COUNT
//#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
@@ -68,11 +68,11 @@
//#define RGBLIGHT_EFFECT_ALTERNATING
//#define RGBLIGHT_EFFECT_TWINKLE
- #define RGBLED_NUM 70
+ #define RGBLIGHT_LED_COUNT 70
//#define RGBLED_SPLIT
#define RGBLED_SPLIT { 35, 35 } // haven't figured out how to use this yet
- //#define RGBLED_NUM 30
+ //#define RGBLIGHT_LED_COUNT 30
#define RGBLIGHT_LIMIT_VAL 120
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
diff --git a/keyboards/sofle/keymaps/via/config.h b/keyboards/sofle/keymaps/via/config.h
index e53881987d..c70c410f77 100644
--- a/keyboards/sofle/keymaps/via/config.h
+++ b/keyboards/sofle/keymaps/via/config.h
@@ -24,11 +24,11 @@ for more options. */
#if defined(KEYBOARD_sofle_rev1)
// Add RGB underglow and top facing lighting
# define WS2812_DI_PIN D3
-# define RGBLED_NUM 72
+# define RGBLIGHT_LED_COUNT 72
# define RGBLED_SPLIT \
{ 36, 36 }
# ifdef RGB_MATRIX_ENABLE
-# define RGB_MATRIX_LED_COUNT RGBLED_NUM
+# define RGB_MATRIX_LED_COUNT RGBLIGHT_LED_COUNT
# define RGB_MATRIX_SPLIT RGBLED_SPLIT
# define SPLIT_TRANSPORT_MIRROR
# else
diff --git a/keyboards/stront/config.h b/keyboards/stront/config.h
index 13c76a80e2..0694b9dd3c 100644
--- a/keyboards/stront/config.h
+++ b/keyboards/stront/config.h
@@ -38,7 +38,7 @@
/* RGB config */
#ifdef RGB_MATRIX_ENABLE
# define SPLIT_TRANSPORT_MIRROR
-# define RGB_MATRIX_LED_COUNT RGBLED_NUM
+# define RGB_MATRIX_LED_COUNT RGBLIGHT_LED_COUNT
# define RGB_DISABLE_WHEN_USB_SUSPENDED
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
# define RGB_MATRIX_KEYPRESSES
diff --git a/keyboards/sx60/keymaps/amnobis/config.h b/keyboards/sx60/keymaps/amnobis/config.h
deleted file mode 100644
index a5568e400d..0000000000
--- a/keyboards/sx60/keymaps/amnobis/config.h
+++ /dev/null
@@ -1 +0,0 @@
-#include "../../config.h"
diff --git a/keyboards/tada68/keymaps/iso-nor/config.h b/keyboards/tada68/keymaps/iso-nor/config.h
deleted file mode 100644
index 6f70f09bee..0000000000
--- a/keyboards/tada68/keymaps/iso-nor/config.h
+++ /dev/null
@@ -1 +0,0 @@
-#pragma once
diff --git a/keyboards/tada68/keymaps/laas/config.h b/keyboards/tada68/keymaps/laas/config.h
deleted file mode 100755
index 6f70f09bee..0000000000
--- a/keyboards/tada68/keymaps/laas/config.h
+++ /dev/null
@@ -1 +0,0 @@
-#pragma once
diff --git a/keyboards/tada68/keymaps/peippo/config.h b/keyboards/tada68/keymaps/peippo/config.h
deleted file mode 100644
index 6f70f09bee..0000000000
--- a/keyboards/tada68/keymaps/peippo/config.h
+++ /dev/null
@@ -1 +0,0 @@
-#pragma once
diff --git a/keyboards/takashiski/namecard2x4/keymaps/brainfuck/config.h b/keyboards/takashiski/namecard2x4/keymaps/brainfuck/config.h
deleted file mode 100644
index dbacdcce58..0000000000
--- a/keyboards/takashiski/namecard2x4/keymaps/brainfuck/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2018 takashiski
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/thevankeyboards/caravan/keymaps/default/config.h b/keyboards/thevankeyboards/caravan/keymaps/default/config.h
deleted file mode 100644
index 6f70f09bee..0000000000
--- a/keyboards/thevankeyboards/caravan/keymaps/default/config.h
+++ /dev/null
@@ -1 +0,0 @@
-#pragma once
diff --git a/keyboards/thevankeyboards/minivan/keymaps/mikethetiger/config.h b/keyboards/thevankeyboards/minivan/keymaps/mikethetiger/config.h
deleted file mode 100644
index 271f48d001..0000000000
--- a/keyboards/thevankeyboards/minivan/keymaps/mikethetiger/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-// place overrides here
diff --git a/keyboards/tunks/ergo33/keymaps/default/config.h b/keyboards/tunks/ergo33/keymaps/default/config.h
index 33edf0b03c..3ca11c66a6 100644
--- a/keyboards/tunks/ergo33/keymaps/default/config.h
+++ b/keyboards/tunks/ergo33/keymaps/default/config.h
@@ -20,7 +20,7 @@
* No external LED PCB: 10
* External LED PCB: 14
*/
-#define RGBLED_NUM 14
+#define RGBLIGHT_LED_COUNT 14
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
diff --git a/keyboards/unikeyboard/diverge3/keymaps/workman/rules.mk b/keyboards/unikeyboard/diverge3/keymaps/workman/rules.mk
deleted file mode 100644
index 8b13789179..0000000000
--- a/keyboards/unikeyboard/diverge3/keymaps/workman/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/keyboards/unison/keymaps/via/config.h b/keyboards/unison/keymaps/via/config.h
index 48fe417a5d..07a2c9f5cc 100644
--- a/keyboards/unison/keymaps/via/config.h
+++ b/keyboards/unison/keymaps/via/config.h
@@ -16,8 +16,8 @@
#pragma once
- #undef RGBLED_NUM
- #define RGBLED_NUM 17 // Layer Indicator(2) + Rotary Encoder(5) + Optional(2) + Under(8)
+ #undef RGBLIGHT_LED_COUNT
+ #define RGBLIGHT_LED_COUNT 17 // Layer Indicator(2) + Rotary Encoder(5) + Optional(2) + Under(8)
#undef RGBLIGHT_LED_MAP
#define RGBLIGHT_LED_MAP {2, 0, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16} // Left to Right to Under
diff --git a/keyboards/v60_type_r/info.json b/keyboards/v60_type_r/info.json
index 6332071994..43a3d9472c 100644
--- a/keyboards/v60_type_r/info.json
+++ b/keyboards/v60_type_r/info.json
@@ -18,22 +18,6 @@
"pin": "F7",
"on_state": 0
},
- "rgblight": {
- "driver": "custom",
- "led_count": 1,
- "animations": {
- "breathing": true,
- "rainbow_mood": true,
- "rainbow_swirl": true,
- "snake": true,
- "knight": true,
- "christmas": true,
- "static_gradient": true,
- "rgb_test": true,
- "alternating": true,
- "twinkle": true
- }
- },
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"community_layouts": ["60_ansi", "60_iso"],
diff --git a/keyboards/v60_type_r/rules.mk b/keyboards/v60_type_r/rules.mk
index d6654ffea6..a7f2bc7026 100644
--- a/keyboards/v60_type_r/rules.mk
+++ b/keyboards/v60_type_r/rules.mk
@@ -8,7 +8,7 @@ CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
NKRO_ENABLE = no # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable the RGB Underglow
+RGBLIGHT_ENABLE = no # Enable the RGB Underglow
AUDIO_ENABLE = no # Audio output
LTO_ENABLE = yes
diff --git a/keyboards/v60_type_r/v60_type_r.c b/keyboards/v60_type_r/v60_type_r.c
index 871d9915d3..b266472e64 100644
--- a/keyboards/v60_type_r/v60_type_r.c
+++ b/keyboards/v60_type_r/v60_type_r.c
@@ -131,20 +131,6 @@ void set_rgb_pin_off(uint8_t pin) {
PORTF |= _BV(pin);
}
-void rgblight_set(void) {
- // xprintf("Setting RGB underglow\n");
- if (!rgblight_config.enable) {
- led[0].r = 0;
- led[0].g = 0;
- led[0].b = 0;
- set_rgb_pin_off(RGB_RED_PIN);
- set_rgb_pin_off(RGB_GREEN_PIN);
- set_rgb_pin_off(RGB_BLUE_PIN);
- }
-
- // //xprintf("Red: %u, Green: %u, Blue: %u\n", led[0].r, led[0].g, led[0].b);
-}
-
ISR(TIMER3_COMPA_vect)
{
static uint8_t pwm = 0;
diff --git a/keyboards/w1_at/config.h b/keyboards/w1_at/config.h
deleted file mode 100644
index 79fdc4275f..0000000000
--- a/keyboards/w1_at/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2021 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 <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-/* Ensure we jump to bootloader if the QK_BOOT keycode was pressed */
-#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
diff --git a/keyboards/w1_at/keymaps/default/readme.md b/keyboards/w1_at/keymaps/default/readme.md
deleted file mode 100644
index af0497e720..0000000000
--- a/keyboards/w1_at/keymaps/default/readme.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# The default keymap for W1-AT.
-
-Layer 0
-
-![Layer 0](https://i.imgur.com/pLdgxlJ.png)
-
-Layer 1
-
-![Layer 1](https://i.imgur.com/v24h9EO.png)
diff --git a/keyboards/w1_at/keymaps/via/readme.md b/keyboards/w1_at/keymaps/via/readme.md
deleted file mode 100644
index 33cdf89e60..0000000000
--- a/keyboards/w1_at/keymaps/via/readme.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# The default keymap for W1-AT. VIA support enabled.
-
-Layer 0
-
-![Layer 0](https://i.imgur.com/4bUxnAz.png)
-
-Layer 1
-
-![Layer 1](https://i.imgur.com/v24h9EO.png)
diff --git a/keyboards/w1_at/keymaps/zq/rules.mk b/keyboards/w1_at/keymaps/zq/rules.mk
deleted file mode 100644
index 036bd6d1c3..0000000000
--- a/keyboards/w1_at/keymaps/zq/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/w1_at/rules.mk b/keyboards/w1_at/rules.mk
deleted file mode 100644
index 7c0709f41e..0000000000
--- a/keyboards/w1_at/rules.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-# Wildcard to allow APM32 MCU
-DFU_SUFFIX_ARGS = -v FFFF -p FFFF
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/westfoxtrot/cyclops/keymaps/peippo/config.h b/keyboards/westfoxtrot/cyclops/keymaps/peippo/config.h
deleted file mode 100644
index 6278fae658..0000000000
--- a/keyboards/westfoxtrot/cyclops/keymaps/peippo/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2018 'mechmerlin'
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/work_louder/loop/info.json b/keyboards/work_louder/loop/info.json
index eacbbbccbd..4514192b6d 100644
--- a/keyboards/work_louder/loop/info.json
+++ b/keyboards/work_louder/loop/info.json
@@ -30,6 +30,7 @@
"pin": "F1"
},
"rgblight": {
+ "driver": "custom",
"max_brightness": 120,
"sleep": true,
"animations": {
diff --git a/keyboards/work_louder/micro/info.json b/keyboards/work_louder/micro/info.json
index d76e7aa049..21c4bc0da8 100644
--- a/keyboards/work_louder/micro/info.json
+++ b/keyboards/work_louder/micro/info.json
@@ -21,6 +21,7 @@
},
"processor": "atmega32u4",
"rgblight": {
+ "driver": "custom",
"animations": {
"alternating": false,
"breathing": true,
diff --git a/keyboards/work_louder/nano/info.json b/keyboards/work_louder/nano/info.json
index ab064bd019..7bbdb4e032 100644
--- a/keyboards/work_louder/nano/info.json
+++ b/keyboards/work_louder/nano/info.json
@@ -27,6 +27,7 @@
},
"rgblight": {
"led_count": 6,
+ "driver": "custom",
"max_brightness": 120,
"sleep": true,
"animations": {
diff --git a/keyboards/work_louder/numpad/info.json b/keyboards/work_louder/numpad/info.json
index 0fa2bf2565..9149fc77bb 100644
--- a/keyboards/work_louder/numpad/info.json
+++ b/keyboards/work_louder/numpad/info.json
@@ -50,6 +50,7 @@
]
},
"rgblight": {
+ "driver": "custom",
"animations": {
"breathing": true,
"knight": true,
diff --git a/keyboards/work_louder/rgb_functions.c b/keyboards/work_louder/rgb_functions.c
index b4d1a2ad72..9b39555971 100644
--- a/keyboards/work_louder/rgb_functions.c
+++ b/keyboards/work_louder/rgb_functions.c
@@ -24,9 +24,9 @@
#include "ws2812_bitbang.c"
-void rgblight_call_driver(rgb_led_t *start_led, uint8_t num_leds) {
- ws2812_setleds(start_led, num_leds);
-}
+const rgblight_driver_t rgblight_driver = {
+ .setleds = ws2812_setleds,
+};
#endif
#ifdef RGB_MATRIX_ENABLE
diff --git a/keyboards/work_louder/work_board/info.json b/keyboards/work_louder/work_board/info.json
index 1946b8bcf4..163271bf7a 100644
--- a/keyboards/work_louder/work_board/info.json
+++ b/keyboards/work_louder/work_board/info.json
@@ -25,6 +25,7 @@
"pin": "D1"
},
"rgblight": {
+ "driver": "custom",
"max_brightness": 120,
"sleep": true,
"animations": {
diff --git a/keyboards/xiudi/xd75/keymaps/boy_314/config.h b/keyboards/xiudi/xd75/keymaps/boy_314/config.h
deleted file mode 100644
index 7b9637ef9c..0000000000
--- a/keyboards/xiudi/xd75/keymaps/boy_314/config.h
+++ /dev/null
@@ -1 +0,0 @@
-#pragma once \ No newline at end of file
diff --git a/keyboards/xiudi/xd75/keymaps/bulbizarre/config.h b/keyboards/xiudi/xd75/keymaps/bulbizarre/config.h
deleted file mode 100644
index e6975da8a2..0000000000
--- a/keyboards/xiudi/xd75/keymaps/bulbizarre/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2017 Benjamin Kesselring
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/xiudi/xd75/keymaps/c4software_bepo/config.h b/keyboards/xiudi/xd75/keymaps/c4software_bepo/config.h
deleted file mode 100644
index 6605bbf93f..0000000000
--- a/keyboards/xiudi/xd75/keymaps/c4software_bepo/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2017 Benjamin Kesselring
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-# pragma once
-
-// place overrides here
diff --git a/keyboards/xiudi/xd75/keymaps/c4software_bepo/rules.mk b/keyboards/xiudi/xd75/keymaps/c4software_bepo/rules.mk
deleted file mode 100644
index 7efceba50a..0000000000
--- a/keyboards/xiudi/xd75/keymaps/c4software_bepo/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 2013 Jun Wako <wakojun@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 <http://www.gnu.org/licenses/>.
diff --git a/keyboards/xiudi/xd75/keymaps/developper_bepo/config.h b/keyboards/xiudi/xd75/keymaps/developper_bepo/config.h
deleted file mode 100644
index 0183e02427..0000000000
--- a/keyboards/xiudi/xd75/keymaps/developper_bepo/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2017 Quentin Lebastard
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/xiudi/xd75/keymaps/developper_bepo/rules.mk b/keyboards/xiudi/xd75/keymaps/developper_bepo/rules.mk
deleted file mode 100644
index 7efceba50a..0000000000
--- a/keyboards/xiudi/xd75/keymaps/developper_bepo/rules.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 2013 Jun Wako <wakojun@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 <http://www.gnu.org/licenses/>.
diff --git a/keyboards/xiudi/xd75/keymaps/dyn_macro_tap_dance/config.h b/keyboards/xiudi/xd75/keymaps/dyn_macro_tap_dance/config.h
deleted file mode 100644
index e6975da8a2..0000000000
--- a/keyboards/xiudi/xd75/keymaps/dyn_macro_tap_dance/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2017 Benjamin Kesselring
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/xiudi/xd75/keymaps/fabian/config.h b/keyboards/xiudi/xd75/keymaps/fabian/config.h
deleted file mode 100644
index a72596783d..0000000000
--- a/keyboards/xiudi/xd75/keymaps/fabian/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2017 REPLACE_WITH_YOUR_NAME
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/xiudi/xd75/keymaps/french/config.h b/keyboards/xiudi/xd75/keymaps/french/config.h
deleted file mode 100644
index e6975da8a2..0000000000
--- a/keyboards/xiudi/xd75/keymaps/french/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2017 Benjamin Kesselring
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/xiudi/xd75/keymaps/kloki/config.h b/keyboards/xiudi/xd75/keymaps/kloki/config.h
deleted file mode 100644
index e6975da8a2..0000000000
--- a/keyboards/xiudi/xd75/keymaps/kloki/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2017 Benjamin Kesselring
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/xiudi/xd75/keymaps/kloki/rules.mk b/keyboards/xiudi/xd75/keymaps/kloki/rules.mk
deleted file mode 100644
index 52a8f38d45..0000000000
--- a/keyboards/xiudi/xd75/keymaps/kloki/rules.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 2013 Jun Wako <wakojun@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 <http://www.gnu.org/licenses/>.
-
diff --git a/keyboards/xiudi/xd75/keymaps/msiu/config.h b/keyboards/xiudi/xd75/keymaps/msiu/config.h
deleted file mode 100644
index 4fbd59becc..0000000000
--- a/keyboards/xiudi/xd75/keymaps/msiu/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2017 Benjamin Kesselring
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-// place overrides here
diff --git a/keyboards/xiudi/xd75/keymaps/pitty/config.h b/keyboards/xiudi/xd75/keymaps/pitty/config.h
deleted file mode 100644
index e6975da8a2..0000000000
--- a/keyboards/xiudi/xd75/keymaps/pitty/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2017 Benjamin Kesselring
- *
- * 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 <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-// place overrides here
diff --git a/keyboards/xiudi/xd75/keymaps/pitty/rules.mk b/keyboards/xiudi/xd75/keymaps/pitty/rules.mk
deleted file mode 100644
index 52a8f38d45..0000000000
--- a/keyboards/xiudi/xd75/keymaps/pitty/rules.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 2013 Jun Wako <wakojun@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 <http://www.gnu.org/licenses/>.
-
diff --git a/keyboards/xiudi/xd75/keymaps/skewwhiffy/rules.mk b/keyboards/xiudi/xd75/keymaps/skewwhiffy/rules.mk
deleted file mode 100644
index 52a8f38d45..0000000000
--- a/keyboards/xiudi/xd75/keymaps/skewwhiffy/rules.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 2013 Jun Wako <wakojun@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 <http://www.gnu.org/licenses/>.
-
diff --git a/keyboards/yosino58/keymaps/default/config.h b/keyboards/yosino58/keymaps/default/config.h
index 763b31aa10..e82254fff1 100644
--- a/keyboards/yosino58/keymaps/default/config.h
+++ b/keyboards/yosino58/keymaps/default/config.h
@@ -29,7 +29,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define QUICK_TAP_TERM 0
#define TAPPING_TERM 100
-#undef RGBLED_NUM
+#undef RGBLIGHT_LED_COUNT
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
@@ -40,7 +40,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLED_NUM 12
+#define RGBLIGHT_LED_COUNT 12
#define RGBLIGHT_LIMIT_VAL 120
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17