aboutsummaryrefslogtreecommitdiff
path: root/keyboards
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards')
-rw-r--r--keyboards/0xcb/1337/1337.c27
-rw-r--r--keyboards/0xcb/1337/keyboard.json3
-rw-r--r--keyboards/40percentclub/ut47/ut47.c2
-rw-r--r--keyboards/acheron/athena/alpha/alpha.c2
-rw-r--r--keyboards/acheron/austin/austin.c18
-rwxr-xr-xkeyboards/acheron/austin/keyboard.json5
-rwxr-xr-xkeyboards/acheron/elongate/delta/delta.c2
-rw-r--r--keyboards/aeboards/ext65/rev1/keyboard.json5
-rw-r--r--keyboards/aeboards/ext65/rev1/rev1.c19
-rw-r--r--keyboards/aeboards/ext65/rev2/keyboard.json5
-rw-r--r--keyboards/aeboards/ext65/rev2/rev2.c15
-rw-r--r--keyboards/aeboards/ext65/rev3/rev3.c4
-rw-r--r--keyboards/afternoonlabs/breeze/rev0/keyboard.json3
-rw-r--r--keyboards/afternoonlabs/breeze/rev1/keyboard.json3
-rw-r--r--keyboards/afternoonlabs/oceanbreeze/rev1/keyboard.json3
-rw-r--r--keyboards/afternoonlabs/southern_breeze/rev1/keyboard.json3
-rw-r--r--keyboards/afternoonlabs/summer_breeze/rev1/config.h19
-rw-r--r--keyboards/afternoonlabs/summer_breeze/rev1/keyboard.json3
-rw-r--r--keyboards/ai03/altair/keyboard.json3
-rw-r--r--keyboards/ai03/altair/rules.mk1
-rw-r--r--keyboards/ai03/altair_x/keyboard.json3
-rw-r--r--keyboards/ai03/altair_x/rules.mk1
-rw-r--r--keyboards/ai03/orbit/config.h38
-rw-r--r--keyboards/ai03/orbit/keyboard.json3
-rw-r--r--keyboards/ai03/orbit_x/config.h1
-rw-r--r--keyboards/ai03/orbit_x/keyboard.json3
-rw-r--r--keyboards/ai03/vega/keyboard.json5
-rw-r--r--keyboards/ai03/vega/vega.c37
-rw-r--r--keyboards/aidansmithdotdev/sango/keyboard.json3
-rw-r--r--keyboards/aidansmithdotdev/sango/rules.mk1
-rw-r--r--keyboards/argyle/matrix.c12
-rw-r--r--keyboards/arrowmechanics/wings/keyboard.json3
-rw-r--r--keyboards/arrowmechanics/wings/rules.mk1
-rw-r--r--keyboards/atreus/astar_mirrored/config.h19
-rw-r--r--keyboards/atreus/atreus.h51
-rw-r--r--keyboards/atreus/feather/config.h19
-rw-r--r--keyboards/atreus/info.json142
-rw-r--r--keyboards/atreus/keymaps/default/keymap.c6
-rw-r--r--keyboards/atreus/keymaps/via/keymap.c8
-rw-r--r--keyboards/atreus/keymaps/workman/config.h1
-rw-r--r--keyboards/atreus/keymaps/workman/keymap.c6
-rw-r--r--keyboards/atreus/promicro/keyboard.json3
-rw-r--r--keyboards/aya/config.h1
-rw-r--r--keyboards/aya/keyboard.json5
-rw-r--r--keyboards/bastardkb/tbk/config.h20
-rw-r--r--keyboards/bastardkb/tbk/keyboard.json111
-rw-r--r--keyboards/bastardkb/tbk/keymaps/default/keymap.c60
-rw-r--r--keyboards/bastardkb/tbk/readme.md22
-rw-r--r--keyboards/bear_face/info.json19
-rw-r--r--keyboards/bear_face/rules.mk1
-rw-r--r--keyboards/bear_face/v1/keyboard.json6
-rw-r--r--keyboards/bear_face/v1/keymaps/default/keymap.c32
-rw-r--r--keyboards/bear_face/v1/v1.c34
-rw-r--r--keyboards/bear_face/v2/keyboard.json100
-rw-r--r--keyboards/bear_face/v2/keymaps/default/keymap.c22
-rw-r--r--keyboards/bear_face/v2/keymaps/default/readme.md4
-rw-r--r--keyboards/bear_face/v2/keymaps/default_iso/keymap.c22
-rw-r--r--keyboards/bear_face/v2/v2.c34
-rw-r--r--keyboards/bear_face/v3/keyboard.json287
-rw-r--r--keyboards/bear_face/v3/keymaps/default/keymap.c92
-rw-r--r--keyboards/bear_face/v3/keymaps/default/readme.md18
-rw-r--r--keyboards/bear_face/v3/keymaps/default_iso/keymap.c92
-rw-r--r--keyboards/bear_face/v3/keymaps/default_iso/readme.md18
-rw-r--r--keyboards/beekeeb/piantor/keyboard.json3
-rw-r--r--keyboards/beekeeb/piantor/rules.mk1
-rw-r--r--keyboards/beekeeb/piantor_pro/keyboard.json5
-rw-r--r--keyboards/beekeeb/piantor_pro/rules.mk1
-rw-r--r--keyboards/bioi/g60/g60.c28
-rw-r--r--keyboards/bioi/g60/keyboard.json4
-rw-r--r--keyboards/bioi/morgan65/keyboard.json4
-rw-r--r--keyboards/bioi/morgan65/morgan65.c28
-rw-r--r--keyboards/bioi/s65/keyboard.json4
-rw-r--r--keyboards/bioi/s65/s65.c27
-rw-r--r--keyboards/boardsource/lib/oled.c20
-rw-r--r--keyboards/boardsource/lib/oled.h (renamed from keyboards/boardsource/unicorne/unicorne.h)95
-rw-r--r--keyboards/boardsource/lulu/avr/rules.mk1
-rw-r--r--keyboards/boardsource/lulu/lulu.c222
-rw-r--r--keyboards/boardsource/lulu/rp2040/keyboard.json5
-rw-r--r--keyboards/boardsource/lulu/rp2040/rules.mk2
-rw-r--r--keyboards/boardsource/the_q/keyboard.json142
-rw-r--r--keyboards/boardsource/the_q/keymaps/default/keymap.json25
-rw-r--r--keyboards/boardsource/the_q/keymaps/via/keymap.json30
-rw-r--r--keyboards/boardsource/the_q/readme.md23
-rw-r--r--keyboards/boardsource/the_q/rules.mk1
-rw-r--r--keyboards/boardsource/the_q/the_q.c14
-rw-r--r--keyboards/boardsource/unicorne/keyboard.json3
-rw-r--r--keyboards/boardsource/unicorne/rules.mk2
-rw-r--r--keyboards/boardsource/unicorne/unicorne.c22
-rw-r--r--keyboards/boston_meetup/2019/config.h2
-rw-r--r--keyboards/budgy/keyboard.json3
-rw-r--r--keyboards/budgy/rules.mk1
-rw-r--r--keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c6
-rw-r--r--keyboards/cantor/keyboard.json3
-rw-r--r--keyboards/cantor/rules.mk1
-rw-r--r--keyboards/cheshire/curiosity/curiosity.c17
-rw-r--r--keyboards/cheshire/curiosity/keyboard.json6
-rw-r--r--keyboards/chew/config.h1
-rw-r--r--keyboards/chew/keyboard.json4
-rw-r--r--keyboards/chew/rules.mk1
-rw-r--r--keyboards/cipulot/ec_980c/ec_980c.c4
-rw-r--r--keyboards/cipulot/ec_typek/ec_typek.c6
-rw-r--r--keyboards/clueboard/2x1800/2019/2019.c19
-rw-r--r--keyboards/clueboard/2x1800/2019/2019.h3
-rw-r--r--keyboards/clueboard/2x1800/2019/keyboard.json6
-rw-r--r--keyboards/clueboard/2x1800/2021/2021.c9
-rw-r--r--keyboards/clueboard/66_hotswap/gen1/gen1.c30
-rw-r--r--keyboards/clueboard/66_hotswap/gen1/keyboard.json73
-rw-r--r--keyboards/controllerworks/mini36/keyboard.json3
-rw-r--r--keyboards/controllerworks/mini36/rules.mk1
-rw-r--r--keyboards/controllerworks/mini42/keyboard.json3
-rw-r--r--keyboards/controllerworks/mini42/rules.mk1
-rw-r--r--keyboards/converter/ibm_terminal/led.c22
-rw-r--r--keyboards/converter/usb_usb/custom_matrix.cpp1
-rw-r--r--keyboards/converter/xmk/xmk.c2
-rw-r--r--keyboards/dailycraft/wings42/rev2/keymaps/via/config.h4
-rwxr-xr-xkeyboards/dichotomy/keymaps/default/keymap.c16
-rw-r--r--keyboards/dnworks/tkl87/config.h (renamed from keyboards/dnworks/9973/config.h)0
-rw-r--r--keyboards/dnworks/tkl87/keyboard.json (renamed from keyboards/dnworks/9973/keyboard.json)2
-rw-r--r--keyboards/dnworks/tkl87/keymaps/default/keymap.c (renamed from keyboards/dnworks/9973/keymaps/default/keymap.c)0
-rw-r--r--keyboards/dnworks/tkl87/keymaps/via/keymap.c (renamed from keyboards/dnworks/9973/keymaps/via/keymap.c)0
-rw-r--r--keyboards/dnworks/tkl87/keymaps/via/rules.mk (renamed from keyboards/dnworks/9973/keymaps/via/rules.mk)0
-rw-r--r--keyboards/dnworks/tkl87/readme.md (renamed from keyboards/dnworks/9973/readme.md)16
-rw-r--r--keyboards/doio/kb30/config.h2
-rw-r--r--keyboards/doio/kb30/kb30.c28
-rw-r--r--keyboards/doio/kb30/keyboard.json45
-rw-r--r--keyboards/doppelganger/config.h38
-rw-r--r--keyboards/doppelganger/doppelganger.c14
-rw-r--r--keyboards/doppelganger/keyboard.json7
-rw-r--r--keyboards/duck/orion/v3/keyboard.json6
-rw-r--r--keyboards/duck/orion/v3/matrix.c13
-rw-r--r--keyboards/duck/orion/v3/v3.c39
-rw-r--r--keyboards/durgod/k310/k310.c2
-rw-r--r--keyboards/durgod/k320/k320.c2
-rw-r--r--keyboards/dztech/bocc/bocc.c29
-rw-r--r--keyboards/dztech/bocc/keyboard.json4
-rw-r--r--keyboards/ealdin/quadrant/keyboard.json3
-rw-r--r--keyboards/ealdin/quadrant/quadrant.c13
-rw-r--r--keyboards/elcantorhs/keyboard.json3
-rw-r--r--keyboards/elcantorhs/rules.mk1
-rw-r--r--keyboards/enviousdesign/commissions/mini1800/mini1800.c18
-rw-r--r--keyboards/era/sirind/tomak/config.h1
-rw-r--r--keyboards/era/sirind/tomak/keyboard.json6
-rw-r--r--keyboards/era/sirind/tomak/rules.mk1
-rw-r--r--keyboards/evyd13/gh80_3700/gh80_3700.c14
-rw-r--r--keyboards/evyd13/gh80_3700/keyboard.json4
-rw-r--r--keyboards/evyd13/gud70/gud70.c2
-rw-r--r--keyboards/exclusive/e6_rgb/e6_rgb.c4
-rw-r--r--keyboards/exclusive/e85/hotswap/hotswap.c32
-rw-r--r--keyboards/exclusive/e85/hotswap/keyboard.json4
-rw-r--r--keyboards/exclusive/e85/soldered/keyboard.json4
-rw-r--r--keyboards/exclusive/e85/soldered/soldered.c32
-rw-r--r--keyboards/ferris/0_2/bling/bling.c37
-rw-r--r--keyboards/ferris/0_2/bling/config.h2
-rw-r--r--keyboards/ferris/0_2/bling/keyboard.json18
-rw-r--r--keyboards/fjlabs/bolsa65/bolsa65.c28
-rw-r--r--keyboards/fjlabs/bolsa65/keyboard.json3
-rw-r--r--keyboards/flx/virgo/keyboard.json5
-rw-r--r--keyboards/flx/virgo/virgo.c34
-rw-r--r--keyboards/ghs/rar/keyboard.json4
-rw-r--r--keyboards/ghs/rar/rar.c36
-rw-r--r--keyboards/gmmk/numpad/matrix.c16
-rw-r--r--keyboards/gray_studio/think65/solder/keyboard.json4
-rw-r--r--keyboards/gray_studio/think65/solder/solder.c36
-rw-r--r--keyboards/gregandcin/teaqueen/keyboard.json5
-rw-r--r--keyboards/gregandcin/teaqueen/rules.mk1
-rw-r--r--keyboards/halfcliff/matrix.c20
-rw-r--r--keyboards/handwired/aek64/aek64.c13
-rw-r--r--keyboards/handwired/alcor_dactyl/keyboard.json5
-rw-r--r--keyboards/handwired/alcor_dactyl/rules.mk1
-rw-r--r--keyboards/handwired/battleship_gamepad/battleship_gamepad.c8
-rw-r--r--keyboards/handwired/battleship_gamepad/config.h21
-rw-r--r--keyboards/handwired/battleship_gamepad/keyboard.json8
-rw-r--r--keyboards/handwired/battleship_gamepad/rules.mk1
-rw-r--r--keyboards/handwired/bento/rev1/config.h18
-rw-r--r--keyboards/handwired/bento/rev1/rev1.c28
-rw-r--r--keyboards/handwired/chiron/config.h21
-rw-r--r--keyboards/handwired/chiron/keyboard.json3
-rw-r--r--keyboards/handwired/colorlice/colorlice.c15
-rw-r--r--keyboards/handwired/colorlice/keyboard.json6
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/config.h1
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/keyboard.json6
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/rules.mk3
-rw-r--r--keyboards/handwired/evk/v1_3/v1_3.c9
-rw-r--r--keyboards/handwired/jankrp2040dactyl/keyboard.json5
-rw-r--r--keyboards/handwired/jankrp2040dactyl/rules.mk1
-rw-r--r--keyboards/handwired/jtallbean/split_65/config.h36
-rw-r--r--keyboards/handwired/jtallbean/split_65/keyboard.json6
-rw-r--r--keyboards/handwired/jtallbean/split_65/split_65.c43
-rw-r--r--keyboards/handwired/prime_exl_plus/keyboard.json4
-rw-r--r--keyboards/handwired/prime_exl_plus/prime_exl_plus.c19
-rw-r--r--keyboards/handwired/retro_refit/keyboard.json6
-rw-r--r--keyboards/handwired/retro_refit/retro_refit.c12
-rw-r--r--keyboards/handwired/riblee_split/config.h3
-rw-r--r--keyboards/handwired/riblee_split/keyboard.json6
-rw-r--r--keyboards/handwired/riblee_split/rules.mk1
-rw-r--r--keyboards/handwired/selene/keyboard.json5
-rw-r--r--keyboards/handwired/selene/selene.c20
-rw-r--r--keyboards/handwired/selene/selene.h23
-rw-r--r--keyboards/handwired/sick68/keymaps/via/config.h4
-rw-r--r--keyboards/handwired/split65/stm32/keyboard.json5
-rw-r--r--keyboards/handwired/split65/stm32/rules.mk1
-rw-r--r--keyboards/handwired/split89/config.h36
-rw-r--r--keyboards/handwired/split89/keyboard.json3
-rw-r--r--keyboards/handwired/splittest/bluepill/config.h2
-rw-r--r--keyboards/handwired/splittest/bluepill/keyboard.json5
-rw-r--r--keyboards/handwired/splittest/promicro/config.h3
-rw-r--r--keyboards/handwired/splittest/promicro/keyboard.json3
-rw-r--r--keyboards/handwired/splittest/teensy_2/config.h3
-rw-r--r--keyboards/handwired/splittest/teensy_2/keyboard.json3
-rw-r--r--keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c20
-rw-r--r--keyboards/handwired/tractyl_manuform/4x6_right/config.h1
-rw-r--r--keyboards/handwired/tractyl_manuform/4x6_right/keyboard.json3
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/f303/config.h1
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/f303/keyboard.json8
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/f303/rules.mk3
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h1
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/f411/keyboard.json8
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk2
-rw-r--r--keyboards/handwired/z150/config.h38
-rw-r--r--keyboards/handwired/z150/keyboard.json6
-rw-r--r--keyboards/handwired/z150/z150.c39
-rw-r--r--keyboards/heliar/wm1_hotswap/keyboard.json6
-rw-r--r--keyboards/heliar/wm1_hotswap/wm1_hotswap.c39
-rw-r--r--keyboards/hineybush/h10/h10.c34
-rw-r--r--keyboards/hineybush/h10/keyboard.json4
-rw-r--r--keyboards/hineybush/h60/h60.c31
-rw-r--r--keyboards/hineybush/h60/keyboard.json4
-rw-r--r--keyboards/hineybush/h660s/config.h (renamed from keyboards/afternoonlabs/breeze/rev0/config.h)5
-rw-r--r--keyboards/hineybush/h660s/h660s.c27
-rw-r--r--keyboards/hineybush/h660s/keyboard.json3
-rw-r--r--keyboards/hineybush/h75_singa/config.h (renamed from keyboards/afternoonlabs/oceanbreeze/rev1/config.h)5
-rw-r--r--keyboards/hineybush/h75_singa/h75_singa.c26
-rw-r--r--keyboards/hineybush/h75_singa/keyboard.json3
-rw-r--r--keyboards/hineybush/h87a/config.h (renamed from keyboards/afternoonlabs/breeze/rev1/config.h)5
-rw-r--r--keyboards/hineybush/h87a/h87a.c41
-rw-r--r--keyboards/hineybush/h87a/keyboard.json8
-rw-r--r--keyboards/hineybush/h88/config.h18
-rw-r--r--keyboards/hineybush/h88/h88.c41
-rw-r--r--keyboards/hineybush/h88/keyboard.json8
-rw-r--r--keyboards/hineybush/hbcp/config.h2
-rw-r--r--keyboards/hineybush/hbcp/hbcp.c9
-rw-r--r--keyboards/hineybush/hbcp/keyboard.json3
-rw-r--r--keyboards/hineybush/physix/keyboard.json4
-rw-r--r--keyboards/hineybush/physix/physix.c49
-rw-r--r--keyboards/horrortroll/handwired_k552/config.h2
-rw-r--r--keyboards/ibm/model_m/ashpil_usbc/ashpil_usbc.c36
-rw-r--r--keyboards/ibm/model_m/ashpil_usbc/keyboard.json6
-rw-r--r--keyboards/ibm/model_m/mschwingen/mschwingen.c2
-rw-r--r--keyboards/ibm/model_m/teensypp/keyboard.json6
-rw-r--r--keyboards/ibm/model_m/teensypp/teensypp.c36
-rw-r--r--keyboards/ibm/model_m/yugo_m/keyboard.json6
-rw-r--r--keyboards/ibm/model_m/yugo_m/yugo_m.c35
-rw-r--r--keyboards/idb/idb_60/idb_60.c2
-rw-r--r--keyboards/ilumkb/volcano660/keyboard.json6
-rw-r--r--keyboards/ilumkb/volcano660/volcano660.c34
-rw-r--r--keyboards/inett_studio/sqx/hotswap/hotswap.c4
-rw-r--r--keyboards/inett_studio/sqx/universal/universal.c4
-rw-r--r--keyboards/input_club/ergodox_infinity/ergodox_infinity.c66
-rw-r--r--keyboards/input_club/ergodox_infinity/keyboard.json83
-rw-r--r--keyboards/input_club/ergodox_infinity/rules.mk1
-rw-r--r--keyboards/input_club/infinity60/led/keyboard.json94
-rw-r--r--keyboards/input_club/whitefox/keyboard.json77
-rw-r--r--keyboards/input_club/whitefox/whitefox.c35
-rw-r--r--keyboards/jae/j01/j01.c38
-rw-r--r--keyboards/jae/j01/keyboard.json4
-rw-r--r--keyboards/janus/keyboard.json5
-rw-r--r--keyboards/janus/rules.mk1
-rw-r--r--keyboards/jaykeeb/kamigakushi/rules.mk1
-rw-r--r--keyboards/jels/jels88/jels88.c38
-rw-r--r--keyboards/jels/jels88/keyboard.json4
-rw-r--r--keyboards/jian/rev2/config.h1
-rw-r--r--keyboards/jian/rev2/keyboard.json3
-rw-r--r--keyboards/jukaie/jk01/jk01.c8
-rw-r--r--keyboards/junco/rev1/keyboard.json3
-rw-r--r--keyboards/junco/rev1/rules.mk1
-rw-r--r--keyboards/kabedon/kabedon980/kabedon980.c8
-rw-r--r--keyboards/kabedon/kabedon980/keyboard.json4
-rw-r--r--keyboards/kakunpc/suihankey/split/alpha/config.h2
-rw-r--r--keyboards/kakunpc/suihankey/split/info.json3
-rw-r--r--keyboards/kakunpc/suihankey/split/rev1/config.h2
-rw-r--r--keyboards/kaly/kaly42/keyboard.json3
-rw-r--r--keyboards/kaly/kaly42/rules.mk1
-rw-r--r--keyboards/kapcave/gskt00/keymaps/default-poly/config.h4
-rw-r--r--keyboards/karn/keyboard.json5
-rw-r--r--keyboards/karn/rules.mk1
-rw-r--r--keyboards/kbdfans/bella/soldered/keyboard.json4
-rwxr-xr-xkeyboards/kbdfans/bella/soldered/soldered.c28
-rw-r--r--keyboards/kbdfans/maja_soldered/keyboard.json4
-rwxr-xr-xkeyboards/kbdfans/maja_soldered/maja_soldered.c29
-rw-r--r--keyboards/kbdfans/phaseone/phaseone.c2
-rw-r--r--keyboards/kc60se/kc60se.c30
-rw-r--r--keyboards/kc60se/keyboard.json4
-rw-r--r--keyboards/keebio/cepstrum/rev1/config.h2
-rw-r--r--keyboards/keebio/cepstrum/rev1/keyboard.json6
-rw-r--r--keyboards/keebio/cepstrum/rev1/rules.mk1
-rw-r--r--keyboards/keebio/chiri_ce/rev1/keyboard.json3
-rw-r--r--keyboards/keebio/chiri_ce/rev1/rules.mk1
-rw-r--r--keyboards/keebio/foldkb/rev1/config.h2
-rw-r--r--keyboards/keebio/foldkb/rev1/keyboard.json3
-rw-r--r--keyboards/keebio/fourier/config.h38
-rw-r--r--keyboards/keebio/fourier/keyboard.json3
-rw-r--r--keyboards/keebio/iris/keymaps/dvorak/config.h38
-rw-r--r--keyboards/keebio/iris/keymaps/dvorak/keebio_iris_rev2_layout_dvorak.json192
-rw-r--r--keyboards/keebio/iris/keymaps/dvorak/keymap.c73
-rw-r--r--keyboards/keebio/iris/keymaps/dvorak/readme.md16
-rw-r--r--keyboards/keebio/iris/keymaps/dvorak/rules.mk2
-rw-r--r--keyboards/keebio/iris/rev3/config.h20
-rw-r--r--keyboards/keebio/iris/rev3/keyboard.json3
-rw-r--r--keyboards/keebio/iris/rev4/config.h20
-rw-r--r--keyboards/keebio/iris/rev4/keyboard.json3
-rw-r--r--keyboards/keebio/iris/rev5/config.h2
-rw-r--r--keyboards/keebio/iris/rev5/keyboard.json3
-rw-r--r--keyboards/keebio/iris/rev6/config.h2
-rw-r--r--keyboards/keebio/iris/rev6/keyboard.json3
-rw-r--r--keyboards/keebio/iris/rev7/config.h2
-rw-r--r--keyboards/keebio/iris/rev7/keyboard.json3
-rw-r--r--keyboards/keebio/iris/rev8/config.h2
-rw-r--r--keyboards/keebio/iris/rev8/keyboard.json6
-rw-r--r--keyboards/keebio/iris/rev8/rules.mk1
-rw-r--r--keyboards/keebio/iris_ce/rev1/config.h1
-rw-r--r--keyboards/keebio/iris_ce/rev1/keyboard.json6
-rw-r--r--keyboards/keebio/iris_ce/rev1/rules.mk1
-rw-r--r--keyboards/keebio/irispad/rev8/rules.mk1
-rw-r--r--keyboards/keebio/kbo5000/rev1/config.h2
-rw-r--r--keyboards/keebio/kbo5000/rev1/keyboard.json3
-rw-r--r--keyboards/keebio/levinson/rev3/config.h22
-rw-r--r--keyboards/keebio/levinson/rev3/keyboard.json3
-rw-r--r--keyboards/keebio/nyquist/rev3/config.h36
-rw-r--r--keyboards/keebio/nyquist/rev3/keyboard.json3
-rw-r--r--keyboards/keebio/nyquist/rev4/config.h2
-rw-r--r--keyboards/keebio/nyquist/rev4/keyboard.json6
-rw-r--r--keyboards/keebio/nyquist/rev4/rules.mk1
-rw-r--r--keyboards/keebio/nyquist/rev5/keyboard.json3
-rw-r--r--keyboards/keebio/nyquist/rev5/rules.mk1
-rw-r--r--keyboards/keebio/quefrency/rev1/config.h21
-rw-r--r--keyboards/keebio/quefrency/rev1/keyboard.json3
-rw-r--r--keyboards/keebio/quefrency/rev2/config.h2
-rw-r--r--keyboards/keebio/quefrency/rev2/keyboard.json3
-rw-r--r--keyboards/keebio/quefrency/rev3/config.h2
-rw-r--r--keyboards/keebio/quefrency/rev3/keyboard.json3
-rw-r--r--keyboards/keebio/quefrency/rev4/config.h2
-rw-r--r--keyboards/keebio/quefrency/rev4/keyboard.json3
-rw-r--r--keyboards/keebio/quefrency/rev5/config.h2
-rw-r--r--keyboards/keebio/quefrency/rev5/keyboard.json3
-rw-r--r--keyboards/keebio/sinc/rev1/config.h3
-rw-r--r--keyboards/keebio/sinc/rev1/keyboard.json6
-rw-r--r--keyboards/keebio/sinc/rev2/config.h3
-rw-r--r--keyboards/keebio/sinc/rev2/keyboard.json6
-rw-r--r--keyboards/keebio/sinc/rev3/config.h2
-rw-r--r--keyboards/keebio/sinc/rev3/keyboard.json6
-rw-r--r--keyboards/keebio/sinc/rev3/rules.mk1
-rw-r--r--keyboards/keebio/sinc/rev4/config.h2
-rw-r--r--keyboards/keebio/sinc/rev4/keyboard.json6
-rw-r--r--keyboards/keebio/sinc/rev4/rules.mk1
-rw-r--r--keyboards/keebio/sinc/sinc.c9
-rw-r--r--keyboards/keebio/viterbi/rev2/config.h20
-rw-r--r--keyboards/keebio/viterbi/rev2/keyboard.json3
-rw-r--r--keyboards/keycapsss/3w6_2040/keyboard.json3
-rw-r--r--keyboards/keycapsss/3w6_2040/rules.mk1
-rw-r--r--keyboards/keychron/c1_pro/ansi/white/keyboard.json6
-rw-r--r--keyboards/keychron/c2_pro/ansi/white/keyboard.json8
-rw-r--r--keyboards/keychron/c2_pro/matrix.c18
-rw-r--r--keyboards/keychron/q10/matrix.c50
-rw-r--r--keyboards/keychron/q11/ansi_encoder/rules.mk1
-rwxr-xr-xkeyboards/keychron/q11/config.h3
-rwxr-xr-xkeyboards/keychron/q11/info.json4
-rwxr-xr-xkeyboards/keychron/q11/iso_encoder/rules.mk1
-rw-r--r--keyboards/keychron/q12/matrix.c50
-rw-r--r--keyboards/keychron/q1v2/matrix.c42
-rw-r--r--keyboards/keychron/q3/matrix.c42
-rw-r--r--keyboards/keychron/q5/matrix.c50
-rw-r--r--keyboards/keychron/q6/matrix.c50
-rw-r--r--keyboards/keychron/q65/matrix.c22
-rw-r--r--keyboards/keychron/s1/ansi/white/keyboard.json86
-rw-r--r--keyboards/keychron/s1/ansi/white/white.c35
-rw-r--r--keyboards/keychron/v1/matrix.c18
-rw-r--r--keyboards/keychron/v10/matrix.c18
-rw-r--r--keyboards/keychron/v3/matrix.c18
-rw-r--r--keyboards/keychron/v5/matrix.c18
-rw-r--r--keyboards/keychron/v6/matrix.c18
-rw-r--r--keyboards/kkatano/wallaby/keyboard.json4
-rw-r--r--keyboards/kkatano/wallaby/wallaby.c25
-rw-r--r--keyboards/kkatano/yurei/keyboard.json4
-rw-r--r--keyboards/kkatano/yurei/yurei.c25
-rw-r--r--keyboards/kopibeng/mnk88/mnk88.c36
-rw-r--r--keyboards/kopibeng/xt8x/xt8x.c15
-rw-r--r--keyboards/kumaokobo/kudox_full/kudox_full.c6
-rw-r--r--keyboards/kumaokobo/kudox_full/rev1/keyboard.json3
-rw-r--r--keyboards/maple_computing/lets_split_eh/config.h (renamed from keyboards/maple_computing/lets_split_eh/eh/config.h)3
-rw-r--r--keyboards/maple_computing/lets_split_eh/eh/rules.mk2
-rw-r--r--keyboards/maple_computing/lets_split_eh/keyboard.json (renamed from keyboards/maple_computing/lets_split_eh/eh/keyboard.json)6
-rw-r--r--keyboards/maple_computing/lets_split_eh/lets_split_eh.c (renamed from keyboards/maple_computing/lets_split_eh/eh/eh.c)0
-rw-r--r--keyboards/maple_computing/lets_split_eh/readme.md2
-rw-r--r--keyboards/maple_computing/lets_split_eh/rules.mk3
-rw-r--r--keyboards/marksard/leftover30/keyboard.json4
-rw-r--r--keyboards/marksard/leftover30/leftover30.c37
-rw-r--r--keyboards/masterworks/classy_tkl/rev_a/keyboard.json4
-rw-r--r--keyboards/masterworks/classy_tkl/rev_a/rev_a.c42
-rw-r--r--keyboards/matrix/cain_re/cain_re.c40
-rw-r--r--keyboards/matrix/cain_re/config.h24
-rw-r--r--keyboards/matrix/cain_re/keyboard.json5
-rw-r--r--keyboards/matrix/falcon/falcon.c1
-rw-r--r--keyboards/matrix/m12og/rev2/keyboard.json6
-rw-r--r--keyboards/matrix/m12og/rev2/rev2.c23
-rw-r--r--keyboards/mc_76k/keyboard.json4
-rw-r--r--keyboards/mc_76k/mc_76k.c34
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c4
-rw-r--r--keyboards/mechlovin/hannah60rgb/rev2/rev2.c4
-rw-r--r--keyboards/mechlovin/kay65/kay65.c6
-rw-r--r--keyboards/mechlovin/olly/jf/rev2/keyboard.json227
-rw-r--r--keyboards/mechlovin/olly/jf/rev2/rev2.c2
-rw-r--r--keyboards/mechlovin/zed1800/zed1800.c12
-rw-r--r--keyboards/mechlovin/zed65/mono_led/keyboard.json76
-rw-r--r--keyboards/mechlovin/zed65/mono_led/mono_led.c26
-rw-r--r--keyboards/mechlovin/zed65/no_backlight/wearhaus66/wearhaus66.c5
-rw-r--r--keyboards/meetlab/kafkasplit/keyboard.json3
-rw-r--r--keyboards/meetlab/kafkasplit/rules.mk1
-rw-r--r--keyboards/mixi/config.h2
-rw-r--r--keyboards/mixi/mixi.c14
-rw-r--r--keyboards/mlego/m60_split/rev1/config.h2
-rw-r--r--keyboards/mlego/m60_split/rev1/keyboard.json7
-rw-r--r--keyboards/mlego/m60_split/rev1/rules.mk1
-rw-r--r--keyboards/mlego/m60_split/rev2/config.h3
-rw-r--r--keyboards/mlego/m60_split/rev2/keyboard.json7
-rw-r--r--keyboards/mlego/m60_split/rev2/rules.mk1
-rw-r--r--keyboards/mode/m256wh/config.h2
-rw-r--r--keyboards/mode/m256wh/keymaps/via/config.h (renamed from keyboards/punk75/config.h)4
-rw-r--r--keyboards/mode/m256wh/keymaps/via/keymap.c132
-rw-r--r--keyboards/mode/m256wh/m256wh.c154
-rw-r--r--keyboards/mode/m256ws/config.h2
-rw-r--r--keyboards/mode/m256ws/keymaps/via/config.h (renamed from keyboards/recompile_keys/choco60/rev1/config.h)4
-rw-r--r--keyboards/mode/m256ws/keymaps/via/keymap.c132
-rw-r--r--keyboards/mode/m256ws/m256ws.c153
-rw-r--r--keyboards/monsgeek/m3/m3.c2
-rw-r--r--keyboards/mt/mt84/config.h18
-rw-r--r--keyboards/mt/mt84/keyboard.json1
-rw-r--r--keyboards/mt/mt84/keymaps/default/keymap.c18
-rw-r--r--keyboards/mt/mt84/keymaps/via/keymap.c18
-rw-r--r--keyboards/mt/mt84/mt84.c18
-rw-r--r--keyboards/nacly/sodium42/config.h35
-rw-r--r--keyboards/nacly/sodium42/keyboard.json3
-rw-r--r--keyboards/nacly/sodium50/config.h35
-rw-r--r--keyboards/nacly/sodium50/keyboard.json3
-rw-r--r--keyboards/nacly/sodium62/config.h2
-rw-r--r--keyboards/nacly/sodium62/keyboard.json3
-rw-r--r--keyboards/nacly/splitreus62/config.h37
-rw-r--r--keyboards/nacly/splitreus62/keyboard.json3
-rw-r--r--keyboards/nix_studio/oxalys80/config.h (renamed from keyboards/afternoonlabs/southern_breeze/rev1/config.h)5
-rw-r--r--keyboards/nix_studio/oxalys80/keyboard.json3
-rw-r--r--keyboards/nix_studio/oxalys80/oxalys80.c26
-rw-r--r--keyboards/noxary/220/220.c34
-rw-r--r--keyboards/noxary/220/keyboard.json3
-rw-r--r--keyboards/noxary/268_2/268_2.c30
-rw-r--r--keyboards/noxary/268_2/keyboard.json3
-rw-r--r--keyboards/noxary/280/280.c37
-rw-r--r--keyboards/noxary/280/keyboard.json4
-rw-r--r--keyboards/noxary/x268/keyboard.json3
-rw-r--r--keyboards/noxary/x268/x268.c34
-rw-r--r--keyboards/nullbitsco/snap/snap.c84
-rw-r--r--keyboards/nullbitsco/snap/snap.h12
-rw-r--r--keyboards/ogre/ergo_split/config.h20
-rw-r--r--keyboards/ogre/ergo_split/keyboard.json3
-rw-r--r--keyboards/omnikeyish/omnikeyish.c8
-rw-r--r--keyboards/ortho5by12/keyboard.json4
-rw-r--r--keyboards/ortho5by12/ortho5by12.c30
-rw-r--r--keyboards/percent/canoe_gen2/canoe_gen2.c15
-rw-r--r--keyboards/percent/canoe_gen2/keyboard.json4
-rw-r--r--keyboards/phoenix/config.h1
-rw-r--r--keyboards/phoenix/keyboard.json6
-rw-r--r--keyboards/phoenix/rules.mk1
-rw-r--r--keyboards/pica40/rev2/config.h2
-rw-r--r--keyboards/pica40/rev2/keyboard.json4
-rw-r--r--keyboards/pica40/rev2/rev2.c4
-rw-r--r--keyboards/pica40/rev2/rules.mk1
-rw-r--r--keyboards/planck/rev7/keymaps/default/config.h7
-rw-r--r--keyboards/planck/rev7/keymaps/default/keymap.c89
-rw-r--r--keyboards/planck/rev7/matrix.c22
-rw-r--r--keyboards/planck/rev7/readme.md37
-rw-r--r--keyboards/ploopyco/mouse/config.h4
-rw-r--r--keyboards/ploopyco/ploopyco.c4
-rw-r--r--keyboards/ploopyco/trackball/config.h4
-rw-r--r--keyboards/ploopyco/trackball_mini/config.h4
-rw-r--r--keyboards/ploopyco/trackball_thumb/config.h4
-rw-r--r--keyboards/pmk/posey_split/v4/keyboard.json3
-rw-r--r--keyboards/pmk/posey_split/v4/rules.mk1
-rw-r--r--keyboards/pmk/posey_split/v5/keyboard.json3
-rw-r--r--keyboards/pmk/posey_split/v5/rules.mk1
-rw-r--r--keyboards/pmk/recore/v3/keyboard.json3
-rw-r--r--keyboards/pmk/recore/v3/rules.mk1
-rw-r--r--keyboards/pom_keyboards/tnln95/keyboard.json4
-rw-r--r--keyboards/pom_keyboards/tnln95/tnln95.c35
-rw-r--r--keyboards/projectd/75/ansi/ansi.c3
-rw-r--r--keyboards/projectkb/alice/alice.c20
-rw-r--r--keyboards/projectkb/alice/rev1/config.h4
-rw-r--r--keyboards/projectkb/alice/rev1/keyboard.json5
-rw-r--r--keyboards/projectkb/alice/rev2/config.h4
-rw-r--r--keyboards/projectkb/alice/rev2/keyboard.json5
-rw-r--r--keyboards/punk75/keyboard.json4
-rw-r--r--keyboards/punk75/keymaps/default/keymap.c2
-rw-r--r--keyboards/punk75/keymaps/via/keymap.c2
-rw-r--r--keyboards/punk75/punk75.c32
-rw-r--r--keyboards/quad_h/lb75/keyboard.json5
-rw-r--r--keyboards/quad_h/lb75/lb75.c39
-rw-r--r--keyboards/quokka/keyboard.json5
-rw-r--r--keyboards/quokka/rules.mk1
-rw-r--r--keyboards/rate/pistachio_pro/matrix.c20
-rw-r--r--keyboards/recompile_keys/choco60/rev1/keyboard.json3
-rw-r--r--keyboards/recompile_keys/choco60/rev2/config.h2
-rw-r--r--keyboards/recompile_keys/choco60/rev2/keyboard.json3
-rw-r--r--keyboards/recompile_keys/cocoa40/config.h20
-rw-r--r--keyboards/recompile_keys/cocoa40/keyboard.json3
-rw-r--r--keyboards/redox/rev1/proton_c/keyboard.json5
-rw-r--r--keyboards/redox/rev1/proton_c/rules.mk2
-rw-r--r--keyboards/redscarf_i/keyboard.json4
-rw-r--r--keyboards/redscarf_i/redscarf_i.c10
-rw-r--r--keyboards/rgbkb/mun/rev1/keyboard.json3
-rw-r--r--keyboards/rgbkb/mun/rev1/rules.mk1
-rw-r--r--keyboards/rgbkb/sol/keymaps/default/keymap.c2
-rw-r--r--keyboards/rgbkb/sol/rev2/config.h8
-rw-r--r--keyboards/rgbkb/sol3/rev1/config.h1
-rw-r--r--keyboards/rgbkb/sol3/rev1/keyboard.json6
-rw-r--r--keyboards/rgbkb/sol3/rev1/rules.mk1
-rw-r--r--keyboards/rmi_kb/wete/v1/keyboard.json6
-rw-r--r--keyboards/rmi_kb/wete/v1/v1.c35
-rw-r--r--keyboards/rubi/keyboard.json3
-rw-r--r--keyboards/rubi/rubi.c9
-rw-r--r--keyboards/salicylic_acid3/7skb/rev1/config.h2
-rw-r--r--keyboards/salicylic_acid3/7skb/rev1/keyboard.json3
-rw-r--r--keyboards/salicylic_acid3/7splus/config.h2
-rw-r--r--keyboards/salicylic_acid3/7splus/keyboard.json3
-rw-r--r--keyboards/salicylic_acid3/ajisai74/config.h20
-rw-r--r--keyboards/salicylic_acid3/ajisai74/keyboard.json3
-rw-r--r--keyboards/salicylic_acid3/ergoarrows/config.h2
-rw-r--r--keyboards/salicylic_acid3/ergoarrows/keyboard.json3
-rw-r--r--keyboards/salicylic_acid3/guide68/config.h6
-rw-r--r--keyboards/salicylic_acid3/guide68/keyboard.json3
-rw-r--r--keyboards/salicylic_acid3/jisplit89/rev1/config.h2
-rw-r--r--keyboards/salicylic_acid3/jisplit89/rev1/keyboard.json3
-rw-r--r--keyboards/salicylic_acid3/nknl7en/config.h2
-rw-r--r--keyboards/salicylic_acid3/nknl7en/keyboard.json3
-rw-r--r--keyboards/salicylic_acid3/nknl7jp/config.h2
-rw-r--r--keyboards/salicylic_acid3/nknl7jp/keyboard.json3
-rw-r--r--keyboards/senselessclay/gos65/config.h18
-rw-r--r--keyboards/senselessclay/gos65/gos65.c26
-rw-r--r--keyboards/senselessclay/gos65/keyboard.json3
-rw-r--r--keyboards/sirius/unigo66/custom_matrix.cpp1
-rw-r--r--keyboards/sneakbox/aliceclone/aliceclone.c36
-rw-r--r--keyboards/sneakbox/aliceclone/keyboard.json5
-rw-r--r--keyboards/sparrow62/config.h20
-rw-r--r--keyboards/sparrow62/keyboard.json3
-rw-r--r--keyboards/spleeb/keyboard.json3
-rw-r--r--keyboards/spleeb/rules.mk1
-rw-r--r--keyboards/splitkb/aurora/corne/rev1/config.h4
-rw-r--r--keyboards/splitkb/aurora/corne/rev1/keyboard.json3
-rw-r--r--keyboards/splitkb/aurora/helix/rev1/config.h2
-rw-r--r--keyboards/splitkb/aurora/helix/rev1/keyboard.json3
-rw-r--r--keyboards/splitkb/aurora/lily58/rev1/config.h4
-rw-r--r--keyboards/splitkb/aurora/lily58/rev1/keyboard.json3
-rw-r--r--keyboards/splitkb/aurora/sofle_v2/rev1/config.h2
-rw-r--r--keyboards/splitkb/aurora/sofle_v2/rev1/keyboard.json3
-rw-r--r--keyboards/splitkb/aurora/sweep/rev1/config.h4
-rw-r--r--keyboards/splitkb/aurora/sweep/rev1/keyboard.json3
-rw-r--r--keyboards/splitkb/kyria/info.json1
-rw-r--r--keyboards/splitkb/kyria/rev1/base/keyboard.json25
-rw-r--r--keyboards/splitkb/kyria/rev1/config.h30
-rw-r--r--keyboards/splitkb/kyria/rev1/info.json17
-rw-r--r--keyboards/splitkb/kyria/rev1/proton_c/config.h17
-rw-r--r--keyboards/splitkb/kyria/rev1/proton_c/keyboard.json26
-rw-r--r--keyboards/splitkb/kyria/rev1/proton_c/rules.mk2
-rw-r--r--keyboards/splitkb/kyria/rev2/base/keyboard.json34
-rw-r--r--keyboards/splitkb/kyria/rev2/config.h31
-rw-r--r--keyboards/splitkb/kyria/rev2/info.json23
-rw-r--r--keyboards/splitkb/kyria/rev2/proton_c/config.h17
-rw-r--r--keyboards/splitkb/kyria/rev2/proton_c/keyboard.json35
-rw-r--r--keyboards/splitkb/kyria/rev2/proton_c/rules.mk2
-rw-r--r--keyboards/splitkb/kyria/rev3/config.h11
-rw-r--r--keyboards/splitkb/kyria/rev3/keyboard.json7
-rw-r--r--keyboards/stront/keyboard.json3
-rw-r--r--keyboards/stront/rules.mk2
-rw-r--r--keyboards/supersplit/rules.mk1
-rw-r--r--keyboards/switchplate/southpaw_65/keyboard.json4
-rw-r--r--keyboards/switchplate/southpaw_65/southpaw_65.c30
-rw-r--r--keyboards/switchplate/southpaw_fullsize/keyboard.json6
-rw-r--r--keyboards/switchplate/southpaw_fullsize/southpaw_fullsize.c51
-rw-r--r--keyboards/system76/launch_1/launch_1.c6
-rw-r--r--keyboards/takashicompany/dogtag/keyboard.json22
-rw-r--r--keyboards/takashiski/otaku_split/rev1/config.h36
-rw-r--r--keyboards/takashiski/otaku_split/rev1/keyboard.json3
-rw-r--r--keyboards/team0110/p1800fl/keyboard.json5
-rw-r--r--keyboards/team0110/p1800fl/p1800fl.c28
-rw-r--r--keyboards/terrazzo/keyboard.json115
-rw-r--r--keyboards/terrazzo/readme.md4
-rw-r--r--keyboards/terrazzo/terrazzo.c33
-rw-r--r--keyboards/tkc/osav2/keyboard.json5
-rw-r--r--keyboards/tkc/osav2/osav2.c33
-rw-r--r--keyboards/tkw/grandiceps/info.json3
-rw-r--r--keyboards/tkw/grandiceps/rules.mk2
-rw-r--r--keyboards/tr60w/keyboard.json6
-rw-r--r--keyboards/tr60w/tr60w.c11
-rw-r--r--keyboards/trkeyboards/trk1/keyboard.json107
-rw-r--r--keyboards/trkeyboards/trk1/keymaps/default/keymap.c42
-rw-r--r--keyboards/trkeyboards/trk1/keymaps/default/rules.mk1
-rw-r--r--keyboards/trkeyboards/trk1/keymaps/via/keymap.c42
-rw-r--r--keyboards/trkeyboards/trk1/keymaps/via/rules.mk2
-rw-r--r--keyboards/trkeyboards/trk1/readme.md22
-rw-r--r--keyboards/tweetydabird/lotus58/rp2040_ce/keyboard.json3
-rw-r--r--keyboards/tweetydabird/lotus58/rp2040_ce/rules.mk1
-rw-r--r--keyboards/tzarc/djinn/info.json3
-rw-r--r--keyboards/tzarc/djinn/rev1/config.h1
-rw-r--r--keyboards/tzarc/djinn/rev1/keyboard.json3
-rw-r--r--keyboards/tzarc/djinn/rev2/config.h1
-rw-r--r--keyboards/tzarc/djinn/rev2/keyboard.json3
-rw-r--r--keyboards/tzarc/djinn/rules.mk2
-rw-r--r--keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.c2
-rw-r--r--keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.c2
-rw-r--r--keyboards/viktus/sp111/keyboard.json5
-rw-r--r--keyboards/viktus/sp111/sp111.c18
-rw-r--r--keyboards/vitamins_included/rev2/config.h3
-rw-r--r--keyboards/vitamins_included/rev2/keyboard.json3
-rw-r--r--keyboards/westfoxtrot/cypher/rev1/keyboard.json5
-rw-r--r--keyboards/westfoxtrot/cypher/rev1/rev1.c31
-rw-r--r--keyboards/westfoxtrot/cypher/rev5/keyboard.json5
-rw-r--r--keyboards/westfoxtrot/cypher/rev5/rev5.c31
-rw-r--r--keyboards/westfoxtrot/prophet/keyboard.json3
-rw-r--r--keyboards/westfoxtrot/prophet/prophet.c11
-rw-r--r--keyboards/whitefacemountain/ampersand/keyboard.json127
-rw-r--r--keyboards/whitefacemountain/ampersand/keymaps/default/keymap.c12
-rw-r--r--keyboards/whitefacemountain/ampersand/readme.md28
-rw-r--r--keyboards/wilba_tech/wt60_xt/keyboard.json5
-rw-r--r--keyboards/wilba_tech/wt60_xt/wt60_xt.c20
-rw-r--r--keyboards/wilba_tech/wt69_a/keyboard.json3
-rw-r--r--keyboards/wilba_tech/wt69_a/wt69_a.c30
-rw-r--r--keyboards/wilba_tech/wt70_jb/keyboard.json3
-rw-r--r--keyboards/wilba_tech/wt70_jb/wt70_jb.c15
-rw-r--r--keyboards/winry/winry315/keymaps/via/keymap.c5
-rw-r--r--keyboards/winry/winry315/winry315.c12
-rw-r--r--keyboards/winry/winry315/winry315.h14
-rw-r--r--keyboards/wolfmarkclub/wm1/keyboard.json5
-rw-r--r--keyboards/wolfmarkclub/wm1/wm1.c16
-rw-r--r--keyboards/work_louder/micro/matrix.c16
-rw-r--r--keyboards/work_louder/rgb_functions.h82
-rw-r--r--keyboards/work_louder/work_board/config.h3
-rw-r--r--keyboards/work_louder/work_board/info.json56
-rw-r--r--keyboards/work_louder/work_board/keymaps/via/config.h4
-rw-r--r--keyboards/work_louder/work_board/keymaps/via/keymap.c18
-rw-r--r--keyboards/work_louder/work_board/work_board.c34
-rw-r--r--keyboards/wsk/g4m3ralpha/g4m3ralpha.c39
-rw-r--r--keyboards/wsk/g4m3ralpha/keyboard.json5
-rw-r--r--keyboards/wuque/ikki68/ikki68.c30
-rw-r--r--keyboards/wuque/ikki68/keyboard.json4
-rw-r--r--keyboards/xelus/akis/akis.c25
-rw-r--r--keyboards/xelus/akis/keyboard.json3
-rw-r--r--keyboards/xelus/ninjin/keyboard.json3
-rw-r--r--keyboards/xelus/ninjin/ninjin.c28
-rw-r--r--keyboards/xelus/pachi/rgb/rev1/keymaps/via/config.h (renamed from keyboards/xelus/pachi/rgb/keymaps/via/config.h)0
-rw-r--r--keyboards/xelus/pachi/rgb/rev1/keymaps/via/keymap.c (renamed from keyboards/xelus/pachi/rgb/keymaps/via/keymap.c)0
-rw-r--r--keyboards/xelus/pachi/rgb/rev1/keymaps/via/rules.mk (renamed from keyboards/xelus/pachi/rgb/keymaps/via/rules.mk)0
-rw-r--r--keyboards/xelus/pachi/rgb/rev2/config.h4
-rw-r--r--keyboards/xelus/pachi/rgb/rev2/keymaps/via/config.h20
-rw-r--r--keyboards/xelus/pachi/rgb/rev2/keymaps/via/keymap.c399
-rw-r--r--keyboards/xelus/pachi/rgb/rev2/keymaps/via/rules.mk1
-rw-r--r--keyboards/xelus/pachi/rgb/rev2/rev2.c309
-rw-r--r--keyboards/xelus/pachi/rgb/rev2/rev2.h72
-rw-r--r--keyboards/yandrstudio/nz64/nz64.c8
-rw-r--r--keyboards/yandrstudio/nz67v2/nz67v2.c4
-rw-r--r--keyboards/yiancardesigns/barleycorn/barleycorn.c37
-rw-r--r--keyboards/yiancardesigns/barleycorn/keyboard.json4
-rw-r--r--keyboards/ymdk/yd60mq/info.json4
-rw-r--r--keyboards/ymdk/yd60mq/yd60mq.c21
-rw-r--r--keyboards/yoichiro/lunakey_pico/keyboard.json5
-rw-r--r--keyboards/yoichiro/lunakey_pico/rules.mk1
-rw-r--r--keyboards/yushakobo/navpad/navpad_prefs.c4
-rw-r--r--keyboards/ziptyze/lets_split_v3/keyboard.json3
-rw-r--r--keyboards/ziptyze/lets_split_v3/rules.mk1
-rw-r--r--keyboards/zvecr/split_blackpill/keyboard.json3
-rw-r--r--keyboards/zvecr/split_blackpill/rules.mk1
-rw-r--r--keyboards/zvecr/zv48/f401/rules.mk1
-rw-r--r--keyboards/zvecr/zv48/f411/rules.mk1
-rw-r--r--keyboards/zvecr/zv48/info.json9
679 files changed, 4716 insertions, 6544 deletions
diff --git a/keyboards/0xcb/1337/1337.c b/keyboards/0xcb/1337/1337.c
deleted file mode 100644
index d5937540b2..0000000000
--- a/keyboards/0xcb/1337/1337.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-Copyright 2021 0xCB - Conor Burns
-
-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"
-
-void eeconfig_init_kb(void) {
-#ifdef BACKLIGHT_ENABLE
- backlight_enable();
- backlight_level(5);
-#endif
-
- eeconfig_update_kb(0);
- eeconfig_init_user();
-}
diff --git a/keyboards/0xcb/1337/keyboard.json b/keyboards/0xcb/1337/keyboard.json
index f264d4ed06..b2ef00906b 100644
--- a/keyboards/0xcb/1337/keyboard.json
+++ b/keyboards/0xcb/1337/keyboard.json
@@ -9,6 +9,9 @@
"device_version": "0.0.1"
},
"backlight": {
+ "default": {
+ "brightness": 5
+ },
"pin": "B5",
"levels": 7,
"breathing": true
diff --git a/keyboards/40percentclub/ut47/ut47.c b/keyboards/40percentclub/ut47/ut47.c
index d5675e1047..867d8c0202 100644
--- a/keyboards/40percentclub/ut47/ut47.c
+++ b/keyboards/40percentclub/ut47/ut47.c
@@ -19,6 +19,8 @@
void matrix_init_kb(void) {
uart_init(9600);
+
+ matrix_init_user();
}
#endif
diff --git a/keyboards/acheron/athena/alpha/alpha.c b/keyboards/acheron/athena/alpha/alpha.c
index 8fe47eff82..4dea24b93d 100644
--- a/keyboards/acheron/athena/alpha/alpha.c
+++ b/keyboards/acheron/athena/alpha/alpha.c
@@ -24,6 +24,8 @@ void board_init(void) {
void keyboard_post_init_kb(void){
// Defining the backlight pin (A6) as an floating (no pullup or pulldown resistor) opendrain output pin
palSetLineMode(BACKLIGHT_PIN, PAL_MODE_ALTERNATE(2) | PAL_STM32_OTYPE_OPENDRAIN | PAL_STM32_OSPEED_HIGHEST | PAL_STM32_PUPDR_FLOATING);
+
+ keyboard_post_init_user();
}
void led_init_ports(void) {
diff --git a/keyboards/acheron/austin/austin.c b/keyboards/acheron/austin/austin.c
deleted file mode 100644
index 9a69d1c086..0000000000
--- a/keyboards/acheron/austin/austin.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include "quantum.h"
-
-void keyboard_pre_init_kb(void) {
- gpio_set_pin_output(A0);
- gpio_set_pin_output(A1);
- gpio_set_pin_output(A2);
-
- keyboard_pre_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- if (led_update_user(led_state)) {
- gpio_write_pin(A2, led_state.num_lock);
- gpio_write_pin(A0, led_state.caps_lock);
- gpio_write_pin(A1, led_state.scroll_lock);
- }
- return true;
-}
diff --git a/keyboards/acheron/austin/keyboard.json b/keyboards/acheron/austin/keyboard.json
index bee675472c..a3df5dd75d 100755
--- a/keyboards/acheron/austin/keyboard.json
+++ b/keyboards/acheron/austin/keyboard.json
@@ -33,6 +33,11 @@
"levels": 6,
"breathing": true
},
+ "indicators": {
+ "caps_lock": "A0",
+ "num_lock": "A2",
+ "scroll_lock": "A1"
+ },
"processor": "STM32F072",
"bootloader": "stm32-dfu",
"layouts": {
diff --git a/keyboards/acheron/elongate/delta/delta.c b/keyboards/acheron/elongate/delta/delta.c
index 98b60bae61..839151521a 100755
--- a/keyboards/acheron/elongate/delta/delta.c
+++ b/keyboards/acheron/elongate/delta/delta.c
@@ -74,4 +74,6 @@ layer_state_t layer_state_set_kb(layer_state_t state) {
// Since the keyboard starts at layer 0, the init function starts LED4 as lit up.
void keyboard_post_init_kb(void){
gpio_write_pin(LED4_PIN, 0);
+
+ keyboard_post_init_user();
}
diff --git a/keyboards/aeboards/ext65/rev1/keyboard.json b/keyboards/aeboards/ext65/rev1/keyboard.json
index c254a67142..1d105505e5 100644
--- a/keyboards/aeboards/ext65/rev1/keyboard.json
+++ b/keyboards/aeboards/ext65/rev1/keyboard.json
@@ -13,6 +13,11 @@
"extrakey": true,
"nkro": true
},
+ "indicators": {
+ "caps_lock": "D3",
+ "num_lock": "D5",
+ "scroll_lock": "D2"
+ },
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"diode_direction": "COL2ROW",
diff --git a/keyboards/aeboards/ext65/rev1/rev1.c b/keyboards/aeboards/ext65/rev1/rev1.c
index 344a2bcb32..fc8280a5e4 100644
--- a/keyboards/aeboards/ext65/rev1/rev1.c
+++ b/keyboards/aeboards/ext65/rev1/rev1.c
@@ -16,23 +16,10 @@
#include "quantum.h"
-void keyboard_pre_init_user(void) {
- // Call the keyboard pre init code.
- // Set our LED pins as output
- gpio_set_pin_output(D5);
- gpio_set_pin_output(D3);
- gpio_set_pin_output(D2);
- gpio_set_pin_output(D1);
-}
+void keyboard_pre_init_kb(void) {
+ gpio_set_pin_output(D1);
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(D5, led_state.num_lock);
- gpio_write_pin(D3, led_state.caps_lock);
- gpio_write_pin(D2, led_state.scroll_lock);
- }
- return res;
+ keyboard_pre_init_user();
}
layer_state_t layer_state_set_kb(layer_state_t state) {
diff --git a/keyboards/aeboards/ext65/rev2/keyboard.json b/keyboards/aeboards/ext65/rev2/keyboard.json
index 0ab50f9258..ab7cceeefb 100644
--- a/keyboards/aeboards/ext65/rev2/keyboard.json
+++ b/keyboards/aeboards/ext65/rev2/keyboard.json
@@ -22,6 +22,11 @@
"levels": 6,
"breathing": true
},
+ "indicators": {
+ "caps_lock": "B3",
+ "num_lock": "B4",
+ "scroll_lock": "A15"
+ },
"rgblight": {
"led_count": 24,
"animations": {
diff --git a/keyboards/aeboards/ext65/rev2/rev2.c b/keyboards/aeboards/ext65/rev2/rev2.c
index 5922b601cd..7b8ebb0087 100644
--- a/keyboards/aeboards/ext65/rev2/rev2.c
+++ b/keyboards/aeboards/ext65/rev2/rev2.c
@@ -69,26 +69,11 @@ bool oled_task_kb(void) {
#else
void keyboard_pre_init_kb(void) {
- // Call the keyboard pre init code.
- // Set our LED pins as output
- gpio_set_pin_output(B4);
- gpio_set_pin_output(B3);
- gpio_set_pin_output(A15);
gpio_set_pin_output(A14);
keyboard_pre_init_user();
}
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if (res) {
- gpio_write_pin(B4, led_state.num_lock);
- gpio_write_pin(B3, led_state.caps_lock);
- gpio_write_pin(A15, led_state.scroll_lock);
- }
- return res;
-}
-
layer_state_t layer_state_set_kb(layer_state_t state) {
switch (get_highest_layer(state)) {
case 1:
diff --git a/keyboards/aeboards/ext65/rev3/rev3.c b/keyboards/aeboards/ext65/rev3/rev3.c
index f8fc2ef502..7b0f2018c2 100644
--- a/keyboards/aeboards/ext65/rev3/rev3.c
+++ b/keyboards/aeboards/ext65/rev3/rev3.c
@@ -19,10 +19,12 @@
// Tested and verified working on EXT65 Rev3
void matrix_io_delay(void) { __asm__ volatile("nop\nnop\nnop\n"); }
-void keyboard_pre_init_user(void) {
+void keyboard_pre_init_kb(void) {
// Call the keyboard pre init code.
// Set our LED pins as output
gpio_set_pin_output(LED_LAYERS_PIN);
+
+ keyboard_pre_init_user();
}
layer_state_t layer_state_set_kb(layer_state_t state) {
diff --git a/keyboards/afternoonlabs/breeze/rev0/keyboard.json b/keyboards/afternoonlabs/breeze/rev0/keyboard.json
index f20f082ec9..e4288d3eda 100644
--- a/keyboards/afternoonlabs/breeze/rev0/keyboard.json
+++ b/keyboards/afternoonlabs/breeze/rev0/keyboard.json
@@ -21,6 +21,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "B3"
+ },
"soft_serial_pin": "D2"
},
"bootmagic": {
diff --git a/keyboards/afternoonlabs/breeze/rev1/keyboard.json b/keyboards/afternoonlabs/breeze/rev1/keyboard.json
index ccb13551c1..22a7edb6c0 100644
--- a/keyboards/afternoonlabs/breeze/rev1/keyboard.json
+++ b/keyboards/afternoonlabs/breeze/rev1/keyboard.json
@@ -21,6 +21,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "B3"
+ },
"soft_serial_pin": "D2"
},
"bootmagic": {
diff --git a/keyboards/afternoonlabs/oceanbreeze/rev1/keyboard.json b/keyboards/afternoonlabs/oceanbreeze/rev1/keyboard.json
index 2a80a0bc2b..f614b93ca1 100644
--- a/keyboards/afternoonlabs/oceanbreeze/rev1/keyboard.json
+++ b/keyboards/afternoonlabs/oceanbreeze/rev1/keyboard.json
@@ -21,6 +21,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "B3"
+ },
"soft_serial_pin": "D2"
},
"bootmagic": {
diff --git a/keyboards/afternoonlabs/southern_breeze/rev1/keyboard.json b/keyboards/afternoonlabs/southern_breeze/rev1/keyboard.json
index c4d38a7a69..2ec7b411e1 100644
--- a/keyboards/afternoonlabs/southern_breeze/rev1/keyboard.json
+++ b/keyboards/afternoonlabs/southern_breeze/rev1/keyboard.json
@@ -21,6 +21,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "B3"
+ },
"soft_serial_pin": "D2"
},
"bootmagic": {
diff --git a/keyboards/afternoonlabs/summer_breeze/rev1/config.h b/keyboards/afternoonlabs/summer_breeze/rev1/config.h
deleted file mode 100644
index d6bb6df14c..0000000000
--- a/keyboards/afternoonlabs/summer_breeze/rev1/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2021 Afternoon Labs
- *
- * 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 SPLIT_HAND_PIN B3
diff --git a/keyboards/afternoonlabs/summer_breeze/rev1/keyboard.json b/keyboards/afternoonlabs/summer_breeze/rev1/keyboard.json
index 702a942a3c..9377f10732 100644
--- a/keyboards/afternoonlabs/summer_breeze/rev1/keyboard.json
+++ b/keyboards/afternoonlabs/summer_breeze/rev1/keyboard.json
@@ -21,6 +21,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "B3"
+ },
"soft_serial_pin": "D2"
},
"bootmagic": {
diff --git a/keyboards/ai03/altair/keyboard.json b/keyboards/ai03/altair/keyboard.json
index 9626716cde..cf551ab79e 100644
--- a/keyboards/ai03/altair/keyboard.json
+++ b/keyboards/ai03/altair/keyboard.json
@@ -37,6 +37,9 @@
"rows": ["GP5", "GP16", "GP20", "GP28", "GP14"]
}
},
+ "serial": {
+ "driver": "vendor"
+ },
"soft_serial_pin": "GP29"
},
"url": "https://ai03.com/",
diff --git a/keyboards/ai03/altair/rules.mk b/keyboards/ai03/altair/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/ai03/altair/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/ai03/altair_x/keyboard.json b/keyboards/ai03/altair_x/keyboard.json
index d1448ab8c2..1568f15a5a 100644
--- a/keyboards/ai03/altair_x/keyboard.json
+++ b/keyboards/ai03/altair_x/keyboard.json
@@ -37,6 +37,9 @@
"rows": ["GP16", "GP20", "GP28", "GP14"]
}
},
+ "serial": {
+ "driver": "vendor"
+ },
"soft_serial_pin": "GP29"
},
"url": "https://ai03.com/",
diff --git a/keyboards/ai03/altair_x/rules.mk b/keyboards/ai03/altair_x/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/ai03/altair_x/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/ai03/orbit/config.h b/keyboards/ai03/orbit/config.h
deleted file mode 100644
index f3a4ae2db3..0000000000
--- a/keyboards/ai03/orbit/config.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
-Copyright 2018 Ryota Goto
-
-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 SELECT_SOFT_SERIAL_SPEED 1
-
-#define SPLIT_HAND_PIN D5
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/ai03/orbit/keyboard.json b/keyboards/ai03/orbit/keyboard.json
index ec30802812..a5a60c12b6 100644
--- a/keyboards/ai03/orbit/keyboard.json
+++ b/keyboards/ai03/orbit/keyboard.json
@@ -31,6 +31,9 @@
},
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "D5"
+ },
"soft_serial_pin": "D0",
"matrix_pins": {
"right": {
diff --git a/keyboards/ai03/orbit_x/config.h b/keyboards/ai03/orbit_x/config.h
index 2c63852cbe..8de0482312 100644
--- a/keyboards/ai03/orbit_x/config.h
+++ b/keyboards/ai03/orbit_x/config.h
@@ -17,7 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define SPLIT_HAND_PIN D5
#define SPLIT_USB_DETECT
#define SPLIT_USB_TIMEOUT 2500
diff --git a/keyboards/ai03/orbit_x/keyboard.json b/keyboards/ai03/orbit_x/keyboard.json
index edfbbb2796..7323841219 100644
--- a/keyboards/ai03/orbit_x/keyboard.json
+++ b/keyboards/ai03/orbit_x/keyboard.json
@@ -28,6 +28,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "D5"
+ },
"soft_serial_pin": "D0",
"matrix_pins": {
"right": {
diff --git a/keyboards/ai03/vega/keyboard.json b/keyboards/ai03/vega/keyboard.json
index a58fa4fcae..bc220cc7a1 100644
--- a/keyboards/ai03/vega/keyboard.json
+++ b/keyboards/ai03/vega/keyboard.json
@@ -22,6 +22,11 @@
"resync": true
}
},
+ "indicators": {
+ "caps_lock": "B7",
+ "scroll_lock": "A5",
+ "on_state": 0
+ },
"matrix_pins": {
"cols": ["B5", "A3", "A9", "A8", "B15", "B14", "B13", "B12", "B11", "B10", "B2", "B1", "B0", "A7", "A6"],
"rows": ["A1", "A2", "B3", "A15", "A10"]
diff --git a/keyboards/ai03/vega/vega.c b/keyboards/ai03/vega/vega.c
deleted file mode 100644
index 44ded2c85c..0000000000
--- a/keyboards/ai03/vega/vega.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright 2020 ai03
- *
- * 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"
-
-void matrix_init_kb(void) {
- // Initialize indicator LEDs to output
-
- gpio_set_pin_output(B7); // Caps
- gpio_set_pin_output(A5); // Slck
-
- matrix_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
-
- bool res = led_update_user(led_state);
-
- if(res) {
- gpio_write_pin(B7, !led_state.caps_lock);
- gpio_write_pin(A5, !led_state.scroll_lock);
- }
- return res;
-} \ No newline at end of file
diff --git a/keyboards/aidansmithdotdev/sango/keyboard.json b/keyboards/aidansmithdotdev/sango/keyboard.json
index 6c62ac9bd2..c3d34ce6d7 100644
--- a/keyboards/aidansmithdotdev/sango/keyboard.json
+++ b/keyboards/aidansmithdotdev/sango/keyboard.json
@@ -127,6 +127,9 @@
"rows": ["GP2", "GP3", "GP4", "GP5", "GP6"]
}
},
+ "serial": {
+ "driver": "vendor"
+ },
"soft_serial_pin": "GP1"
},
"url": "https://aidansmith.dev",
diff --git a/keyboards/aidansmithdotdev/sango/rules.mk b/keyboards/aidansmithdotdev/sango/rules.mk
deleted file mode 100644
index 743228e94b..0000000000
--- a/keyboards/aidansmithdotdev/sango/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor \ No newline at end of file
diff --git a/keyboards/argyle/matrix.c b/keyboards/argyle/matrix.c
index d435b368c2..661310ade0 100644
--- a/keyboards/argyle/matrix.c
+++ b/keyboards/argyle/matrix.c
@@ -24,21 +24,21 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
-static inline void setPinOutput_writeLow(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_low(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_low(pin);
}
}
-static inline void setPinOutput_writeHigh(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_high(pin);
}
}
-static inline void setPinInputHigh_atomic(pin_t pin) {
+static inline void gpio_atomic_set_pin_input_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_input_high(pin);
}
@@ -55,7 +55,7 @@ static inline uint8_t readMatrixPin(pin_t pin) {
static bool select_row(uint8_t row) {
pin_t pin = row_pins[row];
if (pin != NO_PIN) {
- setPinOutput_writeLow(pin);
+ gpio_atomic_set_pin_output_low(pin);
return true;
}
return false;
@@ -64,7 +64,7 @@ static bool select_row(uint8_t row) {
static void unselect_row(uint8_t row) {
pin_t pin = row_pins[row];
if (pin != NO_PIN) {
- setPinInputHigh_atomic(pin);
+ gpio_atomic_set_pin_input_high(pin);
}
}
@@ -84,7 +84,7 @@ static void init_pins(void) {
for (uint8_t x = 0; x < MATRIX_COLS; x++) {
if (col_pins[x] != NO_PIN) {
- setPinInputHigh_atomic(col_pins[x]);
+ gpio_atomic_set_pin_input_high(col_pins[x]);
}
}
}
diff --git a/keyboards/arrowmechanics/wings/keyboard.json b/keyboards/arrowmechanics/wings/keyboard.json
index 1da4077baa..f0f0a9c442 100644
--- a/keyboards/arrowmechanics/wings/keyboard.json
+++ b/keyboards/arrowmechanics/wings/keyboard.json
@@ -188,6 +188,9 @@
},
"split": {
"enabled": true,
+ "serial": {
+ "driver": "vendor"
+ },
"transport": {
"sync": {
"layer_state": true,
diff --git a/keyboards/arrowmechanics/wings/rules.mk b/keyboards/arrowmechanics/wings/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/arrowmechanics/wings/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/atreus/astar_mirrored/config.h b/keyboards/atreus/astar_mirrored/config.h
deleted file mode 100644
index 3bd163dec3..0000000000
--- a/keyboards/atreus/astar_mirrored/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2019
- *
- * 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 PCBDOWN 1
diff --git a/keyboards/atreus/atreus.h b/keyboards/atreus/atreus.h
deleted file mode 100644
index 2a966b8641..0000000000
--- a/keyboards/atreus/atreus.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright 2019
- *
- * 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
-
-#include "quantum.h"
-#define ___ KC_NO
-
-// This a shortcut to help you visually see your layout.
-// The first section contains all of the arguments.
-// The second converts the arguments into a two-dimensional array.
-// In the PCBDOWN case we need to swap the middle two keys: k35 and k36.
-#if defined(PCBDOWN)
-#define LAYOUT( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \
- k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b \
-) \
-{ \
- { k00, k01, k02, k03, k04, KC_NO, k05, k06, k07, k08, k09 }, \
- { k10, k11, k12, k13, k14, KC_NO, k15, k16, k17, k18, k19 }, \
- { k20, k21, k22, k23, k24, k36, k25, k26, k27, k28, k29 }, \
- { k30, k31, k32, k33, k34, k35, k37, k38, k39, k3a, k3b } \
-}
-#else
-#define LAYOUT( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \
- k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b \
-) \
-{ \
- { k00, k01, k02, k03, k04, ___, k05, k06, k07, k08, k09 }, \
- { k10, k11, k12, k13, k14, ___, k15, k16, k17, k18, k19 }, \
- { k20, k21, k22, k23, k24, k35, k25, k26, k27, k28, k29 }, \
- { k30, k31, k32, k33, k34, k36, k37, k38, k39, k3a, k3b } \
-}
-#endif
diff --git a/keyboards/atreus/feather/config.h b/keyboards/atreus/feather/config.h
deleted file mode 100644
index 505296a505..0000000000
--- a/keyboards/atreus/feather/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2019
- *
- * 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 OUTPUT_AUTO_ENABLE
diff --git a/keyboards/atreus/info.json b/keyboards/atreus/info.json
index a0f592105f..1a33591ab5 100644
--- a/keyboards/atreus/info.json
+++ b/keyboards/atreus/info.json
@@ -23,58 +23,114 @@
"resync": true
}
},
+ "layout_aliases": {
+ "LAYOUT": "LAYOUT_pcb_up"
+ },
"layouts": {
- "LAYOUT": {
+ "LAYOUT_pcb_up": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0.6},
+ {"matrix": [0, 1], "x": 1, "y": 0.35},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0.35},
+ {"matrix": [0, 4], "x": 4, "y": 0.7},
+
+ {"matrix": [0, 6], "x": 8, "y": 0.7},
+ {"matrix": [0, 7], "x": 9, "y": 0.35},
+ {"matrix": [0, 8], "x": 10, "y": 0},
+ {"matrix": [0, 9], "x": 11, "y": 0.35},
+ {"matrix": [0, 10], "x": 12, "y": 0.6},
+
+ {"matrix": [1, 0], "x": 0, "y": 1.6},
+ {"matrix": [1, 1], "x": 1, "y": 1.35},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1.35},
+ {"matrix": [1, 4], "x": 4, "y": 1.7},
+
+ {"matrix": [1, 6], "x": 8, "y": 1.7},
+ {"matrix": [1, 7], "x": 9, "y": 1.35},
+ {"matrix": [1, 8], "x": 10, "y": 1},
+ {"matrix": [1, 9], "x": 11, "y": 1.35},
+ {"matrix": [1, 10], "x": 12, "y": 1.6},
+
+ {"matrix": [2, 0], "x": 0, "y": 2.6},
+ {"matrix": [2, 1], "x": 1, "y": 2.35},
+ {"matrix": [2, 2], "x": 2, "y": 2},
+ {"matrix": [2, 3], "x": 3, "y": 2.35},
+ {"matrix": [2, 4], "x": 4, "y": 2.7},
+
+ {"matrix": [2, 6], "x": 8, "y": 2.7},
+ {"matrix": [2, 7], "x": 9, "y": 2.35},
+ {"matrix": [2, 8], "x": 10, "y": 2},
+ {"matrix": [2, 9], "x": 11, "y": 2.35},
+ {"matrix": [2, 10], "x": 12, "y": 2.6},
+
+ {"matrix": [3, 0], "x": 0, "y": 3.6},
+ {"matrix": [3, 1], "x": 1, "y": 3.35},
+ {"matrix": [3, 2], "x": 2, "y": 3},
+ {"matrix": [3, 3], "x": 3, "y": 3.35},
+ {"matrix": [3, 4], "x": 4, "y": 3.7},
+ {"matrix": [2, 5], "x": 5, "y": 2.95, "h": 1.5},
+
+ {"matrix": [3, 5], "x": 7, "y": 2.95, "h": 1.5},
+ {"matrix": [3, 6], "x": 8, "y": 3.7},
+ {"matrix": [3, 7], "x": 9, "y": 3.35},
+ {"matrix": [3, 8], "x": 10, "y": 3},
+ {"matrix": [3, 9], "x": 11, "y": 3.35},
+ {"matrix": [3, 10], "x": 12, "y": 3.6}
+ ]
+ },
+ "LAYOUT_pcb_down": {
"layout": [
- {"x": 0, "y": 0.6},
- {"x": 1, "y": 0.35},
- {"x": 2, "y": 0},
- {"x": 3, "y": 0.35},
- {"x": 4, "y": 0.7},
+ {"matrix": [0, 0], "x": 0, "y": 0.6},
+ {"matrix": [0, 1], "x": 1, "y": 0.35},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0.35},
+ {"matrix": [0, 4], "x": 4, "y": 0.7},
- {"x": 8, "y": 0.7},
- {"x": 9, "y": 0.35},
- {"x": 10, "y": 0},
- {"x": 11, "y": 0.35},
- {"x": 12, "y": 0.6},
+ {"matrix": [0, 6], "x": 8, "y": 0.7},
+ {"matrix": [0, 7], "x": 9, "y": 0.35},
+ {"matrix": [0, 8], "x": 10, "y": 0},
+ {"matrix": [0, 9], "x": 11, "y": 0.35},
+ {"matrix": [0, 10], "x": 12, "y": 0.6},
- {"x": 0, "y": 1.6},
- {"x": 1, "y": 1.35},
- {"x": 2, "y": 1},
- {"x": 3, "y": 1.35},
- {"x": 4, "y": 1.7},
+ {"matrix": [1, 0], "x": 0, "y": 1.6},
+ {"matrix": [1, 1], "x": 1, "y": 1.35},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1.35},
+ {"matrix": [1, 4], "x": 4, "y": 1.7},
- {"x": 8, "y": 1.7},
- {"x": 9, "y": 1.35},
- {"x": 10, "y": 1},
- {"x": 11, "y": 1.35},
- {"x": 12, "y": 1.6},
+ {"matrix": [1, 6], "x": 8, "y": 1.7},
+ {"matrix": [1, 7], "x": 9, "y": 1.35},
+ {"matrix": [1, 8], "x": 10, "y": 1},
+ {"matrix": [1, 9], "x": 11, "y": 1.35},
+ {"matrix": [1, 10], "x": 12, "y": 1.6},
- {"x": 0, "y": 2.6},
- {"x": 1, "y": 2.35},
- {"x": 2, "y": 2},
- {"x": 3, "y": 2.35},
- {"x": 4, "y": 2.7},
+ {"matrix": [2, 0], "x": 0, "y": 2.6},
+ {"matrix": [2, 1], "x": 1, "y": 2.35},
+ {"matrix": [2, 2], "x": 2, "y": 2},
+ {"matrix": [2, 3], "x": 3, "y": 2.35},
+ {"matrix": [2, 4], "x": 4, "y": 2.7},
- {"x": 8, "y": 2.7},
- {"x": 9, "y": 2.35},
- {"x": 10, "y": 2},
- {"x": 11, "y": 2.35},
- {"x": 12, "y": 2.6},
+ {"matrix": [2, 6], "x": 8, "y": 2.7},
+ {"matrix": [2, 7], "x": 9, "y": 2.35},
+ {"matrix": [2, 8], "x": 10, "y": 2},
+ {"matrix": [2, 9], "x": 11, "y": 2.35},
+ {"matrix": [2, 10], "x": 12, "y": 2.6},
- {"x": 0, "y": 3.6},
- {"x": 1, "y": 3.35},
- {"x": 2, "y": 3},
- {"x": 3, "y": 3.35},
- {"x": 4, "y": 3.7},
- {"x": 5, "y": 2.95, "h": 1.5},
+ {"matrix": [3, 0], "x": 0, "y": 3.6},
+ {"matrix": [3, 1], "x": 1, "y": 3.35},
+ {"matrix": [3, 2], "x": 2, "y": 3},
+ {"matrix": [3, 3], "x": 3, "y": 3.35},
+ {"matrix": [3, 4], "x": 4, "y": 3.7},
+ {"matrix": [3, 5], "x": 5, "y": 2.95, "h": 1.5},
- {"x": 7, "y": 2.95, "h": 1.5},
- {"x": 8, "y": 3.7},
- {"x": 9, "y": 3.35},
- {"x": 10, "y": 3},
- {"x": 11, "y": 3.35},
- {"x": 12, "y": 3.6}
+ {"matrix": [2, 5], "x": 7, "y": 2.95, "h": 1.5},
+ {"matrix": [3, 6], "x": 8, "y": 3.7},
+ {"matrix": [3, 7], "x": 9, "y": 3.35},
+ {"matrix": [3, 8], "x": 10, "y": 3},
+ {"matrix": [3, 9], "x": 11, "y": 3.35},
+ {"matrix": [3, 10], "x": 12, "y": 3.6}
]
}
}
diff --git a/keyboards/atreus/keymaps/default/keymap.c b/keyboards/atreus/keymaps/default/keymap.c
index ca1333230c..e458810537 100644
--- a/keyboards/atreus/keymaps/default/keymap.c
+++ b/keyboards/atreus/keymaps/default/keymap.c
@@ -12,7 +12,7 @@
#define _LW 2
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QW] = LAYOUT( /* Qwerty */
+ [_QW] = LAYOUT_pcb_up( /* Qwerty */
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P ,
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN ,
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH ,
@@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* [ ] ( ) & || ` 1 2 3 \
* lower insert super shift bksp ctrl || alt space fn . 0 =
*/
- [_RS] = LAYOUT( /* [> RAISE <] */
+ [_RS] = LAYOUT_pcb_up( /* [> RAISE <] */
KC_EXLM, KC_AT, KC_UP, KC_LCBR, KC_RCBR, KC_PGUP, KC_7, KC_8, KC_9, KC_ASTR ,
KC_HASH, KC_LEFT, KC_DOWN, KC_RGHT, KC_DLR, KC_PGDN, KC_4, KC_5, KC_6, KC_PLUS ,
KC_LBRC, KC_RBRC, KC_LPRN, KC_RPRN, KC_AMPR, KC_GRV, KC_1, KC_2, KC_3, KC_BSLS ,
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* volup reset || F1 F2 F3 F12
* voldn super shift bksp ctrl || alt space L0 prtsc scroll pause
*/
- [_LW] = LAYOUT( /* [> LOWER <] */
+ [_LW] = LAYOUT_pcb_up( /* [> LOWER <] */
KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 ,
KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 ,
KC_NO, KC_VOLU, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 ,
diff --git a/keyboards/atreus/keymaps/via/keymap.c b/keyboards/atreus/keymaps/via/keymap.c
index 52740c5bad..e6093d7ac1 100644
--- a/keyboards/atreus/keymaps/via/keymap.c
+++ b/keyboards/atreus/keymaps/via/keymap.c
@@ -27,7 +27,7 @@ enum custom_layers {
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QW] = LAYOUT( /* Qwerty */
+ [_QW] = LAYOUT_pcb_up( /* Qwerty */
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P ,
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN ,
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH ,
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* [ ] ( ) & || ` 1 2 3 \
* lower insert super shift bksp ctrl || alt space fn . 0 =
*/
- [_RS] = LAYOUT( /* [> RAISE <] */
+ [_RS] = LAYOUT_pcb_up( /* [> RAISE <] */
KC_EXLM, KC_AT, KC_UP, KC_LCBR, KC_RCBR, KC_PGUP, KC_7, KC_8, KC_9, KC_ASTR ,
KC_HASH, KC_LEFT, KC_DOWN, KC_RGHT, KC_DLR, KC_PGDN, KC_4, KC_5, KC_6, KC_PLUS ,
KC_LBRC, KC_RBRC, KC_LPRN, KC_RPRN, KC_AMPR, KC_GRV, KC_1, KC_2, KC_3, KC_BSLS ,
@@ -51,13 +51,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* volup reset || F1 F2 F3 F12
* voldn super shift bksp ctrl || alt space L0 prtsc scroll pause
*/
- [_LW] = LAYOUT( /* [> LOWER <] */
+ [_LW] = LAYOUT_pcb_up( /* [> LOWER <] */
KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 ,
KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 ,
KC_NO, KC_VOLU, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 ,
KC_NO, KC_VOLD, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, TO(_QW), KC_PSCR, KC_SCRL, KC_PAUS ),
- [_EM] = LAYOUT( /* [> EMPTY <] */
+ [_EM] = LAYOUT_pcb_up( /* [> EMPTY <] */
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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/atreus/keymaps/workman/config.h b/keyboards/atreus/keymaps/workman/config.h
index cf0b5e2ac5..f75e442456 100644
--- a/keyboards/atreus/keymaps/workman/config.h
+++ b/keyboards/atreus/keymaps/workman/config.h
@@ -1,3 +1,2 @@
#define TAPPING_TOGGLE 1
#define ONESHOT_TAP_TOGGLE 1
-#define PCBDOWN 1
diff --git a/keyboards/atreus/keymaps/workman/keymap.c b/keyboards/atreus/keymaps/workman/keymap.c
index c0633f6362..e8b5b6b4e3 100644
--- a/keyboards/atreus/keymaps/workman/keymap.c
+++ b/keyboards/atreus/keymaps/workman/keymap.c
@@ -25,7 +25,7 @@ enum custom_keycodes {
*/
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QW] = LAYOUT( /* Workman */
+ [_QW] = LAYOUT_pcb_down( /* Workman */
KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN,
KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I,
KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH,
@@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* menu caps < > del || _ 0 =
*/
- [_RS] = LAYOUT( /* [> RAISE <] */
+ [_RS] = LAYOUT_pcb_down( /* [> RAISE <] */
KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_MINS, KC_7, KC_8, KC_9, KC_ASTR,
KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_DOT, KC_4, KC_5, KC_6, KC_PLUS,
KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS,
@@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* || – ¨ reset
*/
- [_LW] = LAYOUT( /* [> LOWER <] */
+ [_LW] = LAYOUT_pcb_down( /* [> LOWER <] */
KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_VOLU, KC_F7, KC_F8, KC_F9, KC_F10,
KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_VOLD, KC_F4, KC_F5, KC_F6, KC_F11,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_F1, KC_F2, KC_F3, KC_F12,
diff --git a/keyboards/atreus/promicro/keyboard.json b/keyboards/atreus/promicro/keyboard.json
index e614b4e2a0..10c0ca1b22 100644
--- a/keyboards/atreus/promicro/keyboard.json
+++ b/keyboards/atreus/promicro/keyboard.json
@@ -4,6 +4,5 @@
"rows": ["F4", "B2", "B4", "B5"]
},
"diode_direction": "COL2ROW",
- "processor": "atmega32u4",
- "bootloader": "caterina"
+ "development_board": "promicro"
}
diff --git a/keyboards/aya/config.h b/keyboards/aya/config.h
index 14fc201d49..1ab53d70ae 100644
--- a/keyboards/aya/config.h
+++ b/keyboards/aya/config.h
@@ -16,5 +16,4 @@
#pragma once
-#define SPLIT_HAND_PIN B5
#define USE_I2C
diff --git a/keyboards/aya/keyboard.json b/keyboards/aya/keyboard.json
index 547f495ddd..6f9ad387bc 100644
--- a/keyboards/aya/keyboard.json
+++ b/keyboards/aya/keyboard.json
@@ -15,7 +15,10 @@
"command": true
},
"split": {
- "enabled": true
+ "enabled": true,
+ "handedness": {
+ "pin": "B5"
+ }
},
"matrix_pins": {
"cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"],
diff --git a/keyboards/bastardkb/tbk/config.h b/keyboards/bastardkb/tbk/config.h
deleted file mode 100644
index 8515cac5ef..0000000000
--- a/keyboards/bastardkb/tbk/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2021 Quentin LEBASTARD <[email protected]>
- *
- * 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 MASTER_RIGHT
diff --git a/keyboards/bastardkb/tbk/keyboard.json b/keyboards/bastardkb/tbk/keyboard.json
deleted file mode 100644
index 90e37478a1..0000000000
--- a/keyboards/bastardkb/tbk/keyboard.json
+++ /dev/null
@@ -1,111 +0,0 @@
-{
- "keyboard_name": "The Bastard Keyboard",
- "url": "https://bastardkb.com/",
- "usb": {
- "device_version": "0.0.1",
- "pid": "0x1828"
- },
- "rgblight": {
- "led_count": 38,
- "split_count": [19, 19],
- "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
- }
- },
- "ws2812": {
- "pin": "D2"
- },
- "features": {
- "bootmagic": true,
- "command": false,
- "console": false,
- "extrakey": true,
- "mousekey": true,
- "nkro": false,
- "rgblight": true
- },
- "matrix_pins": {
- "cols": ["B4", "E6", "C6", "B1", "B3", "B2"],
- "rows": ["D7", "B5", "F7", "F6", "B6"]
- },
- "diode_direction": "ROW2COL",
- "split": {
- "enabled": true,
- "soft_serial_pin": "D0"
- },
- "processor": "atmega32u4",
- "bootloader": "atmel-dfu",
- "layouts": {
- "LAYOUT_split_4x6_5": {
- "layout": [
- {"matrix": [0, 0], "x": 0, "y": 0},
- {"matrix": [0, 1], "x": 1, "y": 0},
- {"matrix": [0, 2], "x": 2, "y": 0},
- {"matrix": [0, 3], "x": 3, "y": 0},
- {"matrix": [0, 4], "x": 4, "y": 0},
- {"matrix": [0, 5], "x": 5, "y": 0},
- {"matrix": [5, 5], "x": 11, "y": 0},
- {"matrix": [5, 4], "x": 12, "y": 0},
- {"matrix": [5, 3], "x": 13, "y": 0},
- {"matrix": [5, 2], "x": 14, "y": 0},
- {"matrix": [5, 1], "x": 15, "y": 0},
- {"matrix": [5, 0], "x": 16, "y": 0},
- {"matrix": [1, 0], "x": 0, "y": 1},
- {"matrix": [1, 1], "x": 1, "y": 1},
- {"matrix": [1, 2], "x": 2, "y": 1},
- {"matrix": [1, 3], "x": 3, "y": 1},
- {"matrix": [1, 4], "x": 4, "y": 1},
- {"matrix": [1, 5], "x": 5, "y": 1},
- {"matrix": [6, 5], "x": 11, "y": 1},
- {"matrix": [6, 4], "x": 12, "y": 1},
- {"matrix": [6, 3], "x": 13, "y": 1},
- {"matrix": [6, 2], "x": 14, "y": 1},
- {"matrix": [6, 1], "x": 15, "y": 1},
- {"matrix": [6, 0], "x": 16, "y": 1},
- {"matrix": [2, 0], "x": 0, "y": 2},
- {"matrix": [2, 1], "x": 1, "y": 2},
- {"matrix": [2, 2], "x": 2, "y": 2},
- {"matrix": [2, 3], "x": 3, "y": 2},
- {"matrix": [2, 4], "x": 4, "y": 2},
- {"matrix": [2, 5], "x": 5, "y": 2},
- {"matrix": [7, 5], "x": 11, "y": 2},
- {"matrix": [7, 4], "x": 12, "y": 2},
- {"matrix": [7, 3], "x": 13, "y": 2},
- {"matrix": [7, 2], "x": 14, "y": 2},
- {"matrix": [7, 1], "x": 15, "y": 2},
- {"matrix": [7, 0], "x": 16, "y": 2},
- {"matrix": [3, 0], "x": 0, "y": 3},
- {"matrix": [3, 1], "x": 1, "y": 3},
- {"matrix": [3, 2], "x": 2, "y": 3},
- {"matrix": [3, 3], "x": 3, "y": 3},
- {"matrix": [3, 4], "x": 4, "y": 3},
- {"matrix": [3, 5], "x": 5, "y": 3},
- {"matrix": [8, 5], "x": 11, "y": 3},
- {"matrix": [8, 4], "x": 12, "y": 3},
- {"matrix": [8, 3], "x": 13, "y": 3},
- {"matrix": [8, 2], "x": 14, "y": 3},
- {"matrix": [8, 1], "x": 15, "y": 3},
- {"matrix": [8, 0], "x": 16, "y": 3},
- {"matrix": [4, 3], "x": 5, "y": 4},
- {"matrix": [4, 4], "x": 6, "y": 4},
- {"matrix": [4, 1], "x": 7, "y": 4},
- {"matrix": [9, 1], "x": 9, "y": 4},
- {"matrix": [9, 4], "x": 10, "y": 4},
- {"matrix": [9, 3], "x": 11, "y": 4},
- {"matrix": [4, 5], "x": 6, "y": 5},
- {"matrix": [4, 2], "x": 7, "y": 5},
- {"matrix": [9, 2], "x": 9, "y": 5},
- {"matrix": [9, 5], "x": 10, "y": 5}
- ]
- }
- }
-}
diff --git a/keyboards/bastardkb/tbk/keymaps/default/keymap.c b/keyboards/bastardkb/tbk/keymaps/default/keymap.c
deleted file mode 100644
index 3227076c07..0000000000
--- a/keyboards/bastardkb/tbk/keymaps/default/keymap.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright 2021 Quentin LEBASTARD <[email protected]>
- *
- * 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_split_4x6_5(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
-//-------------------------------------------------//-----------------------------------------------------------//
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
-//-------------------------------------------------//-----------------------------------------------------------//
- KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
-//-------------------------------------------------//-----------------------------------------------------------//
- KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS,
-//-------------------------------------------------//-----------------------------------------------------------//
- KC_LCTL, KC_SPC, MO(1), MO(2), KC_ENT, KC_RGUI,
- KC_HOME, KC_BSPC, KC_DEL, KC_RALT
- ),
-
- [1] = LAYOUT_split_4x6_5(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
-//---------------------------------------------------------//-----------------------------------------------------------//
- QK_BOOT, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, _______, KC_PLUS,
-//---------------------------------------------------------//-----------------------------------------------------------//
- _______, KC_HOME, KC_PGUP, KC_PGDN, KC_END, KC_LPRN, KC_RPRN, KC_P4, KC_P5, KC_P6, KC_MINS, KC_PIPE,
-//---------------------------------------------------------//-----------------------------------------------------------//
- _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_EQL, KC_UNDS,
-//---------------------------------------------------------//-----------------------------------------------------------//
- KC_LCTL, KC_HOME, KC_TRNS, KC_TRNS, KC_RALT, KC_RGUI,
- KC_SPC, KC_BSPC, KC_RCTL, KC_ENT
- ),
-
- [2] = LAYOUT_split_4x6_5(
- KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
-//---------------------------------------------------------//--------------------------------------------------------------//
- _______, _______, RGB_RMOD, RGB_TOG, RGB_MOD, KC_LBRC, KC_RBRC, _______, KC_NUM, KC_INS, KC_SCRL, KC_MUTE,
-//---------------------------------------------------------//--------------------------------------------------------------//
- _______, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_LPRN, KC_RPRN, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_VOLU,
-//---------------------------------------------------------//--------------------------------------------------------------//
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD,
-//---------------------------------------------------------//--------------------------------------------------------------//
- KC_LCTL, KC_HOME, KC_TRNS, KC_TRNS, KC_RALT, QK_BOOT,
- KC_SPC, KC_BSPC, KC_RCTL, KC_ENT
- ),
-};
diff --git a/keyboards/bastardkb/tbk/readme.md b/keyboards/bastardkb/tbk/readme.md
deleted file mode 100644
index 0d552e5caf..0000000000
--- a/keyboards/bastardkb/tbk/readme.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# The Bastard Keyboard
-
-A split ergonomic keyboard.
-
-* Keyboard Maintainer: [Bastard Keyboards](https://github.com/Bastardkb/)
-* Hardware Supported: elite-C V4
-* Hardware Availability: [Bastard Keyboards](https://bastardkb.com/)
-
-Make example for this keyboard (after setting up your build environment):
-
- make bastardkb/tbk: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).
-
-See the [keyboard build instructions](https://docs.bastardkb.com)
-
-
-## Important information regarding the reset
-
-If you modify this firmware, make sure to always have a QK_BOOT key that can be triggered using only the master side ! This way you ensure that you can always flash the keyboard, even if you mess up.
-
-Otherwise if you're stuck, open the case and reset manually by shorting Gnd and Rst, or pressing the RST button.
diff --git a/keyboards/bear_face/info.json b/keyboards/bear_face/info.json
index ad12468d56..90191299d8 100644
--- a/keyboards/bear_face/info.json
+++ b/keyboards/bear_face/info.json
@@ -1,22 +1,18 @@
{
- "keyboard_name": "bear_face",
- "manufacturer": "chemicalwill",
- "url": "https://github.com/chemicalwill/bear_face_pcb",
- "maintainer": "chemicalwill",
- "debounce": 6,
+ "manufacturer": "will-hedges",
+ "url": "https://github.com/will-hedges",
+ "maintainer": "will-hedges",
"usb": {
"vid": "0xFEED",
- "pid": "0x09F5",
- "force_nkro": true
+ "pid": "0x09F5"
},
"features": {
"backlight": true,
- "bootmagic": false,
+ "bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
- "mousekey": false,
- "nkro": true
+ "mousekey": false
},
"qmk": {
"locking": {
@@ -30,7 +26,8 @@
},
"diode_direction": "COL2ROW",
"backlight": {
- "driver": "timer",
+ "as_caps_lock": true,
+ "driver": "software",
"pin": "F7"
},
"processor": "atmega32u4",
diff --git a/keyboards/bear_face/rules.mk b/keyboards/bear_face/rules.mk
deleted file mode 100644
index f11303978e..0000000000
--- a/keyboards/bear_face/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-DEFAULT_FOLDER = bear_face/v1
diff --git a/keyboards/bear_face/v1/keyboard.json b/keyboards/bear_face/v1/keyboard.json
index 8dedc0b1c7..8c60089bbb 100644
--- a/keyboards/bear_face/v1/keyboard.json
+++ b/keyboards/bear_face/v1/keyboard.json
@@ -1,9 +1,13 @@
{
+ "keyboard_name": "bear_face v1",
"usb": {
"device_version": "1.0.0"
},
+ "backlight": {
+ "on_state": 0
+ },
"layouts": {
- "LAYOUT_83_ansi": {
+ "LAYOUT": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5},
{"matrix": [0, 1], "x": 1.5, "y": 0},
diff --git a/keyboards/bear_face/v1/keymaps/default/keymap.c b/keyboards/bear_face/v1/keymaps/default/keymap.c
index fc92c783db..e615a3915d 100644
--- a/keyboards/bear_face/v1/keymaps/default/keymap.c
+++ b/keyboards/bear_face/v1/keymaps/default/keymap.c
@@ -1,19 +1,5 @@
-/*
-Copyright 2020 chemicalwill <https://github.com/chemicalwill>
-
-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 2024 will-hedges */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
#include QMK_KEYBOARD_H
@@ -28,13 +14,13 @@ enum layers {
//custom keycode enums
enum custom_keycodes {
- BASE_QWER = SAFE_RANGE,
+ BASE_QWER = QK_USER,
BASE_COLE,
BASE_DVOR
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWER] = LAYOUT_83_ansi(
+ [_QWER] = LAYOUT(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
@@ -43,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
- [_COLE] = LAYOUT_83_ansi(
+ [_COLE] = LAYOUT(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
@@ -52,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
- [_DVOR] = LAYOUT_83_ansi(
+ [_DVOR] = LAYOUT(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_HOME,
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, KC_PGUP,
@@ -61,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
- [_FN1] = LAYOUT_83_ansi(
+ [_FN1] = LAYOUT(
_______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, KC_INS,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, BASE_QWER,
_______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, BASE_COLE,
@@ -71,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
/*
- [_BLANK] = LAYOUT_83_ansi(
+ [_BLANK] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -82,8 +68,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
};
-//macros to allow the user to set whatever default layer they want, even after reboot
+// macros to allow the user to set whatever default layer they want, even after reboot
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case BASE_QWER:
diff --git a/keyboards/bear_face/v1/v1.c b/keyboards/bear_face/v1/v1.c
deleted file mode 100644
index b64a63f0b4..0000000000
--- a/keyboards/bear_face/v1/v1.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-Copyright 2020 chemicalwill <https://github.com/chemicalwill>
-
-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"
-
-void keyboard_pre_init_kb(void) {
- //Sets LED pin as output
- gpio_set_pin_output(F7);
-
- keyboard_pre_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- // Caps Lock LED indicator toggling code here
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(F7, led_state.caps_lock);
- }
- return res;
-}
diff --git a/keyboards/bear_face/v2/keyboard.json b/keyboards/bear_face/v2/keyboard.json
index 908165babb..456c920066 100644
--- a/keyboards/bear_face/v2/keyboard.json
+++ b/keyboards/bear_face/v2/keyboard.json
@@ -1,8 +1,106 @@
{
+ "keyboard_name": "bear_face v2",
"usb": {
- "device_version": "2.0.0"
+ "device_version": "2.1.0"
+ },
+ "backlight": {
+ "on_state": 0
},
"layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5},
+ {"matrix": [0, 1], "x": 1.5, "y": 0},
+ {"matrix": [0, 2], "x": 2.5, "y": 0},
+ {"matrix": [0, 3], "x": 3.5, "y": 0},
+ {"matrix": [0, 4], "x": 4.5, "y": 0},
+ {"matrix": [0, 5], "x": 5.5, "y": 0},
+ {"matrix": [0, 6], "x": 6.5, "y": 0},
+ {"matrix": [0, 7], "x": 7.5, "y": 0},
+ {"matrix": [0, 8], "x": 8.5, "y": 0},
+ {"matrix": [0, 9], "x": 9.5, "y": 0},
+ {"matrix": [0, 10], "x": 10.5, "y": 0},
+ {"matrix": [0, 11], "x": 11.5, "y": 0},
+ {"matrix": [0, 12], "x": 12.5, "y": 0},
+ {"matrix": [0, 13], "x": 13.5, "y": 0},
+ {"matrix": [0, 14], "x": 14.5, "y": 0, "w": 1.5},
+
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+ {"matrix": [1, 4], "x": 4, "y": 1},
+ {"matrix": [1, 5], "x": 5, "y": 1},
+ {"matrix": [1, 6], "x": 6, "y": 1},
+ {"matrix": [1, 7], "x": 7, "y": 1},
+ {"matrix": [1, 8], "x": 8, "y": 1},
+ {"matrix": [1, 9], "x": 9, "y": 1},
+ {"matrix": [1, 10], "x": 10, "y": 1},
+ {"matrix": [1, 11], "x": 11, "y": 1},
+ {"matrix": [1, 12], "x": 12, "y": 1},
+ {"matrix": [1, 13], "x": 13, "y": 1, "w": 2},
+ {"matrix": [1, 14], "x": 15, "y": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2},
+ {"matrix": [2, 2], "x": 2.5, "y": 2},
+ {"matrix": [2, 3], "x": 3.5, "y": 2},
+ {"matrix": [2, 4], "x": 4.5, "y": 2},
+ {"matrix": [2, 5], "x": 5.5, "y": 2},
+ {"matrix": [2, 6], "x": 6.5, "y": 2},
+ {"matrix": [2, 7], "x": 7.5, "y": 2},
+ {"matrix": [2, 8], "x": 8.5, "y": 2},
+ {"matrix": [2, 9], "x": 9.5, "y": 2},
+ {"matrix": [2, 10], "x": 10.5, "y": 2},
+ {"matrix": [2, 11], "x": 11.5, "y": 2},
+ {"matrix": [2, 12], "x": 12.5, "y": 2},
+ {"matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5},
+ {"matrix": [2, 14], "x": 15, "y": 2},
+
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3},
+ {"matrix": [3, 2], "x": 2.75, "y": 3},
+ {"matrix": [3, 3], "x": 3.75, "y": 3},
+ {"matrix": [3, 4], "x": 4.75, "y": 3},
+ {"matrix": [3, 5], "x": 5.75, "y": 3},
+ {"matrix": [3, 6], "x": 6.75, "y": 3},
+ {"matrix": [3, 7], "x": 7.75, "y": 3},
+ {"matrix": [3, 8], "x": 8.75, "y": 3},
+ {"matrix": [3, 9], "x": 9.75, "y": 3},
+ {"matrix": [3, 10], "x": 10.75, "y": 3},
+ {"matrix": [3, 11], "x": 11.75, "y": 3},
+ {"matrix": [3, 12], "x": 12.75, "y": 3},
+ {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2},
+ {"matrix": [3, 14], "x": 15, "y": 3},
+
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+ {"matrix": [4, 1], "x": 1.25, "y": 4},
+ {"matrix": [4, 2], "x": 2.25, "y": 4},
+ {"matrix": [4, 3], "x": 3.25, "y": 4},
+ {"matrix": [4, 4], "x": 4.25, "y": 4},
+ {"matrix": [4, 5], "x": 5.25, "y": 4},
+ {"matrix": [4, 6], "x": 6.25, "y": 4},
+ {"matrix": [4, 7], "x": 7.25, "y": 4},
+ {"matrix": [4, 8], "x": 8.25, "y": 4},
+ {"matrix": [4, 9], "x": 9.25, "y": 4},
+ {"matrix": [4, 10], "x": 10.25, "y": 4},
+ {"matrix": [4, 11], "x": 11.25, "y": 4},
+ {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
+ {"matrix": [4, 13], "x": 14, "y": 4},
+ {"matrix": [4, 14], "x": 15, "y": 4},
+
+ {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
+ {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
+ {"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25},
+ {"matrix": [5, 9], "x": 10, "y": 5},
+ {"matrix": [5, 10], "x": 11, "y": 5},
+ {"matrix": [5, 11], "x": 12, "y": 5},
+ {"matrix": [5, 12], "x": 13, "y": 5},
+ {"matrix": [5, 13], "x": 14, "y": 5},
+ {"matrix": [5, 14], "x": 15, "y": 5}
+ ]
+ },
"LAYOUT_83_ansi": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5},
diff --git a/keyboards/bear_face/v2/keymaps/default/keymap.c b/keyboards/bear_face/v2/keymaps/default/keymap.c
index 0d536b68f3..08f193052a 100644
--- a/keyboards/bear_face/v2/keymaps/default/keymap.c
+++ b/keyboards/bear_face/v2/keymaps/default/keymap.c
@@ -1,19 +1,5 @@
-/*
-Copyright 2020 chemicalwill <https://github.com/chemicalwill>
-
-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 2024 will-hedges */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
#include QMK_KEYBOARD_H
@@ -28,7 +14,7 @@ enum layers {
//custom keycode enums
enum custom_keycodes {
- BASE_QWER = SAFE_RANGE,
+ BASE_QWER = QK_USER,
BASE_COLE,
BASE_DVOR
};
@@ -82,8 +68,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
};
-//macros to allow the user to set whatever default layer they want, even after reboot
+// macros to allow the user to set whatever default layer they want, even after reboot
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case BASE_QWER:
diff --git a/keyboards/bear_face/v2/keymaps/default/readme.md b/keyboards/bear_face/v2/keymaps/default/readme.md
index 5f9e635dfe..517baa5726 100644
--- a/keyboards/bear_face/v2/keymaps/default/readme.md
+++ b/keyboards/bear_face/v2/keymaps/default/readme.md
@@ -13,3 +13,7 @@ This layout replaces the stock layout on the Vortex Race 3.
* 'Reset' will put the keyboard into DFU mode
* 'APP' sends 'KC_APP'
* Base layer toggles for QWERTY, COLEMAK, and DVORAK layouts (will persist after reboot)
+
+- New things in v2:
+ * Option of ANSI or ISO layout
+ * Optional stepped caps (will require compatible plate)
diff --git a/keyboards/bear_face/v2/keymaps/default_iso/keymap.c b/keyboards/bear_face/v2/keymaps/default_iso/keymap.c
index e9e6c837f4..a5e96207f6 100644
--- a/keyboards/bear_face/v2/keymaps/default_iso/keymap.c
+++ b/keyboards/bear_face/v2/keymaps/default_iso/keymap.c
@@ -1,19 +1,5 @@
-/*
-Copyright 2020 chemicalwill <https://github.com/chemicalwill>
-
-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 2024 will-hedges */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
#include QMK_KEYBOARD_H
@@ -28,7 +14,7 @@ enum layers {
//custom keycode enums
enum custom_keycodes {
- BASE_QWER = SAFE_RANGE,
+ BASE_QWER = QK_USER,
BASE_COLE,
BASE_DVOR
};
@@ -82,8 +68,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
};
-//macros to allow the user to set whatever default layer they want, even after reboot
+//macros to allow the user to set whatever default layer they want, even after reboot
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case BASE_QWER:
diff --git a/keyboards/bear_face/v2/v2.c b/keyboards/bear_face/v2/v2.c
deleted file mode 100644
index b64a63f0b4..0000000000
--- a/keyboards/bear_face/v2/v2.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-Copyright 2020 chemicalwill <https://github.com/chemicalwill>
-
-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"
-
-void keyboard_pre_init_kb(void) {
- //Sets LED pin as output
- gpio_set_pin_output(F7);
-
- keyboard_pre_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- // Caps Lock LED indicator toggling code here
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(F7, led_state.caps_lock);
- }
- return res;
-}
diff --git a/keyboards/bear_face/v3/keyboard.json b/keyboards/bear_face/v3/keyboard.json
new file mode 100644
index 0000000000..0a0bda8df9
--- /dev/null
+++ b/keyboards/bear_face/v3/keyboard.json
@@ -0,0 +1,287 @@
+{
+ "keyboard_name": "bear_face v3",
+ "usb": {
+ "device_version": "3.2.0"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5},
+ {"matrix": [0, 1], "x": 1.5, "y": 0},
+ {"matrix": [0, 2], "x": 2.5, "y": 0},
+ {"matrix": [0, 3], "x": 3.5, "y": 0},
+ {"matrix": [0, 4], "x": 4.5, "y": 0},
+ {"matrix": [0, 5], "x": 5.5, "y": 0},
+ {"matrix": [0, 6], "x": 6.5, "y": 0},
+ {"matrix": [0, 7], "x": 7.5, "y": 0},
+ {"matrix": [0, 8], "x": 8.5, "y": 0},
+ {"matrix": [0, 9], "x": 9.5, "y": 0},
+ {"matrix": [0, 10], "x": 10.5, "y": 0},
+ {"matrix": [0, 11], "x": 11.5, "y": 0},
+ {"matrix": [0, 12], "x": 12.5, "y": 0},
+ {"matrix": [0, 13], "x": 13.5, "y": 0},
+ {"matrix": [0, 14], "x": 14.5, "y": 0, "w": 1.5},
+
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+ {"matrix": [1, 4], "x": 4, "y": 1},
+ {"matrix": [1, 5], "x": 5, "y": 1},
+ {"matrix": [1, 6], "x": 6, "y": 1},
+ {"matrix": [1, 7], "x": 7, "y": 1},
+ {"matrix": [1, 8], "x": 8, "y": 1},
+ {"matrix": [1, 9], "x": 9, "y": 1},
+ {"matrix": [1, 10], "x": 10, "y": 1},
+ {"matrix": [1, 11], "x": 11, "y": 1},
+ {"matrix": [1, 12], "x": 12, "y": 1},
+ {"matrix": [1, 13], "x": 13, "y": 1, "w": 2},
+ {"matrix": [1, 14], "x": 15, "y": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2},
+ {"matrix": [2, 2], "x": 2.5, "y": 2},
+ {"matrix": [2, 3], "x": 3.5, "y": 2},
+ {"matrix": [2, 4], "x": 4.5, "y": 2},
+ {"matrix": [2, 5], "x": 5.5, "y": 2},
+ {"matrix": [2, 6], "x": 6.5, "y": 2},
+ {"matrix": [2, 7], "x": 7.5, "y": 2},
+ {"matrix": [2, 8], "x": 8.5, "y": 2},
+ {"matrix": [2, 9], "x": 9.5, "y": 2},
+ {"matrix": [2, 10], "x": 10.5, "y": 2},
+ {"matrix": [2, 11], "x": 11.5, "y": 2},
+ {"matrix": [2, 12], "x": 12.5, "y": 2},
+ {"matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5},
+ {"matrix": [2, 14], "x": 15, "y": 2},
+
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3},
+ {"matrix": [3, 2], "x": 2.75, "y": 3},
+ {"matrix": [3, 3], "x": 3.75, "y": 3},
+ {"matrix": [3, 4], "x": 4.75, "y": 3},
+ {"matrix": [3, 5], "x": 5.75, "y": 3},
+ {"matrix": [3, 6], "x": 6.75, "y": 3},
+ {"matrix": [3, 7], "x": 7.75, "y": 3},
+ {"matrix": [3, 8], "x": 8.75, "y": 3},
+ {"matrix": [3, 9], "x": 9.75, "y": 3},
+ {"matrix": [3, 10], "x": 10.75, "y": 3},
+ {"matrix": [3, 11], "x": 11.75, "y": 3},
+ {"matrix": [3, 12], "x": 12.75, "y": 3},
+ {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2},
+ {"matrix": [3, 14], "x": 15, "y": 3},
+
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+ {"matrix": [4, 1], "x": 1.25, "y": 4},
+ {"matrix": [4, 2], "x": 2.25, "y": 4},
+ {"matrix": [4, 3], "x": 3.25, "y": 4},
+ {"matrix": [4, 4], "x": 4.25, "y": 4},
+ {"matrix": [4, 5], "x": 5.25, "y": 4},
+ {"matrix": [4, 6], "x": 6.25, "y": 4},
+ {"matrix": [4, 7], "x": 7.25, "y": 4},
+ {"matrix": [4, 8], "x": 8.25, "y": 4},
+ {"matrix": [4, 9], "x": 9.25, "y": 4},
+ {"matrix": [4, 10], "x": 10.25, "y": 4},
+ {"matrix": [4, 11], "x": 11.25, "y": 4},
+ {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
+ {"matrix": [4, 13], "x": 14, "y": 4},
+ {"matrix": [4, 14], "x": 15, "y": 4},
+
+ {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
+ {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
+ {"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25},
+ {"matrix": [5, 9], "x": 10, "y": 5},
+ {"matrix": [5, 10], "x": 11, "y": 5},
+ {"matrix": [5, 11], "x": 12, "y": 5},
+ {"matrix": [5, 12], "x": 13, "y": 5},
+ {"matrix": [5, 13], "x": 14, "y": 5},
+ {"matrix": [5, 14], "x": 15, "y": 5}
+ ]
+ },
+ "LAYOUT_83_ansi": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5},
+ {"matrix": [0, 1], "x": 1.5, "y": 0},
+ {"matrix": [0, 2], "x": 2.5, "y": 0},
+ {"matrix": [0, 3], "x": 3.5, "y": 0},
+ {"matrix": [0, 4], "x": 4.5, "y": 0},
+ {"matrix": [0, 5], "x": 5.5, "y": 0},
+ {"matrix": [0, 6], "x": 6.5, "y": 0},
+ {"matrix": [0, 7], "x": 7.5, "y": 0},
+ {"matrix": [0, 8], "x": 8.5, "y": 0},
+ {"matrix": [0, 9], "x": 9.5, "y": 0},
+ {"matrix": [0, 10], "x": 10.5, "y": 0},
+ {"matrix": [0, 11], "x": 11.5, "y": 0},
+ {"matrix": [0, 12], "x": 12.5, "y": 0},
+ {"matrix": [0, 13], "x": 13.5, "y": 0},
+ {"matrix": [0, 14], "x": 14.5, "y": 0, "w": 1.5},
+
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+ {"matrix": [1, 4], "x": 4, "y": 1},
+ {"matrix": [1, 5], "x": 5, "y": 1},
+ {"matrix": [1, 6], "x": 6, "y": 1},
+ {"matrix": [1, 7], "x": 7, "y": 1},
+ {"matrix": [1, 8], "x": 8, "y": 1},
+ {"matrix": [1, 9], "x": 9, "y": 1},
+ {"matrix": [1, 10], "x": 10, "y": 1},
+ {"matrix": [1, 11], "x": 11, "y": 1},
+ {"matrix": [1, 12], "x": 12, "y": 1},
+ {"matrix": [1, 13], "x": 13, "y": 1, "w": 2},
+ {"matrix": [1, 14], "x": 15, "y": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2},
+ {"matrix": [2, 2], "x": 2.5, "y": 2},
+ {"matrix": [2, 3], "x": 3.5, "y": 2},
+ {"matrix": [2, 4], "x": 4.5, "y": 2},
+ {"matrix": [2, 5], "x": 5.5, "y": 2},
+ {"matrix": [2, 6], "x": 6.5, "y": 2},
+ {"matrix": [2, 7], "x": 7.5, "y": 2},
+ {"matrix": [2, 8], "x": 8.5, "y": 2},
+ {"matrix": [2, 9], "x": 9.5, "y": 2},
+ {"matrix": [2, 10], "x": 10.5, "y": 2},
+ {"matrix": [2, 11], "x": 11.5, "y": 2},
+ {"matrix": [2, 12], "x": 12.5, "y": 2},
+ {"matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5},
+ {"matrix": [2, 14], "x": 15, "y": 2},
+
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3},
+ {"matrix": [3, 2], "x": 2.75, "y": 3},
+ {"matrix": [3, 3], "x": 3.75, "y": 3},
+ {"matrix": [3, 4], "x": 4.75, "y": 3},
+ {"matrix": [3, 5], "x": 5.75, "y": 3},
+ {"matrix": [3, 6], "x": 6.75, "y": 3},
+ {"matrix": [3, 7], "x": 7.75, "y": 3},
+ {"matrix": [3, 8], "x": 8.75, "y": 3},
+ {"matrix": [3, 9], "x": 9.75, "y": 3},
+ {"matrix": [3, 10], "x": 10.75, "y": 3},
+ {"matrix": [3, 11], "x": 11.75, "y": 3},
+ {"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25},
+ {"matrix": [3, 14], "x": 15, "y": 3},
+
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25},
+ {"matrix": [4, 2], "x": 2.25, "y": 4},
+ {"matrix": [4, 3], "x": 3.25, "y": 4},
+ {"matrix": [4, 4], "x": 4.25, "y": 4},
+ {"matrix": [4, 5], "x": 5.25, "y": 4},
+ {"matrix": [4, 6], "x": 6.25, "y": 4},
+ {"matrix": [4, 7], "x": 7.25, "y": 4},
+ {"matrix": [4, 8], "x": 8.25, "y": 4},
+ {"matrix": [4, 9], "x": 9.25, "y": 4},
+ {"matrix": [4, 10], "x": 10.25, "y": 4},
+ {"matrix": [4, 11], "x": 11.25, "y": 4},
+ {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
+ {"matrix": [4, 13], "x": 14, "y": 4},
+ {"matrix": [4, 14], "x": 15, "y": 4},
+
+ {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
+ {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
+ {"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25},
+ {"matrix": [5, 9], "x": 10, "y": 5},
+ {"matrix": [5, 10], "x": 11, "y": 5},
+ {"matrix": [5, 11], "x": 12, "y": 5},
+ {"matrix": [5, 12], "x": 13, "y": 5},
+ {"matrix": [5, 13], "x": 14, "y": 5},
+ {"matrix": [5, 14], "x": 15, "y": 5}
+ ]
+ },
+ "LAYOUT_84_iso": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5},
+ {"matrix": [0, 1], "x": 1.5, "y": 0},
+ {"matrix": [0, 2], "x": 2.5, "y": 0},
+ {"matrix": [0, 3], "x": 3.5, "y": 0},
+ {"matrix": [0, 4], "x": 4.5, "y": 0},
+ {"matrix": [0, 5], "x": 5.5, "y": 0},
+ {"matrix": [0, 6], "x": 6.5, "y": 0},
+ {"matrix": [0, 7], "x": 7.5, "y": 0},
+ {"matrix": [0, 8], "x": 8.5, "y": 0},
+ {"matrix": [0, 9], "x": 9.5, "y": 0},
+ {"matrix": [0, 10], "x": 10.5, "y": 0},
+ {"matrix": [0, 11], "x": 11.5, "y": 0},
+ {"matrix": [0, 12], "x": 12.5, "y": 0},
+ {"matrix": [0, 13], "x": 13.5, "y": 0},
+ {"matrix": [0, 14], "x": 14.5, "y": 0, "w": 1.5},
+
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+ {"matrix": [1, 4], "x": 4, "y": 1},
+ {"matrix": [1, 5], "x": 5, "y": 1},
+ {"matrix": [1, 6], "x": 6, "y": 1},
+ {"matrix": [1, 7], "x": 7, "y": 1},
+ {"matrix": [1, 8], "x": 8, "y": 1},
+ {"matrix": [1, 9], "x": 9, "y": 1},
+ {"matrix": [1, 10], "x": 10, "y": 1},
+ {"matrix": [1, 11], "x": 11, "y": 1},
+ {"matrix": [1, 12], "x": 12, "y": 1},
+ {"matrix": [1, 13], "x": 13, "y": 1, "w": 2},
+ {"matrix": [1, 14], "x": 15, "y": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2},
+ {"matrix": [2, 2], "x": 2.5, "y": 2},
+ {"matrix": [2, 3], "x": 3.5, "y": 2},
+ {"matrix": [2, 4], "x": 4.5, "y": 2},
+ {"matrix": [2, 5], "x": 5.5, "y": 2},
+ {"matrix": [2, 6], "x": 6.5, "y": 2},
+ {"matrix": [2, 7], "x": 7.5, "y": 2},
+ {"matrix": [2, 8], "x": 8.5, "y": 2},
+ {"matrix": [2, 9], "x": 9.5, "y": 2},
+ {"matrix": [2, 10], "x": 10.5, "y": 2},
+ {"matrix": [2, 11], "x": 11.5, "y": 2},
+ {"matrix": [2, 12], "x": 12.5, "y": 2},
+ {"matrix": [2, 14], "x": 15, "y": 2},
+
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3},
+ {"matrix": [3, 2], "x": 2.75, "y": 3},
+ {"matrix": [3, 3], "x": 3.75, "y": 3},
+ {"matrix": [3, 4], "x": 4.75, "y": 3},
+ {"matrix": [3, 5], "x": 5.75, "y": 3},
+ {"matrix": [3, 6], "x": 6.75, "y": 3},
+ {"matrix": [3, 7], "x": 7.75, "y": 3},
+ {"matrix": [3, 8], "x": 8.75, "y": 3},
+ {"matrix": [3, 9], "x": 9.75, "y": 3},
+ {"matrix": [3, 10], "x": 10.75, "y": 3},
+ {"matrix": [3, 11], "x": 11.75, "y": 3},
+ {"matrix": [3, 12], "x": 12.75, "y": 3},
+ {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2},
+ {"matrix": [3, 14], "x": 15, "y": 3},
+
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+ {"matrix": [4, 1], "x": 1.25, "y": 4},
+ {"matrix": [4, 2], "x": 2.25, "y": 4},
+ {"matrix": [4, 3], "x": 3.25, "y": 4},
+ {"matrix": [4, 4], "x": 4.25, "y": 4},
+ {"matrix": [4, 5], "x": 5.25, "y": 4},
+ {"matrix": [4, 6], "x": 6.25, "y": 4},
+ {"matrix": [4, 7], "x": 7.25, "y": 4},
+ {"matrix": [4, 8], "x": 8.25, "y": 4},
+ {"matrix": [4, 9], "x": 9.25, "y": 4},
+ {"matrix": [4, 10], "x": 10.25, "y": 4},
+ {"matrix": [4, 11], "x": 11.25, "y": 4},
+ {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
+ {"matrix": [4, 13], "x": 14, "y": 4},
+ {"matrix": [4, 14], "x": 15, "y": 4},
+
+ {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
+ {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
+ {"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25},
+ {"matrix": [5, 9], "x": 10, "y": 5},
+ {"matrix": [5, 10], "x": 11, "y": 5},
+ {"matrix": [5, 11], "x": 12, "y": 5},
+ {"matrix": [5, 12], "x": 13, "y": 5},
+ {"matrix": [5, 13], "x": 14, "y": 5},
+ {"matrix": [5, 14], "x": 15, "y": 5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/bear_face/v3/keymaps/default/keymap.c b/keyboards/bear_face/v3/keymaps/default/keymap.c
new file mode 100644
index 0000000000..f6e71f1b34
--- /dev/null
+++ b/keyboards/bear_face/v3/keymaps/default/keymap.c
@@ -0,0 +1,92 @@
+/* Copyright 2024 will-hedges */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include QMK_KEYBOARD_H
+
+enum layers {
+ _QWER,
+ _COLE,
+ _DVOR,
+ _FN1,
+};
+
+#define FN1_CAPS LT(_FN1, KC_CAPS)
+
+//custom keycode enums
+enum custom_keycodes {
+ BASE_QWER = QK_USER,
+ BASE_COLE,
+ BASE_DVOR
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QWER] = LAYOUT_83_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ FN1_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_COLE] = LAYOUT_83_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
+ KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_DVOR] = LAYOUT_83_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_HOME,
+ KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, KC_PGUP,
+ FN1_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_FN1] = LAYOUT_83_ansi(
+ _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, KC_INS,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, BASE_QWER,
+ _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, BASE_COLE,
+ _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BASE_DVOR,
+ _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, KC_APP, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+/*
+ [_BLANK] = LAYOUT_83_ansi(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+*/
+};
+
+
+// Macros to allow the user to set whatever default layer they want, even after reboot
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case BASE_QWER:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_QWER);
+ }
+ break;
+ case BASE_COLE:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_COLE);
+ }
+ break;
+ case BASE_DVOR:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_DVOR);
+ }
+ break;
+ }
+ return true;
+};
diff --git a/keyboards/bear_face/v3/keymaps/default/readme.md b/keyboards/bear_face/v3/keymaps/default/readme.md
new file mode 100644
index 0000000000..a86b77bb19
--- /dev/null
+++ b/keyboards/bear_face/v3/keymaps/default/readme.md
@@ -0,0 +1,18 @@
+# default bear_face layout
+
+This layout replaces the stock layout on the Vortex Race 3.
+
+- Caps Lock indicator LED is enabled by default
+- Layer Tap on Caps Lock (tap for Caps Lock, hold for _FN1)
+- FORCE_NKRO enabled by default
+
+- Pn key is set to 'KC_NO' by default
+ * Might be a good place for a macro, or to put your PC to sleep, etc.
+
+- A combined function layer that mimics the sublegends on the stock caps (regardless of layout)
+ * 'Reset' will put the keyboard into DFU mode
+ * 'APP' sends 'KC_APP'
+ * Base layer toggles for QWERTY, COLEMAK, and DVORAK layouts (will persist after reboot)
+
+- New things in v3:
+ * v3.1c PCB is compatible with both rev1 (Micro-USB) and rev2 (USB-C) stock cases
diff --git a/keyboards/bear_face/v3/keymaps/default_iso/keymap.c b/keyboards/bear_face/v3/keymaps/default_iso/keymap.c
new file mode 100644
index 0000000000..cc97d54a9b
--- /dev/null
+++ b/keyboards/bear_face/v3/keymaps/default_iso/keymap.c
@@ -0,0 +1,92 @@
+/* Copyright 2024 will-hedges */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include QMK_KEYBOARD_H
+
+enum layers {
+ _QWER,
+ _COLE,
+ _DVOR,
+ _FN1,
+};
+
+#define FN1_CAPS LT(_FN1, KC_CAPS)
+
+//custom keycode enums
+enum custom_keycodes {
+ BASE_QWER = QK_USER,
+ BASE_COLE,
+ BASE_DVOR
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QWER] = LAYOUT_84_iso(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGUP,
+ FN1_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_COLE] = LAYOUT_84_iso(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
+ KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_PGUP,
+ KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_DVOR] = LAYOUT_84_iso(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_HOME,
+ KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_PGUP,
+ FN1_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_NUHS, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_NUBS, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_FN1] = LAYOUT_84_iso(
+ _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, KC_INS,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, BASE_QWER,
+ _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, BASE_COLE,
+ _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BASE_DVOR,
+ _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, KC_APP, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+/*
+ [_BLANK] = LAYOUT_84_iso(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+*/
+};
+
+
+// Macros to allow the user to set whatever default layer they want, even after reboot
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case BASE_QWER:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_QWER);
+ }
+ break;
+ case BASE_COLE:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_COLE);
+ }
+ break;
+ case BASE_DVOR:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_DVOR);
+ }
+ break;
+ }
+ return true;
+};
diff --git a/keyboards/bear_face/v3/keymaps/default_iso/readme.md b/keyboards/bear_face/v3/keymaps/default_iso/readme.md
new file mode 100644
index 0000000000..a86b77bb19
--- /dev/null
+++ b/keyboards/bear_face/v3/keymaps/default_iso/readme.md
@@ -0,0 +1,18 @@
+# default bear_face layout
+
+This layout replaces the stock layout on the Vortex Race 3.
+
+- Caps Lock indicator LED is enabled by default
+- Layer Tap on Caps Lock (tap for Caps Lock, hold for _FN1)
+- FORCE_NKRO enabled by default
+
+- Pn key is set to 'KC_NO' by default
+ * Might be a good place for a macro, or to put your PC to sleep, etc.
+
+- A combined function layer that mimics the sublegends on the stock caps (regardless of layout)
+ * 'Reset' will put the keyboard into DFU mode
+ * 'APP' sends 'KC_APP'
+ * Base layer toggles for QWERTY, COLEMAK, and DVORAK layouts (will persist after reboot)
+
+- New things in v3:
+ * v3.1c PCB is compatible with both rev1 (Micro-USB) and rev2 (USB-C) stock cases
diff --git a/keyboards/beekeeb/piantor/keyboard.json b/keyboards/beekeeb/piantor/keyboard.json
index e4ecd4207e..77bfc3678c 100644
--- a/keyboards/beekeeb/piantor/keyboard.json
+++ b/keyboards/beekeeb/piantor/keyboard.json
@@ -40,6 +40,9 @@
["GP15", "GP14", "GP16", null, null, null]
]
}
+ },
+ "serial": {
+ "driver": "vendor"
}
},
"community_layouts": [
diff --git a/keyboards/beekeeb/piantor/rules.mk b/keyboards/beekeeb/piantor/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/beekeeb/piantor/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/beekeeb/piantor_pro/keyboard.json b/keyboards/beekeeb/piantor_pro/keyboard.json
index c85247550e..ad4890ae68 100644
--- a/keyboards/beekeeb/piantor_pro/keyboard.json
+++ b/keyboards/beekeeb/piantor_pro/keyboard.json
@@ -24,7 +24,10 @@
"vid": "0xBEEB"
},
"split": {
- "enabled": true
+ "enabled": true,
+ "serial": {
+ "driver": "vendor"
+ }
},
"community_layouts": [ "split_3x6_3" ],
"layouts": {
diff --git a/keyboards/beekeeb/piantor_pro/rules.mk b/keyboards/beekeeb/piantor_pro/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/beekeeb/piantor_pro/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/bioi/g60/g60.c b/keyboards/bioi/g60/g60.c
deleted file mode 100644
index 3fdfef8897..0000000000
--- a/keyboards/bioi/g60/g60.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-Copyright 2019 Basic I/O Instruments(Scott Wei) <[email protected]>
-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"
-
-void keyboard_pre_init_kb(void) {
- gpio_set_pin_output(F0);
- gpio_write_pin_high(F0);
- keyboard_pre_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- if (led_update_user(led_state)) {
- gpio_write_pin(F0, !led_state.caps_lock);
- }
- return true;
-}
diff --git a/keyboards/bioi/g60/keyboard.json b/keyboards/bioi/g60/keyboard.json
index 8d3dd58770..b98aee8273 100644
--- a/keyboards/bioi/g60/keyboard.json
+++ b/keyboards/bioi/g60/keyboard.json
@@ -35,6 +35,10 @@
"pin": "B7",
"levels": 12
},
+ "indicators": {
+ "caps_lock": "F0",
+ "on_state": 0
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/bioi/morgan65/keyboard.json b/keyboards/bioi/morgan65/keyboard.json
index 8f83237f82..5606233f2a 100644
--- a/keyboards/bioi/morgan65/keyboard.json
+++ b/keyboards/bioi/morgan65/keyboard.json
@@ -35,6 +35,10 @@
"pin": "B6",
"levels": 12
},
+ "indicators": {
+ "caps_lock": "F0",
+ "on_state": 0
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/bioi/morgan65/morgan65.c b/keyboards/bioi/morgan65/morgan65.c
deleted file mode 100644
index 3fdfef8897..0000000000
--- a/keyboards/bioi/morgan65/morgan65.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-Copyright 2019 Basic I/O Instruments(Scott Wei) <[email protected]>
-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"
-
-void keyboard_pre_init_kb(void) {
- gpio_set_pin_output(F0);
- gpio_write_pin_high(F0);
- keyboard_pre_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- if (led_update_user(led_state)) {
- gpio_write_pin(F0, !led_state.caps_lock);
- }
- return true;
-}
diff --git a/keyboards/bioi/s65/keyboard.json b/keyboards/bioi/s65/keyboard.json
index c55852f31c..56d53b54cf 100644
--- a/keyboards/bioi/s65/keyboard.json
+++ b/keyboards/bioi/s65/keyboard.json
@@ -35,6 +35,10 @@
"pin": "B6",
"levels": 12
},
+ "indicators": {
+ "caps_lock": "F0",
+ "on_state": 0
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/bioi/s65/s65.c b/keyboards/bioi/s65/s65.c
deleted file mode 100644
index e632f31eeb..0000000000
--- a/keyboards/bioi/s65/s65.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-Copyright 2019 Basic I/O Instruments(Scott Wei) <[email protected]>
-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"
-void keyboard_pre_init_kb(void) {
- gpio_set_pin_output(F0);
- gpio_write_pin_high(F0);
- keyboard_pre_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- if (led_update_user(led_state)) {
- gpio_write_pin(F0, !led_state.caps_lock);
- }
- return true;
-}
diff --git a/keyboards/boardsource/lib/oled.c b/keyboards/boardsource/lib/oled.c
new file mode 100644
index 0000000000..c0fb6ab4a6
--- /dev/null
+++ b/keyboards/boardsource/lib/oled.c
@@ -0,0 +1,20 @@
+// Copyright 2024 jack (@waffle87)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include "oled.h"
+
+void render_layer_state(void) {
+ switch (get_highest_layer(layer_state)) {
+ case 0:
+ oled_write_raw_P(layer0_img, sizeof(layer0_img));
+ break;
+ case 1:
+ oled_write_raw_P(layer1_img, sizeof(layer1_img));
+ break;
+ case 2:
+ oled_write_raw_P(layer2_img, sizeof(layer2_img));
+ break;
+ case 3:
+ oled_write_raw_P(layer3_img, sizeof(layer3_img));
+ break;
+ }
+}
diff --git a/keyboards/boardsource/unicorne/unicorne.h b/keyboards/boardsource/lib/oled.h
index 68bbeeb18a..4778be20b0 100644
--- a/keyboards/boardsource/unicorne/unicorne.h
+++ b/keyboards/boardsource/lib/oled.h
@@ -1,54 +1,12 @@
-// Copyright 2023 jack (@waffle87)
+// Copyright 2024 jack (@waffle87)
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "quantum.h"
-#ifdef OLED_ENABLE
-// clang-format off
-static const char PROGMEM logo[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
- 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x01, 0xe3, 0xe7, 0xe7, 0xe3,
- 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00,
- 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00,
- 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0,
- 0x80, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0,
- 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xc0, 0xc0,
- 0xc0, 0xc0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0x01, 0x01, 0x01, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
- 0x00, 0x00, 0x00, 0x7e, 0xff, 0xff, 0xff, 0xe7, 0xc1, 0x81, 0x81, 0x81, 0xc1, 0x00, 0x00, 0x7f,
- 0xff, 0xff, 0xff, 0xe3, 0xc1, 0x81, 0x81, 0xc1, 0xe3, 0xff, 0xff, 0xff, 0xff, 0x3c, 0x00, 0x00,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
- 0x03, 0x01, 0x01, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff,
- 0xcd, 0x8c, 0x8c, 0x8c, 0x8d, 0xcf, 0xcf, 0xcf, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x07, 0x07, 0x07,
- 0x07, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03,
- 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x07, 0x03, 0x03, 0x00, 0x00, 0x00,
- 0x00, 0x01, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03,
- 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03,
- 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-};
+void render_layer_state(void);
-static const char PROGMEM layer_zero[] = {
+// clang-format off
+static const char PROGMEM layer0_img[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -83,8 +41,7 @@ static const char PROGMEM layer_zero[] = {
0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
};
-
-static const char PROGMEM layer_one[] = {
+static const char PROGMEM layer1_img[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -119,8 +76,7 @@ static const char PROGMEM layer_one[] = {
0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
};
-
-static const char PROGMEM layer_two[] = {
+static const char PROGMEM layer2_img[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -155,8 +111,7 @@ static const char PROGMEM layer_two[] = {
0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
};
-
-static const char PROGMEM layer_three[] = {
+static const char PROGMEM layer3_img[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
@@ -190,5 +145,39 @@ static const char PROGMEM layer_three[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
};
+
+static const char PROGMEM bs_logo_img[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x60, 0x60, 0x60,
+ 0x60, 0x60, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0xe0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xfc, 0x1e, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x80, 0xc0,
+ 0x80, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0e, 0xfc, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff,
+ 0xe0, 0xc0, 0x80, 0x80, 0xc0, 0xc0, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xe0, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1f, 0x78, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x01,
+ 0x01, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0x78, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
// clang-format on
-#endif
diff --git a/keyboards/boardsource/lulu/avr/rules.mk b/keyboards/boardsource/lulu/avr/rules.mk
new file mode 100644
index 0000000000..de6a3d8afc
--- /dev/null
+++ b/keyboards/boardsource/lulu/avr/rules.mk
@@ -0,0 +1 @@
+SRC += lib/oled.c
diff --git a/keyboards/boardsource/lulu/lulu.c b/keyboards/boardsource/lulu/lulu.c
index 8d011268c4..b20228a7d7 100644
--- a/keyboards/boardsource/lulu/lulu.c
+++ b/keyboards/boardsource/lulu/lulu.c
@@ -1,6 +1,7 @@
// Copyright 2022 Cole Smith <[email protected]>
// SPDX-License-Identifier: GPL-2.0-or-later
#include "quantum.h"
+#include "lib/oled.h"
#ifdef ENCODER_ENABLE
bool encoder_update_kb(uint8_t index, bool clockwise) {
@@ -24,225 +25,20 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {
#ifdef OLED_ENABLE
oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
- if (!is_keyboard_master()) {
- return OLED_ROTATION_180;
- }
- return rotation;
-}
-
-void render_layer1_logo(void){
- static const char PROGMEM layer_logo[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
- 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
- 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
- 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
- 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0,
- 0xfc, 0x0e, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
- 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
- 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
- 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
- 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
- };
- oled_write_raw_P(layer_logo, sizeof(layer_logo));
-}
-
-void render_layer2_logo(void){
- static const char PROGMEM layer_logo[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
- 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
- 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
- 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f,
- 0x3f, 0x70, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
- 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
- 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
- 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
- 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
- 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
- };
- oled_write_raw_P(layer_logo, sizeof(layer_logo));
-}
-
-void render_layer3_logo(void){
- static const char PROGMEM layer_logo[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
- 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
- 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
- 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
- 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
- 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0x70, 0x38, 0x1f, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
- 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
- 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
- 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
- };
- oled_write_raw_P(layer_logo, sizeof(layer_logo));
-}
-
-void render_layer4_logo(void){
- static const char PROGMEM layer_logo[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
- 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
- 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
- 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
- 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x07, 0x0e, 0xfc, 0xf0,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
- 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
- 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
- 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
- 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
- };
- oled_write_raw_P(layer_logo, sizeof(layer_logo));
-}
-
-void render_logo(void) {
- static const char PROGMEM logo[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x60, 0x60, 0x60,
- 0x60, 0x60, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0xe0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xfc, 0x1e, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x80, 0xc0,
- 0x80, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0e, 0xfc, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff,
- 0xe0, 0xc0, 0x80, 0x80, 0xc0, 0xc0, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0x1f, 0xff, 0xff, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xe0, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1f, 0x78, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x01,
- 0x01, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0x78, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03,
- 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- };
- oled_write_raw_P(logo, sizeof(logo));
-}
-
-void process_layer_state(void) {
- switch (get_highest_layer(layer_state)) {
- case 0:
- render_layer1_logo();
- break;
- case 1:
- render_layer2_logo();
- break;
- case 2:
- render_layer3_logo();
- break;
- case 3:
- render_layer4_logo();
- break;
+ if (!is_keyboard_master()) {
+ return OLED_ROTATION_180;
}
+ return rotation;
}
bool oled_task_kb(void) {
- if (!oled_task_user()) { return false; }
+ if (!oled_task_user()) {
+ return false;
+ }
if (is_keyboard_master()) {
- process_layer_state();
+ render_layer_state();
} else {
- render_logo();
+ oled_write_raw_P(bs_logo_img, sizeof(bs_logo_img));
}
return false;
}
diff --git a/keyboards/boardsource/lulu/rp2040/keyboard.json b/keyboards/boardsource/lulu/rp2040/keyboard.json
index a1e8db89a9..db0b7a50c6 100644
--- a/keyboards/boardsource/lulu/rp2040/keyboard.json
+++ b/keyboards/boardsource/lulu/rp2040/keyboard.json
@@ -10,6 +10,11 @@
{"pin_a": "GP8", "pin_b": "GP9"}
]
},
+ "split": {
+ "serial": {
+ "driver": "vendor"
+ }
+ },
"ws2812": {
"pin": "GP29",
"driver": "vendor"
diff --git a/keyboards/boardsource/lulu/rp2040/rules.mk b/keyboards/boardsource/lulu/rp2040/rules.mk
index 161ec22b16..de6a3d8afc 100644
--- a/keyboards/boardsource/lulu/rp2040/rules.mk
+++ b/keyboards/boardsource/lulu/rp2040/rules.mk
@@ -1 +1 @@
-SERIAL_DRIVER = vendor
+SRC += lib/oled.c
diff --git a/keyboards/boardsource/the_q/keyboard.json b/keyboards/boardsource/the_q/keyboard.json
new file mode 100644
index 0000000000..b48b5e080b
--- /dev/null
+++ b/keyboards/boardsource/the_q/keyboard.json
@@ -0,0 +1,142 @@
+{
+ "manufacturer": "Boardsource",
+ "keyboard_name": "The Q",
+ "maintainer": "waffle87",
+ "development_board": "promicro",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "oled": true
+ },
+ "matrix_pins": {
+ "rows": ["B2", "B3", "B1", "F7", "F6", "F5", "F4"],
+ "cols": ["D4", "C6", "D7", "E6", "B4", "B5"]
+ },
+ "url": "https://boardsource.xyz",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x7552",
+ "vid": "0x4273"
+ },
+ "ws2812": {
+ "pin": "B6"
+ },
+ "rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "band_sat": true,
+ "band_val": true,
+ "breathing": true,
+ "gradient_left_right": true,
+ "gradient_up_down": true
+ },
+ "default": {
+ "animation": "alphas_mods"
+ },
+ "max_brightness": 150,
+ "driver": "ws2812",
+ "layout": [
+ {"x": 112, "y": 10, "flags": 2},
+ {"x": 181, "y": 5, "flags": 2},
+ {"x": 215, "y": 53, "flags": 2},
+ {"x": 112, "y": 64, "flags": 2},
+ {"x": 26, "y": 53, "flags": 2},
+ {"x": 43, "y": 5, "flags": 2},
+ {"matrix": [0, 1], "x": 17, "y": 0, "flags": 4},
+ {"matrix": [1, 1], "x": 17, "y": 42, "flags": 4},
+ {"matrix": [2, 1], "x": 17, "y": 21, "flags": 4},
+ {"matrix": [2, 2], "x": 34, "y": 21, "flags": 4},
+ {"matrix": [1, 2], "x": 34, "y": 42, "flags": 4},
+ {"matrix": [0, 2], "x": 34, "y": 0, "flags": 4},
+ {"matrix": [0, 3], "x": 52, "y": 0, "flags": 4},
+ {"matrix": [1, 3], "x": 52, "y": 42, "flags": 4},
+ {"matrix": [2, 3], "x": 52, "y": 21, "flags": 4},
+ {"matrix": [2, 4], "x": 69, "y": 21, "flags": 4},
+ {"matrix": [1, 4], "x": 69, "y": 42, "flags": 4},
+ {"matrix": [0, 4], "x": 69, "y": 0, "flags": 4},
+ {"matrix": [0, 5], "x": 86, "y": 0, "flags": 4},
+ {"matrix": [1, 5], "x": 86, "y": 42, "flags": 4},
+ {"matrix": [2, 5], "x": 86, "y": 21, "flags": 4},
+ {"matrix": [3, 0], "x": 69, "y": 20, "flags": 1},
+ {"matrix": [3, 1], "x": 86, "y": 20, "flags": 1},
+ {"matrix": [3, 2], "x": 103, "y": 64, "flags": 1},
+ {"matrix": [3, 3], "x": 120, "y": 64, "flags": 1},
+ {"matrix": [3, 4], "x": 138, "y": 20, "flags": 1},
+ {"matrix": [3, 5], "x": 155, "y": 20, "flags": 1},
+ {"matrix": [4, 5], "x": 138, "y": 21, "flags": 4},
+ {"matrix": [5, 5], "x": 138, "y": 42, "flags": 4},
+ {"matrix": [6, 5], "x": 138, "y": 0, "flags": 4},
+ {"matrix": [6, 4], "x": 155, "y": 0, "flags": 4},
+ {"matrix": [5, 4], "x": 155, "y": 42, "flags": 4},
+ {"matrix": [4, 4], "x": 155, "y": 21, "flags": 4},
+ {"matrix": [4, 3], "x": 172, "y": 21, "flags": 4},
+ {"matrix": [5, 3], "x": 172, "y": 42, "flags": 4},
+ {"matrix": [6, 3], "x": 172, "y": 0, "flags": 4},
+ {"matrix": [6, 2], "x": 189, "y": 0, "flags": 4},
+ {"matrix": [5, 2], "x": 189, "y": 42, "flags": 4},
+ {"matrix": [4, 2], "x": 189, "y": 21, "flags": 4},
+ {"matrix": [4, 1], "x": 206, "y": 21, "flags": 4},
+ {"matrix": [5, 1], "x": 206, "y": 42, "flags": 4},
+ {"matrix": [6, 1], "x": 206, "y": 0, "flags": 4},
+ {"matrix": [6, 0], "x": 224, "y": 0, "flags": 1},
+ {"matrix": [5, 0], "x": 224, "y": 42, "flags": 1},
+ {"matrix": [4, 0], "x": 224, "y": 21, "flags": 1},
+ {"matrix": [2, 0], "x": 0, "y": 21, "flags": 1},
+ {"matrix": [1, 0], "x": 0, "y": 42, "flags": 1},
+ {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}
+ ]
+ },
+ "community_layouts": ["split_3x6_3"],
+ "layouts": {
+ "LAYOUT_split_3x6_3": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0.25},
+ {"matrix": [0, 1], "x": 1, "y": 0.25},
+ {"matrix": [0, 2], "x": 2, "y": 0.125},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+ {"matrix": [0, 4], "x": 4, "y": 0.125},
+ {"matrix": [0, 5], "x": 5, "y": 0.25},
+ {"matrix": [6, 5], "x": 8, "y": 0.25},
+ {"matrix": [6, 4], "x": 9, "y": 0.125},
+ {"matrix": [6, 3], "x": 10, "y": 0},
+ {"matrix": [6, 2], "x": 11, "y": 0.125},
+ {"matrix": [6, 1], "x": 12, "y": 0.25},
+ {"matrix": [6, 0], "x": 13, "y": 0.25},
+ {"matrix": [1, 0], "x": 0, "y": 1.25},
+ {"matrix": [1, 1], "x": 1, "y": 1.25},
+ {"matrix": [1, 2], "x": 2, "y": 1.125},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+ {"matrix": [1, 4], "x": 4, "y": 1.125},
+ {"matrix": [1, 5], "x": 5, "y": 1.25},
+ {"matrix": [5, 5], "x": 8, "y": 1.25},
+ {"matrix": [5, 4], "x": 9, "y": 1.125},
+ {"matrix": [5, 3], "x": 10, "y": 1},
+ {"matrix": [5, 2], "x": 11, "y": 1.125},
+ {"matrix": [5, 1], "x": 12, "y": 1.25},
+ {"matrix": [5, 0], "x": 13, "y": 1.25},
+ {"matrix": [2, 0], "x": 0, "y": 2.25},
+ {"matrix": [2, 1], "x": 1, "y": 2.25},
+ {"matrix": [2, 2], "x": 2, "y": 2.125},
+ {"matrix": [2, 3], "x": 3, "y": 2},
+ {"matrix": [2, 4], "x": 4, "y": 2.125},
+ {"matrix": [2, 5], "x": 5, "y": 2.25},
+ {"matrix": [4, 5], "x": 8, "y": 2.25},
+ {"matrix": [4, 4], "x": 9, "y": 2.125},
+ {"matrix": [4, 3], "x": 10, "y": 2},
+ {"matrix": [4, 2], "x": 11, "y": 2.125},
+ {"matrix": [4, 1], "x": 12, "y": 2.25},
+ {"matrix": [4, 0], "x": 13, "y": 2.25},
+ {"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": [3, 3], "x": 7.5, "y": 3.75},
+ {"matrix": [3, 4], "x": 8.5, "y": 3.5},
+ {"matrix": [3, 5], "x": 9.5, "y": 3.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/boardsource/the_q/keymaps/default/keymap.json b/keyboards/boardsource/the_q/keymaps/default/keymap.json
new file mode 100644
index 0000000000..69aa6f8629
--- /dev/null
+++ b/keyboards/boardsource/the_q/keymaps/default/keymap.json
@@ -0,0 +1,25 @@
+{
+ "keyboard": "boardsource/the_q",
+ "keymap": "default",
+ "layout": "LAYOUT_split_3x6_3",
+ "layers": [
+ [
+ "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_BSPC",
+ "KC_LCTL", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT",
+ "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_ESC",
+ "KC_LGUI", "MO(1)", "KC_SPC", "KC_ENT", "MO(2)", "KC_RALT"
+ ],
+ [
+ "_______", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "_______",
+ "_______", "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "_______",
+ "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
+ "_______", "_______", "_______", "_______", "_______", "_______"
+ ],
+ [
+ "QK_BOOT", "_______", "_______", "_______", "_______", "_______", "RGB_VAI", "RGB_HUI", "RGB_SAI", "RGB_MOD", "RGB_TOG", "_______",
+ "EE_CLR", "_______", "_______", "_______", "_______", "_______", "RGB_VAD", "RGB_HUD", "RGB_SAD", "RGB_RMOD", "_______", "_______",
+ "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
+ "_______", "_______", "_______", "_______", "_______", "_______"
+ ]
+ ]
+}
diff --git a/keyboards/boardsource/the_q/keymaps/via/keymap.json b/keyboards/boardsource/the_q/keymaps/via/keymap.json
new file mode 100644
index 0000000000..40a68c3f51
--- /dev/null
+++ b/keyboards/boardsource/the_q/keymaps/via/keymap.json
@@ -0,0 +1,30 @@
+{
+ "keyboard": "boardsource/the_q",
+ "keymap": "via",
+ "layout": "LAYOUT_split_3x6_3",
+ "config": {
+ "features": {
+ "via": true
+ }
+ },
+ "layers": [
+ [
+ "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_BSPC",
+ "KC_LCTL", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT",
+ "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_ESC",
+ "KC_LGUI", "MO(1)", "KC_SPC", "KC_ENT", "MO(2)", "KC_RALT"
+ ],
+ [
+ "_______", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "_______",
+ "_______", "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "_______",
+ "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
+ "_______", "_______", "_______", "_______", "_______", "_______"
+ ],
+ [
+ "QK_BOOT", "_______", "_______", "_______", "_______", "_______", "RGB_VAI", "RGB_HUI", "RGB_SAI", "RGB_MOD", "RGB_TOG", "_______",
+ "EE_CLR", "_______", "_______", "_______", "_______", "_______", "RGB_VAD", "RGB_HUD", "RGB_SAD", "RGB_RMOD", "_______", "_______",
+ "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
+ "_______", "_______", "_______", "_______", "_______", "_______"
+ ]
+ ]
+}
diff --git a/keyboards/boardsource/the_q/readme.md b/keyboards/boardsource/the_q/readme.md
new file mode 100644
index 0000000000..9ec8fe8eda
--- /dev/null
+++ b/keyboards/boardsource/the_q/readme.md
@@ -0,0 +1,23 @@
+# The Q
+
+* Keyboard Maintainer: [waffle87](https://github.com/waffle87)
+* Hardware Supported: The Q PCB w/ Pro Micro style microcontroller
+* Hardware Availability: [boardsource.xyz](https://boardsource.xyz)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make boardsource/the_q:default
+
+Flashing example for this keyboard:
+
+ mke boardsource/the_q:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (top left key)
+* **Physical reset button**: Briefly press the button on the front of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT`
diff --git a/keyboards/boardsource/the_q/rules.mk b/keyboards/boardsource/the_q/rules.mk
new file mode 100644
index 0000000000..de6a3d8afc
--- /dev/null
+++ b/keyboards/boardsource/the_q/rules.mk
@@ -0,0 +1 @@
+SRC += lib/oled.c
diff --git a/keyboards/boardsource/the_q/the_q.c b/keyboards/boardsource/the_q/the_q.c
new file mode 100644
index 0000000000..0929456911
--- /dev/null
+++ b/keyboards/boardsource/the_q/the_q.c
@@ -0,0 +1,14 @@
+// Copyright 2024 jack (@waffle87)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include "quantum.h"
+#include "lib/oled.h"
+
+#ifdef OLED_ENABLE
+bool oled_task_kb(void) {
+ if (!oled_task_user()) {
+ return false;
+ }
+ render_layer_state();
+ return false;
+}
+#endif
diff --git a/keyboards/boardsource/unicorne/keyboard.json b/keyboards/boardsource/unicorne/keyboard.json
index 4fb63de9e3..f9d1a5e666 100644
--- a/keyboards/boardsource/unicorne/keyboard.json
+++ b/keyboards/boardsource/unicorne/keyboard.json
@@ -21,6 +21,9 @@
"split": {
"enabled": true,
"soft_serial_pin": "GP0",
+ "serial": {
+ "driver": "vendor"
+ },
"transport": {
"sync": {
"layer_state": true
diff --git a/keyboards/boardsource/unicorne/rules.mk b/keyboards/boardsource/unicorne/rules.mk
index 48b30dcd51..53d7e1b681 100644
--- a/keyboards/boardsource/unicorne/rules.mk
+++ b/keyboards/boardsource/unicorne/rules.mk
@@ -1,2 +1,2 @@
-SERIAL_DRIVER = vendor
POINTING_DEVICE_DRIVER = analog_joystick
+SRC += lib/oled.c
diff --git a/keyboards/boardsource/unicorne/unicorne.c b/keyboards/boardsource/unicorne/unicorne.c
index 22cd1e4a37..f9dac8d3ef 100644
--- a/keyboards/boardsource/unicorne/unicorne.c
+++ b/keyboards/boardsource/unicorne/unicorne.c
@@ -1,6 +1,7 @@
-// Copyright 2023 jack (@waffle87)
+// Copyright 2024 jack (@waffle87)
// SPDX-License-Identifier: GPL-2.0-or-later
-#include "unicorne.h"
+#include "quantum.h"
+#include "lib/oled.h"
#ifdef OLED_ENABLE
oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
@@ -15,22 +16,9 @@ bool oled_task_kb(void) {
return false;
}
if (is_keyboard_master()) {
- switch (get_highest_layer(layer_state)) {
- case 0:
- oled_write_raw(layer_zero, sizeof(layer_zero));
- break;
- case 1:
- oled_write_raw(layer_one, sizeof(layer_one));
- break;
- case 2:
- oled_write_raw(layer_two, sizeof(layer_two));
- break;
- case 3:
- oled_write_raw(layer_three, sizeof(layer_three));
- break;
- }
+ render_layer_state();
} else {
- oled_write_raw(logo, sizeof(logo));
+ oled_write_raw_P(bs_logo_img, sizeof(bs_logo_img));
}
return false;
}
diff --git a/keyboards/boston_meetup/2019/config.h b/keyboards/boston_meetup/2019/config.h
index a7dd952cd6..d5a476d999 100644
--- a/keyboards/boston_meetup/2019/config.h
+++ b/keyboards/boston_meetup/2019/config.h
@@ -85,6 +85,4 @@
#define DRV2605L_ZC_DET_TIME 0
#define DRV2605L_AUTO_CAL_TIME 3
-#define RGB_MATRIX_LED_COUNT 10
-
#define SOLENOID_PIN A14
diff --git a/keyboards/budgy/keyboard.json b/keyboards/budgy/keyboard.json
index 645336e8ad..0dc45c9da0 100644
--- a/keyboards/budgy/keyboard.json
+++ b/keyboards/budgy/keyboard.json
@@ -37,6 +37,9 @@
["GP18", "GP17", null, null, null]
]
}
+ },
+ "serial": {
+ "driver": "vendor"
}
},
"community_layouts": ["split_3x5_2"],
diff --git a/keyboards/budgy/rules.mk b/keyboards/budgy/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/budgy/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c
index aab005ebd8..7e0b82e9e7 100644
--- a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c
+++ b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c
@@ -101,7 +101,7 @@ uint16_t handle_encoder_clockwise(void){
mapped_code = KC_MEDIA_NEXT_TRACK;
break;
case ENC_MODE_SCROLL:
- mapped_code = KC_WH_D;
+ mapped_code = QK_MOUSE_WHEEL_DOWN;
break;
#ifdef BACKLIGHT_ENABLE
case ENC_MODE_BACKLIGHT:
@@ -143,7 +143,7 @@ uint16_t handle_encoder_ccw(void){
mapped_code = KC_MEDIA_PREV_TRACK;
break;
case ENC_MODE_SCROLL:
- mapped_code = KC_WH_U;
+ mapped_code = QK_MOUSE_WHEEL_UP;
break;
#ifdef BACKLIGHT_ENABLE
case ENC_MODE_BACKLIGHT:
@@ -186,7 +186,7 @@ uint16_t handle_encoder_press(void){
mapped_code = KC_MEDIA_PLAY_PAUSE;
break;
case ENC_MODE_SCROLL:
- mapped_code = KC_BTN3;
+ mapped_code = QK_MOUSE_BUTTON_3;
break;
#ifdef BACKLIGHT_ENABLE
case ENC_MODE_BACKLIGHT:
diff --git a/keyboards/cantor/keyboard.json b/keyboards/cantor/keyboard.json
index a9d84e6c8f..26b79c0280 100644
--- a/keyboards/cantor/keyboard.json
+++ b/keyboards/cantor/keyboard.json
@@ -39,6 +39,9 @@
["A0", "A1", "A2", null, null, null]
]
}
+ },
+ "serial": {
+ "driver": "usart"
}
},
"community_layouts": ["split_3x6_3"],
diff --git a/keyboards/cantor/rules.mk b/keyboards/cantor/rules.mk
deleted file mode 100644
index c6e2988321..0000000000
--- a/keyboards/cantor/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = usart
diff --git a/keyboards/cheshire/curiosity/curiosity.c b/keyboards/cheshire/curiosity/curiosity.c
deleted file mode 100644
index 2813cff9b4..0000000000
--- a/keyboards/cheshire/curiosity/curiosity.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include "quantum.h"
-
-void matrix_init_board(void){
- gpio_set_pin_output(A8);
- gpio_set_pin_output(A9);
- gpio_set_pin_output(A10);
-}
-
-bool led_update_kb(led_t led_state) {
- bool runDefault = led_update_user(led_state);
- if (runDefault) {
- gpio_write_pin(A8, !led_state.num_lock);
- gpio_write_pin(A9, !led_state.caps_lock);
- gpio_write_pin(A10, !led_state.scroll_lock);
- }
- return runDefault;
-}
diff --git a/keyboards/cheshire/curiosity/keyboard.json b/keyboards/cheshire/curiosity/keyboard.json
index 679f2a45d1..b408a5b6e9 100644
--- a/keyboards/cheshire/curiosity/keyboard.json
+++ b/keyboards/cheshire/curiosity/keyboard.json
@@ -7,6 +7,12 @@
"pid": "0x0FAD",
"device_version": "0.0.1"
},
+ "indicators": {
+ "caps_lock": "A9",
+ "num_lock": "A8",
+ "scroll_lock": "A10",
+ "on_state": 0
+ },
"rgblight": {
"led_count": 14,
"animations": {
diff --git a/keyboards/chew/config.h b/keyboards/chew/config.h
index 22b43cf799..df672bc4e1 100644
--- a/keyboards/chew/config.h
+++ b/keyboards/chew/config.h
@@ -8,4 +8,3 @@
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U // In ms in which the double tap can occur
#define EE_HANDS
-#define SERIAL_USART_TX_PIN GP11
diff --git a/keyboards/chew/keyboard.json b/keyboards/chew/keyboard.json
index f6ddaa627d..01175e6341 100644
--- a/keyboards/chew/keyboard.json
+++ b/keyboards/chew/keyboard.json
@@ -32,6 +32,10 @@
]
}
},
+ "serial": {
+ "driver": "vendor",
+ "pin": "GP11"
+ },
"transport": {
"watchdog": true
}
diff --git a/keyboards/chew/rules.mk b/keyboards/chew/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/chew/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/cipulot/ec_980c/ec_980c.c b/keyboards/cipulot/ec_980c/ec_980c.c
index 2b40d5a5e6..0e23c32335 100644
--- a/keyboards/cipulot/ec_980c/ec_980c.c
+++ b/keyboards/cipulot/ec_980c/ec_980c.c
@@ -86,6 +86,10 @@ void keyboard_post_init_kb(void) {
* Num | Caps | Scroll |
*/
bool rgb_matrix_indicators_kb(void) {
+ if (!rgb_matrix_indicators_user()) {
+ return false;
+ }
+
if (eeprom_ec_config.num.enabled) {
// The rgb_matrix_set_color function needs an RGB code to work, so first the indicator color is cast to an HSV value and then translated to RGB
HSV hsv_num_indicator_color = {eeprom_ec_config.num.h, eeprom_ec_config.num.s, eeprom_ec_config.num.v};
diff --git a/keyboards/cipulot/ec_typek/ec_typek.c b/keyboards/cipulot/ec_typek/ec_typek.c
index d8e0f9236e..b899ddbb8a 100644
--- a/keyboards/cipulot/ec_typek/ec_typek.c
+++ b/keyboards/cipulot/ec_typek/ec_typek.c
@@ -82,12 +82,14 @@ void keyboard_post_init_kb(void) {
// This function gets called when caps, num, scroll change
bool led_update_kb(led_t led_state) {
- indicators_callback();
+ if(led_update_user(led_state)) {
+ indicators_callback();
+ }
return true;
}
// This function is called when layers change
-layer_state_t layer_state_set_user(layer_state_t state) {
+__attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) {
indicators_callback();
return state;
}
diff --git a/keyboards/clueboard/2x1800/2019/2019.c b/keyboards/clueboard/2x1800/2019/2019.c
index 8b0ba6a71e..5910ca61e9 100644
--- a/keyboards/clueboard/2x1800/2019/2019.c
+++ b/keyboards/clueboard/2x1800/2019/2019.c
@@ -18,9 +18,6 @@
void matrix_init_kb(void) {
// Set our LED pins as output
gpio_set_pin_output(D6);
- gpio_set_pin_output(B4);
- gpio_set_pin_output(B5);
- gpio_set_pin_output(B6);
// Set our Tilt Sensor pins as input
gpio_set_pin_input_high(SHAKE_PIN_A);
@@ -133,22 +130,8 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
return process_record_user(keycode, record);
}
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(B4, !led_state.num_lock);
- gpio_write_pin(B5, !led_state.caps_lock);
- gpio_write_pin(B6, !led_state.scroll_lock);
- }
-
- return res;
-}
-
-__attribute__((weak)) bool encoder_update_keymap(uint8_t index, bool clockwise) { return true; }
-__attribute__((weak)) bool encoder_update_user(uint8_t index, bool clockwise) { return encoder_update_keymap(index, clockwise); }
-
bool encoder_update_kb(uint8_t index, bool clockwise) {
- if (!encoder_update_user(index, clockwise)) {
+ if (encoder_update_user(index, clockwise)) {
// Encoder 1, outside left
if (index == 0 && clockwise) {
tap_code(KC_MS_U); // turned right
diff --git a/keyboards/clueboard/2x1800/2019/2019.h b/keyboards/clueboard/2x1800/2019/2019.h
index c5869ff66f..d5867dacac 100644
--- a/keyboards/clueboard/2x1800/2019/2019.h
+++ b/keyboards/clueboard/2x1800/2019/2019.h
@@ -24,8 +24,5 @@ enum TWOx1800_keycodes {
ENC_BTN4,
};
-// Encoder update function that returns true/false
-bool encoder_update_keymap(uint8_t index, bool clockwise);
-
// Encoder button combo check
void check_encoder_buttons(void);
diff --git a/keyboards/clueboard/2x1800/2019/keyboard.json b/keyboards/clueboard/2x1800/2019/keyboard.json
index 6f33a11ca7..31ff448d17 100644
--- a/keyboards/clueboard/2x1800/2019/keyboard.json
+++ b/keyboards/clueboard/2x1800/2019/keyboard.json
@@ -32,6 +32,12 @@
{"pin_a": "A1", "pin_b": "A0"}
]
},
+ "indicators": {
+ "caps_lock": "B5",
+ "num_lock": "B4",
+ "scroll_lock": "B6",
+ "on_state": 0
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_all"
},
diff --git a/keyboards/clueboard/2x1800/2021/2021.c b/keyboards/clueboard/2x1800/2021/2021.c
index 2a3f1304c7..d140c1cf15 100644
--- a/keyboards/clueboard/2x1800/2021/2021.c
+++ b/keyboards/clueboard/2x1800/2021/2021.c
@@ -26,6 +26,8 @@ void matrix_scan_kb(void) {
max7219_message_sign_task(true);
led_frame_timer = timer_read();
}
+
+ matrix_scan_user();
}
#endif
@@ -90,18 +92,15 @@ void matrix_init_kb(void) {
#elif defined(DRAWING_TOY_MODE)
max7219_set_led(0, 0, true);
#endif
-}
-__attribute__ ((weak))
-bool encoder_update_keymap(int8_t index, bool clockwise) {
- return false;
+ matrix_init_user();
}
#define NUM_COLUMNS 8*MAX7219_CONTROLLERS
uint8_t led_position[2] = {0,0}; // The location of the cursor in the matrix
bool encoder_update_kb(uint8_t index, bool clockwise) {
- if (!encoder_update_keymap(index, clockwise)) {
+ if (encoder_update_user(index, clockwise)) {
#if defined(DRAWING_TOY_MODE)
// Encoder 1, left
if (index == 0 && clockwise) {
diff --git a/keyboards/clueboard/66_hotswap/gen1/gen1.c b/keyboards/clueboard/66_hotswap/gen1/gen1.c
index e13a05de05..e2da60b918 100644
--- a/keyboards/clueboard/66_hotswap/gen1/gen1.c
+++ b/keyboards/clueboard/66_hotswap/gen1/gen1.c
@@ -93,34 +93,4 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
{ 0, C5_14 }, // k96 KC_DOWN
{ 0, C5_15 } // k97 KC_RGHT
};
-
-led_config_t g_led_config = {
- {
- // Key Matrix to LED Index
- { 0, 1, 2, 3, 4, 5, 6, 7 },
- { 15, 16, 17, 18, 19, 20, 21, 22 },
- { 30, 31, 32, 33, 34, 35, 36, 37 },
- { 43, NO_LED, 44, 45, 46, 47, 48, 49 },
- { 56, 57, 58, NO_LED, NO_LED, 60, 61, NO_LED },
- { 8, 9, 10, 11, 12, 13, NO_LED, 14 },
- { 23, 24, 25, 26, 27, 28, NO_LED, 29 },
- { 38, 39, 40, 41, NO_LED, 42, NO_LED, NO_LED },
- { 50, 51, 52, 53, NO_LED, 54, 55, NO_LED },
- { 64, NO_LED, 65, 66, 67, 68, 69, 70 }
- }, {
- // LED Index to Physical Position
- { 0, 0 }, { 15, 0 }, { 29, 0 }, { 43, 0 }, { 58, 0 }, { 72, 0 }, { 87, 0 }, { 101, 0 }, { 116, 0 }, { 130, 0 }, { 145, 0 }, { 159, 0 }, { 173, 0 }, { 195, 0 }, { 224, 0 },
- { 4, 16 }, { 22, 16 }, { 36, 16 }, { 51, 16 }, { 65, 16 }, { 80, 16 }, { 94, 16 }, { 108, 16 }, { 123, 16 }, { 137, 16 }, { 152, 16 }, { 166, 16 }, { 181, 16 }, { 199, 16 }, { 224, 16 },
- { 5, 32 }, { 25, 32 }, { 40, 32 }, { 54, 32 }, { 69, 32 }, { 83, 32 }, { 98, 32 }, { 112, 32 }, { 126, 32 }, { 141, 32 }, { 155, 32 }, { 170, 32 }, { 184, 32 },
- { 16, 48 }, { 33, 48 }, { 47, 48 }, { 61, 48 }, { 76, 48 }, { 90, 48 }, { 105, 48 }, { 119, 48 }, { 134, 48 }, { 148, 48 }, { 163, 48 }, { 188, 48 }, { 210, 48 },
- { 9, 64 }, { 27, 64 }, { 45, 64 }, { 60, 64 }, { 74, 64 }, { 88, 64 }, { 103, 64 }, { 117, 64 }, { 136, 64 }, { 154, 64 }, { 168, 64 }, { 186, 64 }, { 195, 64 }, { 210, 64 }, { 224, 64 }
- }, {
- // LED Index to Flag
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- }
-};
#endif
diff --git a/keyboards/clueboard/66_hotswap/gen1/keyboard.json b/keyboards/clueboard/66_hotswap/gen1/keyboard.json
index 17e47e66fe..de858443cc 100644
--- a/keyboards/clueboard/66_hotswap/gen1/keyboard.json
+++ b/keyboards/clueboard/66_hotswap/gen1/keyboard.json
@@ -39,6 +39,79 @@
"wave_left_right": true,
"wave_up_down": true
},
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
+ {"matrix": [0, 1], "x": 15, "y": 0, "flags": 4},
+ {"matrix": [0, 2], "x": 29, "y": 0, "flags": 4},
+ {"matrix": [0, 3], "x": 43, "y": 0, "flags": 4},
+ {"matrix": [0, 4], "x": 58, "y": 0, "flags": 4},
+ {"matrix": [0, 5], "x": 72, "y": 0, "flags": 4},
+ {"matrix": [0, 6], "x": 87, "y": 0, "flags": 4},
+ {"matrix": [0, 7], "x": 101, "y": 0, "flags": 4},
+ {"matrix": [5, 0], "x": 116, "y": 0, "flags": 4},
+ {"matrix": [5, 1], "x": 130, "y": 0, "flags": 4},
+ {"matrix": [5, 2], "x": 145, "y": 0, "flags": 4},
+ {"matrix": [5, 3], "x": 159, "y": 0, "flags": 4},
+ {"matrix": [5, 4], "x": 173, "y": 0, "flags": 4},
+ {"matrix": [5, 5], "x": 195, "y": 0, "flags": 1},
+ {"matrix": [5, 7], "x": 224, "y": 0, "flags": 1},
+ {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1},
+ {"matrix": [1, 1], "x": 22, "y": 16, "flags": 4},
+ {"matrix": [1, 2], "x": 36, "y": 16, "flags": 4},
+ {"matrix": [1, 3], "x": 51, "y": 16, "flags": 4},
+ {"matrix": [1, 4], "x": 65, "y": 16, "flags": 4},
+ {"matrix": [1, 5], "x": 80, "y": 16, "flags": 4},
+ {"matrix": [1, 6], "x": 94, "y": 16, "flags": 4},
+ {"matrix": [1, 7], "x": 108, "y": 16, "flags": 4},
+ {"matrix": [6, 0], "x": 123, "y": 16, "flags": 4},
+ {"matrix": [6, 1], "x": 137, "y": 16, "flags": 4},
+ {"matrix": [6, 2], "x": 152, "y": 16, "flags": 4},
+ {"matrix": [6, 3], "x": 166, "y": 16, "flags": 4},
+ {"matrix": [6, 4], "x": 181, "y": 16, "flags": 4},
+ {"matrix": [6, 5], "x": 199, "y": 16, "flags": 1},
+ {"matrix": [6, 7], "x": 224, "y": 16, "flags": 1},
+ {"matrix": [2, 0], "x": 5, "y": 32, "flags": 1},
+ {"matrix": [2, 1], "x": 25, "y": 32, "flags": 4},
+ {"matrix": [2, 2], "x": 40, "y": 32, "flags": 4},
+ {"matrix": [2, 3], "x": 54, "y": 32, "flags": 4},
+ {"matrix": [2, 4], "x": 69, "y": 32, "flags": 4},
+ {"matrix": [2, 5], "x": 83, "y": 32, "flags": 4},
+ {"matrix": [2, 6], "x": 98, "y": 32, "flags": 4},
+ {"matrix": [2, 7], "x": 112, "y": 32, "flags": 4},
+ {"matrix": [7, 0], "x": 126, "y": 32, "flags": 4},
+ {"matrix": [7, 1], "x": 141, "y": 32, "flags": 4},
+ {"matrix": [7, 2], "x": 155, "y": 32, "flags": 4},
+ {"matrix": [7, 3], "x": 170, "y": 32, "flags": 4},
+ {"matrix": [7, 5], "x": 184, "y": 32, "flags": 1},
+ {"matrix": [3, 0], "x": 16, "y": 48, "flags": 1},
+ {"matrix": [3, 2], "x": 33, "y": 48, "flags": 4},
+ {"matrix": [3, 3], "x": 47, "y": 48, "flags": 4},
+ {"matrix": [3, 4], "x": 61, "y": 48, "flags": 4},
+ {"matrix": [3, 5], "x": 76, "y": 48, "flags": 4},
+ {"matrix": [3, 6], "x": 90, "y": 48, "flags": 4},
+ {"matrix": [3, 7], "x": 105, "y": 48, "flags": 4},
+ {"matrix": [8, 0], "x": 119, "y": 48, "flags": 4},
+ {"matrix": [8, 1], "x": 134, "y": 48, "flags": 4},
+ {"matrix": [8, 2], "x": 148, "y": 48, "flags": 4},
+ {"matrix": [8, 3], "x": 163, "y": 48, "flags": 4},
+ {"matrix": [8, 5], "x": 188, "y": 48, "flags": 1},
+ {"matrix": [8, 6], "x": 210, "y": 48, "flags": 1},
+ {"matrix": [4, 0], "x": 9, "y": 64, "flags": 1},
+ {"matrix": [4, 1], "x": 27, "y": 64, "flags": 1},
+ {"matrix": [4, 2], "x": 45, "y": 64, "flags": 1},
+ {"x": 60, "y": 64, "flags": 1},
+ {"matrix": [4, 5], "x": 74, "y": 64, "flags": 1},
+ {"matrix": [4, 6], "x": 88, "y": 64, "flags": 1},
+ {"x": 103, "y": 64, "flags": 1},
+ {"x": 117, "y": 64, "flags": 1},
+ {"matrix": [9, 0], "x": 136, "y": 64, "flags": 1},
+ {"matrix": [9, 2], "x": 154, "y": 64, "flags": 1},
+ {"matrix": [9, 3], "x": 168, "y": 64, "flags": 1},
+ {"matrix": [9, 4], "x": 186, "y": 64, "flags": 1},
+ {"matrix": [9, 5], "x": 195, "y": 64, "flags": 1},
+ {"matrix": [9, 6], "x": 210, "y": 64, "flags": 1},
+ {"matrix": [9, 7], "x": 224, "y": 64, "flags": 1}
+ ],
"driver": "is31fl3731"
},
"matrix_pins": {
diff --git a/keyboards/controllerworks/mini36/keyboard.json b/keyboards/controllerworks/mini36/keyboard.json
index a3b5365109..dc0f63638f 100644
--- a/keyboards/controllerworks/mini36/keyboard.json
+++ b/keyboards/controllerworks/mini36/keyboard.json
@@ -40,6 +40,9 @@
}
},
"soft_serial_pin": "GP1",
+ "serial": {
+ "driver": "vendor"
+ },
"transport": {
"protocol": "serial",
"sync": {
diff --git a/keyboards/controllerworks/mini36/rules.mk b/keyboards/controllerworks/mini36/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/controllerworks/mini36/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/controllerworks/mini42/keyboard.json b/keyboards/controllerworks/mini42/keyboard.json
index 5d1d56db1a..a1dc0df34c 100644
--- a/keyboards/controllerworks/mini42/keyboard.json
+++ b/keyboards/controllerworks/mini42/keyboard.json
@@ -40,6 +40,9 @@
}
},
"soft_serial_pin": "GP1",
+ "serial": {
+ "driver": "vendor"
+ },
"transport": {
"protocol": "serial",
"sync": {
diff --git a/keyboards/controllerworks/mini42/rules.mk b/keyboards/controllerworks/mini42/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/controllerworks/mini42/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/converter/ibm_terminal/led.c b/keyboards/converter/ibm_terminal/led.c
index 1bcde277a2..1639388ff9 100644
--- a/keyboards/converter/ibm_terminal/led.c
+++ b/keyboards/converter/ibm_terminal/led.c
@@ -19,16 +19,16 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "ps2.h"
#include "led.h"
-
-bool led_update_kb(led_t led_state)
-{
- uint8_t ps2_led = 0;
- if (led_state.scroll_lock)
- ps2_led |= (1<<PS2_LED_SCROLL_LOCK);
- if (led_state.num_lock)
- ps2_led |= (1<<PS2_LED_NUM_LOCK);
- if (led_state.caps_lock)
- ps2_led |= (1<<PS2_LED_CAPS_LOCK);
- ps2_host_set_led(ps2_led);
+bool led_update_kb(led_t led_state) {
+ if(led_update_user(led_state)) {
+ uint8_t ps2_led = 0;
+ if (led_state.scroll_lock)
+ ps2_led |= (1<<PS2_LED_SCROLL_LOCK);
+ if (led_state.num_lock)
+ ps2_led |= (1<<PS2_LED_NUM_LOCK);
+ if (led_state.caps_lock)
+ ps2_led |= (1<<PS2_LED_CAPS_LOCK);
+ ps2_host_set_led(ps2_led);
+ }
return false;
}
diff --git a/keyboards/converter/usb_usb/custom_matrix.cpp b/keyboards/converter/usb_usb/custom_matrix.cpp
index ca0855a82b..e1ef695570 100644
--- a/keyboards/converter/usb_usb/custom_matrix.cpp
+++ b/keyboards/converter/usb_usb/custom_matrix.cpp
@@ -229,7 +229,6 @@ extern "C" {
if (kbd2.isReady()) kbd2.SetReport(0, 0, 2, 0, 1, &usb_led);
if (kbd3.isReady()) kbd3.SetReport(0, 0, 2, 0, 1, &usb_led);
if (kbd4.isReady()) kbd4.SetReport(0, 0, 2, 0, 1, &usb_led);
- led_set_user(usb_led);
led_update_kb((led_t){.raw = usb_led});
}
}
diff --git a/keyboards/converter/xmk/xmk.c b/keyboards/converter/xmk/xmk.c
index e0df96fc2d..8a24e5f964 100644
--- a/keyboards/converter/xmk/xmk.c
+++ b/keyboards/converter/xmk/xmk.c
@@ -10,5 +10,7 @@ void keyboard_post_init_kb(void) {
debug_enable=true;
debug_matrix=true;
debug_keyboard=true;
+
+ keyboard_post_init_user();
}
#endif
diff --git a/keyboards/dailycraft/wings42/rev2/keymaps/via/config.h b/keyboards/dailycraft/wings42/rev2/keymaps/via/config.h
index 3e0c8d146a..6a9ab04738 100644
--- a/keyboards/dailycraft/wings42/rev2/keymaps/via/config.h
+++ b/keyboards/dailycraft/wings42/rev2/keymaps/via/config.h
@@ -15,6 +15,6 @@
*/
#pragma once
-#define ENCODERS_PAD_A { B5, B6 }
-#define ENCODERS_PAD_B { B4, B2 }
+#define ENCODER_A_PINS { B5, B6 }
+#define ENCODER_B_PINS { B4, B2 }
#define ENCODER_RESOLUTION 4
diff --git a/keyboards/dichotomy/keymaps/default/keymap.c b/keyboards/dichotomy/keymaps/default/keymap.c
index b83f7b82e9..b92beb73cc 100755
--- a/keyboards/dichotomy/keymaps/default/keymap.c
+++ b/keyboards/dichotomy/keymaps/default/keymap.c
@@ -28,9 +28,9 @@ enum dichotomy_keycodes
NUMKEY,
SFTKEY,
MOUKEY,
- MS_BTN1,
- MS_BTN2,
- MS_BTN3
+ CK_MSE1,
+ CK_MSE2,
+ CK_MSE3
};
#define CUSTOM_LONGPRESS 150
@@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
NUMKEY, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, CK_QE,
SFTKEY, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MOUKEY,
KC_LCTL, KC_LALT, KC_LGUI, KC_RGUI, KC_RALT, KC_RCTL,
- MS_BTN3, KC_LBRC, KC_LPRN, KC_SPC, KC_SPC, KC_RPRN, KC_RBRC, MS_BTN3
+ CK_MSE3, KC_LBRC, KC_LPRN, KC_SPC, KC_SPC, KC_RPRN, KC_RBRC, CK_MSE3
),
[_SF] = LAYOUT( /* Shifted layout, small changes (because angle brackets have been moved to thumb cluster buttons) */
@@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MS] = LAYOUT( /* Mouse layer, including buttons for clicking. */
_______, _______, _______, _______, _______, _______, KC_VOLU, KC_HOME, KC_PGUP, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, MS_BTN1, MS_BTN2, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, CK_MSE1, CK_MSE2, _______, _______, _______,
_______, _______, _______, _______, _______, _______, KC_VOLD, KC_END, KC_PGDN, _______, _______, _______,
_______, _______, _______, _______, KC_UP, _______,
_______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______
@@ -311,7 +311,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break;
//mouse buttons, for 1-3, to update the mouse report:
- case MS_BTN1:
+ case CK_MSE1:
currentReport = pointing_device_get_report();
if (record->event.pressed) {
if (shift_held && shift_suspended){
@@ -327,7 +327,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
pointing_device_set_report(currentReport);
returnVal = false;
break;
- case MS_BTN2:
+ case CK_MSE2:
currentReport = pointing_device_get_report();
if (record->event.pressed) {
if (shift_held && shift_suspended){
@@ -343,7 +343,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
pointing_device_set_report(currentReport);
returnVal = false;
break;
- case MS_BTN3:
+ case CK_MSE3:
currentReport = pointing_device_get_report();
if (record->event.pressed) {
if (shift_held && shift_suspended){
diff --git a/keyboards/dnworks/9973/config.h b/keyboards/dnworks/tkl87/config.h
index 77970ce4d3..77970ce4d3 100644
--- a/keyboards/dnworks/9973/config.h
+++ b/keyboards/dnworks/tkl87/config.h
diff --git a/keyboards/dnworks/9973/keyboard.json b/keyboards/dnworks/tkl87/keyboard.json
index 6169606026..6b56435ae3 100644
--- a/keyboards/dnworks/9973/keyboard.json
+++ b/keyboards/dnworks/tkl87/keyboard.json
@@ -1,5 +1,5 @@
{
- "keyboard_name": "DN 997.3",
+ "keyboard_name": "DN TKL F12",
"maintainer": "itsme-zeix",
"manufacturer": "dnworks",
"processor": "RP2040",
diff --git a/keyboards/dnworks/9973/keymaps/default/keymap.c b/keyboards/dnworks/tkl87/keymaps/default/keymap.c
index 8307bf9e76..8307bf9e76 100644
--- a/keyboards/dnworks/9973/keymaps/default/keymap.c
+++ b/keyboards/dnworks/tkl87/keymaps/default/keymap.c
diff --git a/keyboards/dnworks/9973/keymaps/via/keymap.c b/keyboards/dnworks/tkl87/keymaps/via/keymap.c
index 8307bf9e76..8307bf9e76 100644
--- a/keyboards/dnworks/9973/keymaps/via/keymap.c
+++ b/keyboards/dnworks/tkl87/keymaps/via/keymap.c
diff --git a/keyboards/dnworks/9973/keymaps/via/rules.mk b/keyboards/dnworks/tkl87/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100644
--- a/keyboards/dnworks/9973/keymaps/via/rules.mk
+++ b/keyboards/dnworks/tkl87/keymaps/via/rules.mk
diff --git a/keyboards/dnworks/9973/readme.md b/keyboards/dnworks/tkl87/readme.md
index 790f236cb7..121cdccddf 100644
--- a/keyboards/dnworks/9973/readme.md
+++ b/keyboards/dnworks/tkl87/readme.md
@@ -1,20 +1,20 @@
-# 997.3 TKL
+# dnworks TKL (F12)
![997.3 TKL](https://i.imgur.com/iPPLKg1h.jpeg)
-PCB that supports the 997.3 TKL designed by dnworks, including its variants.
+PCB that supports the F12 TKLs designed by dnworks.
* Keyboard Maintainer: [Zeix](https://github.com/itsme-zeix)
-* Hardware Supported: 997.3 Solder PCB rev1
-* Hardware Availability: dnworks.co
+* Hardware Supported: 997.3 Solder PCB rev1, 765LT Solder PCB rev1 and Best Friend Solder PCB Rev1.
+* Hardware Availability: https://dnworks.co/products
Make example for this keyboard (after setting up your build environment):
- make dnworks/997pt3:default
+ make dnworks/tkl87:default
Flashing example for this keyboard:
- make dnworks/997pt3:default:flash
+ make dnworks/tkl87: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).
@@ -22,6 +22,6 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
Enter the bootloader in 3 ways:
-* **Bootmagic reset**: Hold down the top left key and plug in the keyboard
-* **Physical reset button**: Briefly press the `RESET` button twice or short the `USB_BOOT` and `GND` pads and plug in the keyboard
+* **Bootmagic reset**: Hold down escape and plug in the keyboard
+* **Physical reset button**: Short the 'USB_BOOT' button and plug in keyboard or press the 'RESET' button twice with the keyboard plugged in.
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file
diff --git a/keyboards/doio/kb30/config.h b/keyboards/doio/kb30/config.h
index 04730a1f18..3dc7a76367 100644
--- a/keyboards/doio/kb30/config.h
+++ b/keyboards/doio/kb30/config.h
@@ -27,8 +27,6 @@
# define I2C_DRIVER I2CD2
#endif
-#define RGB_MATRIX_LED_COUNT 36
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/doio/kb30/kb30.c b/keyboards/doio/kb30/kb30.c
index 53a4546e06..671f49e8ab 100644
--- a/keyboards/doio/kb30/kb30.c
+++ b/keyboards/doio/kb30/kb30.c
@@ -17,34 +17,6 @@
#include "quantum.h"
-
-#ifdef RGB_MATRIX_ENABLE
-
- led_config_t g_led_config = { {
- // Key Matrix to LED Index
- { 0, 1, 2, 3, 4, 5, 6},
- { 7, 8, 9, 10, 11, 12, 13},
- { 14, 15, 16, 17, 18, 19, NO_LED },
- { 20, 21, 22, 23, NO_LED, 24, NO_LED},
- { 25, 26, 27, 28, 29, NO_LED, NO_LED},
- { 30, 31, 32, 33, 34, 35}
-}, {
-{0,0}, {37,0}, {75,0}, {112,0}, {149,0}, {187,0}, {224,0},
-{0,16}, {37,16}, {75,16}, {112,16}, {149,16}, {187,16}, {224,16},
-{0,32}, {37,32}, {75,32}, {112,32}, {149,32}, {187,32},
-{0,48}, {37,48}, {75,48}, {112,48}, {187,48},
-{0,64}, {37,64}, {65,64}, {112,64}, {149,64},
-{187,64}, {173,64}, {186,64}, {198,64}, {211,64},{224,64},
-}, {
- 4,4,4,4,4,4,4,
- 4,4,4,4,4,4,4,
- 4,4,4,4,4,4,
- 4,4,4,4,4,
- 4,4,4,4,4,
- 4,4,4,4,4,4
-} };
-#endif
-
/* OLED */
#ifdef OLED_ENABLE
uint16_t startup_timer = 0;
diff --git a/keyboards/doio/kb30/keyboard.json b/keyboards/doio/kb30/keyboard.json
index b14eab1c33..388df2d9e3 100644
--- a/keyboards/doio/kb30/keyboard.json
+++ b/keyboards/doio/kb30/keyboard.json
@@ -46,7 +46,50 @@
},
"driver": "ws2812",
"max_brightness": 200,
- "sleep": true
+ "sleep": true,
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
+ {"matrix": [0, 1], "x": 37, "y": 0, "flags": 4},
+ {"matrix": [0, 2], "x": 75, "y": 0, "flags": 4},
+ {"matrix": [0, 3], "x": 112, "y": 0, "flags": 4},
+ {"matrix": [0, 4], "x": 149, "y": 0, "flags": 4},
+ {"matrix": [0, 5], "x": 187, "y": 0, "flags": 4},
+ {"matrix": [0, 6], "x": 224, "y": 0, "flags": 4},
+
+ {"matrix": [1, 0], "x": 0, "y": 16, "flags": 4},
+ {"matrix": [1, 1], "x": 37, "y": 16, "flags": 4},
+ {"matrix": [1, 2], "x": 75, "y": 16, "flags": 4},
+ {"matrix": [1, 3], "x": 112, "y": 16, "flags": 4},
+ {"matrix": [1, 4], "x": 149, "y": 16, "flags": 4},
+ {"matrix": [1, 5], "x": 187, "y": 16, "flags": 4},
+ {"matrix": [1, 6], "x": 224, "y": 16, "flags": 4},
+
+ {"matrix": [2, 0], "x": 0, "y": 32, "flags": 4},
+ {"matrix": [2, 1], "x": 37, "y": 32, "flags": 4},
+ {"matrix": [2, 2], "x": 75, "y": 32, "flags": 4},
+ {"matrix": [2, 3], "x": 112, "y": 32, "flags": 4},
+ {"matrix": [2, 4], "x": 149, "y": 32, "flags": 4},
+ {"matrix": [2, 5], "x": 187, "y": 32, "flags": 4},
+
+ {"matrix": [3, 0], "x": 0, "y": 48, "flags": 4},
+ {"matrix": [3, 1], "x": 37, "y": 48, "flags": 4},
+ {"matrix": [3, 2], "x": 75, "y": 48, "flags": 4},
+ {"matrix": [3, 3], "x": 112, "y": 48, "flags": 4},
+ {"matrix": [3, 5], "x": 187, "y": 48, "flags": 4},
+
+ {"matrix": [4, 0], "x": 18, "y": 64, "flags": 4},
+ {"matrix": [4, 1], "x": 75, "y": 64, "flags": 4},
+ {"matrix": [4, 2], "x": 149, "y": 64, "flags": 4},
+ {"matrix": [4, 3], "x": 187, "y": 64, "flags": 4},
+ {"matrix": [4, 4], "x": 224, "y": 64, "flags": 4},
+
+ {"x": 224, "y": 56, "flags": 2},
+ {"x": 112, "y": 56, "flags": 2},
+ {"x": 0, "y": 56, "flags": 2},
+ {"x": 0, "y": 8, "flags": 2},
+ {"x": 112, "y": 8, "flags": 2},
+ {"x": 224, "y": 8, "flags": 2}
+ ]
},
"features": {
"bootmagic": true,
diff --git a/keyboards/doppelganger/config.h b/keyboards/doppelganger/config.h
deleted file mode 100644
index 20a23ab6da..0000000000
--- a/keyboards/doppelganger/config.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
-Copyright 2019 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
-
-#define SPLIT_HAND_PIN D4
-
-// #define USE_I2C
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/doppelganger/doppelganger.c b/keyboards/doppelganger/doppelganger.c
index 4a62fdf45f..de0e2cc755 100644
--- a/keyboards/doppelganger/doppelganger.c
+++ b/keyboards/doppelganger/doppelganger.c
@@ -16,21 +16,9 @@
#include "quantum.h"
void keyboard_pre_init_kb(void) {
- gpio_set_pin_output(C6);
gpio_set_pin_output(B0);
-}
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if (res) {
- // gpio_write_pin sets the pin high for 1 and low for 0.
- // In this example the pins are inverted, setting
- // it low/0 turns it on, and high/1 turns the LED off.
- // This behavior depends on whether the LED is between the pin
- // and VCC or the pin and GND.
- gpio_write_pin(C6, !led_state.caps_lock);
- }
- return res;
+ keyboard_pre_init_user();
}
__attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) {
diff --git a/keyboards/doppelganger/keyboard.json b/keyboards/doppelganger/keyboard.json
index 9ea2241a80..f77597c990 100644
--- a/keyboards/doppelganger/keyboard.json
+++ b/keyboards/doppelganger/keyboard.json
@@ -8,6 +8,10 @@
"pid": "0x4447",
"device_version": "0.0.1"
},
+ "indicators": {
+ "caps_lock": "C6",
+ "on_state": 0
+ },
"matrix_pins": {
"cols": ["F4", "F0", "B7", "B3", "B2", "B1", "D5", "D3", "D2"],
"rows": ["E6", "F1", "C7", "F7", "F6"]
@@ -15,6 +19,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "D4"
+ },
"soft_serial_pin": "D1",
"matrix_pins": {
"right": {
diff --git a/keyboards/duck/orion/v3/keyboard.json b/keyboards/duck/orion/v3/keyboard.json
index 280cd8b07f..ba479aa0a2 100644
--- a/keyboards/duck/orion/v3/keyboard.json
+++ b/keyboards/duck/orion/v3/keyboard.json
@@ -16,6 +16,12 @@
"bootmagic": {
"matrix": [4, 10]
},
+ "indicators": {
+ "caps_lock": "B0",
+ "num_lock": "B4",
+ "scroll_lock": "D7",
+ "on_state": 0
+ },
"rgblight": {
"led_count": 18,
"animations": {
diff --git a/keyboards/duck/orion/v3/matrix.c b/keyboards/duck/orion/v3/matrix.c
index 1dd07a6567..acd4fe0349 100644
--- a/keyboards/duck/orion/v3/matrix.c
+++ b/keyboards/duck/orion/v3/matrix.c
@@ -53,20 +53,7 @@ __attribute__ ((weak))
void matrix_scan_user(void) {
}
-void indicator_init_ports(void) {
-
- // Num LED
- gpio_set_pin_output(B4);
-
- // Caps Lock
- gpio_set_pin_output(B0);
-
- // Scroll Lock
- gpio_set_pin_output(D7);
-}
-
void matrix_init(void) {
- indicator_init_ports();
unselect_cols();
init_rows();
diff --git a/keyboards/duck/orion/v3/v3.c b/keyboards/duck/orion/v3/v3.c
deleted file mode 100644
index c0ca9ddd06..0000000000
--- a/keyboards/duck/orion/v3/v3.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright 2019 MechMerlin <[email protected]>
- *
- * 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"
-#include "indicator_leds.h"
-
-// Alphas PB1
-// Navigation Cluster: PB2
-// Number Row, Mods: PB3
-// Function Row: PE6
-
-// Other than using RGB or LED matrix, QMK cannot turn on specific zones
-// of backlight LEDs. Unfortunately, Duck PCBs do not follow this design
-// and instead use multiple pins connected to each of these zones. QMK is
-// only able to control them ALL with the current default mechanisms.
-
-// Locking indicator LEDs
-// The Duck Orion V3 has 3 locking indicator LEDs and are located to the right
-// of the Escape key.
-bool led_update_kb(led_t led_state) {
- if(led_update_user(led_state)) {
- gpio_write_pin(B0, !led_state.caps_lock);
- gpio_write_pin(B4, !led_state.num_lock);
- gpio_write_pin(D7, !led_state.scroll_lock);
- }
- return true;
-}
diff --git a/keyboards/durgod/k310/k310.c b/keyboards/durgod/k310/k310.c
index 7879b13f4e..c176587ef2 100644
--- a/keyboards/durgod/k310/k310.c
+++ b/keyboards/durgod/k310/k310.c
@@ -87,4 +87,6 @@ void keyboard_pre_init_kb(void) {
bootloader_jump();
}
#endif
+
+ keyboard_pre_init_user();
}
diff --git a/keyboards/durgod/k320/k320.c b/keyboards/durgod/k320/k320.c
index 0a544fe318..50b87d7241 100644
--- a/keyboards/durgod/k320/k320.c
+++ b/keyboards/durgod/k320/k320.c
@@ -87,4 +87,6 @@ void keyboard_pre_init_kb(void) {
bootloader_jump();
}
#endif
+
+ keyboard_pre_init_user();
}
diff --git a/keyboards/dztech/bocc/bocc.c b/keyboards/dztech/bocc/bocc.c
deleted file mode 100644
index 646a7861f8..0000000000
--- a/keyboards/dztech/bocc/bocc.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright 2020 dztech
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include "quantum.h"
-
-void matrix_init_kb(void) {
- gpio_set_pin_output(E6);
- matrix_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(E6, !led_state.caps_lock);
- }
- return res;
-}
diff --git a/keyboards/dztech/bocc/keyboard.json b/keyboards/dztech/bocc/keyboard.json
index 7e40fde49c..a6208b2bf7 100644
--- a/keyboards/dztech/bocc/keyboard.json
+++ b/keyboards/dztech/bocc/keyboard.json
@@ -33,6 +33,10 @@
"pin": "B7",
"levels": 5
},
+ "indicators": {
+ "caps_lock": "E6",
+ "on_state": 0
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/ealdin/quadrant/keyboard.json b/keyboards/ealdin/quadrant/keyboard.json
index 9f7a6143d2..7a8bcf0db2 100644
--- a/keyboards/ealdin/quadrant/keyboard.json
+++ b/keyboards/ealdin/quadrant/keyboard.json
@@ -34,6 +34,9 @@
{"pin_a": "D5", "pin_b": "F1"}
]
},
+ "indicators": {
+ "caps_lock": "F0"
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/ealdin/quadrant/quadrant.c b/keyboards/ealdin/quadrant/quadrant.c
index 23be00b96f..328c92e02e 100644
--- a/keyboards/ealdin/quadrant/quadrant.c
+++ b/keyboards/ealdin/quadrant/quadrant.c
@@ -52,16 +52,3 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {
}
return true;
}
-
-void keyboard_pre_init_kb(void) {
- gpio_set_pin_output(F0);
-
- keyboard_pre_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- if (led_update_user(led_state)) {
- gpio_write_pin(F0, led_state.caps_lock);
- }
- return true;
-}
diff --git a/keyboards/elcantorhs/keyboard.json b/keyboards/elcantorhs/keyboard.json
index 6ed958463e..c0d52b915b 100644
--- a/keyboards/elcantorhs/keyboard.json
+++ b/keyboards/elcantorhs/keyboard.json
@@ -37,6 +37,9 @@
["B12", "A0", "A1", "A2", null, null]
]
}
+ },
+ "serial": {
+ "driver": "usart"
}
},
"layouts": {
diff --git a/keyboards/elcantorhs/rules.mk b/keyboards/elcantorhs/rules.mk
deleted file mode 100644
index c6e2988321..0000000000
--- a/keyboards/elcantorhs/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = usart
diff --git a/keyboards/enviousdesign/commissions/mini1800/mini1800.c b/keyboards/enviousdesign/commissions/mini1800/mini1800.c
index 86757dab8a..4f4be779ca 100644
--- a/keyboards/enviousdesign/commissions/mini1800/mini1800.c
+++ b/keyboards/enviousdesign/commissions/mini1800/mini1800.c
@@ -1,23 +1,27 @@
-/* SPDX-License-Identifier: GPL-2.0-or-later */
+// SPDX-License-Identifier: GPL-2.0-or-later
#include "quantum.h"
-void matrix_init_user(void) {
+void matrix_init_kb(void) {
gpio_set_pin_output(GP9); //init gpio
gpio_write_pin_low(GP9);
gpio_set_pin_output(GP11); //init and turn off inverted power led
gpio_write_pin_high(GP11);
+
+ matrix_init_user();
}
//layer, capslock and numlock
-layer_state_t layer_state_set_user(layer_state_t state) {
+__attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) {
gpio_write_pin(GP9, layer_state_cmp(state, 1));
- return state;
+ return state;
}
-bool led_update_user(led_t led_state) {
+bool led_update_kb(led_t led_state) {
+ bool res = led_update_user(led_state);
+ if(res) {
led_state.num_lock = !led_state.num_lock;
led_update_ports(led_state);
- return false;
+ }
+ return res;
}
-
diff --git a/keyboards/era/sirind/tomak/config.h b/keyboards/era/sirind/tomak/config.h
index 7bb5610705..0f34f674df 100644
--- a/keyboards/era/sirind/tomak/config.h
+++ b/keyboards/era/sirind/tomak/config.h
@@ -4,7 +4,6 @@
#pragma once
/* Split configuration */
-#define SPLIT_HAND_PIN GP21
#define USB_VBUS_PIN GP29
#define SERIAL_USART_FULL_DUPLEX
#define SERIAL_USART_TX_PIN GP0
diff --git a/keyboards/era/sirind/tomak/keyboard.json b/keyboards/era/sirind/tomak/keyboard.json
index 1d0d5b79b2..cfd933bfe6 100644
--- a/keyboards/era/sirind/tomak/keyboard.json
+++ b/keyboards/era/sirind/tomak/keyboard.json
@@ -175,6 +175,9 @@
"bootmagic": {
"matrix": [6, 0]
},
+ "handedness": {
+ "pin": "GP21"
+ },
"enabled": true,
"matrix_pins": {
"right": {
@@ -182,6 +185,9 @@
"rows": ["GP10", "GP11", "GP12", "GP28", "GP19", "GP16"]
}
},
+ "serial": {
+ "driver": "vendor"
+ },
"transport": {
"sync": {
"indicators": true,
diff --git a/keyboards/era/sirind/tomak/rules.mk b/keyboards/era/sirind/tomak/rules.mk
deleted file mode 100644
index 743228e94b..0000000000
--- a/keyboards/era/sirind/tomak/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor \ No newline at end of file
diff --git a/keyboards/evyd13/gh80_3700/gh80_3700.c b/keyboards/evyd13/gh80_3700/gh80_3700.c
index 6d903e48e1..8c4c81fe64 100644
--- a/keyboards/evyd13/gh80_3700/gh80_3700.c
+++ b/keyboards/evyd13/gh80_3700/gh80_3700.c
@@ -15,24 +15,16 @@
*/
#include "quantum.h"
-void led_init_ports(void) {
- gpio_set_pin_output(E6);
+void keyboard_pre_init_kb(void) {
gpio_set_pin_output(B1);
gpio_set_pin_output(D0);
gpio_set_pin_output(D1);
gpio_set_pin_output(F0);
- gpio_write_pin_high(E6);
gpio_write_pin_high(B1);
gpio_write_pin_high(D0);
gpio_write_pin_high(D1);
gpio_write_pin_high(F0);
-}
-
-bool led_update_kb(led_t led_state) {
- if(led_update_user(led_state)) {
- gpio_write_pin(E6, !led_state.num_lock);
- }
- return true;
-} \ No newline at end of file
+ keyboard_pre_init_user();
+}
diff --git a/keyboards/evyd13/gh80_3700/keyboard.json b/keyboards/evyd13/gh80_3700/keyboard.json
index fa11a482df..a647f46118 100644
--- a/keyboards/evyd13/gh80_3700/keyboard.json
+++ b/keyboards/evyd13/gh80_3700/keyboard.json
@@ -23,6 +23,10 @@
"resync": true
}
},
+ "indicators": {
+ "num_lock": "E6",
+ "on_state": 0
+ },
"matrix_pins": {
"cols": ["B0", "D7", "D6", "D4"],
"rows": ["B3", "C7", "C6", "B6", "B5", "B4"]
diff --git a/keyboards/evyd13/gud70/gud70.c b/keyboards/evyd13/gud70/gud70.c
index 5c40045521..118c68e566 100644
--- a/keyboards/evyd13/gud70/gud70.c
+++ b/keyboards/evyd13/gud70/gud70.c
@@ -19,4 +19,6 @@ void keyboard_pre_init_kb(void) {
// Enable top LED
gpio_set_pin_output(B3);
gpio_write_pin_low(B3);
+
+ keyboard_pre_init_user();
}
diff --git a/keyboards/exclusive/e6_rgb/e6_rgb.c b/keyboards/exclusive/e6_rgb/e6_rgb.c
index 19dd96a073..9a7856306b 100644
--- a/keyboards/exclusive/e6_rgb/e6_rgb.c
+++ b/keyboards/exclusive/e6_rgb/e6_rgb.c
@@ -168,6 +168,10 @@ led_config_t g_led_config = { {
#endif
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+ if (!process_record_user(keycode, record)) {
+ return false;
+ }
+
if (record->event.pressed) {
switch(keycode) {
#if defined(RGBLIGHT_ENABLE) && defined(RGB_MATRIX_ENABLE)
diff --git a/keyboards/exclusive/e85/hotswap/hotswap.c b/keyboards/exclusive/e85/hotswap/hotswap.c
deleted file mode 100644
index 18ca30b44c..0000000000
--- a/keyboards/exclusive/e85/hotswap/hotswap.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright 2020 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/>.
- */
-
-#include "quantum.h"
-
-void keyboard_pre_init_kb(void) {
- gpio_set_pin_output(C7);
- gpio_set_pin_output(B5);
-
- keyboard_pre_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- if (led_update_user(led_state)) {
- gpio_write_pin(C7, led_state.caps_lock);
- gpio_write_pin(B5, led_state.scroll_lock);
- }
- return true;
-}
diff --git a/keyboards/exclusive/e85/hotswap/keyboard.json b/keyboards/exclusive/e85/hotswap/keyboard.json
index 4bd8e73882..7fcd61c843 100644
--- a/keyboards/exclusive/e85/hotswap/keyboard.json
+++ b/keyboards/exclusive/e85/hotswap/keyboard.json
@@ -18,6 +18,10 @@
"levels": 6,
"breathing": true
},
+ "indicators": {
+ "caps_lock": "C7",
+ "scroll_lock": "B5"
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/exclusive/e85/soldered/keyboard.json b/keyboards/exclusive/e85/soldered/keyboard.json
index 8b4ebbfc57..dfd6d18826 100644
--- a/keyboards/exclusive/e85/soldered/keyboard.json
+++ b/keyboards/exclusive/e85/soldered/keyboard.json
@@ -18,6 +18,10 @@
"levels": 6,
"breathing": true
},
+ "indicators": {
+ "caps_lock": "C7",
+ "scroll_lock": "B5"
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/exclusive/e85/soldered/soldered.c b/keyboards/exclusive/e85/soldered/soldered.c
deleted file mode 100644
index bdee95c26c..0000000000
--- a/keyboards/exclusive/e85/soldered/soldered.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright 2020 VashtaNerada
- *
- * 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"
-
-void keyboard_pre_init_kb(void) {
- gpio_set_pin_output(C7);
- gpio_set_pin_output(B5);
-
- keyboard_pre_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- if (led_update_user(led_state)) {
- gpio_write_pin(C7, led_state.caps_lock);
- gpio_write_pin(B5, led_state.scroll_lock);
- }
- return true;
-}
diff --git a/keyboards/ferris/0_2/bling/bling.c b/keyboards/ferris/0_2/bling/bling.c
index 69fbe411eb..b33b05c727 100644
--- a/keyboards/ferris/0_2/bling/bling.c
+++ b/keyboards/ferris/0_2/bling/bling.c
@@ -16,8 +16,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "quantum.h"
-#include "drivers/led/issi/is31fl3731.h"
-
+#ifdef RGB_MATRIX_ENABLE
/*
| Left || Right |
| | 3 | | 0 || 0 | | 3 | |
@@ -49,36 +48,4 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
{0, C9_11, C8_11, C7_11}, // Left RGB 4
{0, C9_9, C8_9, C7_9}, // Left RGB 6
};
-// clang-format off
-led_config_t g_led_config = {
- // Key Matrix to LED Index
- {
- { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
- { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
- { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
- { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
- { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
- { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
- { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
- { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
- }, {
- // LED Index to Physical Position. The unit is roughly milimiters in the real world
- // | Left || Right |
- // x->| 10 | 32 | 64 || 160 | 192 | 214 |
- // y |_____|_____|____||_____|_____|_____|
- // 0 | | 1 | 2 || 3 | 4 | |
- // 16 | 0 | | || | | 5 |
- // 35 | | | 11 || 8 | | |
- // 45 | | 12 | || | 7 | |
- // 50 | 13 | | 10 || 9 | | 6 |
- // 0 1 2 3 4 5
- {10, 16}, {32, 0}, {64, 0}, {160, 0}, {192, 0}, {214, 16},
- // 6 7 8 9
- {214, 50}, {192, 45}, {160, 35}, {160, 50},
- // 10 11 12 13
- {64, 50}, {64, 35}, {32, 45}, {10, 50},
- }, {
- // LED Index to Flag
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4
- }
-};
+#endif
diff --git a/keyboards/ferris/0_2/bling/config.h b/keyboards/ferris/0_2/bling/config.h
index 2325463e1f..e1365033fc 100644
--- a/keyboards/ferris/0_2/bling/config.h
+++ b/keyboards/ferris/0_2/bling/config.h
@@ -20,5 +20,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* LED Drivers */
#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SCL
-
-#define RGB_MATRIX_LED_COUNT 14
diff --git a/keyboards/ferris/0_2/bling/keyboard.json b/keyboards/ferris/0_2/bling/keyboard.json
index 22ef500d6d..ce35aef2ae 100644
--- a/keyboards/ferris/0_2/bling/keyboard.json
+++ b/keyboards/ferris/0_2/bling/keyboard.json
@@ -49,7 +49,23 @@
"solid_splash": true,
"solid_multisplash": true
},
- "driver": "is31fl3731"
+ "driver": "is31fl3731",
+ "layout": [
+ {"x": 0, "y": 16, "flags": 4},
+ {"x": 36, "y": 0, "flags": 4},
+ {"x": 72, "y": 0, "flags": 4},
+ {"x": 152, "y": 0, "flags": 4},
+ {"x": 188, "y": 0, "flags": 4},
+ {"x": 224, "y": 16, "flags": 4},
+ {"x": 224, "y": 64, "flags": 4},
+ {"x": 188, "y": 48, "flags": 4},
+ {"x": 152, "y": 36, "flags": 4},
+ {"x": 152, "y": 64, "flags": 4},
+ {"x": 72, "y": 64, "flags": 4},
+ {"x": 72, "y": 36, "flags": 4},
+ {"x": 36, "y": 48, "flags": 4},
+ {"x": 0, "y": 64, "flags": 4}
+ ]
},
"features": {
"rgb_matrix": true
diff --git a/keyboards/fjlabs/bolsa65/bolsa65.c b/keyboards/fjlabs/bolsa65/bolsa65.c
deleted file mode 100644
index 669404192c..0000000000
--- a/keyboards/fjlabs/bolsa65/bolsa65.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-Copyright 2020 <[email protected]>
-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"
-
-void matrix_init_kb(void) {
- // Initialize indicator LEDs to output
- gpio_set_pin_output(F7); // Caps
- matrix_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(F7, led_state.caps_lock);
- }
- return res;
-}
diff --git a/keyboards/fjlabs/bolsa65/keyboard.json b/keyboards/fjlabs/bolsa65/keyboard.json
index dfa47e90bb..63281ae9f6 100644
--- a/keyboards/fjlabs/bolsa65/keyboard.json
+++ b/keyboards/fjlabs/bolsa65/keyboard.json
@@ -8,6 +8,9 @@
"pid": "0x0001",
"device_version": "0.0.1"
},
+ "indicators": {
+ "caps_lock": "F7"
+ },
"matrix_pins": {
"cols": ["C7", "B1", "B2", "B3", "B7", "D0", "D1", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5"],
"rows": ["F1", "F0", "F6", "F5", "F4"]
diff --git a/keyboards/flx/virgo/keyboard.json b/keyboards/flx/virgo/keyboard.json
index 8396ce51da..996425282d 100644
--- a/keyboards/flx/virgo/keyboard.json
+++ b/keyboards/flx/virgo/keyboard.json
@@ -30,6 +30,11 @@
"pin": "B7",
"levels": 5
},
+ "indicators": {
+ "caps_lock": "E6",
+ "scroll_lock": "B2",
+ "on_state": 0
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/flx/virgo/virgo.c b/keyboards/flx/virgo/virgo.c
deleted file mode 100644
index 2f875531d0..0000000000
--- a/keyboards/flx/virgo/virgo.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright 2019 MechMerlin
- * Edits etc 2020 Flexerm
- *
- * 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"
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
- gpio_set_pin_output(E6);
- gpio_set_pin_output(B2);
- matrix_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- if(led_update_user(led_state)) {
- gpio_write_pin(E6, !led_state.caps_lock);
- gpio_write_pin(B2, !led_state.scroll_lock);
- }
- return true;
-}
diff --git a/keyboards/ghs/rar/keyboard.json b/keyboards/ghs/rar/keyboard.json
index 22b133c8f9..96184abe6a 100644
--- a/keyboards/ghs/rar/keyboard.json
+++ b/keyboards/ghs/rar/keyboard.json
@@ -8,6 +8,10 @@
"pid": "0x0001",
"device_version": "0.0.1"
},
+ "indicators": {
+ "caps_lock": "B1",
+ "scroll_lock": "B3"
+ },
"rgblight": {
"led_count": 17,
"animations": {
diff --git a/keyboards/ghs/rar/rar.c b/keyboards/ghs/rar/rar.c
deleted file mode 100644
index 591932c99c..0000000000
--- a/keyboards/ghs/rar/rar.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright 2020 Gone Hacking Studio
- *
- * 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"
-
-void keyboard_pre_init_kb(void) {
- // Set our LED pins as output.
- gpio_set_pin_output(B1);
- gpio_set_pin_output(B3);
-
- keyboard_pre_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
-
- if (res) {
- gpio_write_pin(B1, led_state.caps_lock);
- gpio_write_pin(B3, led_state.scroll_lock);
- }
-
- return res;
-}
diff --git a/keyboards/gmmk/numpad/matrix.c b/keyboards/gmmk/numpad/matrix.c
index 4ec41bdb73..8d6e641a77 100644
--- a/keyboards/gmmk/numpad/matrix.c
+++ b/keyboards/gmmk/numpad/matrix.c
@@ -19,21 +19,21 @@ static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
#define MATRIX_ROW_SHIFTER ((matrix_row_t)1)
-static inline void setPinOutput_writeLow(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_low(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_low(pin);
}
}
-static inline void setPinOutput_writeHigh(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_high(pin);
}
}
-static inline void setPinInputHigh_atomic(pin_t pin) {
+static inline void gpio_atomic_set_pin_input_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_input_high(pin);
}
@@ -50,7 +50,7 @@ static inline uint8_t readMatrixPin(pin_t pin) {
static bool select_col(uint8_t col) {
pin_t pin = col_pins[col];
if (pin != NO_PIN) {
- setPinOutput_writeLow(pin);
+ gpio_atomic_set_pin_output_low(pin);
return true;
}
return false;
@@ -60,9 +60,9 @@ static void unselect_col(uint8_t col) {
pin_t pin = col_pins[col];
if (pin != NO_PIN) {
# ifdef MATRIX_UNSELECT_DRIVE_HIGH
- setPinOutput_writeHigh(pin);
+ gpio_atomic_set_pin_output_high(pin);
# else
- setPinInputHigh_atomic(pin);
+ gpio_atomic_set_pin_input_high(pin);
# endif
}
}
@@ -78,10 +78,10 @@ __attribute__((weak)) void matrix_init_custom(void) {
unselect_cols();
for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
if (row_pins[x] != NO_PIN) {
- setPinInputHigh_atomic(row_pins[x]);
+ gpio_atomic_set_pin_input_high(row_pins[x]);
}
}
- setPinInputHigh_atomic(B8);
+ gpio_atomic_set_pin_input_high(B8);
}
__attribute__((weak)) void matrix_read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col, matrix_row_t row_shifter) { // Start with a clear matrix row
diff --git a/keyboards/gray_studio/think65/solder/keyboard.json b/keyboards/gray_studio/think65/solder/keyboard.json
index 9706e8b4b4..09096a854e 100644
--- a/keyboards/gray_studio/think65/solder/keyboard.json
+++ b/keyboards/gray_studio/think65/solder/keyboard.json
@@ -41,6 +41,10 @@
"nkro": false,
"rgblight": true
},
+ "indicators": {
+ "caps_lock": "C7",
+ "on_state": 0
+ },
"matrix_pins": {
"cols": ["D1", "D0", "D2", "D3", "D5", "D4", "D6", "D7", "B4", "B5", "F0", "F1", "B6", "F4", "F5", "F6"],
"rows": ["B0", "B1", "B2", "B3", "E6"]
diff --git a/keyboards/gray_studio/think65/solder/solder.c b/keyboards/gray_studio/think65/solder/solder.c
deleted file mode 100644
index 84267b9db0..0000000000
--- a/keyboards/gray_studio/think65/solder/solder.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright 2019 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/>.
- */
-#include "quantum.h"
-
-// Optional override functions below.
-// You can leave any or all of these undefined.
-// These are only required if you want to perform custom actions.
-
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
- gpio_set_pin_output(C7);
- matrix_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- if(led_update_user(led_state)) {
- gpio_write_pin(C7, !led_state.caps_lock);
- }
- return true;
-}
diff --git a/keyboards/gregandcin/teaqueen/keyboard.json b/keyboards/gregandcin/teaqueen/keyboard.json
index 841c524e62..e4903ea6c0 100644
--- a/keyboards/gregandcin/teaqueen/keyboard.json
+++ b/keyboards/gregandcin/teaqueen/keyboard.json
@@ -25,7 +25,10 @@
"rows": ["GP5", "GP6", "GP7", "GP8", "GP9"]
}
},
- "soft_serial_pin": "GP3"
+ "soft_serial_pin": "GP3",
+ "serial": {
+ "driver": "vendor"
+ }
},
"url": "https://github.com/gregandcin/teaqueen",
"usb": {
diff --git a/keyboards/gregandcin/teaqueen/rules.mk b/keyboards/gregandcin/teaqueen/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/gregandcin/teaqueen/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/halfcliff/matrix.c b/keyboards/halfcliff/matrix.c
index ad3ad6ba09..790f8c41bb 100644
--- a/keyboards/halfcliff/matrix.c
+++ b/keyboards/halfcliff/matrix.c
@@ -50,25 +50,25 @@ matrix_row_t matrix_get_row(uint8_t row) { return matrix[row]; }
void matrix_print(void) {}
-static inline void setPinOutput_writeLow(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_low(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_low(pin);
}
}
-static inline void setPinInputHigh_atomic(pin_t pin) {
+static inline void gpio_atomic_set_pin_input_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON { gpio_set_pin_input_high(pin); }
}
// matrix code
-static void select_row(uint8_t row) { setPinOutput_writeLow(row_pins[row]); }
+static void select_row(uint8_t row) { gpio_atomic_set_pin_output_low(row_pins[row]); }
-static void unselect_row(uint8_t row) { setPinInputHigh_atomic(row_pins[row]); }
+static void unselect_row(uint8_t row) { gpio_atomic_set_pin_input_high(row_pins[row]); }
static void unselect_rows(void) {
for (uint8_t x = 0; x < ROWS_PER_HAND; x++) {
- setPinInputHigh_atomic(row_pins[x]);
+ gpio_atomic_set_pin_input_high(row_pins[x]);
}
}
@@ -103,24 +103,24 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
return false;
}
-static void select_col(uint8_t col) { setPinOutput_writeLow(col_pins[col]); }
+static void select_col(uint8_t col) { gpio_atomic_set_pin_output_low(col_pins[col]); }
-static void unselect_col(uint8_t col) { setPinInputHigh_atomic(col_pins[col]); }
+static void unselect_col(uint8_t col) { gpio_atomic_set_pin_input_high(col_pins[col]); }
static void unselect_cols(void) {
for (uint8_t x = 0; x < MATRIX_COLS; x++) {
- setPinInputHigh_atomic(col_pins[x]);
+ gpio_atomic_set_pin_input_high(col_pins[x]);
}
}
static void init_pins(void) {
unselect_rows();
for (uint8_t x = 0; x < MATRIX_COLS; x++) {
- setPinInputHigh_atomic(col_pins[x]);
+ gpio_atomic_set_pin_input_high(col_pins[x]);
}
unselect_cols();
for (uint8_t x = 0; x < ROWS_PER_HAND; x++) {
- setPinInputHigh_atomic(row_pins[x]);
+ gpio_atomic_set_pin_input_high(row_pins[x]);
}
}
diff --git a/keyboards/handwired/aek64/aek64.c b/keyboards/handwired/aek64/aek64.c
index 130d014616..21589b6910 100644
--- a/keyboards/handwired/aek64/aek64.c
+++ b/keyboards/handwired/aek64/aek64.c
@@ -16,21 +16,18 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "quantum.h"
-/*
- * Hardware function pre initialisation.
- * See https://docs.qmk.fm/#/custom_quantum_functions?id=example-keyboard_pre_init_user-implementation
- */
-void keyboard_pre_init_user(void) {
- // Call the keyboard pre init code.
-
+void keyboard_pre_init_kb(void) {
// Set our LED pins as output
gpio_set_pin_output(C3);
+
+ keyboard_pre_init_user();
}
void matrix_init_kb(void) {
-
// Flash the led 1 sec on startup.
gpio_write_pin_high(C3);
wait_ms(1000);
gpio_write_pin_low(C3);
+
+ matrix_init_user();
}
diff --git a/keyboards/handwired/alcor_dactyl/keyboard.json b/keyboards/handwired/alcor_dactyl/keyboard.json
index c179278c09..b38d39bfcc 100644
--- a/keyboards/handwired/alcor_dactyl/keyboard.json
+++ b/keyboards/handwired/alcor_dactyl/keyboard.json
@@ -19,7 +19,10 @@
"rgb_matrix": true
},
"split": {
- "enabled": true
+ "enabled": true,
+ "serial": {
+ "driver": "vendor"
+ }
},
"diode_direction": "COL2ROW",
"matrix_pins": {
diff --git a/keyboards/handwired/alcor_dactyl/rules.mk b/keyboards/handwired/alcor_dactyl/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/handwired/alcor_dactyl/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/handwired/battleship_gamepad/battleship_gamepad.c b/keyboards/handwired/battleship_gamepad/battleship_gamepad.c
index cccc03a287..6bfcb17fd4 100644
--- a/keyboards/handwired/battleship_gamepad/battleship_gamepad.c
+++ b/keyboards/handwired/battleship_gamepad/battleship_gamepad.c
@@ -16,13 +16,9 @@
#include "quantum.h"
-/* joystick config */
-joystick_config_t joystick_axes[JOYSTICK_AXIS_COUNT] = {
- [0] = JOYSTICK_AXIS_IN(F5, 1023, 512, 0),
- [1] = JOYSTICK_AXIS_IN(F4, 0, 512, 1023)
-};
-
/* joystick button code (thumbstick pressed) */
void keyboard_pre_init_kb(void) {
gpio_set_pin_input_high(F6);
+
+ keyboard_pre_init_user();
}
diff --git a/keyboards/handwired/battleship_gamepad/config.h b/keyboards/handwired/battleship_gamepad/config.h
deleted file mode 100644
index b785c80aad..0000000000
--- a/keyboards/handwired/battleship_gamepad/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright 2021 Andrew Braini
- *
- * 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
-
-/* joystick configuration */
-#define JOYSTICK_BUTTON_COUNT 25
-#define JOYSTICK_AXIS_RESOLUTION 10
diff --git a/keyboards/handwired/battleship_gamepad/keyboard.json b/keyboards/handwired/battleship_gamepad/keyboard.json
index 2832741875..8350f31fdd 100644
--- a/keyboards/handwired/battleship_gamepad/keyboard.json
+++ b/keyboards/handwired/battleship_gamepad/keyboard.json
@@ -13,6 +13,14 @@
"rows": ["B6", "B2", "B3", "B1", "F7"]
},
"diode_direction": "COL2ROW",
+ "joystick": {
+ "button_count": 25,
+ "axis_resolution": 10,
+ "axes": {
+ "x": {"input_pin": "F5", "low": 1023, "rest": 512, "high": 0},
+ "y": {"input_pin": "F4", "low": 0, "rest": 512, "high": 1023}
+ }
+ },
"processor": "atmega32u4",
"bootloader": "caterina",
"features": {
diff --git a/keyboards/handwired/battleship_gamepad/rules.mk b/keyboards/handwired/battleship_gamepad/rules.mk
deleted file mode 100644
index c5ab560bca..0000000000
--- a/keyboards/handwired/battleship_gamepad/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-JOYSTICK_DRIVER = analog
diff --git a/keyboards/handwired/bento/rev1/config.h b/keyboards/handwired/bento/rev1/config.h
new file mode 100644
index 0000000000..aeb48915b9
--- /dev/null
+++ b/keyboards/handwired/bento/rev1/config.h
@@ -0,0 +1,18 @@
+/* Copyright 2020 GhostSeven <[email protected]>
+ *
+ * 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 RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
diff --git a/keyboards/handwired/bento/rev1/rev1.c b/keyboards/handwired/bento/rev1/rev1.c
deleted file mode 100644
index 1dd5b683f1..0000000000
--- a/keyboards/handwired/bento/rev1/rev1.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Copyright 2020 GhostSeven <[email protected]>
- *
- * 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"
-
-void eeconfig_init_kb(void) {
-#ifdef RGBLIGHT_ENABLE
- rgblight_enable(); // Enable RGB by default
- rgblight_sethsv(0, 255, 255); // Set default HSV - red hue, full saturation, full brightness
-#ifdef RGBLIGHT_EFFECT_RAINBOW_SWIRL
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default
-#endif
-#endif
-
- eeconfig_init_user();
-}
diff --git a/keyboards/handwired/chiron/config.h b/keyboards/handwired/chiron/config.h
deleted file mode 100644
index 254bed5c74..0000000000
--- a/keyboards/handwired/chiron/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2019 Mike Hix
-
-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
-
-// Pro Micro Pins RX1
-#define SPLIT_HAND_PIN D2
diff --git a/keyboards/handwired/chiron/keyboard.json b/keyboards/handwired/chiron/keyboard.json
index f02c8cea28..efbf66335b 100644
--- a/keyboards/handwired/chiron/keyboard.json
+++ b/keyboards/handwired/chiron/keyboard.json
@@ -41,6 +41,9 @@
},
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "D2"
+ },
"soft_serial_pin": "D0"
},
"processor": "atmega32u4",
diff --git a/keyboards/handwired/colorlice/colorlice.c b/keyboards/handwired/colorlice/colorlice.c
index ede3fba82f..92914b79bc 100644
--- a/keyboards/handwired/colorlice/colorlice.c
+++ b/keyboards/handwired/colorlice/colorlice.c
@@ -51,18 +51,3 @@ void suspend_wakeup_init_kb(void)
suspend_wakeup_init_user();
}
#endif
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- // gpio_write_pin sets the pin high for 1 and low for 0.
- // In this example the pins are inverted, setting
- // it low/0 turns it on, and high/1 turns the LED off.
- // This behavior depends on whether the LED is between the pin
- // and VCC or the pin and GND.
- gpio_write_pin(B2, !led_state.num_lock);
- gpio_write_pin(C6, !led_state.caps_lock);
- gpio_write_pin(B7, !led_state.scroll_lock);
- }
- return res;
-}
diff --git a/keyboards/handwired/colorlice/keyboard.json b/keyboards/handwired/colorlice/keyboard.json
index 77f5ded097..4ccc10527c 100644
--- a/keyboards/handwired/colorlice/keyboard.json
+++ b/keyboards/handwired/colorlice/keyboard.json
@@ -65,6 +65,12 @@
"build": {
"lto": true
},
+ "indicators": {
+ "caps_lock": "C6",
+ "num_lock": "B2",
+ "scroll_lock": "B7",
+ "on_state": 0
+ },
"features": {
"bootmagic": true,
"command": false,
diff --git a/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/config.h b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/config.h
index 9639d4ba1d..2258a17c2e 100644
--- a/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/config.h
+++ b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/config.h
@@ -19,7 +19,6 @@
// in col2row col is input, and row is output
// #define SPLIT_HAND_MATRIX_GRID A10, A4
// 68kohm
-#define SPLIT_HAND_PIN B10
/* connection */
#define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode.
diff --git a/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/keyboard.json b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/keyboard.json
index 73ce0d27d5..efefb5e550 100644
--- a/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/keyboard.json
+++ b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/keyboard.json
@@ -8,6 +8,12 @@
"enabled": true,
"bootmagic": {
"matrix": [7, 0]
+ },
+ "serial": {
+ "driver": "usart"
+ },
+ "handedness": {
+ "pin": "B10"
}
},
"development_board": "blackpill_f411",
diff --git a/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/rules.mk b/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/rules.mk
deleted file mode 100644
index c018471cad..0000000000
--- a/keyboards/handwired/dactyl_manuform/6x6/blackpill_f411/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-# split settings
-# https://beta.docs.qmk.fm/developing-qmk/c-development/hardware_drivers/serial_driver
-SERIAL_DRIVER = usart
diff --git a/keyboards/handwired/evk/v1_3/v1_3.c b/keyboards/handwired/evk/v1_3/v1_3.c
index a568ba3f86..575bf33759 100644
--- a/keyboards/handwired/evk/v1_3/v1_3.c
+++ b/keyboards/handwired/evk/v1_3/v1_3.c
@@ -33,12 +33,3 @@ __attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) {
gpio_write_pin(D5, layer_state_cmp(state, 1));
return state;
}
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if (res) {
- // gpio_write_pin sets the pin high for 1 and low for 0.
- gpio_write_pin(D4, led_state.caps_lock);
- }
- return res;
-}
diff --git a/keyboards/handwired/jankrp2040dactyl/keyboard.json b/keyboards/handwired/jankrp2040dactyl/keyboard.json
index c4543b5d12..0d155a70bd 100644
--- a/keyboards/handwired/jankrp2040dactyl/keyboard.json
+++ b/keyboards/handwired/jankrp2040dactyl/keyboard.json
@@ -6,7 +6,10 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "GP0"
+ "soft_serial_pin": "GP0",
+ "serial": {
+ "driver": "vendor"
+ }
},
"features": {
diff --git a/keyboards/handwired/jankrp2040dactyl/rules.mk b/keyboards/handwired/jankrp2040dactyl/rules.mk
deleted file mode 100644
index 743228e94b..0000000000
--- a/keyboards/handwired/jankrp2040dactyl/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor \ No newline at end of file
diff --git a/keyboards/handwired/jtallbean/split_65/config.h b/keyboards/handwired/jtallbean/split_65/config.h
deleted file mode 100644
index 2ae835db9d..0000000000
--- a/keyboards/handwired/jtallbean/split_65/config.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-Copyright 2020 jtallbean
-
-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 SPLIT_HAND_PIN D5
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/handwired/jtallbean/split_65/keyboard.json b/keyboards/handwired/jtallbean/split_65/keyboard.json
index c8be82da8d..7ce6d9f095 100644
--- a/keyboards/handwired/jtallbean/split_65/keyboard.json
+++ b/keyboards/handwired/jtallbean/split_65/keyboard.json
@@ -27,8 +27,14 @@
"rows": ["F4", "F1", "F0", "C7", "B6"]
},
"diode_direction": "COL2ROW",
+ "indicators": {
+ "caps_lock": "B0"
+ },
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "D5"
+ },
"soft_serial_pin": "D0",
"matrix_pins": {
"right": {
diff --git a/keyboards/handwired/jtallbean/split_65/split_65.c b/keyboards/handwired/jtallbean/split_65/split_65.c
deleted file mode 100644
index b75b12137f..0000000000
--- a/keyboards/handwired/jtallbean/split_65/split_65.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright 2020 jtallbean
- *
- * 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"
-
-// Optional override functions below.
-// You can leave any or all of these undefined.
-// These are only required if you want to perform custom actions.
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
- // Set our LED pins as output
- gpio_set_pin_output(B0);
- gpio_write_pin_low(B0);
-
- matrix_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
-
- bool res = led_update_user(led_state);
- if(res) {
- // gpio_write_pin sets the pin high for 1 and low for 0.
- gpio_write_pin(B0, led_state.caps_lock);
- }
- return res;
-}
diff --git a/keyboards/handwired/prime_exl_plus/keyboard.json b/keyboards/handwired/prime_exl_plus/keyboard.json
index 43825a0ad8..a234bceb02 100644
--- a/keyboards/handwired/prime_exl_plus/keyboard.json
+++ b/keyboards/handwired/prime_exl_plus/keyboard.json
@@ -8,6 +8,10 @@
"pid": "0x6579",
"device_version": "0.0.1"
},
+ "indicators": {
+ "caps_lock": "B0",
+ "num_lock": "B1"
+ },
"rgblight": {
"led_count": 10,
"animations": {
diff --git a/keyboards/handwired/prime_exl_plus/prime_exl_plus.c b/keyboards/handwired/prime_exl_plus/prime_exl_plus.c
index 1865b6c502..164c954b8b 100644
--- a/keyboards/handwired/prime_exl_plus/prime_exl_plus.c
+++ b/keyboards/handwired/prime_exl_plus/prime_exl_plus.c
@@ -16,32 +16,17 @@
#include "quantum.h"
void matrix_init_kb(void) {
- // set CapsLock LED to output and low
- gpio_set_pin_output(B0);
- gpio_write_pin_low(B0);
- // set NumLock LED to output and low
- gpio_set_pin_output(B1);
- gpio_write_pin_low(B1);
- // set ScrollLock LED to output and low
gpio_set_pin_output(B2);
gpio_write_pin_low(B2);
-}
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(B1, led_state.num_lock);
- gpio_write_pin(B0, led_state.caps_lock);
- //gpio_write_pin(B2, led_state.scroll_lock);
- }
- return res;
+ matrix_init_user();
}
//function for layer indicator LED
layer_state_t layer_state_set_kb(layer_state_t state)
{
if (get_highest_layer(state) == 1) {
- gpio_write_pin_high(B2);
+ gpio_write_pin_high(B2);
} else {
gpio_write_pin_low(B2);
}
diff --git a/keyboards/handwired/retro_refit/keyboard.json b/keyboards/handwired/retro_refit/keyboard.json
index 1e7812d578..7acdb48b44 100644
--- a/keyboards/handwired/retro_refit/keyboard.json
+++ b/keyboards/handwired/retro_refit/keyboard.json
@@ -23,6 +23,12 @@
"resync": true
}
},
+ "indicators": {
+ "caps_lock": "D0",
+ "num_lock": "D1",
+ "scroll_lock": "C6",
+ "on_state": 0
+ },
"matrix_pins": {
"cols": ["B0", "B1", "B2", "B3", "D2", "D3", "C7", "D5"],
"rows": ["D4", "D7", "B4", "B5", "B6", "F7", "F6", "F5", "F4", "F1", "F0"]
diff --git a/keyboards/handwired/retro_refit/retro_refit.c b/keyboards/handwired/retro_refit/retro_refit.c
index b62d94d741..08e8e1d528 100644
--- a/keyboards/handwired/retro_refit/retro_refit.c
+++ b/keyboards/handwired/retro_refit/retro_refit.c
@@ -1,5 +1,4 @@
#include "quantum.h"
-#include "led.h"
void matrix_init_kb(void) {
// put your keyboard start-up code here
@@ -11,14 +10,3 @@ void matrix_init_kb(void) {
matrix_init_user();
};
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(D0, !led_state.caps_lock);
- gpio_write_pin(D1, !led_state.num_lock);
- gpio_write_pin(C6, !led_state.scroll_lock);
-
- }
- return res;
-} \ No newline at end of file
diff --git a/keyboards/handwired/riblee_split/config.h b/keyboards/handwired/riblee_split/config.h
index c3b0720ba5..f0fa2b1f2f 100644
--- a/keyboards/handwired/riblee_split/config.h
+++ b/keyboards/handwired/riblee_split/config.h
@@ -3,9 +3,6 @@
#pragma once
-// If the pin is high, then the controller assumes it is the left hand, and if it’s low, it’s assumed to be the right side.
-#define SPLIT_HAND_PIN C15
-
#define SERIAL_USART_FULL_DUPLEX
#define SERIAL_USART_TX_PIN B6
#define SERIAL_USART_RX_PIN B7
diff --git a/keyboards/handwired/riblee_split/keyboard.json b/keyboards/handwired/riblee_split/keyboard.json
index 49b5ca3a54..f24dbe2ce6 100644
--- a/keyboards/handwired/riblee_split/keyboard.json
+++ b/keyboards/handwired/riblee_split/keyboard.json
@@ -25,6 +25,12 @@
},
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "C15"
+ },
+ "serial": {
+ "driver": "usart"
+ },
"transport": {
"sync_matrix_state": true
}
diff --git a/keyboards/handwired/riblee_split/rules.mk b/keyboards/handwired/riblee_split/rules.mk
deleted file mode 100644
index c6e2988321..0000000000
--- a/keyboards/handwired/riblee_split/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = usart
diff --git a/keyboards/handwired/selene/keyboard.json b/keyboards/handwired/selene/keyboard.json
index 592b51aaf4..34eec11664 100644
--- a/keyboards/handwired/selene/keyboard.json
+++ b/keyboards/handwired/selene/keyboard.json
@@ -8,6 +8,11 @@
"pid": "0x0001",
"device_version": "0.0.1"
},
+ "indicators": {
+ "caps_lock": "A2",
+ "num_lock": "A0",
+ "scroll_lock": "A1"
+ },
"rgblight": {
"led_count": 50
},
diff --git a/keyboards/handwired/selene/selene.c b/keyboards/handwired/selene/selene.c
index b0924c06f4..49df43314b 100644
--- a/keyboards/handwired/selene/selene.c
+++ b/keyboards/handwired/selene/selene.c
@@ -15,24 +15,10 @@
*/
-#include "selene.h"
+#include "quantum.h"
-void matrix_init_kb(void){
- gpio_set_pin_output(NUM_LOCK_PIN);
- gpio_set_pin_output(CAPS_LOCK_PIN);
- gpio_set_pin_output(SCROLL_LOCK_PIN);
-}
-
-void keyboard_post_init_user(void) {
+void keyboard_post_init_kb(void) {
rgblight_setrgb(0xff, 0xff, 0xff);
-}
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(NUM_LOCK_PIN, led_state.num_lock);
- gpio_write_pin(CAPS_LOCK_PIN, led_state.caps_lock);
- gpio_write_pin(SCROLL_LOCK_PIN, led_state.scroll_lock);
- }
- return res;
+ keyboard_post_init_user();
}
diff --git a/keyboards/handwired/selene/selene.h b/keyboards/handwired/selene/selene.h
deleted file mode 100644
index bcd4215e36..0000000000
--- a/keyboards/handwired/selene/selene.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright 2020 Bpendragon
- *
- * 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
-
-#include "quantum.h"
-
-#define NUM_LOCK_PIN A0
-#define CAPS_LOCK_PIN A2
-#define SCROLL_LOCK_PIN A1
diff --git a/keyboards/handwired/sick68/keymaps/via/config.h b/keyboards/handwired/sick68/keymaps/via/config.h
index 4ce1e3e785..bf6fd3ea4f 100644
--- a/keyboards/handwired/sick68/keymaps/via/config.h
+++ b/keyboards/handwired/sick68/keymaps/via/config.h
@@ -15,6 +15,6 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#define ENCODERS_PAD_A { F0 }
-#define ENCODERS_PAD_B { F1 }
+#define ENCODER_A_PINS { F0 }
+#define ENCODER_B_PINS { F1 }
#define ENCODER_RESOLUTION 4
diff --git a/keyboards/handwired/split65/stm32/keyboard.json b/keyboards/handwired/split65/stm32/keyboard.json
index 6763c5eb88..4f2d069aed 100644
--- a/keyboards/handwired/split65/stm32/keyboard.json
+++ b/keyboards/handwired/split65/stm32/keyboard.json
@@ -7,7 +7,10 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "A9"
+ "soft_serial_pin": "A9",
+ "serial": {
+ "driver": "usart"
+ }
},
"development_board": "proton_c",
"features": {
diff --git a/keyboards/handwired/split65/stm32/rules.mk b/keyboards/handwired/split65/stm32/rules.mk
deleted file mode 100644
index c6e2988321..0000000000
--- a/keyboards/handwired/split65/stm32/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = usart
diff --git a/keyboards/handwired/split89/config.h b/keyboards/handwired/split89/config.h
deleted file mode 100644
index e12db37b97..0000000000
--- a/keyboards/handwired/split89/config.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright 2021 jurassic73
-
-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
-
-/* this will be tied to high (VCC with a 2k to 10k resistor) on the left keyboard half and tied to low (GND using a wire jumper only) on the right keyboard half. This allows a user to plug in a USB cable to either side and function correctly with or without a TRS/TRRS cable with a single hex file. */
-#define SPLIT_HAND_PIN D1
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/handwired/split89/keyboard.json b/keyboards/handwired/split89/keyboard.json
index d28953ab5f..029988b0ba 100644
--- a/keyboards/handwired/split89/keyboard.json
+++ b/keyboards/handwired/split89/keyboard.json
@@ -29,6 +29,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "D1"
+ },
"soft_serial_pin": "D0",
"matrix_pins": {
"right": {
diff --git a/keyboards/handwired/splittest/bluepill/config.h b/keyboards/handwired/splittest/bluepill/config.h
index d19bb3dee8..af29e34088 100644
--- a/keyboards/handwired/splittest/bluepill/config.h
+++ b/keyboards/handwired/splittest/bluepill/config.h
@@ -3,8 +3,6 @@
#pragma once
-#define SPLIT_HAND_PIN A7
-
#if !(defined(USE_SDI1_ON_STANDARD_ROLE_PINS) || defined(USE_SDI1_ON_ALTERNATE_ROLE_PINS) || defined(USE_SDI2))
#define USE_SDI1_ON_STANDARD_ROLE_PINS
#endif
diff --git a/keyboards/handwired/splittest/bluepill/keyboard.json b/keyboards/handwired/splittest/bluepill/keyboard.json
index 5c061a7119..42859f5ee8 100644
--- a/keyboards/handwired/splittest/bluepill/keyboard.json
+++ b/keyboards/handwired/splittest/bluepill/keyboard.json
@@ -3,6 +3,11 @@
"cols": ["B1"],
"rows": ["B10"]
},
+ "split": {
+ "handedness": {
+ "pin": "A7"
+ }
+ },
"diode_direction": "COL2ROW",
"development_board": "bluepill",
"features": {
diff --git a/keyboards/handwired/splittest/promicro/config.h b/keyboards/handwired/splittest/promicro/config.h
index 4458ddaffe..2c39af2df7 100644
--- a/keyboards/handwired/splittest/promicro/config.h
+++ b/keyboards/handwired/splittest/promicro/config.h
@@ -16,8 +16,5 @@
#pragma once
-
// use I2C on AVR
#define USE_I2C
-
-#define SPLIT_HAND_PIN F6
diff --git a/keyboards/handwired/splittest/promicro/keyboard.json b/keyboards/handwired/splittest/promicro/keyboard.json
index 2f5929cc00..8aca1c3de7 100644
--- a/keyboards/handwired/splittest/promicro/keyboard.json
+++ b/keyboards/handwired/splittest/promicro/keyboard.json
@@ -5,6 +5,9 @@
},
"diode_direction": "COL2ROW",
"split": {
+ "handedness": {
+ "pin": "F6"
+ },
"soft_serial_pin": "D1"
},
"ws2812": {
diff --git a/keyboards/handwired/splittest/teensy_2/config.h b/keyboards/handwired/splittest/teensy_2/config.h
index 20672a381f..f7033863e0 100644
--- a/keyboards/handwired/splittest/teensy_2/config.h
+++ b/keyboards/handwired/splittest/teensy_2/config.h
@@ -16,11 +16,8 @@
#pragma once
-
// use I2C on AVR
#define USE_I2C
-#define SPLIT_HAND_PIN F0
-
// teensy has vbus detection issues - use usb detection instead
#define SPLIT_USB_DETECT
diff --git a/keyboards/handwired/splittest/teensy_2/keyboard.json b/keyboards/handwired/splittest/teensy_2/keyboard.json
index 68ab3f92c4..c10b20a173 100644
--- a/keyboards/handwired/splittest/teensy_2/keyboard.json
+++ b/keyboards/handwired/splittest/teensy_2/keyboard.json
@@ -5,6 +5,9 @@
},
"diode_direction": "COL2ROW",
"split": {
+ "handedness": {
+ "pin": "F0"
+ },
"soft_serial_pin": "D1"
},
"ws2812": {
diff --git a/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c b/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c
index 786c1b4a73..fa9b6ef0fd 100644
--- a/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c
+++ b/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c
@@ -60,14 +60,14 @@ static const uint8_t delay_sel[] = {MATRIX_IO_DELAY_MULSEL};
extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values
extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values
-static inline void setPinOutput_writeLow(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_low(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_low(pin);
}
}
-static inline void setPinInputHigh_atomic(pin_t pin) {
+static inline void gpio_atomic_set_pin_input_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON { gpio_set_pin_input_high(pin); }
}
@@ -108,13 +108,13 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
#elif defined(DIODE_DIRECTION)
# if (DIODE_DIRECTION == COL2ROW)
-static void select_row(uint8_t row) { setPinOutput_writeLow(row_pins[row]); }
+static void select_row(uint8_t row) { gpio_atomic_set_pin_output_low(row_pins[row]); }
-static void unselect_row(uint8_t row) { setPinInputHigh_atomic(row_pins[row]); }
+static void unselect_row(uint8_t row) { gpio_atomic_set_pin_input_high(row_pins[row]); }
static void unselect_rows(void) {
for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
- setPinInputHigh_atomic(row_pins[x]);
+ gpio_atomic_set_pin_input_high(row_pins[x]);
}
}
@@ -125,7 +125,7 @@ static void init_pins(void) {
# endif
unselect_rows();
for (uint8_t x = 0; x < MATRIX_COLS; x++) {
- setPinInputHigh_atomic(col_pins[x]);
+ gpio_atomic_set_pin_input_high(col_pins[x]);
}
}
@@ -218,20 +218,20 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
# elif (DIODE_DIRECTION == ROW2COL)
-static void select_col(uint8_t col) { setPinOutput_writeLow(col_pins[col]); }
+static void select_col(uint8_t col) { gpio_atomic_set_pin_output_low(col_pins[col]); }
-static void unselect_col(uint8_t col) { setPinInputHigh_atomic(col_pins[col]); }
+static void unselect_col(uint8_t col) { gpio_atomic_set_pin_input_high(col_pins[col]); }
static void unselect_cols(void) {
for (uint8_t x = 0; x < MATRIX_COLS; x++) {
- setPinInputHigh_atomic(col_pins[x]);
+ gpio_atomic_set_pin_input_high(col_pins[x]);
}
}
static void init_pins(void) {
unselect_cols();
for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
- setPinInputHigh_atomic(row_pins[x]);
+ gpio_atomic_set_pin_input_high(row_pins[x]);
}
}
diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/config.h b/keyboards/handwired/tractyl_manuform/4x6_right/config.h
index 9d283866b4..ba187a8376 100644
--- a/keyboards/handwired/tractyl_manuform/4x6_right/config.h
+++ b/keyboards/handwired/tractyl_manuform/4x6_right/config.h
@@ -19,7 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
#define SPLIT_TRANSPORT_MIRROR
-#define SPLIT_HAND_PIN A6
// #define DEBUG_LED_PIN D6
diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/keyboard.json b/keyboards/handwired/tractyl_manuform/4x6_right/keyboard.json
index 825c59ac72..e5730a4586 100644
--- a/keyboards/handwired/tractyl_manuform/4x6_right/keyboard.json
+++ b/keyboards/handwired/tractyl_manuform/4x6_right/keyboard.json
@@ -19,6 +19,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "A6"
+ },
"soft_serial_pin": "D3",
"bootmagic": {
"matrix": [4, 5]
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f303/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/f303/config.h
index a2818e7176..b10fe7de74 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/f303/config.h
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/f303/config.h
@@ -19,7 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
// #define USB_VBUS_PIN B10
-#define SPLIT_HAND_PIN C14 // high = left, low = right
// WS2812 RGB LED strip input and number of LEDs
#define WS2812_PWM_DRIVER PWMD3 // default: PWMD2
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f303/keyboard.json b/keyboards/handwired/tractyl_manuform/5x6_right/f303/keyboard.json
index 499390c610..a9070f2cc7 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/f303/keyboard.json
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/f303/keyboard.json
@@ -15,6 +15,14 @@
"audio": {
"driver": "dac_additive"
},
+ "split": {
+ "handedness": {
+ "pin": "C14"
+ },
+ "serial": {
+ "driver": "usart"
+ }
+ },
"ws2812": {
"pin": "A6",
"driver": "pwm"
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f303/rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/f303/rules.mk
deleted file mode 100644
index 22915ec000..0000000000
--- a/keyboards/handwired/tractyl_manuform/5x6_right/f303/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-# KEYBOARD_SHARED_EP = yes
-
-SERIAL_DRIVER = usart
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h
index 87f830e175..64169da7e5 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h
@@ -19,7 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
// #define USB_VBUS_PIN B10 // doesn't seem to work for me on one of my controllers... */
-#define SPLIT_HAND_PIN C14 // high = left, low = right
// WS2812 RGB LED strip input and number of LEDs
#define WS2812_PWM_DRIVER PWMD2 // default: PWMD2
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/keyboard.json b/keyboards/handwired/tractyl_manuform/5x6_right/f411/keyboard.json
index 7182ee1701..c7d38c0daf 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/keyboard.json
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/keyboard.json
@@ -18,6 +18,14 @@
"audio": {
"driver": "pwm_hardware"
},
+ "split": {
+ "handedness": {
+ "pin": "C14"
+ },
+ "serial": {
+ "driver": "usart"
+ },
+ },
"ws2812": {
"pin": "A1",
"driver": "pwm"
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk
index f26cbbced1..4aa582e7a2 100644
--- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk
@@ -1,4 +1,2 @@
KEYBOARD_SHARED_EP = yes
MOUSE_SHARED_EP = yes
-
-SERIAL_DRIVER = usart
diff --git a/keyboards/handwired/z150/config.h b/keyboards/handwired/z150/config.h
deleted file mode 100644
index 7a054266ea..0000000000
--- a/keyboards/handwired/z150/config.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
-Copyright 2020 DmNosachev
-
-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 NUM_LOCK_LED_PIN B5
-#define SCROLL_LOCK_LED_PIN B4
-#define CAPS_LOCK_LED_PIN B3
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/handwired/z150/keyboard.json b/keyboards/handwired/z150/keyboard.json
index 0658bb5233..38c92a6537 100644
--- a/keyboards/handwired/z150/keyboard.json
+++ b/keyboards/handwired/z150/keyboard.json
@@ -16,6 +16,12 @@
"mousekey": true,
"nkro": false
},
+ "indicators": {
+ "caps_lock": "B3",
+ "num_lock": "B5",
+ "scroll_lock": "B4",
+ "on_state": 0
+ },
"matrix_pins": {
"cols": ["B11", "B10", "B1", "B0", "A7", "A6", "A5", "A4"],
"rows": ["B13", "B14", "B15", "A8", "A9", "A3", "A10", "A1", "A2", "A15", "A0"]
diff --git a/keyboards/handwired/z150/z150.c b/keyboards/handwired/z150/z150.c
deleted file mode 100644
index ab6709eed7..0000000000
--- a/keyboards/handwired/z150/z150.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright 2020 DmNosachev
- *
- * 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"
-
-void matrix_init_kb(void) {
- gpio_set_pin_output(NUM_LOCK_LED_PIN);
- gpio_set_pin_output(CAPS_LOCK_LED_PIN);
- gpio_set_pin_output(SCROLL_LOCK_LED_PIN);
-
- gpio_write_pin_low(NUM_LOCK_LED_PIN);
- gpio_write_pin_low(CAPS_LOCK_LED_PIN);
- gpio_write_pin_low(SCROLL_LOCK_LED_PIN);
-
- matrix_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(NUM_LOCK_LED_PIN, !led_state.num_lock);
- gpio_write_pin(CAPS_LOCK_LED_PIN, !led_state.caps_lock);
- gpio_write_pin(SCROLL_LOCK_LED_PIN, !led_state.scroll_lock);
- }
- return res;
-}
diff --git a/keyboards/heliar/wm1_hotswap/keyboard.json b/keyboards/heliar/wm1_hotswap/keyboard.json
index 3fa1a8e6cb..789a3c7d2b 100644
--- a/keyboards/heliar/wm1_hotswap/keyboard.json
+++ b/keyboards/heliar/wm1_hotswap/keyboard.json
@@ -25,6 +25,12 @@
"backlight": {
"pin": "B7"
},
+ "indicators": {
+ "caps_lock": "D6",
+ "num_lock": "D7",
+ "scroll_lock": "D4",
+ "on_state": 0
+ },
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"layouts": {
diff --git a/keyboards/heliar/wm1_hotswap/wm1_hotswap.c b/keyboards/heliar/wm1_hotswap/wm1_hotswap.c
deleted file mode 100644
index d2d10b0b1f..0000000000
--- a/keyboards/heliar/wm1_hotswap/wm1_hotswap.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright 2019 HELIAR MK
- *
- * 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"
-
-
-void keyboard_pre_init_kb(void)
-{
- gpio_set_pin_output(D7);
- gpio_write_pin_high(D7);
- gpio_set_pin_output(D6);
- gpio_write_pin_high(D6);
- gpio_set_pin_output(D4);
- gpio_write_pin_high(D4);
-}
-
-bool led_update_kb(led_t led_state) {
-
- if (led_update_user(led_state)){
- gpio_write_pin(D7, !led_state.num_lock);
- gpio_write_pin(D6, !led_state.caps_lock);
- gpio_write_pin(D4, !led_state.scroll_lock);
- }
-
- return true;
-}
diff --git a/keyboards/hineybush/h10/h10.c b/keyboards/hineybush/h10/h10.c
deleted file mode 100644
index 2170a8b2d7..0000000000
--- a/keyboards/hineybush/h10/h10.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright 2020 hineybush
- *
- * 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"
-
-// Optional override functions below.
-// You can leave any or all of these undefined.
-// These are only required if you want to perform custom actions.
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
- gpio_set_pin_output(F7);
-}
-
-bool led_update_kb(led_t led_state) {
- if(led_update_user(led_state)) {
- gpio_write_pin(F7, !led_state.num_lock);
- }
- return true;
-}
diff --git a/keyboards/hineybush/h10/keyboard.json b/keyboards/hineybush/h10/keyboard.json
index 73205f85ff..63a109f484 100644
--- a/keyboards/hineybush/h10/keyboard.json
+++ b/keyboards/hineybush/h10/keyboard.json
@@ -32,6 +32,10 @@
"pin": "B7",
"breathing": true
},
+ "indicators": {
+ "caps_lock": "F7",
+ "on_state": 0
+ },
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"community_layouts": ["ortho_6x4", "numpad_6x4"],
diff --git a/keyboards/hineybush/h60/h60.c b/keyboards/hineybush/h60/h60.c
deleted file mode 100644
index 472b99d8ba..0000000000
--- a/keyboards/hineybush/h60/h60.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright 2020 hineybush
- *
- * 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"
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
- gpio_set_pin_output(C6);
-}
-
-bool led_update_kb(led_t led_state) {
- if(led_update_user(led_state)) {
- gpio_write_pin(C6, !led_state.caps_lock);
- }
- return true;
-}
-
diff --git a/keyboards/hineybush/h60/keyboard.json b/keyboards/hineybush/h60/keyboard.json
index 8a019d42da..ea058b6d64 100644
--- a/keyboards/hineybush/h60/keyboard.json
+++ b/keyboards/hineybush/h60/keyboard.json
@@ -34,6 +34,10 @@
"pin": "B7",
"levels": 12
},
+ "indicators": {
+ "caps_lock": "C6",
+ "on_state": 0
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/afternoonlabs/breeze/rev0/config.h b/keyboards/hineybush/h660s/config.h
index 3500564544..2ac1c1bae5 100644
--- a/keyboards/afternoonlabs/breeze/rev0/config.h
+++ b/keyboards/hineybush/h660s/config.h
@@ -1,4 +1,4 @@
-/* Copyright 2021 eithanshavit
+/* Copyright 2018 Josh Hinnebusch
*
* 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,6 @@
* 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 SPLIT_HAND_PIN B3
+#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
diff --git a/keyboards/hineybush/h660s/h660s.c b/keyboards/hineybush/h660s/h660s.c
deleted file mode 100644
index 0e774b9c57..0000000000
--- a/keyboards/hineybush/h660s/h660s.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright 2020 Josh Hinnebusch
- *
- * 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"
-
-void eeconfig_init_kb(void) { // EEPROM is getting reset!
- rgblight_enable(); // Enable RGB by default
- rgblight_sethsv(0, 255, 128); // Set default HSV - red hue, full saturation, medium brightness
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default
-
- eeconfig_update_kb(0);
- eeconfig_init_user();
-}
-
diff --git a/keyboards/hineybush/h660s/keyboard.json b/keyboards/hineybush/h660s/keyboard.json
index d76664080e..44e8c8c21a 100644
--- a/keyboards/hineybush/h660s/keyboard.json
+++ b/keyboards/hineybush/h660s/keyboard.json
@@ -35,6 +35,9 @@
"breathing": true
},
"rgblight": {
+ "default": {
+ "val": 128
+ },
"saturation_steps": 8,
"brightness_steps": 8,
"led_count": 16,
diff --git a/keyboards/afternoonlabs/oceanbreeze/rev1/config.h b/keyboards/hineybush/h75_singa/config.h
index d6bb6df14c..6be72d4d9f 100644
--- a/keyboards/afternoonlabs/oceanbreeze/rev1/config.h
+++ b/keyboards/hineybush/h75_singa/config.h
@@ -1,4 +1,4 @@
-/* Copyright 2021 Afternoon Labs
+/* Copyright 2019 hineybush
*
* 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,6 @@
* 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 SPLIT_HAND_PIN B3
+#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
diff --git a/keyboards/hineybush/h75_singa/h75_singa.c b/keyboards/hineybush/h75_singa/h75_singa.c
deleted file mode 100644
index badd12849d..0000000000
--- a/keyboards/hineybush/h75_singa/h75_singa.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright 2019 hineybush
- *
- * 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"
-
-void eeconfig_init_kb(void) { // EEPROM is getting reset!
- rgblight_enable(); // Enable RGB by default
- rgblight_sethsv(0, 255, 128); // Set default HSV - red hue, full saturation, medium brightness
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default
-
- eeconfig_update_kb(0);
- eeconfig_init_user();
-}
diff --git a/keyboards/hineybush/h75_singa/keyboard.json b/keyboards/hineybush/h75_singa/keyboard.json
index 30dbd8d6a1..0c3ca31e28 100644
--- a/keyboards/hineybush/h75_singa/keyboard.json
+++ b/keyboards/hineybush/h75_singa/keyboard.json
@@ -34,6 +34,9 @@
"breathing": true
},
"rgblight": {
+ "default": {
+ "val": 128
+ },
"saturation_steps": 8,
"brightness_steps": 8,
"led_count": 22,
diff --git a/keyboards/afternoonlabs/breeze/rev1/config.h b/keyboards/hineybush/h87a/config.h
index d6bb6df14c..9ff1e426bd 100644
--- a/keyboards/afternoonlabs/breeze/rev1/config.h
+++ b/keyboards/hineybush/h87a/config.h
@@ -1,4 +1,4 @@
-/* Copyright 2021 Afternoon Labs
+/* Copyright 2020 Josh Hinnebusch
*
* 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,6 @@
* 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 SPLIT_HAND_PIN B3
+#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
diff --git a/keyboards/hineybush/h87a/h87a.c b/keyboards/hineybush/h87a/h87a.c
deleted file mode 100644
index f2d0c62813..0000000000
--- a/keyboards/hineybush/h87a/h87a.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Copyright 2018 Josh Hinnebusch
- *
- * 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"
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
- gpio_set_pin_output(D5);
- gpio_set_pin_output(E6);
- matrix_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- if(led_update_user(led_state)) {
- gpio_write_pin(D5, !led_state.caps_lock);
- gpio_write_pin(E6, !led_state.scroll_lock);
- }
- return true;
-}
-
-void eeconfig_init_kb(void) { // EEPROM is getting reset!
- rgblight_enable(); // Enable RGB by default
- rgblight_sethsv(0, 255, 128); // Set default HSV - red hue, full saturation, medium brightness
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default
-
- eeconfig_update_kb(0);
- eeconfig_init_user();
-}
diff --git a/keyboards/hineybush/h87a/keyboard.json b/keyboards/hineybush/h87a/keyboard.json
index e9096201d9..42a50bf001 100644
--- a/keyboards/hineybush/h87a/keyboard.json
+++ b/keyboards/hineybush/h87a/keyboard.json
@@ -35,10 +35,18 @@
"backlight": {
"pin": "B7"
},
+ "indicators": {
+ "caps_lock": "D5",
+ "scroll_lock": "E6",
+ "on_state": 0
+ },
"ws2812": {
"pin": "D3"
},
"rgblight": {
+ "default": {
+ "val": 128
+ },
"saturation_steps": 8,
"brightness_steps": 8,
"led_count": 24,
diff --git a/keyboards/hineybush/h88/config.h b/keyboards/hineybush/h88/config.h
new file mode 100644
index 0000000000..2537b3f36c
--- /dev/null
+++ b/keyboards/hineybush/h88/config.h
@@ -0,0 +1,18 @@
+/* Copyright 2019 Josh Hinnebusch
+ *
+ * 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 RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
diff --git a/keyboards/hineybush/h88/h88.c b/keyboards/hineybush/h88/h88.c
deleted file mode 100644
index a916609d75..0000000000
--- a/keyboards/hineybush/h88/h88.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Copyright 2019 Josh Hinnebusch
- *
- * 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"
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
- gpio_set_pin_output(D5);
- gpio_set_pin_output(E6);
- matrix_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- if(led_update_user(led_state)) {
- gpio_write_pin(D5, !led_state.caps_lock);
- gpio_write_pin(E6, !led_state.scroll_lock);
- }
- return true;
-}
-
-void eeconfig_init_kb(void) { // EEPROM is getting reset!
- rgblight_enable(); // Enable RGB by default
- rgblight_sethsv(0, 255, 128); // Set default HSV - red hue, full saturation, medium brightness
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default
-
- eeconfig_update_kb(0);
- eeconfig_init_user();
-}
diff --git a/keyboards/hineybush/h88/keyboard.json b/keyboards/hineybush/h88/keyboard.json
index e74a3f3623..6a9b3142e3 100644
--- a/keyboards/hineybush/h88/keyboard.json
+++ b/keyboards/hineybush/h88/keyboard.json
@@ -35,7 +35,15 @@
"backlight": {
"pin": "B7"
},
+ "indicators": {
+ "caps_lock": "D5",
+ "scroll_lock": "E6",
+ "on_state": 0
+ },
"rgblight": {
+ "default": {
+ "val": 128
+ },
"saturation_steps": 8,
"brightness_steps": 8,
"led_count": 24,
diff --git a/keyboards/hineybush/hbcp/config.h b/keyboards/hineybush/hbcp/config.h
index bde356232d..d3274f8c5a 100644
--- a/keyboards/hineybush/hbcp/config.h
+++ b/keyboards/hineybush/hbcp/config.h
@@ -34,3 +34,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { B1, B6, D0, C7, C6, C5 }
#define MATRIX_COL_PINS { F0, F1, F2, F3, F4, F5, F6, F7, A0, A1, A2, A3, A4, A5, B5, B4, B3, B2 }
+
+#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
diff --git a/keyboards/hineybush/hbcp/hbcp.c b/keyboards/hineybush/hbcp/hbcp.c
index e422b46fdc..a9eff65030 100644
--- a/keyboards/hineybush/hbcp/hbcp.c
+++ b/keyboards/hineybush/hbcp/hbcp.c
@@ -34,15 +34,6 @@
// #define HSV_custom_color H, S, V
-void eeconfig_init_kb(void) { // EEPROM is getting reset!
- rgblight_enable(); // Enable RGB by default
- rgblight_sethsv(0, 255, 128); // Set default HSV - red hue, full saturation, medium brightness
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default
-
- eeconfig_update_kb(0);
- eeconfig_init_user();
-}
-
#ifdef RGBLIGHT_ENABLE
bool led_update_kb(led_t led_state) {
diff --git a/keyboards/hineybush/hbcp/keyboard.json b/keyboards/hineybush/hbcp/keyboard.json
index f03c4d5754..e8771ea9a7 100644
--- a/keyboards/hineybush/hbcp/keyboard.json
+++ b/keyboards/hineybush/hbcp/keyboard.json
@@ -16,6 +16,9 @@
"pin": "B0"
},
"rgblight": {
+ "default": {
+ "val": 128
+ },
"saturation_steps": 8,
"brightness_steps": 8,
"led_count": 27,
diff --git a/keyboards/hineybush/physix/keyboard.json b/keyboards/hineybush/physix/keyboard.json
index b7b1c05393..79a0bea7ab 100644
--- a/keyboards/hineybush/physix/keyboard.json
+++ b/keyboards/hineybush/physix/keyboard.json
@@ -33,6 +33,10 @@
"pin": "B7",
"breathing": true
},
+ "indicators": {
+ "caps_lock": "D3",
+ "scroll_lock": "D5"
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/hineybush/physix/physix.c b/keyboards/hineybush/physix/physix.c
deleted file mode 100644
index cd920a72b3..0000000000
--- a/keyboards/hineybush/physix/physix.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright 2019 hineybush
- *
- * 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"
-
-// Optional override functions below.
-// You can leave any or all of these undefined.
-// These are only required if you want to perform custom actions.
-
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
- gpio_set_pin_output(D3);
- gpio_set_pin_output(D5);
- matrix_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
- bool res = led_update_user(led_state);
- if(res) {
- // gpio_write_pin sets the pin high for 1 and low for 0.
- // In this example the pins are inverted, setting
- // it low/0 turns it on, and high/1 turns the LED off.
- // This behavior depends on whether the LED is between the pin
- // and VCC or the pin and GND.
- gpio_write_pin(D3, led_state.caps_lock);
- gpio_write_pin(D5, led_state.scroll_lock);
- }
- return res;
- return led_update_user(led_state);
-}
-
-
-
diff --git a/keyboards/horrortroll/handwired_k552/config.h b/keyboards/horrortroll/handwired_k552/config.h
index bc7924165d..44233133cb 100644
--- a/keyboards/horrortroll/handwired_k552/config.h
+++ b/keyboards/horrortroll/handwired_k552/config.h
@@ -39,5 +39,3 @@
/* Use the custom font */
#define OLED_FONT_H "lib/glcdfont.c"
#endif
-
-#define RGB_MATRIX_LED_COUNT 24
diff --git a/keyboards/ibm/model_m/ashpil_usbc/ashpil_usbc.c b/keyboards/ibm/model_m/ashpil_usbc/ashpil_usbc.c
deleted file mode 100644
index 8bdcfe070a..0000000000
--- a/keyboards/ibm/model_m/ashpil_usbc/ashpil_usbc.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright 2019 ashpil
- *
- * 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"
-
-void keyboard_pre_init_kb(void) {
- /* Setting status LEDs pins to output and +5V (off) */
- gpio_set_pin_output(D5);
- gpio_set_pin_output(D6);
- gpio_set_pin_output(D7);
- gpio_write_pin_high(D5);
- gpio_write_pin_high(D6);
- gpio_write_pin_high(D7);
-}
-
-bool led_update_kb(led_t led_state) {
- if(led_update_user(led_state)) {
- gpio_write_pin(D5, !led_state.num_lock);
- gpio_write_pin(D6, !led_state.caps_lock);
- gpio_write_pin(D7, !led_state.scroll_lock);
- }
- return true;
-}
diff --git a/keyboards/ibm/model_m/ashpil_usbc/keyboard.json b/keyboards/ibm/model_m/ashpil_usbc/keyboard.json
index 451589017e..a43e16a04c 100644
--- a/keyboards/ibm/model_m/ashpil_usbc/keyboard.json
+++ b/keyboards/ibm/model_m/ashpil_usbc/keyboard.json
@@ -16,6 +16,12 @@
"mousekey": false,
"nkro": false
},
+ "indicators": {
+ "caps_lock": "D6",
+ "num_lock": "D5",
+ "scroll_lock": "D7",
+ "on_state": 0
+ },
"matrix_pins": {
"cols": ["E6", "E7", "F0", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "A0", "A1", "A2", "A3", "A4", "A5"],
"rows": ["C7", "C6", "C5", "C4", "C3", "C2", "C1", "C0"]
diff --git a/keyboards/ibm/model_m/mschwingen/mschwingen.c b/keyboards/ibm/model_m/mschwingen/mschwingen.c
index 7112ab63a5..11407d1206 100644
--- a/keyboards/ibm/model_m/mschwingen/mschwingen.c
+++ b/keyboards/ibm/model_m/mschwingen/mschwingen.c
@@ -114,6 +114,8 @@ void keyboard_pre_init_kb(void) {
gpio_set_pin_output(SR_CLK_PIN);
gpio_set_pin_output(SR_DOUT_PIN); // MOSI - unused
gpio_write_pin_low(SR_CLK_PIN);
+
+ keyboard_pre_init_user();
}
#ifdef KEYBOARD_ibm_model_m_mschwingen_led_ws2812
diff --git a/keyboards/ibm/model_m/teensypp/keyboard.json b/keyboards/ibm/model_m/teensypp/keyboard.json
index 4464a299f6..e77c43483b 100644
--- a/keyboards/ibm/model_m/teensypp/keyboard.json
+++ b/keyboards/ibm/model_m/teensypp/keyboard.json
@@ -8,6 +8,12 @@
"pid": "0x0000",
"device_version": "0.0.1"
},
+ "indicators": {
+ "caps_lock": "B6",
+ "num_lock": "B4",
+ "scroll_lock": "B5",
+ "on_state": 0
+ },
"matrix_pins": {
"cols": ["C7", "C6", "C5", "C4", "C3", "C2", "C1", "C0", "E1", "E0", "D7", "D6", "D5", "D4", "D3", "D2"],
"rows": ["F7", "F6", "F5", "F4", "F3", "F2", "F1", "F0"]
diff --git a/keyboards/ibm/model_m/teensypp/teensypp.c b/keyboards/ibm/model_m/teensypp/teensypp.c
deleted file mode 100644
index aac85424bf..0000000000
--- a/keyboards/ibm/model_m/teensypp/teensypp.c
+++ /dev/null
@@ -1,36 +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/>.
- */
-#include "quantum.h"
-
-void led_init_ports(void) {
- /* Setting status LEDs pins to output and +5V (off) */
- gpio_set_pin_output(B4);
- gpio_set_pin_output(B5);
- gpio_set_pin_output(B6);
- gpio_write_pin_high(B4);
- gpio_write_pin_high(B5);
- gpio_write_pin_high(B6);
-}
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(B4, !led_state.num_lock);
- gpio_write_pin(B6, !led_state.caps_lock);
- gpio_write_pin(B5, !led_state.scroll_lock);
- }
- return res;
-}
diff --git a/keyboards/ibm/model_m/yugo_m/keyboard.json b/keyboards/ibm/model_m/yugo_m/keyboard.json
index 968c637b78..10fe637f03 100644
--- a/keyboards/ibm/model_m/yugo_m/keyboard.json
+++ b/keyboards/ibm/model_m/yugo_m/keyboard.json
@@ -16,6 +16,12 @@
"mousekey": true,
"nkro": false
},
+ "indicators": {
+ "caps_lock": "A1",
+ "num_lock": "A2",
+ "scroll_lock": "A0",
+ "on_state": 0
+ },
"matrix_pins": {
"cols": ["A9", "A8", "B15", "B14", "B13", "B12", "B11", "B10", "B2", "B1", "B0", "A7", "A6", "A5", "A4", "A3"],
"rows": ["B8", "B7", "B6", "B5", "B4", "B3", "A15", "A14"]
diff --git a/keyboards/ibm/model_m/yugo_m/yugo_m.c b/keyboards/ibm/model_m/yugo_m/yugo_m.c
deleted file mode 100644
index a725a3657b..0000000000
--- a/keyboards/ibm/model_m/yugo_m/yugo_m.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright 2020 Nidzo Tomic <[email protected]>
- *
- * 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"
-
-void keyboard_pre_init_kb(void) {
- // Set our LED pins as output
- gpio_set_pin_output(A2);
- gpio_set_pin_output(A1);
- gpio_set_pin_output(A0);
-
- keyboard_pre_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(A2, !led_state.num_lock);
- gpio_write_pin(A1, !led_state.caps_lock);
- gpio_write_pin(A0, !led_state.scroll_lock);
- }
- return res;
-}
diff --git a/keyboards/idb/idb_60/idb_60.c b/keyboards/idb/idb_60/idb_60.c
index 77485a4273..183892f363 100644
--- a/keyboards/idb/idb_60/idb_60.c
+++ b/keyboards/idb/idb_60/idb_60.c
@@ -3,6 +3,8 @@
void keyboard_pre_init_kb(void) {
gpio_set_pin_output(C4);
gpio_set_pin_output(C5);
+
+ keyboard_pre_init_user();
}
inline void _idb_60_caps_led_on(void) {
diff --git a/keyboards/ilumkb/volcano660/keyboard.json b/keyboards/ilumkb/volcano660/keyboard.json
index 297b28a5f9..fa74e46fed 100644
--- a/keyboards/ilumkb/volcano660/keyboard.json
+++ b/keyboards/ilumkb/volcano660/keyboard.json
@@ -32,6 +32,12 @@
"pin": "B7",
"levels": 5
},
+ "indicators": {
+ "caps_lock": "D2",
+ "num_lock": "D0",
+ "scroll_lock": "D1",
+ "on_state": 0
+ },
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"community_layouts": [
diff --git a/keyboards/ilumkb/volcano660/volcano660.c b/keyboards/ilumkb/volcano660/volcano660.c
deleted file mode 100644
index 5e6d67c9ba..0000000000
--- a/keyboards/ilumkb/volcano660/volcano660.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright 2020 dztech
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include "quantum.h"
-
-void matrix_init_kb(void) {
- gpio_set_pin_output(D0);
- gpio_set_pin_output(D1);
- gpio_set_pin_output(D2);
- matrix_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(D0, !led_state.num_lock);
- gpio_write_pin(D2, !led_state.caps_lock);
- gpio_write_pin(D1, !led_state.scroll_lock);
-
- }
- return res;
-}
diff --git a/keyboards/inett_studio/sqx/hotswap/hotswap.c b/keyboards/inett_studio/sqx/hotswap/hotswap.c
index 079889e727..c04d7ef02c 100644
--- a/keyboards/inett_studio/sqx/hotswap/hotswap.c
+++ b/keyboards/inett_studio/sqx/hotswap/hotswap.c
@@ -165,6 +165,10 @@ bool rgb_matrix_indicators_kb(void) {
#endif //RGB_MATRIX_ENABLE
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+ if (!process_record_user(keycode, record)) {
+ return false;
+ }
+
if (record->event.pressed) {
switch(keycode) {
#if defined(RGB_MATRIX_DISABLE_KEYCODES)
diff --git a/keyboards/inett_studio/sqx/universal/universal.c b/keyboards/inett_studio/sqx/universal/universal.c
index 519df57505..6c2af3a3b9 100644
--- a/keyboards/inett_studio/sqx/universal/universal.c
+++ b/keyboards/inett_studio/sqx/universal/universal.c
@@ -169,6 +169,10 @@ bool rgb_matrix_indicators_kb(void) {
#endif //RGB_MATRIX_ENABLE
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+ if (!process_record_user(keycode, record)) {
+ return false;
+ }
+
if (record->event.pressed) {
switch(keycode) {
#if defined(RGB_MATRIX_DISABLE_KEYCODES)
diff --git a/keyboards/input_club/ergodox_infinity/ergodox_infinity.c b/keyboards/input_club/ergodox_infinity/ergodox_infinity.c
index 7660a41f56..2e8d0b9763 100644
--- a/keyboards/input_club/ergodox_infinity/ergodox_infinity.c
+++ b/keyboards/input_club/ergodox_infinity/ergodox_infinity.c
@@ -209,72 +209,6 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
// 71 70 69
{ 0, C3_7 }, { 0, C2_7 }, { 0, C1_7 },
};
-
-led_config_t g_led_config = {
- {
- // Key Matrix to LED Index
- // Left half
- { NO_LED, NO_LED, NO_LED, 33, 34 },
- { NO_LED, NO_LED, NO_LED, 32, 37 },
- { 6, 13, NO_LED, 26, 36 },
- { 5, 12, 19, 25, 35 },
- { 4, 11, 18, 24, 31 },
- { 3, 10, 17, 23, 30 },
- { 2, 9, 16, 22, 29 },
- { 1, 8, 15, 21, 28 },
- { 0, 7, 14, 20, 27 },
- // Right half
- { NO_LED, NO_LED, NO_LED, 71, 72 },
- { NO_LED, NO_LED, NO_LED, 70, 75 },
- { 44, 51, NO_LED, 64, 74 },
- { 43, 50, 57, 63, 73 },
- { 42, 49, 56, 62, 69 },
- { 41, 48, 55, 61, 68 },
- { 40, 47, 54, 60, 67 },
- { 39, 46, 53, 59, 66 },
- { 38, 45, 52, 58, 65 },
- }, {
- // LED Index to Physical Position (assumes a reasonable gap between halves)
- // Left half
- { 0, 3 }, { 15, 3 }, { 27, 1 }, { 39, 0 }, { 51, 1 }, { 63, 2 }, { 75, 2 },
- { 0, 13 }, { 15, 13 }, { 27, 11 }, { 39, 10 }, { 51, 11 }, { 63, 12 }, { 78, 17 },
- { 0, 23 }, { 15, 23 }, { 27, 21 }, { 39, 20 }, { 51, 21 }, { 63, 22 },
- { 0, 33 }, { 15, 33 }, { 27, 31 }, { 39, 30 }, { 51, 31 }, { 63, 32 }, { 78, 32 },
- { 4, 43 }, { 15, 43 }, { 27, 41 }, { 39, 40 }, { 51, 41 },
- { 89, 41 }, { 100, 46 },
- { 95, 55 },
- { 72, 54 }, { 83, 59 }, { 90, 64 },
- // Right half (mirrored)
- { 224, 3 }, { 209, 3 }, { 197, 1 }, { 185, 0 }, { 173, 1 }, { 161, 2 }, { 149, 2 },
- { 224, 13 }, { 209, 13 }, { 197, 11 }, { 185, 10 }, { 173, 11 }, { 161, 12 }, { 146, 17 },
- { 224, 23 }, { 209, 23 }, { 197, 21 }, { 185, 20 }, { 173, 21 }, { 161, 22 },
- { 224, 33 }, { 209, 33 }, { 197, 31 }, { 185, 30 }, { 173, 31 }, { 161, 32 }, { 146, 32 },
- { 220, 43 }, { 209, 43 }, { 197, 41 }, { 185, 40 }, { 173, 41 },
- { 135, 41 }, { 124, 46 },
- { 129, 55 },
- { 152, 54 }, { 141, 59 }, { 134, 64 },
- }, {
- // LED Index to Flag
- // Left half
- 1, 4, 4, 4, 4, 4, 1,
- 1, 4, 4, 4, 4, 4, 1,
- 1, 4, 4, 4, 4, 4,
- 1, 4, 4, 4, 4, 4, 1,
- 1, 1, 1, 1, 1,
- 1, 1,
- 1,
- 1, 1, 1,
- // Right half (mirrored)
- 1, 4, 4, 4, 4, 4, 1,
- 1, 4, 4, 4, 4, 4, 1,
- 1, 4, 4, 4, 4, 4,
- 1, 4, 4, 4, 4, 4, 1,
- 1, 1, 1, 1, 1,
- 1, 1,
- 1,
- 1, 1, 1,
- }
-};
#endif
#ifdef ST7565_ENABLE
diff --git a/keyboards/input_club/ergodox_infinity/keyboard.json b/keyboards/input_club/ergodox_infinity/keyboard.json
index fd89806b00..b7667d192c 100644
--- a/keyboards/input_club/ergodox_infinity/keyboard.json
+++ b/keyboards/input_club/ergodox_infinity/keyboard.json
@@ -29,6 +29,84 @@
"wave_left_right": true,
"wave_up_down": true
},
+ "layout": [
+ {"matrix": [8, 0], "x": 0, "y": 3, "flags": 1},
+ {"matrix": [7, 0], "x": 15, "y": 3, "flags": 4},
+ {"matrix": [6, 0], "x": 27, "y": 1, "flags": 4},
+ {"matrix": [5, 0], "x": 39, "y": 0, "flags": 4},
+ {"matrix": [4, 0], "x": 51, "y": 1, "flags": 4},
+ {"matrix": [3, 0], "x": 63, "y": 2, "flags": 4},
+ {"matrix": [2, 0], "x": 75, "y": 2, "flags": 1},
+ {"matrix": [8, 1], "x": 0, "y": 13, "flags": 1},
+ {"matrix": [7, 1], "x": 15, "y": 13, "flags": 4},
+ {"matrix": [6, 1], "x": 27, "y": 11, "flags": 4},
+ {"matrix": [5, 1], "x": 39, "y": 10, "flags": 4},
+ {"matrix": [4, 1], "x": 51, "y": 11, "flags": 4},
+ {"matrix": [3, 1], "x": 63, "y": 12, "flags": 4},
+ {"matrix": [2, 1], "x": 78, "y": 17, "flags": 1},
+ {"matrix": [8, 2], "x": 0, "y": 23, "flags": 1},
+ {"matrix": [7, 2], "x": 15, "y": 23, "flags": 4},
+ {"matrix": [6, 2], "x": 27, "y": 21, "flags": 4},
+ {"matrix": [5, 2], "x": 39, "y": 20, "flags": 4},
+ {"matrix": [4, 2], "x": 51, "y": 21, "flags": 4},
+ {"matrix": [3, 2], "x": 63, "y": 22, "flags": 4},
+ {"matrix": [8, 3], "x": 0, "y": 33, "flags": 1},
+ {"matrix": [7, 3], "x": 15, "y": 33, "flags": 4},
+ {"matrix": [6, 3], "x": 27, "y": 31, "flags": 4},
+ {"matrix": [5, 3], "x": 39, "y": 30, "flags": 4},
+ {"matrix": [4, 3], "x": 51, "y": 31, "flags": 4},
+ {"matrix": [3, 3], "x": 63, "y": 32, "flags": 4},
+ {"matrix": [2, 3], "x": 78, "y": 32, "flags": 1},
+ {"matrix": [8, 4], "x": 4, "y": 43, "flags": 1},
+ {"matrix": [7, 4], "x": 15, "y": 43, "flags": 1},
+ {"matrix": [6, 4], "x": 27, "y": 41, "flags": 1},
+ {"matrix": [5, 4], "x": 39, "y": 40, "flags": 1},
+ {"matrix": [4, 4], "x": 51, "y": 41, "flags": 1},
+ {"matrix": [1, 3], "x": 89, "y": 41, "flags": 1},
+ {"matrix": [0, 3], "x": 100, "y": 46, "flags": 1},
+ {"matrix": [0, 4], "x": 95, "y": 55, "flags": 1},
+ {"matrix": [3, 4], "x": 72, "y": 54, "flags": 1},
+ {"matrix": [2, 4], "x": 83, "y": 59, "flags": 1},
+ {"matrix": [1, 4], "x": 90, "y": 64, "flags": 1},
+ {"matrix": [17, 0], "x": 224, "y": 3, "flags": 1},
+ {"matrix": [16, 0], "x": 209, "y": 3, "flags": 4},
+ {"matrix": [15, 0], "x": 197, "y": 1, "flags": 4},
+ {"matrix": [14, 0], "x": 185, "y": 0, "flags": 4},
+ {"matrix": [13, 0], "x": 173, "y": 1, "flags": 4},
+ {"matrix": [12, 0], "x": 161, "y": 2, "flags": 4},
+ {"matrix": [11, 0], "x": 149, "y": 2, "flags": 1},
+ {"matrix": [17, 1], "x": 224, "y": 13, "flags": 1},
+ {"matrix": [16, 1], "x": 209, "y": 13, "flags": 4},
+ {"matrix": [15, 1], "x": 197, "y": 11, "flags": 4},
+ {"matrix": [14, 1], "x": 185, "y": 10, "flags": 4},
+ {"matrix": [13, 1], "x": 173, "y": 11, "flags": 4},
+ {"matrix": [12, 1], "x": 161, "y": 12, "flags": 4},
+ {"matrix": [11, 1], "x": 146, "y": 17, "flags": 1},
+ {"matrix": [17, 2], "x": 224, "y": 23, "flags": 1},
+ {"matrix": [16, 2], "x": 209, "y": 23, "flags": 4},
+ {"matrix": [15, 2], "x": 197, "y": 21, "flags": 4},
+ {"matrix": [14, 2], "x": 185, "y": 20, "flags": 4},
+ {"matrix": [13, 2], "x": 173, "y": 21, "flags": 4},
+ {"matrix": [12, 2], "x": 161, "y": 22, "flags": 4},
+ {"matrix": [17, 3], "x": 224, "y": 33, "flags": 1},
+ {"matrix": [16, 3], "x": 209, "y": 33, "flags": 4},
+ {"matrix": [15, 3], "x": 197, "y": 31, "flags": 4},
+ {"matrix": [14, 3], "x": 185, "y": 30, "flags": 4},
+ {"matrix": [13, 3], "x": 173, "y": 31, "flags": 4},
+ {"matrix": [12, 3], "x": 161, "y": 32, "flags": 4},
+ {"matrix": [11, 3], "x": 146, "y": 32, "flags": 1},
+ {"matrix": [17, 4], "x": 220, "y": 43, "flags": 1},
+ {"matrix": [16, 4], "x": 209, "y": 43, "flags": 1},
+ {"matrix": [15, 4], "x": 197, "y": 41, "flags": 1},
+ {"matrix": [14, 4], "x": 185, "y": 40, "flags": 1},
+ {"matrix": [13, 4], "x": 173, "y": 41, "flags": 1},
+ {"matrix": [10, 3], "x": 135, "y": 41, "flags": 1},
+ {"matrix": [9, 3], "x": 124, "y": 46, "flags": 1},
+ {"matrix": [9, 4], "x": 129, "y": 55, "flags": 1},
+ {"matrix": [12, 4], "x": 152, "y": 54, "flags": 1},
+ {"matrix": [11, 4], "x": 141, "y": 59, "flags": 1},
+ {"matrix": [10, 4], "x": 134, "y": 64, "flags": 1}
+ ],
"driver": "is31fl3731",
"sleep": true,
"split_count": [38, 38]
@@ -39,7 +117,10 @@
},
"diode_direction": "ROW2COL",
"split": {
- "enabled": true
+ "enabled": true,
+ "serial": {
+ "driver": "usart"
+ }
},
"processor": "MK20DX256",
"bootloader": "kiibohd",
diff --git a/keyboards/input_club/ergodox_infinity/rules.mk b/keyboards/input_club/ergodox_infinity/rules.mk
deleted file mode 100644
index c6e2988321..0000000000
--- a/keyboards/input_club/ergodox_infinity/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = usart
diff --git a/keyboards/input_club/infinity60/led/keyboard.json b/keyboards/input_club/infinity60/led/keyboard.json
index f16554d245..6c97da82e3 100644
--- a/keyboards/input_club/infinity60/led/keyboard.json
+++ b/keyboards/input_club/infinity60/led/keyboard.json
@@ -43,57 +43,57 @@
{"matrix": [1, 4], "x": 208, "y": 0, "flags": 1},
{"matrix": [1, 5], "x": 224, "y": 0, "flags": 1},
- {"matrix": [1, 6], "x": 0, "y": 16, "flags": 1},
- {"matrix": [1, 7], "x": 17, "y": 16, "flags": 4},
- {"matrix": [1, 8], "x": 35, "y": 16, "flags": 4},
- {"matrix": [2, 0], "x": 52, "y": 16, "flags": 4},
- {"matrix": [2, 1], "x": 69, "y": 16, "flags": 4},
- {"matrix": [2, 2], "x": 86, "y": 16, "flags": 4},
- {"matrix": [2, 3], "x": 103, "y": 16, "flags": 4},
- {"matrix": [2, 4], "x": 121, "y": 16, "flags": 4},
- {"matrix": [2, 5], "x": 138, "y": 16, "flags": 4},
- {"matrix": [2, 6], "x": 155, "y": 16, "flags": 4},
- {"matrix": [2, 7], "x": 172, "y": 16, "flags": 4},
- {"matrix": [2, 8], "x": 190, "y": 16, "flags": 4},
- {"matrix": [3, 0], "x": 207, "y": 16, "flags": 4},
- {"matrix": [3, 1], "x": 224, "y": 16, "flags": 4},
+ {"matrix": [1, 6], "x": 4, "y": 16, "flags": 1},
+ {"matrix": [1, 7], "x": 24, "y": 16, "flags": 4},
+ {"matrix": [1, 8], "x": 40, "y": 16, "flags": 4},
+ {"matrix": [2, 0], "x": 56, "y": 16, "flags": 4},
+ {"matrix": [2, 1], "x": 72, "y": 16, "flags": 4},
+ {"matrix": [2, 2], "x": 88, "y": 16, "flags": 4},
+ {"matrix": [2, 3], "x": 104, "y": 16, "flags": 4},
+ {"matrix": [2, 4], "x": 120, "y": 16, "flags": 4},
+ {"matrix": [2, 5], "x": 136, "y": 16, "flags": 4},
+ {"matrix": [2, 6], "x": 152, "y": 16, "flags": 4},
+ {"matrix": [2, 7], "x": 168, "y": 16, "flags": 4},
+ {"matrix": [2, 8], "x": 184, "y": 16, "flags": 4},
+ {"matrix": [3, 0], "x": 200, "y": 16, "flags": 4},
+ {"matrix": [3, 1], "x": 220, "y": 16, "flags": 4},
- {"matrix": [3, 2], "x": 0, "y": 32, "flags": 9},
- {"matrix": [3, 3], "x": 19, "y": 32, "flags": 4},
- {"matrix": [3, 4], "x": 37, "y": 32, "flags": 4},
- {"matrix": [3, 5], "x": 56, "y": 32, "flags": 4},
- {"matrix": [3, 6], "x": 75, "y": 32, "flags": 4},
- {"matrix": [3, 7], "x": 93, "y": 32, "flags": 4},
- {"matrix": [3, 8], "x": 112, "y": 32, "flags": 4},
- {"matrix": [4, 0], "x": 131, "y": 32, "flags": 4},
- {"matrix": [4, 1], "x": 149, "y": 32, "flags": 4},
- {"matrix": [4, 2], "x": 168, "y": 32, "flags": 4},
- {"matrix": [4, 3], "x": 187, "y": 32, "flags": 4},
- {"matrix": [4, 4], "x": 205, "y": 32, "flags": 4},
- {"matrix": [4, 5], "x": 224, "y": 32, "flags": 1},
+ {"matrix": [3, 2], "x": 6, "y": 32, "flags": 9},
+ {"matrix": [3, 3], "x": 28, "y": 32, "flags": 4},
+ {"matrix": [3, 4], "x": 44, "y": 32, "flags": 4},
+ {"matrix": [3, 5], "x": 60, "y": 32, "flags": 4},
+ {"matrix": [3, 6], "x": 76, "y": 32, "flags": 4},
+ {"matrix": [3, 7], "x": 92, "y": 32, "flags": 4},
+ {"matrix": [3, 8], "x": 108, "y": 32, "flags": 4},
+ {"matrix": [4, 0], "x": 124, "y": 32, "flags": 4},
+ {"matrix": [4, 1], "x": 140, "y": 32, "flags": 4},
+ {"matrix": [4, 2], "x": 156, "y": 32, "flags": 4},
+ {"matrix": [4, 3], "x": 172, "y": 32, "flags": 4},
+ {"matrix": [4, 4], "x": 188, "y": 32, "flags": 4},
+ {"matrix": [4, 5], "x": 214, "y": 32, "flags": 1},
- {"matrix": [4, 6], "x": 0, "y": 48, "flags": 1},
- {"matrix": [4, 7], "x": 19, "y": 48, "flags": 4},
- {"matrix": [4, 8], "x": 37, "y": 48, "flags": 4},
- {"matrix": [5, 0], "x": 56, "y": 48, "flags": 4},
- {"matrix": [5, 1], "x": 75, "y": 48, "flags": 4},
- {"matrix": [5, 2], "x": 93, "y": 48, "flags": 4},
- {"matrix": [5, 3], "x": 112, "y": 48, "flags": 4},
- {"matrix": [5, 4], "x": 131, "y": 48, "flags": 4},
- {"matrix": [5, 5], "x": 149, "y": 48, "flags": 4},
- {"matrix": [5, 6], "x": 168, "y": 48, "flags": 4},
- {"matrix": [5, 7], "x": 187, "y": 48, "flags": 4},
- {"matrix": [5, 8], "x": 205, "y": 48, "flags": 1},
+ {"matrix": [4, 6], "x": 10, "y": 48, "flags": 1},
+ {"matrix": [4, 7], "x": 36, "y": 48, "flags": 4},
+ {"matrix": [4, 8], "x": 52, "y": 48, "flags": 4},
+ {"matrix": [5, 0], "x": 68, "y": 48, "flags": 4},
+ {"matrix": [5, 1], "x": 84, "y": 48, "flags": 4},
+ {"matrix": [5, 2], "x": 100, "y": 48, "flags": 4},
+ {"matrix": [5, 3], "x": 116, "y": 48, "flags": 4},
+ {"matrix": [5, 4], "x": 132, "y": 48, "flags": 4},
+ {"matrix": [5, 5], "x": 148, "y": 48, "flags": 4},
+ {"matrix": [5, 6], "x": 164, "y": 48, "flags": 4},
+ {"matrix": [5, 7], "x": 180, "y": 48, "flags": 4},
+ {"matrix": [5, 8], "x": 202, "y": 48, "flags": 1},
{"matrix": [6, 0], "x": 224, "y": 48, "flags": 1},
- {"matrix": [6, 1], "x": 0, "y": 64, "flags": 1},
- {"matrix": [6, 2], "x": 32, "y": 64, "flags": 1},
- {"matrix": [6, 3], "x": 64, "y": 64, "flags": 1},
- {"matrix": [6, 4], "x": 96, "y": 64, "flags": 4},
- {"matrix": [6, 5], "x": 128, "y": 64, "flags": 1},
- {"matrix": [6, 6], "x": 160, "y": 64, "flags": 1},
- {"matrix": [6, 7], "x": 192, "y": 64, "flags": 1},
- {"matrix": [6, 8], "x": 224, "y": 64, "flags": 1}
+ {"matrix": [6, 1], "x": 4, "y": 64, "flags": 1},
+ {"matrix": [6, 2], "x": 24, "y": 64, "flags": 1},
+ {"matrix": [6, 3], "x": 44, "y": 64, "flags": 1},
+ {"matrix": [6, 4], "x": 104, "y": 64, "flags": 4},
+ {"matrix": [6, 5], "x": 164, "y": 64, "flags": 1},
+ {"matrix": [6, 6], "x": 184, "y": 64, "flags": 1},
+ {"matrix": [6, 7], "x": 200, "y": 64, "flags": 1},
+ {"matrix": [6, 8], "x": 220, "y": 64, "flags": 1}
]
}
}
diff --git a/keyboards/input_club/whitefox/keyboard.json b/keyboards/input_club/whitefox/keyboard.json
index d2fd36bbd5..1d3799b867 100644
--- a/keyboards/input_club/whitefox/keyboard.json
+++ b/keyboards/input_club/whitefox/keyboard.json
@@ -30,6 +30,83 @@
"wave_left_right": true,
"wave_up_down": true
},
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
+ {"matrix": [0, 1], "x": 15, "y": 0, "flags": 4},
+ {"matrix": [0, 2], "x": 30, "y": 0, "flags": 4},
+ {"matrix": [0, 3], "x": 45, "y": 0, "flags": 4},
+ {"matrix": [0, 4], "x": 60, "y": 0, "flags": 4},
+ {"matrix": [0, 5], "x": 75, "y": 0, "flags": 4},
+ {"matrix": [0, 6], "x": 90, "y": 0, "flags": 4},
+ {"matrix": [0, 7], "x": 105, "y": 0, "flags": 4},
+ {"matrix": [0, 8], "x": 119, "y": 0, "flags": 4},
+ {"matrix": [1, 0], "x": 134, "y": 0, "flags": 4},
+ {"matrix": [1, 1], "x": 149, "y": 0, "flags": 4},
+ {"matrix": [1, 2], "x": 164, "y": 0, "flags": 4},
+ {"matrix": [1, 3], "x": 179, "y": 0, "flags": 4},
+ {"matrix": [1, 4], "x": 194, "y": 0, "flags": 4},
+ {"matrix": [1, 5], "x": 209, "y": 0, "flags": 4},
+ {"matrix": [1, 6], "x": 224, "y": 0, "flags": 1},
+
+ {"matrix": [1, 7], "x": 4, "y": 16, "flags": 1},
+ {"matrix": [1, 8], "x": 22, "y": 16, "flags": 4},
+ {"matrix": [2, 0], "x": 37, "y": 16, "flags": 4},
+ {"matrix": [2, 1], "x": 52, "y": 16, "flags": 4},
+ {"matrix": [2, 2], "x": 67, "y": 16, "flags": 4},
+ {"matrix": [2, 3], "x": 82, "y": 16, "flags": 4},
+ {"matrix": [2, 4], "x": 97, "y": 16, "flags": 4},
+ {"matrix": [2, 5], "x": 112, "y": 16, "flags": 4},
+ {"matrix": [2, 6], "x": 127, "y": 16, "flags": 4},
+ {"matrix": [2, 7], "x": 142, "y": 16, "flags": 4},
+ {"matrix": [2, 8], "x": 157, "y": 16, "flags": 4},
+ {"matrix": [3, 0], "x": 172, "y": 16, "flags": 4},
+ {"matrix": [3, 1], "x": 187, "y": 16, "flags": 4},
+ {"matrix": [3, 2], "x": 205, "y": 16, "flags": 1},
+ {"matrix": [3, 3], "x": 224, "y": 16, "flags": 1},
+
+ {"matrix": [3, 4], "x": 6, "y": 32, "flags": 1},
+ {"matrix": [3, 5], "x": 26, "y": 32, "flags": 4},
+ {"matrix": [3, 6], "x": 41, "y": 32, "flags": 4},
+ {"matrix": [3, 7], "x": 56, "y": 32, "flags": 4},
+ {"matrix": [3, 8], "x": 71, "y": 32, "flags": 4},
+ {"matrix": [4, 0], "x": 86, "y": 32, "flags": 4},
+ {"matrix": [4, 1], "x": 101, "y": 32, "flags": 4},
+ {"matrix": [4, 2], "x": 116, "y": 32, "flags": 4},
+ {"matrix": [4, 3], "x": 131, "y": 32, "flags": 4},
+ {"matrix": [4, 4], "x": 146, "y": 32, "flags": 4},
+ {"matrix": [4, 5], "x": 161, "y": 32, "flags": 4},
+ {"matrix": [4, 6], "x": 175, "y": 32, "flags": 4},
+ {"matrix": [4, 7], "x": 190, "y": 32, "flags": 4},
+ {"matrix": [4, 8], "x": 207, "y": 32, "flags": 1},
+ {"matrix": [5, 0], "x": 224, "y": 32, "flags": 1},
+
+ {"matrix": [5, 1], "x": 2, "y": 48, "flags": 1},
+ {"matrix": [5, 2], "x": 19, "y": 48, "flags": 4},
+ {"matrix": [5, 3], "x": 34, "y": 48, "flags": 4},
+ {"matrix": [5, 4], "x": 49, "y": 48, "flags": 4},
+ {"matrix": [5, 5], "x": 63, "y": 48, "flags": 4},
+ {"matrix": [5, 6], "x": 78, "y": 48, "flags": 4},
+ {"matrix": [5, 7], "x": 93, "y": 48, "flags": 4},
+ {"matrix": [5, 8], "x": 108, "y": 48, "flags": 4},
+ {"matrix": [6, 0], "x": 123, "y": 48, "flags": 4},
+ {"matrix": [6, 1], "x": 138, "y": 48, "flags": 4},
+ {"matrix": [6, 2], "x": 153, "y": 48, "flags": 4},
+ {"matrix": [6, 3], "x": 168, "y": 48, "flags": 4},
+ {"matrix": [6, 4], "x": 189, "y": 48, "flags": 1},
+ {"matrix": [6, 5], "x": 209, "y": 48, "flags": 1},
+ {"matrix": [6, 6], "x": 224, "y": 48, "flags": 1},
+
+ {"matrix": [6, 7], "x": 2, "y": 64, "flags": 1},
+ {"matrix": [6, 8], "x": 21, "y": 64, "flags": 1},
+ {"matrix": [7, 0], "x": 39, "y": 64, "flags": 1},
+ {"matrix": [7, 1], "x": 95, "y": 64, "flags": 1},
+ {"matrix": [7, 2], "x": 149, "y": 64, "flags": 1},
+ {"matrix": [7, 3], "x": 164, "y": 64, "flags": 1},
+ {"matrix": [7, 4], "x": 179, "y": 64, "flags": 1},
+ {"matrix": [7, 5], "x": 194, "y": 64, "flags": 1},
+ {"matrix": [7, 6], "x": 209, "y": 64, "flags": 1},
+ {"matrix": [7, 7], "x": 224, "y": 64, "flags": 1}
+ ],
"driver": "is31fl3731",
"sleep": true
},
diff --git a/keyboards/input_club/whitefox/whitefox.c b/keyboards/input_club/whitefox/whitefox.c
index 773dbd3dc9..9d0497b2f9 100644
--- a/keyboards/input_club/whitefox/whitefox.c
+++ b/keyboards/input_club/whitefox/whitefox.c
@@ -36,47 +36,14 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
{ 0, C8_6 }, { 0, C8_7 }, { 0, C8_8 }, { 0, C9_1 }, { 0, C9_2 }, { 0, C9_3 }, { 0, C9_4 }, { 0, C9_5 }, { 0, C9_6 }, { 0, C9_7 },
};
-led_config_t g_led_config = {
- {
- // Key Matrix to LED Index
- { 0, 1, 2, 3, 4, 5, 6, 7, 8 },
- { 9, 10, 11, 12, 13, 14, 15, 16, 17 },
- { 18, 19, 20, 21, 22, 23, 24, 25, 26 },
- { 27, 28, 29, 30, 31, 32, 33, 34, 35 },
- { 36, 37, 38, 39, 40, 41, 42, 43, 44 },
- { 45, 46, 47, 48, 49, 50, 51, 52, 53 },
- { 54, 55, 56, 57, 58, 59, 60, 61, 62 },
- { 63, 64, 65, 66, 67, 68, 69, 70, NO_LED },
- }, {
- // LED Index to Physical Position
- { 0, 0 }, { 15, 0 }, { 30, 0 }, { 45, 0 }, { 60, 0 }, { 75, 0 }, { 90, 0 }, { 105, 0 }, { 119, 0 }, { 134, 0 }, { 149, 0 }, { 164, 0 }, { 179, 0 }, { 194, 0 }, { 209, 0 }, { 224, 0 },
- { 4, 16 }, { 22, 16 }, { 37, 16 }, { 52, 16 }, { 67, 16 }, { 82, 16 }, { 97, 16 }, { 112, 16 }, { 127, 16 }, { 142, 16 }, { 157, 16 }, { 172, 16 }, { 187, 16 }, { 205, 16 }, { 224, 16 },
- { 6, 32 }, { 26, 32 }, { 41, 32 }, { 56, 32 }, { 71, 32 }, { 86, 32 }, { 101, 32 }, { 116, 32 }, { 131, 32 }, { 146, 32 }, { 161, 32 }, { 175, 32 }, { 190, 32 }, { 207, 32 }, { 224, 32 },
- { 2, 48 }, { 19, 48 }, { 34, 48 }, { 49, 48 }, { 63, 48 }, { 78, 48 }, { 93, 48 }, { 108, 48 }, { 123, 48 }, { 138, 48 }, { 153, 48 }, { 168, 48 }, { 189, 48 }, { 209, 48 }, { 224, 48 },
- { 2, 64 }, { 21, 64 }, { 39, 64 }, { 95, 64 }, { 149, 64 }, { 164, 64 }, { 179, 64 }, { 194, 64 }, { 209, 64 }, { 224, 64 }
- }, {
- // LED Index to Flag
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- }
-};
-#endif
-
void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
-#ifdef LED_MATRIX_ENABLE
/*
* Since K20x is stuck with a 32 byte EEPROM (see tmk_core/common/chibios/eeprom_teensy.c),
* and neither led_matrix_eeconfig.speed or .flags fit in this boundary, just force their values to default on boot.
*/
led_matrix_set_speed(LED_MATRIX_DEFAULT_SPD),
led_matrix_set_flags(LED_FLAG_ALL);
-#endif
matrix_init_user();
}
+#endif
diff --git a/keyboards/jae/j01/j01.c b/keyboards/jae/j01/j01.c
deleted file mode 100644
index 4d3f8ced46..0000000000
--- a/keyboards/jae/j01/j01.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright Evy Dekkers
- *
- * 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"
-
-// Optional override functions below.
-// You can leave any or all of these undefined.
-// These are only required if you want to perform custom actions.
-
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
- matrix_init_user();
- gpio_set_pin_output(E6);
-}
-
-bool led_update_kb(led_t led_state) {
- if(led_update_user(led_state)) {
- gpio_write_pin(E6, !led_state.caps_lock);
- }
-
- return true;
-}
diff --git a/keyboards/jae/j01/keyboard.json b/keyboards/jae/j01/keyboard.json
index 56a5062c94..fd16f2a46e 100644
--- a/keyboards/jae/j01/keyboard.json
+++ b/keyboards/jae/j01/keyboard.json
@@ -33,6 +33,10 @@
"levels": 4,
"breathing": true
},
+ "indicators": {
+ "caps_lock": "E6",
+ "on_state": 0
+ },
"bootmagic": {
"matrix": [0, 2]
},
diff --git a/keyboards/janus/keyboard.json b/keyboards/janus/keyboard.json
index 29000b9ef2..8c4f522b86 100644
--- a/keyboards/janus/keyboard.json
+++ b/keyboards/janus/keyboard.json
@@ -25,7 +25,10 @@
"nkro": true
},
"split": {
- "enabled": true
+ "enabled": true,
+ "serial": {
+ "driver": "usart"
+ }
},
"community_layouts": [
"split_3x5_2"
diff --git a/keyboards/janus/rules.mk b/keyboards/janus/rules.mk
deleted file mode 100644
index 59b74ac86b..0000000000
--- a/keyboards/janus/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = usart \ No newline at end of file
diff --git a/keyboards/jaykeeb/kamigakushi/rules.mk b/keyboards/jaykeeb/kamigakushi/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/jaykeeb/kamigakushi/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/jels/jels88/jels88.c b/keyboards/jels/jels88/jels88.c
deleted file mode 100644
index ceb187ab17..0000000000
--- a/keyboards/jels/jels88/jels88.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright 2021 Joah Nelson (Jels)
- *
- * 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/>.
- */
-
-// not much here ... just indicator LEDs
-
-#include "quantum.h"
-
-// LED indicator pins
-#define CAPS_LED D5
-#define SCROLL_LED D4
-
-void keyboard_pre_init_kb(void) {
- gpio_set_pin_output(CAPS_LED);
- gpio_set_pin_output(SCROLL_LED);
- keyboard_pre_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if (res) {
- gpio_write_pin(CAPS_LED, led_state.caps_lock);
- gpio_write_pin(SCROLL_LED, led_state.scroll_lock);
- }
- return res;
-}
diff --git a/keyboards/jels/jels88/keyboard.json b/keyboards/jels/jels88/keyboard.json
index ee9b64ed6a..e4d2c6e273 100644
--- a/keyboards/jels/jels88/keyboard.json
+++ b/keyboards/jels/jels88/keyboard.json
@@ -23,6 +23,10 @@
"resync": true
}
},
+ "indicators": {
+ "caps_lock": "D5",
+ "scroll_lock": "D4"
+ },
"matrix_pins": {
"cols": ["C7", "C6", "F7", "F6", "F5", "F4", "B1", "D2", "D3"],
"rows": ["B3", "B2", "D1", "D0", "E6", "B0", "F0", "F1", "B5", "B4", "D7", "D6"]
diff --git a/keyboards/jian/rev2/config.h b/keyboards/jian/rev2/config.h
index 33ba0ecbc5..b236a8cbe1 100644
--- a/keyboards/jian/rev2/config.h
+++ b/keyboards/jian/rev2/config.h
@@ -18,7 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
//#define EE_HANDS
-#define SPLIT_HAND_PIN E6
#define PHYSICAL_LEDS_ENABLE
#define IOS_DEVICE_ENABLE
diff --git a/keyboards/jian/rev2/keyboard.json b/keyboards/jian/rev2/keyboard.json
index e64df224a5..757fee166d 100644
--- a/keyboards/jian/rev2/keyboard.json
+++ b/keyboards/jian/rev2/keyboard.json
@@ -39,6 +39,9 @@
},
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "E6"
+ },
"soft_serial_pin": "D1"
},
"processor": "atmega32u4",
diff --git a/keyboards/jukaie/jk01/jk01.c b/keyboards/jukaie/jk01/jk01.c
index 3c6daabf02..595f6bf43f 100644
--- a/keyboards/jukaie/jk01/jk01.c
+++ b/keyboards/jukaie/jk01/jk01.c
@@ -155,7 +155,8 @@ void housekeeping_task_kb(void) {
gpio_write_pin(C15, keymap_config.no_gui);
};
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+ if (!process_record_user(keycode, record)) { return false; }
switch (keycode) {
@@ -166,8 +167,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
host_consumer_send(0);
}
return false; /* Skip all further processing of this key */
-
- default:
- return true; /* Process all other keycodes normally */
}
+
+ return true; /* Process all other keycodes normally */
}; \ No newline at end of file
diff --git a/keyboards/junco/rev1/keyboard.json b/keyboards/junco/rev1/keyboard.json
index 855628d3b1..936a0bf29c 100644
--- a/keyboards/junco/rev1/keyboard.json
+++ b/keyboards/junco/rev1/keyboard.json
@@ -39,6 +39,9 @@
{"pin_a": "GP16", "pin_b": "GP17"}
]
}
+ },
+ "serial": {
+ "driver": "vendor"
}
},
"processor": "RP2040",
diff --git a/keyboards/junco/rev1/rules.mk b/keyboards/junco/rev1/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/junco/rev1/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/kabedon/kabedon980/kabedon980.c b/keyboards/kabedon/kabedon980/kabedon980.c
deleted file mode 100644
index 7024a2eaa9..0000000000
--- a/keyboards/kabedon/kabedon980/kabedon980.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "quantum.h"
-
- bool led_update_kb(led_t led_state) {
- if (led_update_user(led_state)) {
- gpio_write_pin(E6, !led_state.caps_lock);
- }
- return true;
-}
diff --git a/keyboards/kabedon/kabedon980/keyboard.json b/keyboards/kabedon/kabedon980/keyboard.json
index cf9def2b8f..b8e100ceac 100644
--- a/keyboards/kabedon/kabedon980/keyboard.json
+++ b/keyboards/kabedon/kabedon980/keyboard.json
@@ -8,6 +8,10 @@
"pid": "0x3938",
"device_version": "0.0.1"
},
+ "indicators": {
+ "caps_lock": "E6",
+ "on_state": 0
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/kakunpc/suihankey/split/alpha/config.h b/keyboards/kakunpc/suihankey/split/alpha/config.h
index ebccdcca30..23900d8ab2 100644
--- a/keyboards/kakunpc/suihankey/split/alpha/config.h
+++ b/keyboards/kakunpc/suihankey/split/alpha/config.h
@@ -19,8 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define USE_I2C
-#define SPLIT_HAND_PIN D2
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/kakunpc/suihankey/split/info.json b/keyboards/kakunpc/suihankey/split/info.json
index c186263123..2e5bf1ce97 100644
--- a/keyboards/kakunpc/suihankey/split/info.json
+++ b/keyboards/kakunpc/suihankey/split/info.json
@@ -10,6 +10,9 @@
},
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "D2"
+ },
"soft_serial_pin": "D0"
},
"processor": "atmega32u4",
diff --git a/keyboards/kakunpc/suihankey/split/rev1/config.h b/keyboards/kakunpc/suihankey/split/rev1/config.h
index ebccdcca30..23900d8ab2 100644
--- a/keyboards/kakunpc/suihankey/split/rev1/config.h
+++ b/keyboards/kakunpc/suihankey/split/rev1/config.h
@@ -19,8 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define USE_I2C
-#define SPLIT_HAND_PIN D2
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/kaly/kaly42/keyboard.json b/keyboards/kaly/kaly42/keyboard.json
index 38de4ccea5..3115d051df 100644
--- a/keyboards/kaly/kaly42/keyboard.json
+++ b/keyboards/kaly/kaly42/keyboard.json
@@ -33,6 +33,9 @@
["A0", "A1", "A2", "NO_PIN", "NO_PIN", "NO_PIN"]
]
}
+ },
+ "serial": {
+ "driver": "usart"
}
},
"url": "https://github.com/Dwctor/Kaly",
diff --git a/keyboards/kaly/kaly42/rules.mk b/keyboards/kaly/kaly42/rules.mk
deleted file mode 100644
index c6e2988321..0000000000
--- a/keyboards/kaly/kaly42/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = usart
diff --git a/keyboards/kapcave/gskt00/keymaps/default-poly/config.h b/keyboards/kapcave/gskt00/keymaps/default-poly/config.h
index 40a7c6ec47..9d03a669c8 100644
--- a/keyboards/kapcave/gskt00/keymaps/default-poly/config.h
+++ b/keyboards/kapcave/gskt00/keymaps/default-poly/config.h
@@ -16,8 +16,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
-#define ENCODERS_PAD_A { D5 }
-#define ENCODERS_PAD_B { D3 }
+#define ENCODER_A_PINS { D5 }
+#define ENCODER_B_PINS { D3 }
#define WS2812_DI_PIN D0
#define RGBLIGHT_EFFECT_BREATHING
diff --git a/keyboards/karn/keyboard.json b/keyboards/karn/keyboard.json
index b088f61425..1ddd8e5a98 100644
--- a/keyboards/karn/keyboard.json
+++ b/keyboards/karn/keyboard.json
@@ -21,7 +21,10 @@
"matrix": [0, 1]
},
"split": {
- "enabled": true
+ "enabled": true,
+ "serial": {
+ "driver": "usart"
+ }
},
"layouts": {
"LAYOUT": {
diff --git a/keyboards/karn/rules.mk b/keyboards/karn/rules.mk
deleted file mode 100644
index c6e2988321..0000000000
--- a/keyboards/karn/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = usart
diff --git a/keyboards/kbdfans/bella/soldered/keyboard.json b/keyboards/kbdfans/bella/soldered/keyboard.json
index 31d8e9ffb7..aa5d915980 100644
--- a/keyboards/kbdfans/bella/soldered/keyboard.json
+++ b/keyboards/kbdfans/bella/soldered/keyboard.json
@@ -31,6 +31,10 @@
"backlight": {
"pin": "B7"
},
+ "indicators": {
+ "caps_lock": "E6",
+ "on_state": 0
+ },
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"layouts": {
diff --git a/keyboards/kbdfans/bella/soldered/soldered.c b/keyboards/kbdfans/bella/soldered/soldered.c
deleted file mode 100755
index bfe9f8f5d4..0000000000
--- a/keyboards/kbdfans/bella/soldered/soldered.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Copyright 2020 dztech
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include "quantum.h"
-void matrix_init_kb(void) {
- gpio_set_pin_output(E6);
- matrix_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(E6, !led_state.caps_lock);
- }
- return res;
-}
diff --git a/keyboards/kbdfans/maja_soldered/keyboard.json b/keyboards/kbdfans/maja_soldered/keyboard.json
index bf73f04d8a..f182ef97d1 100644
--- a/keyboards/kbdfans/maja_soldered/keyboard.json
+++ b/keyboards/kbdfans/maja_soldered/keyboard.json
@@ -31,6 +31,10 @@
"backlight": {
"pin": "B5"
},
+ "indicators": {
+ "caps_lock": "D4",
+ "on_state": 0
+ },
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"debounce": 3,
diff --git a/keyboards/kbdfans/maja_soldered/maja_soldered.c b/keyboards/kbdfans/maja_soldered/maja_soldered.c
deleted file mode 100755
index 41d80e2cc8..0000000000
--- a/keyboards/kbdfans/maja_soldered/maja_soldered.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright 2020 dztech kbdfans
- *
- * 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"
-
-void matrix_init_kb(void) {
- gpio_set_pin_output(D4);
- matrix_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(D4, !led_state.caps_lock);
- }
- return res;
-}
diff --git a/keyboards/kbdfans/phaseone/phaseone.c b/keyboards/kbdfans/phaseone/phaseone.c
index a44e501109..97cc7d2d2a 100644
--- a/keyboards/kbdfans/phaseone/phaseone.c
+++ b/keyboards/kbdfans/phaseone/phaseone.c
@@ -18,4 +18,6 @@
void keyboard_pre_init_kb(void) {
gpio_set_pin_output(D4);
+
+ keyboard_pre_init_user();
}
diff --git a/keyboards/kc60se/kc60se.c b/keyboards/kc60se/kc60se.c
deleted file mode 100644
index a7d60079b2..0000000000
--- a/keyboards/kc60se/kc60se.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright 2017 Blake C. Lewis
- *
- * 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"
-
-void matrix_init_kb(void){
- gpio_set_pin_output(B2);
-}
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(B2, !led_state.caps_lock);
- }
- return res;
-}
-
diff --git a/keyboards/kc60se/keyboard.json b/keyboards/kc60se/keyboard.json
index b7123b5749..c8bdf24a4b 100644
--- a/keyboards/kc60se/keyboard.json
+++ b/keyboards/kc60se/keyboard.json
@@ -27,6 +27,10 @@
"pin": "F5",
"levels": 6
},
+ "indicators": {
+ "caps_lock": "B2",
+ "on_state": 0
+ },
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_iso", "60_iso_split_bs_rshift"],
diff --git a/keyboards/keebio/cepstrum/rev1/config.h b/keyboards/keebio/cepstrum/rev1/config.h
index 7c3bb16bad..5ece396104 100644
--- a/keyboards/keebio/cepstrum/rev1/config.h
+++ b/keyboards/keebio/cepstrum/rev1/config.h
@@ -3,8 +3,6 @@
#pragma once
-#define SPLIT_HAND_PIN GP4
-
#define USB_VBUS_PIN GP12
#define SERIAL_USART_FULL_DUPLEX
diff --git a/keyboards/keebio/cepstrum/rev1/keyboard.json b/keyboards/keebio/cepstrum/rev1/keyboard.json
index 0b53d12792..26289f6236 100644
--- a/keyboards/keebio/cepstrum/rev1/keyboard.json
+++ b/keyboards/keebio/cepstrum/rev1/keyboard.json
@@ -9,12 +9,18 @@
},
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "GP4"
+ },
"matrix_pins": {
"right": {
"cols": ["GP29", "GP28", "GP27", "GP26", "GP25", "GP21", "GP15", "GP9", "GP10"],
"rows": ["GP2", "GP3", "GP5", "GP8", "GP19"]
}
},
+ "serial": {
+ "driver": "vendor"
+ },
"transport": {
"sync": {
"matrix_state": true
diff --git a/keyboards/keebio/cepstrum/rev1/rules.mk b/keyboards/keebio/cepstrum/rev1/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/keebio/cepstrum/rev1/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/keebio/chiri_ce/rev1/keyboard.json b/keyboards/keebio/chiri_ce/rev1/keyboard.json
index 8b46dd7d6d..f118a4dd1e 100644
--- a/keyboards/keebio/chiri_ce/rev1/keyboard.json
+++ b/keyboards/keebio/chiri_ce/rev1/keyboard.json
@@ -124,6 +124,9 @@
"rows": ["GP24", "GP23", "GP21", "GP3"]
}
},
+ "serial": {
+ "driver": "vendor"
+ },
"transport": {
"sync_matrix_state": true
}
diff --git a/keyboards/keebio/chiri_ce/rev1/rules.mk b/keyboards/keebio/chiri_ce/rev1/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/keebio/chiri_ce/rev1/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/keebio/foldkb/rev1/config.h b/keyboards/keebio/foldkb/rev1/config.h
index 0435a34e7f..572ff9a83a 100644
--- a/keyboards/keebio/foldkb/rev1/config.h
+++ b/keyboards/keebio/foldkb/rev1/config.h
@@ -16,6 +16,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define SPLIT_HAND_PIN F7
-
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
diff --git a/keyboards/keebio/foldkb/rev1/keyboard.json b/keyboards/keebio/foldkb/rev1/keyboard.json
index c7055400a5..447f2ed0fd 100644
--- a/keyboards/keebio/foldkb/rev1/keyboard.json
+++ b/keyboards/keebio/foldkb/rev1/keyboard.json
@@ -23,6 +23,9 @@
},
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "F7"
+ },
"soft_serial_pin": "D0"
},
"rgblight": {
diff --git a/keyboards/keebio/fourier/config.h b/keyboards/keebio/fourier/config.h
deleted file mode 100644
index 49d868c968..0000000000
--- a/keyboards/keebio/fourier/config.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
-Copyright 2012 Jun Wako <[email protected]>
-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
-
-/* Split Defines */
-#define SPLIT_HAND_PIN D2
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-// #define NO_DEBUG
-
-/* disable print */
-// #define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/keebio/fourier/keyboard.json b/keyboards/keebio/fourier/keyboard.json
index 189276b877..6f83ae6f53 100644
--- a/keyboards/keebio/fourier/keyboard.json
+++ b/keyboards/keebio/fourier/keyboard.json
@@ -36,6 +36,9 @@
},
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "D2"
+ },
"soft_serial_pin": "D0"
},
"rgblight": {
diff --git a/keyboards/keebio/iris/keymaps/dvorak/config.h b/keyboards/keebio/iris/keymaps/dvorak/config.h
deleted file mode 100644
index 0776d7e179..0000000000
--- a/keyboards/keebio/iris/keymaps/dvorak/config.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
-Copyright 2017 Danny Nguyen <[email protected]>
-
-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
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-
-#undef RGBLIGHT_LED_COUNT
-#define RGBLIGHT_EFFECT_BREATHING
-#define RGBLIGHT_EFFECT_RAINBOW_MOOD
-#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-#define RGBLIGHT_EFFECT_SNAKE
-#define RGBLIGHT_EFFECT_KNIGHT
-#define RGBLIGHT_EFFECT_CHRISTMAS
-#define RGBLIGHT_EFFECT_STATIC_GRADIENT
-#define RGBLIGHT_EFFECT_RGB_TEST
-#define RGBLIGHT_EFFECT_ALTERNATING
-#define RGBLIGHT_EFFECT_TWINKLE
-#define RGBLIGHT_LED_COUNT 12
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
diff --git a/keyboards/keebio/iris/keymaps/dvorak/keebio_iris_rev2_layout_dvorak.json b/keyboards/keebio/iris/keymaps/dvorak/keebio_iris_rev2_layout_dvorak.json
deleted file mode 100644
index 8f55ce3a4c..0000000000
--- a/keyboards/keebio/iris/keymaps/dvorak/keebio_iris_rev2_layout_dvorak.json
+++ /dev/null
@@ -1,192 +0,0 @@
-{
- "author": "",
- "layers": [
- [
- "KC_ESC",
- "KC_1",
- "KC_2",
- "KC_3",
- "KC_4",
- "KC_5",
- "KC_6",
- "KC_7",
- "KC_8",
- "KC_9",
- "KC_0",
- "KC_BSPC",
- "KC_TAB",
- "KC_QUOT",
- "KC_COMM",
- "KC_DOT",
- "KC_P",
- "KC_Y",
- "KC_F",
- "KC_G",
- "KC_C",
- "KC_R",
- "KC_L",
- "KC_SLSH",
- "KC_LCTL",
- "KC_A",
- "KC_O",
- "KC_E",
- "KC_U",
- "KC_I",
- "KC_D",
- "KC_H",
- "KC_T",
- "KC_N",
- "KC_S",
- "KC_MINS",
- "KC_LSFT",
- "KC_SCLN",
- "KC_Q",
- "KC_J",
- "KC_K",
- "KC_X",
- "KC_HOME",
- "KC_END",
- "KC_B",
- "KC_M",
- "KC_W",
- "KC_V",
- "KC_Z",
- "KC_RSFT",
- "MO(1)",
- "KC_LGUI",
- "KC_ENT",
- "KC_SPC",
- "KC_RALT",
- "MO(2)"
- ],
- [
- "KC_TILD",
- "KC_EXLM",
- "KC_AT",
- "KC_HASH",
- "KC_DLR",
- "KC_PERC",
- "KC_CIRC",
- "KC_AMPR",
- "KC_ASTR",
- "KC_LPRN",
- "KC_RPRN",
- "KC_BSPC",
- "QK_BOOT",
- "KC_1",
- "KC_2",
- "KC_3",
- "KC_4",
- "KC_5",
- "KC_6",
- "KC_7",
- "KC_8",
- "KC_9",
- "KC_0",
- "KC_GRV",
- "KC_DEL",
- "KC_NO",
- "KC_LEFT",
- "KC_RGHT",
- "KC_UP",
- "KC_LCBR",
- "KC_RCBR",
- "KC_P4",
- "KC_P5",
- "KC_P6",
- "KC_PPLS",
- "KC_BSPC",
- "BL_UP",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_DOWN",
- "KC_LBRC",
- "KC_LPRN",
- "KC_RPRN",
- "KC_RBRC",
- "KC_P1",
- "KC_P2",
- "KC_P3",
- "KC_PMNS",
- "KC_PIPE",
- "KC_NO",
- "KC_NO",
- "KC_DEL",
- "KC_DEL",
- "KC_NO",
- "KC_P0"
- ],
- [
- "KC_F12",
- "KC_F1",
- "KC_F2",
- "KC_F3",
- "KC_F4",
- "KC_F5",
- "KC_F6",
- "KC_F7",
- "KC_F8",
- "KC_F9",
- "KC_F10",
- "KC_F11",
- "RGB_TOG",
- "KC_EXLM",
- "KC_AT",
- "KC_HASH",
- "KC_DLR",
- "KC_PERC",
- "KC_CIRC",
- "KC_AMPR",
- "KC_ASTR",
- "KC_LPRN",
- "KC_RPRN",
- "KC_NO",
- "RGB_MOD",
- "KC_MRWD",
- "KC_MFFD",
- "KC_VOLU",
- "KC_PGUP",
- "KC_UNDS",
- "KC_PEQL",
- "KC_HOME",
- "RGB_HUI",
- "RGB_SAI",
- "RGB_VAI",
- "KC_BSLS",
- "KC_MUTE",
- "KC_MSTP",
- "KC_MPLY",
- "KC_VOLD",
- "KC_PGDN",
- "KC_PMNS",
- "KC_NO",
- "KC_NO",
- "KC_PPLS",
- "KC_END",
- "RGB_HUD",
- "RGB_SAD",
- "RGB_VAD",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO",
- "KC_NO"
- ]
- ],
- "layout": "LAYOUT",
- "keymap": "keebio_iris_rev2_layout_dvorak.json",
- "keyboard": "keebio/iris/rev2",
- "documentation": "\"This file is a QMK Configurator export. You can import this at <https://config.qmk.fm>. It can also be used directly with QMK's source code.
-
-To setup your QMK environment check out the tutorial: <https://docs.qmk.fm/#/newbs>
-
-You can convert this file to a keymap.c using this command: `qmk json2c {keymap}`
-
-You can compile this keymap using this command: `qmk compile {keymap}`\"
-",
- "notes": "",
- "version": 1
-}
diff --git a/keyboards/keebio/iris/keymaps/dvorak/keymap.c b/keyboards/keebio/iris/keymaps/dvorak/keymap.c
deleted file mode 100644
index ce99d1a563..0000000000
--- a/keyboards/keebio/iris/keymaps/dvorak/keymap.c
+++ /dev/null
@@ -1,73 +0,0 @@
-#include QMK_KEYBOARD_H
-enum my_layers {
- _DVORAK,
- _LOWER,
- _RAISE,
- _ADJUST
-};
-
-#define RAISE MO(_RAISE)
-#define LOWER MO(_LOWER)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_DVORAK] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LCTL, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_HOME, KC_END, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT,
- //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
- LOWER, KC_LGUI, KC_ENT, KC_SPC, KC_RALT, RAISE
- // └────────┴────────┴────────┘ └────────┴────────┴────────┘
- ),
-
- [_LOWER] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRAVE,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- KC_DEL, _______, KC_LEFT, KC_RGHT, KC_UP, KC_LBRC, KC_RBRC, KC_P4, KC_P5, KC_P6, KC_PLUS, KC_BSPC,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- BL_STEP, _______, _______, _______, KC_DOWN, KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_P1, KC_P2, KC_P3, KC_MINS, KC_PIPE,
- //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
- _______, _______, KC_DEL, KC_DEL, _______, KC_P0
- // └────────┴────────┴────────┘ └────────┴────────┴────────┘
- ),
-
- [_RAISE] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
- KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- RGB_TOG, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- RGB_MOD, KC_MPRV, KC_MNXT, KC_VOLU, KC_PGUP, KC_UNDS, KC_EQL, KC_HOME, RGB_HUI, RGB_SAI, RGB_VAI, KC_BSLS,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_MUTE, KC_MSTP, KC_MPLY, KC_VOLD, KC_PGDN, KC_MINS, _______, _______, KC_PLUS, KC_END, RGB_HUD, RGB_SAD, RGB_VAD, _______,
- //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
- _______, _______, _______, _______, _______, _______
- // └────────┴────────┴────────┘ └────────┴────────┴────────┘
- ),
-
- [_ADJUST] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
- _______, _______, _______, _______, _______, _______
- // └────────┴────────┴────────┘ └────────┴────────┴────────┘
- )
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
diff --git a/keyboards/keebio/iris/keymaps/dvorak/readme.md b/keyboards/keebio/iris/keymaps/dvorak/readme.md
deleted file mode 100644
index 8397ef84ac..0000000000
--- a/keyboards/keebio/iris/keymaps/dvorak/readme.md
+++ /dev/null
@@ -1,16 +0,0 @@
-
-![Iris Dvorak keymap](https://i.imgur.com/DXESYqV.png)
-
-# Dvorak
-
-```
-make keebio/iris/rev2:dvorak
-```
-```
-make keebio/iris/rev3:dvorak
-```
-```
-make keebio/iris/rev4:dvorak
-```
-
-Tested with Iris rev. 2
diff --git a/keyboards/keebio/iris/keymaps/dvorak/rules.mk b/keyboards/keebio/iris/keymaps/dvorak/rules.mk
deleted file mode 100644
index d7463419b4..0000000000
--- a/keyboards/keebio/iris/keymaps/dvorak/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-RGBLIGHT_ENABLE = yes
-BACKLIGHT_ENABLE = yes
diff --git a/keyboards/keebio/iris/rev3/config.h b/keyboards/keebio/iris/rev3/config.h
deleted file mode 100644
index ff730d345c..0000000000
--- a/keyboards/keebio/iris/rev3/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-Copyright 2017 Danny Nguyen <[email protected]>
-
-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 SPLIT_HAND_PIN F0
diff --git a/keyboards/keebio/iris/rev3/keyboard.json b/keyboards/keebio/iris/rev3/keyboard.json
index e2353d751f..9ffafa3f89 100644
--- a/keyboards/keebio/iris/rev3/keyboard.json
+++ b/keyboards/keebio/iris/rev3/keyboard.json
@@ -45,6 +45,9 @@
},
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "F0"
+ },
"soft_serial_pin": "D0"
},
"processor": "atmega32u4",
diff --git a/keyboards/keebio/iris/rev4/config.h b/keyboards/keebio/iris/rev4/config.h
deleted file mode 100644
index 246049a730..0000000000
--- a/keyboards/keebio/iris/rev4/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-Copyright 2019 Danny Nguyen <[email protected]>
-
-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 SPLIT_HAND_PIN D5
diff --git a/keyboards/keebio/iris/rev4/keyboard.json b/keyboards/keebio/iris/rev4/keyboard.json
index ee06554d08..a43e7b88d2 100644
--- a/keyboards/keebio/iris/rev4/keyboard.json
+++ b/keyboards/keebio/iris/rev4/keyboard.json
@@ -53,6 +53,9 @@
]
}
},
+ "handedness": {
+ "pin": "D5"
+ },
"matrix_pins": {
"right": {
"cols": ["D4", "D7", "D3", "B7", "F0", "B3"],
diff --git a/keyboards/keebio/iris/rev5/config.h b/keyboards/keebio/iris/rev5/config.h
index 4b67b6632f..71d2044aa6 100644
--- a/keyboards/keebio/iris/rev5/config.h
+++ b/keyboards/keebio/iris/rev5/config.h
@@ -17,6 +17,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define SPLIT_HAND_PIN D5
-
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
diff --git a/keyboards/keebio/iris/rev5/keyboard.json b/keyboards/keebio/iris/rev5/keyboard.json
index a1f97a7831..799e510cc2 100644
--- a/keyboards/keebio/iris/rev5/keyboard.json
+++ b/keyboards/keebio/iris/rev5/keyboard.json
@@ -70,6 +70,9 @@
]
}
},
+ "handedness": {
+ "pin": "D5"
+ },
"matrix_pins": {
"right": {
"cols": ["D4", "D7", "D3", "B7", "F0", "B3"],
diff --git a/keyboards/keebio/iris/rev6/config.h b/keyboards/keebio/iris/rev6/config.h
index f52c020dee..867a96ad95 100644
--- a/keyboards/keebio/iris/rev6/config.h
+++ b/keyboards/keebio/iris/rev6/config.h
@@ -17,6 +17,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define SPLIT_HAND_PIN D5
-
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
diff --git a/keyboards/keebio/iris/rev6/keyboard.json b/keyboards/keebio/iris/rev6/keyboard.json
index 7bbaabe277..bcbacb5b22 100644
--- a/keyboards/keebio/iris/rev6/keyboard.json
+++ b/keyboards/keebio/iris/rev6/keyboard.json
@@ -86,6 +86,9 @@
"split": {
"enabled": true,
"soft_serial_pin": "D0",
+ "handedness": {
+ "pin": "D5"
+ },
"matrix_pins": {
"right": {
"cols": ["D4", "D6", "D7", "C7", "F1", "F4"],
diff --git a/keyboards/keebio/iris/rev7/config.h b/keyboards/keebio/iris/rev7/config.h
index eec56a2620..b5f24925c0 100644
--- a/keyboards/keebio/iris/rev7/config.h
+++ b/keyboards/keebio/iris/rev7/config.h
@@ -17,6 +17,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define SPLIT_HAND_PIN D5
-
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
diff --git a/keyboards/keebio/iris/rev7/keyboard.json b/keyboards/keebio/iris/rev7/keyboard.json
index decb81a18e..1f7677ef4d 100644
--- a/keyboards/keebio/iris/rev7/keyboard.json
+++ b/keyboards/keebio/iris/rev7/keyboard.json
@@ -85,6 +85,9 @@
"split": {
"enabled": true,
"soft_serial_pin": "D0",
+ "handedness": {
+ "pin": "D5"
+ },
"matrix_pins": {
"right": {
"cols": ["D4", "D6", "D7", "C7", "F1", "F4"],
diff --git a/keyboards/keebio/iris/rev8/config.h b/keyboards/keebio/iris/rev8/config.h
index 3ea59ffcf6..e9eb512981 100644
--- a/keyboards/keebio/iris/rev8/config.h
+++ b/keyboards/keebio/iris/rev8/config.h
@@ -3,8 +3,6 @@
#pragma once
-#define SPLIT_HAND_PIN GP4
-
#define USB_VBUS_PIN GP8
#define SERIAL_USART_FULL_DUPLEX
diff --git a/keyboards/keebio/iris/rev8/keyboard.json b/keyboards/keebio/iris/rev8/keyboard.json
index 85676067c0..7ff198afa7 100644
--- a/keyboards/keebio/iris/rev8/keyboard.json
+++ b/keyboards/keebio/iris/rev8/keyboard.json
@@ -24,12 +24,18 @@
},
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "GP4"
+ },
"matrix_pins": {
"right": {
"cols": ["GP27", "GP28", "GP3", "GP6", "GP29", "GP16"],
"rows": ["GP22", "GP19", "GP18", "GP17", "GP7"]
}
},
+ "serial": {
+ "driver": "vendor"
+ },
"transport": {
"sync" :{
"matrix_state": true
diff --git a/keyboards/keebio/iris/rev8/rules.mk b/keyboards/keebio/iris/rev8/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/keebio/iris/rev8/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/keebio/iris_ce/rev1/config.h b/keyboards/keebio/iris_ce/rev1/config.h
index e5f43f001e..2a9d57b061 100644
--- a/keyboards/keebio/iris_ce/rev1/config.h
+++ b/keyboards/keebio/iris_ce/rev1/config.h
@@ -3,7 +3,6 @@
#pragma once
-#define SPLIT_HAND_PIN GP4
#define USB_VBUS_PIN GP0
#define SERIAL_USART_FULL_DUPLEX
#define SERIAL_USART_TX_PIN GP12
diff --git a/keyboards/keebio/iris_ce/rev1/keyboard.json b/keyboards/keebio/iris_ce/rev1/keyboard.json
index 6086f948b1..c5cab98778 100644
--- a/keyboards/keebio/iris_ce/rev1/keyboard.json
+++ b/keyboards/keebio/iris_ce/rev1/keyboard.json
@@ -135,12 +135,18 @@
},
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "GP4"
+ },
"matrix_pins": {
"right": {
"cols": ["GP29", "GP28", "GP2", "GP27", "GP18", "GP7"],
"rows": ["GP26", "GP24", "GP23", "GP21", "GP3"]
}
},
+ "serial": {
+ "driver": "vendor"
+ },
"transport": {
"sync_matrix_state": true
}
diff --git a/keyboards/keebio/iris_ce/rev1/rules.mk b/keyboards/keebio/iris_ce/rev1/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/keebio/iris_ce/rev1/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/keebio/irispad/rev8/rules.mk b/keyboards/keebio/irispad/rev8/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/keebio/irispad/rev8/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/keebio/kbo5000/rev1/config.h b/keyboards/keebio/kbo5000/rev1/config.h
index edc732d668..12f7f76c87 100644
--- a/keyboards/keebio/kbo5000/rev1/config.h
+++ b/keyboards/keebio/kbo5000/rev1/config.h
@@ -18,6 +18,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define SPLIT_HAND_PIN F7
-
#define CAPS_LOCK_LED_PIN B6
diff --git a/keyboards/keebio/kbo5000/rev1/keyboard.json b/keyboards/keebio/kbo5000/rev1/keyboard.json
index b42b7116db..68d791bfb9 100644
--- a/keyboards/keebio/kbo5000/rev1/keyboard.json
+++ b/keyboards/keebio/kbo5000/rev1/keyboard.json
@@ -52,6 +52,9 @@
]
}
},
+ "handedness": {
+ "pin": "F7"
+ },
"matrix_pins": {
"right": {
"cols": ["F1", "F0", "F4", "F5", "F6", "D5", "D2", "D3", "B7", "B1"],
diff --git a/keyboards/keebio/levinson/rev3/config.h b/keyboards/keebio/levinson/rev3/config.h
deleted file mode 100644
index 2c1ea67b7a..0000000000
--- a/keyboards/keebio/levinson/rev3/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-Copyright 2012 Jun Wako <[email protected]>
-Copyright 2015 Jack Humbert
-Copyright 2018 Danny Nguyen <[email protected]>
-
-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 SPLIT_HAND_PIN D2
diff --git a/keyboards/keebio/levinson/rev3/keyboard.json b/keyboards/keebio/levinson/rev3/keyboard.json
index 995fb8327d..36c0c5dc9b 100644
--- a/keyboards/keebio/levinson/rev3/keyboard.json
+++ b/keyboards/keebio/levinson/rev3/keyboard.json
@@ -2,6 +2,9 @@
"keyboard_name": "Levinson Rev. 3",
"split": {
"soft_serial_pin": "D0",
+ "handedness": {
+ "pin": "D2"
+ },
"matrix_pins": {
"right": {
"cols": ["F4", "F7", "D3", "B5", "B4", "E6"],
diff --git a/keyboards/keebio/nyquist/rev3/config.h b/keyboards/keebio/nyquist/rev3/config.h
deleted file mode 100644
index 177b2832f5..0000000000
--- a/keyboards/keebio/nyquist/rev3/config.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-Copyright 2017 Danny Nguyen <[email protected]>
-
-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 SPLIT_HAND_PIN D5
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-// #define NO_DEBUG
-
-/* disable print */
-// #define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/keebio/nyquist/rev3/keyboard.json b/keyboards/keebio/nyquist/rev3/keyboard.json
index 062b7ebeae..f975dde6b5 100644
--- a/keyboards/keebio/nyquist/rev3/keyboard.json
+++ b/keyboards/keebio/nyquist/rev3/keyboard.json
@@ -31,6 +31,9 @@
},
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "D5"
+ },
"soft_serial_pin": "D0"
},
"rgblight": {
diff --git a/keyboards/keebio/nyquist/rev4/config.h b/keyboards/keebio/nyquist/rev4/config.h
index 37b015f821..e1e2d99458 100644
--- a/keyboards/keebio/nyquist/rev4/config.h
+++ b/keyboards/keebio/nyquist/rev4/config.h
@@ -3,8 +3,6 @@
#pragma once
-#define SPLIT_HAND_PIN GP23
-
#define USB_VBUS_PIN GP18
#define SERIAL_USART_FULL_DUPLEX
diff --git a/keyboards/keebio/nyquist/rev4/keyboard.json b/keyboards/keebio/nyquist/rev4/keyboard.json
index 804d1aa5d4..cb5c3a39f9 100644
--- a/keyboards/keebio/nyquist/rev4/keyboard.json
+++ b/keyboards/keebio/nyquist/rev4/keyboard.json
@@ -21,12 +21,18 @@
]
}
},
+ "handedness": {
+ "pin": "GP23"
+ },
"matrix_pins": {
"right":{
"cols": ["GP25", "GP29", "GP20", "GP11", "GP3", "GP2"],
"rows": ["GP24", "GP17", "GP15", "GP14", "GP12"]
}
},
+ "serial": {
+ "driver": "vendor"
+ },
"transport": {
"sync" :{
"matrix_state": true
diff --git a/keyboards/keebio/nyquist/rev4/rules.mk b/keyboards/keebio/nyquist/rev4/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/keebio/nyquist/rev4/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/keebio/nyquist/rev5/keyboard.json b/keyboards/keebio/nyquist/rev5/keyboard.json
index 83d88b37b8..fc03c00e29 100644
--- a/keyboards/keebio/nyquist/rev5/keyboard.json
+++ b/keyboards/keebio/nyquist/rev5/keyboard.json
@@ -31,6 +31,9 @@
"rows": ["GP24", "GP17", "GP15", "GP14", "GP12"]
}
},
+ "serial": {
+ "driver": "vendor"
+ },
"transport": {
"sync" :{
"matrix_state": true
diff --git a/keyboards/keebio/nyquist/rev5/rules.mk b/keyboards/keebio/nyquist/rev5/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/keebio/nyquist/rev5/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/keebio/quefrency/rev1/config.h b/keyboards/keebio/quefrency/rev1/config.h
deleted file mode 100644
index c62ff4fef9..0000000000
--- a/keyboards/keebio/quefrency/rev1/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2012 Jun Wako <[email protected]>
-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
-
-#define SPLIT_HAND_PIN D2
diff --git a/keyboards/keebio/quefrency/rev1/keyboard.json b/keyboards/keebio/quefrency/rev1/keyboard.json
index 598fc55000..3dbee364d8 100644
--- a/keyboards/keebio/quefrency/rev1/keyboard.json
+++ b/keyboards/keebio/quefrency/rev1/keyboard.json
@@ -34,6 +34,9 @@
"diode_direction": "COL2ROW",
"split": {
"soft_serial_pin": "D0",
+ "handedness": {
+ "pin": "D2"
+ },
"matrix_pins": {
"right": {
"cols": ["F5", "F6", "F7", "B1", "B3", "B2", "B6", "C6"],
diff --git a/keyboards/keebio/quefrency/rev2/config.h b/keyboards/keebio/quefrency/rev2/config.h
index edc732d668..12f7f76c87 100644
--- a/keyboards/keebio/quefrency/rev2/config.h
+++ b/keyboards/keebio/quefrency/rev2/config.h
@@ -18,6 +18,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define SPLIT_HAND_PIN F7
-
#define CAPS_LOCK_LED_PIN B6
diff --git a/keyboards/keebio/quefrency/rev2/keyboard.json b/keyboards/keebio/quefrency/rev2/keyboard.json
index 0529fa13a6..aacb72994a 100644
--- a/keyboards/keebio/quefrency/rev2/keyboard.json
+++ b/keyboards/keebio/quefrency/rev2/keyboard.json
@@ -50,6 +50,9 @@
]
}
},
+ "handedness": {
+ "pin": "F7"
+ },
"matrix_pins": {
"right": {
"cols": ["F1", "F0", "F4", "F5", "F6", "D5", "C7", "D3", "B7"],
diff --git a/keyboards/keebio/quefrency/rev3/config.h b/keyboards/keebio/quefrency/rev3/config.h
index edc732d668..12f7f76c87 100644
--- a/keyboards/keebio/quefrency/rev3/config.h
+++ b/keyboards/keebio/quefrency/rev3/config.h
@@ -18,6 +18,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define SPLIT_HAND_PIN F7
-
#define CAPS_LOCK_LED_PIN B6
diff --git a/keyboards/keebio/quefrency/rev3/keyboard.json b/keyboards/keebio/quefrency/rev3/keyboard.json
index bd8d86f884..6dd8889a2b 100644
--- a/keyboards/keebio/quefrency/rev3/keyboard.json
+++ b/keyboards/keebio/quefrency/rev3/keyboard.json
@@ -50,6 +50,9 @@
]
}
},
+ "handedness": {
+ "pin": "F7"
+ },
"matrix_pins": {
"right": {
"cols": ["F1", "F0", "F4", "F5", "F6", "D5", "C7", "D3", "B7"],
diff --git a/keyboards/keebio/quefrency/rev4/config.h b/keyboards/keebio/quefrency/rev4/config.h
index 0435a34e7f..572ff9a83a 100644
--- a/keyboards/keebio/quefrency/rev4/config.h
+++ b/keyboards/keebio/quefrency/rev4/config.h
@@ -16,6 +16,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define SPLIT_HAND_PIN F7
-
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
diff --git a/keyboards/keebio/quefrency/rev4/keyboard.json b/keyboards/keebio/quefrency/rev4/keyboard.json
index 8cf21b4962..ef60302c74 100644
--- a/keyboards/keebio/quefrency/rev4/keyboard.json
+++ b/keyboards/keebio/quefrency/rev4/keyboard.json
@@ -47,6 +47,9 @@
]
}
},
+ "handedness": {
+ "pin": "F7"
+ },
"matrix_pins": {
"right": {
"cols": ["F1", "F0", "F4", "F5", "F6", "D5", "C7", "D3", "B7"],
diff --git a/keyboards/keebio/quefrency/rev5/config.h b/keyboards/keebio/quefrency/rev5/config.h
index 0435a34e7f..572ff9a83a 100644
--- a/keyboards/keebio/quefrency/rev5/config.h
+++ b/keyboards/keebio/quefrency/rev5/config.h
@@ -16,6 +16,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define SPLIT_HAND_PIN F7
-
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
diff --git a/keyboards/keebio/quefrency/rev5/keyboard.json b/keyboards/keebio/quefrency/rev5/keyboard.json
index b5f9c994af..96b4fa5d26 100644
--- a/keyboards/keebio/quefrency/rev5/keyboard.json
+++ b/keyboards/keebio/quefrency/rev5/keyboard.json
@@ -47,6 +47,9 @@
]
}
},
+ "handedness": {
+ "pin": "F7"
+ },
"matrix_pins": {
"right": {
"cols": ["F1", "F0", "F4", "F5", "F6", "D5", "C7", "D3", "B7"],
diff --git a/keyboards/keebio/sinc/rev1/config.h b/keyboards/keebio/sinc/rev1/config.h
index 80762574ab..572ff9a83a 100644
--- a/keyboards/keebio/sinc/rev1/config.h
+++ b/keyboards/keebio/sinc/rev1/config.h
@@ -16,7 +16,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-// wiring of each half
-#define SPLIT_HAND_PIN F7
-
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
diff --git a/keyboards/keebio/sinc/rev1/keyboard.json b/keyboards/keebio/sinc/rev1/keyboard.json
index a026aea007..929d0c0d82 100644
--- a/keyboards/keebio/sinc/rev1/keyboard.json
+++ b/keyboards/keebio/sinc/rev1/keyboard.json
@@ -39,6 +39,9 @@
]
}
},
+ "handedness": {
+ "pin": "F7"
+ },
"matrix_pins": {
"right": {
"cols": ["F1", "F0", "F4", "F5", "F6", "D5", "C7", "D3", "B7"],
@@ -57,6 +60,9 @@
]
},
"backlight": {
+ "default": {
+ "brightness": 3
+ },
"pin": "B5"
},
"rgblight": {
diff --git a/keyboards/keebio/sinc/rev2/config.h b/keyboards/keebio/sinc/rev2/config.h
index 80762574ab..572ff9a83a 100644
--- a/keyboards/keebio/sinc/rev2/config.h
+++ b/keyboards/keebio/sinc/rev2/config.h
@@ -16,7 +16,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-// wiring of each half
-#define SPLIT_HAND_PIN F7
-
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
diff --git a/keyboards/keebio/sinc/rev2/keyboard.json b/keyboards/keebio/sinc/rev2/keyboard.json
index 77f8f3c9ca..71d1f62279 100644
--- a/keyboards/keebio/sinc/rev2/keyboard.json
+++ b/keyboards/keebio/sinc/rev2/keyboard.json
@@ -39,6 +39,9 @@
]
}
},
+ "handedness": {
+ "pin": "F7"
+ },
"matrix_pins": {
"right": {
"cols": ["F1", "F0", "F4", "F5", "F6", "D5", "C7", "D3", "B7"],
@@ -57,6 +60,9 @@
]
},
"backlight": {
+ "default": {
+ "brightness": 3
+ },
"pin": "B5"
},
"rgblight": {
diff --git a/keyboards/keebio/sinc/rev3/config.h b/keyboards/keebio/sinc/rev3/config.h
index 89c8c0f3d8..3771f8da1d 100644
--- a/keyboards/keebio/sinc/rev3/config.h
+++ b/keyboards/keebio/sinc/rev3/config.h
@@ -16,8 +16,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define SPLIT_HAND_PIN GP4
-
#define SERIAL_USART_FULL_DUPLEX
#define SERIAL_USART_TX_PIN GP0
#define SERIAL_USART_RX_PIN GP1
diff --git a/keyboards/keebio/sinc/rev3/keyboard.json b/keyboards/keebio/sinc/rev3/keyboard.json
index da828dbb35..9ee599dd20 100644
--- a/keyboards/keebio/sinc/rev3/keyboard.json
+++ b/keyboards/keebio/sinc/rev3/keyboard.json
@@ -20,12 +20,18 @@
]
}
},
+ "handedness": {
+ "pin": "GP4"
+ },
"matrix_pins": {
"right": {
"cols": ["GP29", "GP28", "GP27", "GP7", "GP2", "GP3", "GP11", "GP12", "GP13"],
"rows": ["GP16", "GP19", "GP17", "GP9", "GP8", "GP26"]
}
},
+ "serial": {
+ "driver": "vendor"
+ },
"transport": {
"sync": {
"matrix_state": true
diff --git a/keyboards/keebio/sinc/rev3/rules.mk b/keyboards/keebio/sinc/rev3/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/keebio/sinc/rev3/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/keebio/sinc/rev4/config.h b/keyboards/keebio/sinc/rev4/config.h
index 0a9b9846eb..5042d0c924 100644
--- a/keyboards/keebio/sinc/rev4/config.h
+++ b/keyboards/keebio/sinc/rev4/config.h
@@ -3,8 +3,6 @@
#pragma once
-#define SPLIT_HAND_PIN GP4
-
#define USB_VBUS_PIN GP14
#define SERIAL_USART_FULL_DUPLEX
diff --git a/keyboards/keebio/sinc/rev4/keyboard.json b/keyboards/keebio/sinc/rev4/keyboard.json
index 15b28fb012..63b8994e8b 100644
--- a/keyboards/keebio/sinc/rev4/keyboard.json
+++ b/keyboards/keebio/sinc/rev4/keyboard.json
@@ -20,12 +20,18 @@
]
}
},
+ "handedness": {
+ "pin": "GP4"
+ },
"matrix_pins": {
"right": {
"cols": ["GP29", "GP28", "GP27", "GP7", "GP2", "GP3", "GP11", "GP12", "GP13"],
"rows": ["GP16", "GP19", "GP17", "GP9", "GP8", "GP26"]
}
},
+ "serial": {
+ "driver": "vendor"
+ },
"transport": {
"sync": {
"matrix_state": true
diff --git a/keyboards/keebio/sinc/rev4/rules.mk b/keyboards/keebio/sinc/rev4/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/keebio/sinc/rev4/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/keebio/sinc/sinc.c b/keyboards/keebio/sinc/sinc.c
index c1ebd1a206..faa3540af9 100644
--- a/keyboards/keebio/sinc/sinc.c
+++ b/keyboards/keebio/sinc/sinc.c
@@ -28,15 +28,6 @@ bool led_update_kb(led_t led_state) {
}
#endif
-void eeconfig_init_kb(void) {
-#ifdef BACKLIGHT_ENABLE
- backlight_enable();
- backlight_level(3);
-#endif
- eeconfig_update_kb(0);
- eeconfig_init_user();
-}
-
#ifdef ENCODER_ENABLE
bool encoder_update_kb(uint8_t index, bool clockwise) {
if (!encoder_update_user(index, clockwise)) { return false; }
diff --git a/keyboards/keebio/viterbi/rev2/config.h b/keyboards/keebio/viterbi/rev2/config.h
deleted file mode 100644
index 5b609ab777..0000000000
--- a/keyboards/keebio/viterbi/rev2/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-Copyright 2017 Danny Nguyen <[email protected]>
-
-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 SPLIT_HAND_PIN D2
diff --git a/keyboards/keebio/viterbi/rev2/keyboard.json b/keyboards/keebio/viterbi/rev2/keyboard.json
index 599529a365..58d921da94 100644
--- a/keyboards/keebio/viterbi/rev2/keyboard.json
+++ b/keyboards/keebio/viterbi/rev2/keyboard.json
@@ -1,6 +1,9 @@
{
"keyboard_name": "Viterbi Rev. 2",
"split": {
+ "handedness": {
+ "pin": "D2"
+ },
"soft_serial_pin": "D0"
},
"usb": {
diff --git a/keyboards/keycapsss/3w6_2040/keyboard.json b/keyboards/keycapsss/3w6_2040/keyboard.json
index 88bc275a69..f29b3753c6 100644
--- a/keyboards/keycapsss/3w6_2040/keyboard.json
+++ b/keyboards/keycapsss/3w6_2040/keyboard.json
@@ -50,6 +50,9 @@
},
"split": {
"enabled": true,
+ "serial": {
+ "driver": "vendor"
+ },
"transport": {
"sync": {
"indicators": true,
diff --git a/keyboards/keycapsss/3w6_2040/rules.mk b/keyboards/keycapsss/3w6_2040/rules.mk
index 7b11b23005..0cac88f7f7 100644
--- a/keyboards/keycapsss/3w6_2040/rules.mk
+++ b/keyboards/keycapsss/3w6_2040/rules.mk
@@ -1,2 +1 @@
-SERIAL_DRIVER = vendor
POINTING_DEVICE_DRIVER = pimoroni_trackball
diff --git a/keyboards/keychron/c1_pro/ansi/white/keyboard.json b/keyboards/keychron/c1_pro/ansi/white/keyboard.json
index c64183a739..466de1d6e3 100644
--- a/keyboards/keychron/c1_pro/ansi/white/keyboard.json
+++ b/keyboards/keychron/c1_pro/ansi/white/keyboard.json
@@ -190,9 +190,9 @@
{"matrix":[3, 11], "flags":4, "x":153, "y":39},
{"matrix":[3, 13], "flags":1, "x":174, "y":39},
- {"matrix":[4, 12], "flags":8, "x":198, "y":39},
- {"matrix":[4, 12], "flags":8, "x":211, "y":39},
- {"matrix":[4, 12], "flags":8, "x":224, "y":39},
+ {"flags":8, "x":198, "y":39},
+ {"flags":8, "x":211, "y":39},
+ {"flags":8, "x":224, "y":39},
{"matrix":[4, 0], "flags":1, "x":8, "y":52},
{"matrix":[4, 2], "flags":4, "x":29, "y":52},
diff --git a/keyboards/keychron/c2_pro/ansi/white/keyboard.json b/keyboards/keychron/c2_pro/ansi/white/keyboard.json
index 4c103e966d..cd05e77aa2 100644
--- a/keyboards/keychron/c2_pro/ansi/white/keyboard.json
+++ b/keyboards/keychron/c2_pro/ansi/white/keyboard.json
@@ -157,10 +157,10 @@
{"matrix":[0, 15], "flags":1, "x":169, "y":0},
{"matrix":[0, 16], "flags":1, "x":180, "y":0},
- {"matrix":[0, 13], "flags":8, "x":193, "y":0},
- {"matrix":[0, 13], "flags":8, "x":203, "y":0},
- {"matrix":[0, 13], "flags":8, "x":214, "y":0},
- {"matrix":[0, 13], "flags":8, "x":224, "y":0},
+ {"flags":8, "x":193, "y":0},
+ {"flags":8, "x":203, "y":0},
+ {"flags":8, "x":214, "y":0},
+ {"flags":8, "x":224, "y":0},
{"matrix":[1, 0], "flags":4, "x":0, "y":15},
{"matrix":[1, 1], "flags":4, "x":10, "y":15},
diff --git a/keyboards/keychron/c2_pro/matrix.c b/keyboards/keychron/c2_pro/matrix.c
index 7d5b3e4e79..e05ac5e061 100644
--- a/keyboards/keychron/c2_pro/matrix.c
+++ b/keyboards/keychron/c2_pro/matrix.c
@@ -41,21 +41,21 @@
pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
-static inline void setPinOutput_writeLow(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_low(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_low(pin);
}
}
-static inline void setPinOutput_writeHigh(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_high(pin);
}
}
-static inline void setPinInput_high(pin_t pin) {
+static inline void gpio_atomic_set_pin_input_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_input_high(pin);
}
@@ -106,7 +106,7 @@ static bool select_col(uint8_t col) {
pin_t pin = col_pins[col];
if (col < SHIFT_COL_START || col > SHIFT_COL_END) {
- setPinOutput_writeLow(pin);
+ gpio_atomic_set_pin_output_low(pin);
return true;
} else {
if (col == SHIFT_COL_START) {
@@ -122,9 +122,9 @@ static void unselect_col(uint8_t col) {
if (col < SHIFT_COL_START || col > SHIFT_COL_END) {
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
- setPinOutput_writeHigh(pin);
+ gpio_atomic_set_pin_output_high(pin);
#else
- setPinInput_high(pin);
+ gpio_atomic_set_pin_input_high(pin);
#endif
} else {
HC595_output(0x01, 1);
@@ -136,9 +136,9 @@ static void unselect_cols(void) {
pin_t pin = col_pins[x];
if (x < SHIFT_COL_START || x > SHIFT_COL_END) {
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
- setPinOutput_writeHigh(pin);
+ gpio_atomic_set_pin_output_high(pin);
#else
- setPinInput_high(pin);
+ gpio_atomic_set_pin_input_high(pin);
#endif
} else {
if (x == SHIFT_COL_START) HC595_output(UNSELECT_ALL_COL, 0);
@@ -181,7 +181,7 @@ void matrix_init_custom(void) {
for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
if (row_pins[x] != NO_PIN) {
- setPinInput_high(row_pins[x]);
+ gpio_atomic_set_pin_input_high(row_pins[x]);
}
}
diff --git a/keyboards/keychron/q10/matrix.c b/keyboards/keychron/q10/matrix.c
index b772fd7889..cd6e842e15 100644
--- a/keyboards/keychron/q10/matrix.c
+++ b/keyboards/keychron/q10/matrix.c
@@ -34,21 +34,21 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
#define ROWS_PER_HAND (MATRIX_ROWS)
-static inline void setPinOutput_writeLow(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_low(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_low(pin);
}
}
-static inline void setPinOutput_writeHigh(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_high(pin);
}
}
-static inline void setPinInputHigh_atomic(pin_t pin) {
+static inline void gpio_atomic_set_pin_input_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_input_high(pin);
}
@@ -65,35 +65,35 @@ static inline uint8_t readMatrixPin(pin_t pin) {
static void shiftOutMultiple(uint16_t dataOut) {
for (uint8_t i = 0; i < 8; i++) {
if (dataOut & 0x1) {
- setPinOutput_writeHigh(DATA_PIN);
+ gpio_atomic_set_pin_output_high(DATA_PIN);
} else {
- setPinOutput_writeLow(DATA_PIN);
+ gpio_atomic_set_pin_output_low(DATA_PIN);
}
dataOut = dataOut >> 1;
- setPinOutput_writeHigh(CLOCK_PIN);
- setPinOutput_writeLow(CLOCK_PIN);
+ gpio_atomic_set_pin_output_high(CLOCK_PIN);
+ gpio_atomic_set_pin_output_low(CLOCK_PIN);
}
- setPinOutput_writeHigh(LATCH_PIN);
- setPinOutput_writeLow(LATCH_PIN);
+ gpio_atomic_set_pin_output_high(LATCH_PIN);
+ gpio_atomic_set_pin_output_low(LATCH_PIN);
}
static void shiftOut_single(uint8_t dataOut) {
if (dataOut & 0x1) {
- setPinOutput_writeHigh(DATA_PIN);
+ gpio_atomic_set_pin_output_high(DATA_PIN);
} else {
- setPinOutput_writeLow(DATA_PIN);
+ gpio_atomic_set_pin_output_low(DATA_PIN);
}
- setPinOutput_writeHigh(CLOCK_PIN);
- setPinOutput_writeLow(CLOCK_PIN);
- setPinOutput_writeHigh(LATCH_PIN);
- setPinOutput_writeLow(LATCH_PIN);
+ gpio_atomic_set_pin_output_high(CLOCK_PIN);
+ gpio_atomic_set_pin_output_low(CLOCK_PIN);
+ gpio_atomic_set_pin_output_high(LATCH_PIN);
+ gpio_atomic_set_pin_output_low(LATCH_PIN);
}
static bool select_col(uint8_t col) {
pin_t pin = col_pins[col];
if (pin != NO_PIN) {
- setPinOutput_writeLow(pin);
+ gpio_atomic_set_pin_output_low(pin);
return true;
} else {
if (col == (MATRIX_COLS - 8)) {
@@ -111,16 +111,16 @@ static void unselect_col(uint8_t col) {
if (pin != NO_PIN) {
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
- setPinOutput_writeHigh(pin);
+ gpio_atomic_set_pin_output_high(pin);
#else
- setPinInputHigh_atomic(pin);
+ gpio_atomic_set_pin_input_high(pin);
#endif
} else {
if (col == (MATRIX_COLS - 1)) {
- setPinOutput_writeHigh(CLOCK_PIN);
- setPinOutput_writeLow(CLOCK_PIN);
- setPinOutput_writeHigh(LATCH_PIN);
- setPinOutput_writeLow(LATCH_PIN);
+ gpio_atomic_set_pin_output_high(CLOCK_PIN);
+ gpio_atomic_set_pin_output_low(CLOCK_PIN);
+ gpio_atomic_set_pin_output_high(LATCH_PIN);
+ gpio_atomic_set_pin_output_low(LATCH_PIN);
}
}
}
@@ -131,9 +131,9 @@ static void unselect_cols(void) {
pin_t pin = col_pins[x];
if (pin != NO_PIN) {
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
- setPinOutput_writeHigh(pin);
+ gpio_atomic_set_pin_output_high(pin);
#else
- setPinInputHigh_atomic(pin);
+ gpio_atomic_set_pin_input_high(pin);
#endif
} else {
if (x == (MATRIX_COLS - 1)) {
@@ -148,7 +148,7 @@ static void matrix_init_pins(void) {
unselect_cols();
for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
if (row_pins[x] != NO_PIN) {
- setPinInputHigh_atomic(row_pins[x]);
+ gpio_atomic_set_pin_input_high(row_pins[x]);
}
}
}
diff --git a/keyboards/keychron/q11/ansi_encoder/rules.mk b/keyboards/keychron/q11/ansi_encoder/rules.mk
deleted file mode 100644
index c6e2988321..0000000000
--- a/keyboards/keychron/q11/ansi_encoder/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = usart
diff --git a/keyboards/keychron/q11/config.h b/keyboards/keychron/q11/config.h
index b1b40c98ab..1fda4b18d7 100755
--- a/keyboards/keychron/q11/config.h
+++ b/keyboards/keychron/q11/config.h
@@ -29,9 +29,6 @@
#define SNLED27351_CURRENT_TUNE \
{ 0x80, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0x80, 0xFF, 0xFF } // 300mA
-/* Split Keyboard specific options. */
-#define SERIAL_USART_TX_PIN A9 // USART TX pin
-
/* Encoder Configuration */
#define ENCODER_DEFAULT_POS 0x3
diff --git a/keyboards/keychron/q11/info.json b/keyboards/keychron/q11/info.json
index 51a8e5937e..73c4233876 100755
--- a/keyboards/keychron/q11/info.json
+++ b/keyboards/keychron/q11/info.json
@@ -53,6 +53,10 @@
"rows": ["B5", "B4", "B3", "A15", "A14", "A13"]
}
},
+ "serial": {
+ "driver": "usart",
+ "pin": "A9"
+ },
"transport": {
"sync" :{
"matrix_state": true
diff --git a/keyboards/keychron/q11/iso_encoder/rules.mk b/keyboards/keychron/q11/iso_encoder/rules.mk
deleted file mode 100755
index c6e2988321..0000000000
--- a/keyboards/keychron/q11/iso_encoder/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = usart
diff --git a/keyboards/keychron/q12/matrix.c b/keyboards/keychron/q12/matrix.c
index 9d5e9c4d39..bfb51703a0 100644
--- a/keyboards/keychron/q12/matrix.c
+++ b/keyboards/keychron/q12/matrix.c
@@ -34,21 +34,21 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
#define ROWS_PER_HAND (MATRIX_ROWS)
-static inline void setPinOutput_writeLow(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_low(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_low(pin);
}
}
-static inline void setPinOutput_writeHigh(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_high(pin);
}
}
-static inline void setPinInputHigh_atomic(pin_t pin) {
+static inline void gpio_atomic_set_pin_input_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_input_high(pin);
}
@@ -65,36 +65,36 @@ static inline uint8_t readMatrixPin(pin_t pin) {
static void shiftOut(uint8_t dataOut) {
for (uint8_t i = 0; i < 8; i++) {
if (dataOut & 0x1) {
- setPinOutput_writeHigh(DATA_PIN);
+ gpio_atomic_set_pin_output_high(DATA_PIN);
} else {
- setPinOutput_writeLow(DATA_PIN);
+ gpio_atomic_set_pin_output_low(DATA_PIN);
}
dataOut = dataOut >> 1;
- setPinOutput_writeHigh(CLOCK_PIN);
- setPinOutput_writeLow(CLOCK_PIN);
+ gpio_atomic_set_pin_output_high(CLOCK_PIN);
+ gpio_atomic_set_pin_output_low(CLOCK_PIN);
}
- setPinOutput_writeHigh(LATCH_PIN);
- setPinOutput_writeLow(LATCH_PIN);
+ gpio_atomic_set_pin_output_high(LATCH_PIN);
+ gpio_atomic_set_pin_output_low(LATCH_PIN);
}
static void shiftout_single(uint8_t data) {
if (data & 0x1) {
- setPinOutput_writeHigh(DATA_PIN);
+ gpio_atomic_set_pin_output_high(DATA_PIN);
} else {
- setPinOutput_writeLow(DATA_PIN);
+ gpio_atomic_set_pin_output_low(DATA_PIN);
}
- setPinOutput_writeHigh(CLOCK_PIN);
- setPinOutput_writeLow(CLOCK_PIN);
+ gpio_atomic_set_pin_output_high(CLOCK_PIN);
+ gpio_atomic_set_pin_output_low(CLOCK_PIN);
- setPinOutput_writeHigh(LATCH_PIN);
- setPinOutput_writeLow(LATCH_PIN);
+ gpio_atomic_set_pin_output_high(LATCH_PIN);
+ gpio_atomic_set_pin_output_low(LATCH_PIN);
}
static bool select_col(uint8_t col) {
pin_t pin = col_pins[col];
if (pin != NO_PIN) {
- setPinOutput_writeLow(pin);
+ gpio_atomic_set_pin_output_low(pin);
return true;
} else {
if (col == 10) {
@@ -112,16 +112,16 @@ static void unselect_col(uint8_t col) {
if (pin != NO_PIN) {
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
- setPinOutput_writeHigh(pin);
+ gpio_atomic_set_pin_output_high(pin);
#else
- setPinInputHigh_atomic(pin);
+ gpio_atomic_set_pin_input_high(pin);
#endif
} else {
if (col == (MATRIX_COLS - 1))
- setPinOutput_writeHigh(CLOCK_PIN);
- setPinOutput_writeLow(CLOCK_PIN);
- setPinOutput_writeHigh(LATCH_PIN);
- setPinOutput_writeLow(LATCH_PIN);
+ gpio_atomic_set_pin_output_high(CLOCK_PIN);
+ gpio_atomic_set_pin_output_low(CLOCK_PIN);
+ gpio_atomic_set_pin_output_high(LATCH_PIN);
+ gpio_atomic_set_pin_output_low(LATCH_PIN);
}
}
@@ -131,9 +131,9 @@ static void unselect_cols(void) {
pin_t pin = col_pins[x];
if (pin != NO_PIN) {
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
- setPinOutput_writeHigh(pin);
+ gpio_atomic_set_pin_output_high(pin);
#else
- setPinInputHigh_atomic(pin);
+ gpio_atomic_set_pin_input_high(pin);
#endif
}
if (x == 10)
@@ -146,7 +146,7 @@ static void matrix_init_pins(void) {
unselect_cols();
for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
if (row_pins[x] != NO_PIN) {
- setPinInputHigh_atomic(row_pins[x]);
+ gpio_atomic_set_pin_input_high(row_pins[x]);
}
}
}
diff --git a/keyboards/keychron/q1v2/matrix.c b/keyboards/keychron/q1v2/matrix.c
index 8e01bdb73e..5fa60c1b1d 100644
--- a/keyboards/keychron/q1v2/matrix.c
+++ b/keyboards/keychron/q1v2/matrix.c
@@ -34,21 +34,21 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
#define ROWS_PER_HAND (MATRIX_ROWS)
-static inline void setPinOutput_writeLow(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_low(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_low(pin);
}
}
-static inline void setPinOutput_writeHigh(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_high(pin);
}
}
-static inline void setPinInputHigh_atomic(pin_t pin) {
+static inline void gpio_atomic_set_pin_input_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_input_high(pin);
}
@@ -65,37 +65,37 @@ static inline uint8_t readMatrixPin(pin_t pin) {
static void shiftOut(uint8_t dataOut) {
for (uint8_t i = 0; i < 8; i++) {
if (dataOut & 0x1) {
- setPinOutput_writeHigh(DATA_PIN);
+ gpio_atomic_set_pin_output_high(DATA_PIN);
} else {
- setPinOutput_writeLow(DATA_PIN);
+ gpio_atomic_set_pin_output_low(DATA_PIN);
}
dataOut = dataOut >> 1;
- setPinOutput_writeHigh(CLOCK_PIN);
- setPinOutput_writeLow(CLOCK_PIN);
+ gpio_atomic_set_pin_output_high(CLOCK_PIN);
+ gpio_atomic_set_pin_output_low(CLOCK_PIN);
}
- setPinOutput_writeHigh(LATCH_PIN);
- setPinOutput_writeLow(LATCH_PIN);
+ gpio_atomic_set_pin_output_high(LATCH_PIN);
+ gpio_atomic_set_pin_output_low(LATCH_PIN);
}
static void shiftout_single(uint8_t data) {
if (data & 0x1) {
- setPinOutput_writeHigh(DATA_PIN);
+ gpio_atomic_set_pin_output_high(DATA_PIN);
} else {
- setPinOutput_writeLow(DATA_PIN);
+ gpio_atomic_set_pin_output_low(DATA_PIN);
}
- setPinOutput_writeHigh(CLOCK_PIN);
- setPinOutput_writeLow(CLOCK_PIN);
+ gpio_atomic_set_pin_output_high(CLOCK_PIN);
+ gpio_atomic_set_pin_output_low(CLOCK_PIN);
- setPinOutput_writeHigh(LATCH_PIN);
- setPinOutput_writeLow(LATCH_PIN);
+ gpio_atomic_set_pin_output_high(LATCH_PIN);
+ gpio_atomic_set_pin_output_low(LATCH_PIN);
}
static bool select_col(uint8_t col) {
pin_t pin = col_pins[col];
if (pin != NO_PIN) {
- setPinOutput_writeLow(pin);
+ gpio_atomic_set_pin_output_low(pin);
return true;
} else {
if (col == 8) {
@@ -113,9 +113,9 @@ static void unselect_col(uint8_t col) {
if (pin != NO_PIN) {
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
- setPinOutput_writeHigh(pin);
+ gpio_atomic_set_pin_output_high(pin);
#else
- setPinInputHigh_atomic(pin);
+ gpio_atomic_set_pin_input_high(pin);
#endif
} else {
if (col == (MATRIX_COLS - 1)) shiftout_single(0x01);
@@ -129,9 +129,9 @@ static void unselect_cols(void) {
if (pin != NO_PIN) {
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
- setPinOutput_writeHigh(pin);
+ gpio_atomic_set_pin_output_high(pin);
#else
- setPinInputHigh_atomic(pin);
+ gpio_atomic_set_pin_input_high(pin);
#endif
}
if (x == (MATRIX_COLS - 1))
@@ -144,7 +144,7 @@ static void matrix_init_pins(void) {
unselect_cols();
for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
if (row_pins[x] != NO_PIN) {
- setPinInputHigh_atomic(row_pins[x]);
+ gpio_atomic_set_pin_input_high(row_pins[x]);
}
}
}
diff --git a/keyboards/keychron/q3/matrix.c b/keyboards/keychron/q3/matrix.c
index 25b3f6ed4e..5ed8d7bc4f 100644
--- a/keyboards/keychron/q3/matrix.c
+++ b/keyboards/keychron/q3/matrix.c
@@ -34,21 +34,21 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
#define ROWS_PER_HAND (MATRIX_ROWS)
-static inline void setPinOutput_writeLow(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_low(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_low(pin);
}
}
-static inline void setPinOutput_writeHigh(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_high(pin);
}
}
-static inline void setPinInputHigh_atomic(pin_t pin) {
+static inline void gpio_atomic_set_pin_input_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_input_high(pin);
}
@@ -65,37 +65,37 @@ static inline uint8_t readMatrixPin(pin_t pin) {
static void shiftOut(uint8_t dataOut) {
for (uint8_t i = 0; i < 8; i++) {
if (dataOut & 0x1) {
- setPinOutput_writeHigh(DATA_PIN);
+ gpio_atomic_set_pin_output_high(DATA_PIN);
} else {
- setPinOutput_writeLow(DATA_PIN);
+ gpio_atomic_set_pin_output_low(DATA_PIN);
}
dataOut = dataOut >> 1;
- setPinOutput_writeHigh(CLOCK_PIN);
- setPinOutput_writeLow(CLOCK_PIN);
+ gpio_atomic_set_pin_output_high(CLOCK_PIN);
+ gpio_atomic_set_pin_output_low(CLOCK_PIN);
}
- setPinOutput_writeHigh(LATCH_PIN);
- setPinOutput_writeLow(LATCH_PIN);
+ gpio_atomic_set_pin_output_high(LATCH_PIN);
+ gpio_atomic_set_pin_output_low(LATCH_PIN);
}
static void shiftout_single(uint8_t data) {
if (data & 0x1) {
- setPinOutput_writeHigh(DATA_PIN);
+ gpio_atomic_set_pin_output_high(DATA_PIN);
} else {
- setPinOutput_writeLow(DATA_PIN);
+ gpio_atomic_set_pin_output_low(DATA_PIN);
}
- setPinOutput_writeHigh(CLOCK_PIN);
- setPinOutput_writeLow(CLOCK_PIN);
+ gpio_atomic_set_pin_output_high(CLOCK_PIN);
+ gpio_atomic_set_pin_output_low(CLOCK_PIN);
- setPinOutput_writeHigh(LATCH_PIN);
- setPinOutput_writeLow(LATCH_PIN);
+ gpio_atomic_set_pin_output_high(LATCH_PIN);
+ gpio_atomic_set_pin_output_low(LATCH_PIN);
}
static bool select_col(uint8_t col) {
pin_t pin = col_pins[col];
if (pin != NO_PIN) {
- setPinOutput_writeLow(pin);
+ gpio_atomic_set_pin_output_low(pin);
return true;
} else {
if (col == 8) {
@@ -113,9 +113,9 @@ static void unselect_col(uint8_t col) {
if (pin != NO_PIN) {
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
- setPinOutput_writeHigh(pin);
+ gpio_atomic_set_pin_output_high(pin);
#else
- setPinInputHigh_atomic(pin);
+ gpio_atomic_set_pin_input_high(pin);
#endif
} else {
if (col == (MATRIX_COLS - 1))
@@ -130,9 +130,9 @@ static void unselect_cols(void) {
if (pin != NO_PIN) {
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
- setPinOutput_writeHigh(pin);
+ gpio_atomic_set_pin_output_high(pin);
#else
- setPinInputHigh_atomic(pin);
+ gpio_atomic_set_pin_input_high(pin);
#endif
}
if (x == (MATRIX_COLS - 1))
@@ -145,7 +145,7 @@ static void matrix_init_pins(void) {
unselect_cols();
for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
if (row_pins[x] != NO_PIN) {
- setPinInputHigh_atomic(row_pins[x]);
+ gpio_atomic_set_pin_input_high(row_pins[x]);
}
}
}
diff --git a/keyboards/keychron/q5/matrix.c b/keyboards/keychron/q5/matrix.c
index e7f69d9821..e38301f00f 100644
--- a/keyboards/keychron/q5/matrix.c
+++ b/keyboards/keychron/q5/matrix.c
@@ -34,21 +34,21 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
#define ROWS_PER_HAND (MATRIX_ROWS)
-static inline void setPinOutput_writeLow(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_low(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_low(pin);
}
}
-static inline void setPinOutput_writeHigh(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_high(pin);
}
}
-static inline void setPinInputHigh_atomic(pin_t pin) {
+static inline void gpio_atomic_set_pin_input_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_input_high(pin);
}
@@ -65,36 +65,36 @@ static inline uint8_t readMatrixPin(pin_t pin) {
static void shiftOut(uint8_t dataOut) {
for (uint8_t i = 0; i < 8; i++) {
if (dataOut & 0x1) {
- setPinOutput_writeHigh(DATA_PIN);
+ gpio_atomic_set_pin_output_high(DATA_PIN);
} else {
- setPinOutput_writeLow(DATA_PIN);
+ gpio_atomic_set_pin_output_low(DATA_PIN);
}
dataOut = dataOut >> 1;
- setPinOutput_writeHigh(CLOCK_PIN);
- setPinOutput_writeLow(CLOCK_PIN);
+ gpio_atomic_set_pin_output_high(CLOCK_PIN);
+ gpio_atomic_set_pin_output_low(CLOCK_PIN);
}
- setPinOutput_writeHigh(LATCH_PIN);
- setPinOutput_writeLow(LATCH_PIN);
+ gpio_atomic_set_pin_output_high(LATCH_PIN);
+ gpio_atomic_set_pin_output_low(LATCH_PIN);
}
static void shiftout_single(uint8_t data) {
if (data & 0x1) {
- setPinOutput_writeHigh(DATA_PIN);
+ gpio_atomic_set_pin_output_high(DATA_PIN);
} else {
- setPinOutput_writeLow(DATA_PIN);
+ gpio_atomic_set_pin_output_low(DATA_PIN);
}
- setPinOutput_writeHigh(CLOCK_PIN);
- setPinOutput_writeLow(CLOCK_PIN);
+ gpio_atomic_set_pin_output_high(CLOCK_PIN);
+ gpio_atomic_set_pin_output_low(CLOCK_PIN);
- setPinOutput_writeHigh(LATCH_PIN);
- setPinOutput_writeLow(LATCH_PIN);
+ gpio_atomic_set_pin_output_high(LATCH_PIN);
+ gpio_atomic_set_pin_output_low(LATCH_PIN);
}
static bool select_col(uint8_t col) {
pin_t pin = col_pins[col];
if (pin != NO_PIN) {
- setPinOutput_writeLow(pin);
+ gpio_atomic_set_pin_output_low(pin);
return true;
} else {
if (col == 10) {
@@ -112,16 +112,16 @@ static void unselect_col(uint8_t col) {
if (pin != NO_PIN) {
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
- setPinOutput_writeHigh(pin);
+ gpio_atomic_set_pin_output_high(pin);
#else
- setPinInputHigh_atomic(pin);
+ gpio_atomic_set_pin_input_high(pin);
#endif
} else {
if (col == (MATRIX_COLS - 1))
- setPinOutput_writeHigh(CLOCK_PIN);
- setPinOutput_writeLow(CLOCK_PIN);
- setPinOutput_writeHigh(LATCH_PIN);
- setPinOutput_writeLow(LATCH_PIN);
+ gpio_atomic_set_pin_output_high(CLOCK_PIN);
+ gpio_atomic_set_pin_output_low(CLOCK_PIN);
+ gpio_atomic_set_pin_output_high(LATCH_PIN);
+ gpio_atomic_set_pin_output_low(LATCH_PIN);
}
}
@@ -131,9 +131,9 @@ static void unselect_cols(void) {
pin_t pin = col_pins[x];
if (pin != NO_PIN) {
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
- setPinOutput_writeHigh(pin);
+ gpio_atomic_set_pin_output_high(pin);
#else
- setPinInputHigh_atomic(pin);
+ gpio_atomic_set_pin_input_high(pin);
#endif
}
if (x == (MATRIX_COLS - 1))
@@ -146,7 +146,7 @@ static void matrix_init_pins(void) {
unselect_cols();
for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
if (row_pins[x] != NO_PIN) {
- setPinInputHigh_atomic(row_pins[x]);
+ gpio_atomic_set_pin_input_high(row_pins[x]);
}
}
}
diff --git a/keyboards/keychron/q6/matrix.c b/keyboards/keychron/q6/matrix.c
index 95e00405b4..c61a38ad73 100644
--- a/keyboards/keychron/q6/matrix.c
+++ b/keyboards/keychron/q6/matrix.c
@@ -46,21 +46,21 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
# define CLR_REG_VAL 0xFF
#endif
-static inline void setPinOutput_writeLow(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_low(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_low(pin);
}
}
-static inline void setPinOutput_writeHigh(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_high(pin);
}
}
-static inline void setPinInputHigh_atomic(pin_t pin) {
+static inline void gpio_atomic_set_pin_input_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_input_high(pin);
}
@@ -77,36 +77,36 @@ static inline uint8_t readMatrixPin(pin_t pin) {
static void shiftOut(uint16_t dataOut) {
for (uint8_t i = 0; i < NO_PIN_NUM; i++) {
if (dataOut & 0x1) {
- setPinOutput_writeHigh(DATA_PIN);
+ gpio_atomic_set_pin_output_high(DATA_PIN);
} else {
- setPinOutput_writeLow(DATA_PIN);
+ gpio_atomic_set_pin_output_low(DATA_PIN);
}
dataOut = dataOut >> 1;
- setPinOutput_writeHigh(CLOCK_PIN);
- setPinOutput_writeLow(CLOCK_PIN);
+ gpio_atomic_set_pin_output_high(CLOCK_PIN);
+ gpio_atomic_set_pin_output_low(CLOCK_PIN);
}
- setPinOutput_writeHigh(LATCH_PIN);
- setPinOutput_writeLow(LATCH_PIN);
+ gpio_atomic_set_pin_output_high(LATCH_PIN);
+ gpio_atomic_set_pin_output_low(LATCH_PIN);
}
static void shiftout_single(uint8_t data) {
if (data & 0x1) {
- setPinOutput_writeHigh(DATA_PIN);
+ gpio_atomic_set_pin_output_high(DATA_PIN);
} else {
- setPinOutput_writeLow(DATA_PIN);
+ gpio_atomic_set_pin_output_low(DATA_PIN);
}
- setPinOutput_writeHigh(CLOCK_PIN);
- setPinOutput_writeLow(CLOCK_PIN);
+ gpio_atomic_set_pin_output_high(CLOCK_PIN);
+ gpio_atomic_set_pin_output_low(CLOCK_PIN);
- setPinOutput_writeHigh(LATCH_PIN);
- setPinOutput_writeLow(LATCH_PIN);
+ gpio_atomic_set_pin_output_high(LATCH_PIN);
+ gpio_atomic_set_pin_output_low(LATCH_PIN);
}
static bool select_col(uint8_t col) {
pin_t pin = col_pins[col];
if (pin != NO_PIN) {
- setPinOutput_writeLow(pin);
+ gpio_atomic_set_pin_output_low(pin);
return true;
} else {
if (col == NO_PIN_START) {
@@ -124,16 +124,16 @@ static void unselect_col(uint8_t col) {
if (pin != NO_PIN) {
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
- setPinOutput_writeHigh(pin);
+ gpio_atomic_set_pin_output_high(pin);
#else
- setPinInputHigh_atomic(pin);
+ gpio_atomic_set_pin_input_high(pin);
#endif
} else {
if (col == (MATRIX_COLS - NO_PIN_OFFSET - 1))
- setPinOutput_writeHigh(CLOCK_PIN);
- setPinOutput_writeLow(CLOCK_PIN);
- setPinOutput_writeHigh(LATCH_PIN);
- setPinOutput_writeLow(LATCH_PIN);
+ gpio_atomic_set_pin_output_high(CLOCK_PIN);
+ gpio_atomic_set_pin_output_low(CLOCK_PIN);
+ gpio_atomic_set_pin_output_high(LATCH_PIN);
+ gpio_atomic_set_pin_output_low(LATCH_PIN);
}
}
@@ -142,9 +142,9 @@ static void unselect_cols(void) {
pin_t pin = col_pins[x];
if (pin != NO_PIN) {
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
- setPinOutput_writeHigh(pin);
+ gpio_atomic_set_pin_output_high(pin);
#else
- setPinInputHigh_atomic(pin);
+ gpio_atomic_set_pin_input_high(pin);
#endif
}
if (x == (MATRIX_COLS - NO_PIN_OFFSET - 1))
@@ -157,7 +157,7 @@ static void matrix_init_pins(void) {
unselect_cols();
for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
if (row_pins[x] != NO_PIN) {
- setPinInputHigh_atomic(row_pins[x]);
+ gpio_atomic_set_pin_input_high(row_pins[x]);
}
}
}
diff --git a/keyboards/keychron/q65/matrix.c b/keyboards/keychron/q65/matrix.c
index c9f9888689..4cbdd346ec 100644
--- a/keyboards/keychron/q65/matrix.c
+++ b/keyboards/keychron/q65/matrix.c
@@ -34,26 +34,26 @@ static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
#define ROWS_PER_HAND (MATRIX_ROWS)
-static inline void writePinLow_atomic(pin_t pin) {
+static inline void gpio_atomic_write_pin_low(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_write_pin_low(pin);
}
}
-static inline void writePinHigh_atomic(pin_t pin) {
+static inline void gpio_atomic_write_pin_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_write_pin_high(pin);
}
}
-static inline void setPinOutput_writeLow(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_low(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_low(pin);
}
}
-static inline void setPinInputHigh_atomic(pin_t pin) {
+static inline void gpio_atomic_set_pin_input_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_input_high(pin);
}
@@ -119,9 +119,9 @@ static bool select_col(uint8_t col) {
if (pin != NO_PIN) {
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
- writePinLow_atomic(pin);
+ gpio_atomic_write_pin_low(pin);
#else
- setPinOutput_writeLow(pin);
+ gpio_atomic_set_pin_output_low(pin);
#endif
return true;
} else {
@@ -138,9 +138,9 @@ static void unselect_col(uint8_t col) {
if (pin != NO_PIN) {
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
- writePinHigh_atomic(pin);
+ gpio_atomic_write_pin_high(pin);
#else
- setPinInputHigh_atomic(pin);
+ gpio_atomic_set_pin_input_high(pin);
#endif
} else {
shiftout_single(0x01);
@@ -152,9 +152,9 @@ static void unselect_cols(void) {
pin_t pin = col_pins[x];
if (pin != NO_PIN) {
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
- setPinOutput_writeHigh(pin);
+ gpio_atomic_set_pin_output_high(pin);
#else
- setPinInputHigh_atomic(pin);
+ gpio_atomic_set_pin_input_high(pin);
#endif
} else {
if (x == 0)
@@ -178,7 +178,7 @@ static void matrix_init_pins(void) {
unselect_cols();
for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
if (row_pins[x] != NO_PIN) {
- setPinInputHigh_atomic(row_pins[x]);
+ gpio_atomic_set_pin_input_high(row_pins[x]);
}
}
}
diff --git a/keyboards/keychron/s1/ansi/white/keyboard.json b/keyboards/keychron/s1/ansi/white/keyboard.json
index cab38a4ae6..40cc99a23f 100644
--- a/keyboards/keychron/s1/ansi/white/keyboard.json
+++ b/keyboards/keychron/s1/ansi/white/keyboard.json
@@ -31,6 +31,92 @@
"wave_left_right": true,
"wave_up_down": true
},
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
+ {"matrix": [0, 1], "x": 15, "y": 0, "flags": 1},
+ {"matrix": [0, 2], "x": 30, "y": 0, "flags": 1},
+ {"matrix": [0, 3], "x": 45, "y": 0, "flags": 1},
+ {"matrix": [0, 4], "x": 60, "y": 0, "flags": 1},
+ {"matrix": [0, 5], "x": 75, "y": 0, "flags": 1},
+ {"matrix": [0, 6], "x": 90, "y": 0, "flags": 1},
+ {"matrix": [0, 7], "x": 105, "y": 0, "flags": 1},
+ {"matrix": [0, 8], "x": 119, "y": 0, "flags": 1},
+ {"matrix": [0, 9], "x": 134, "y": 0, "flags": 1},
+ {"matrix": [0, 10], "x": 149, "y": 0, "flags": 1},
+ {"matrix": [0, 11], "x": 164, "y": 0, "flags": 1},
+ {"matrix": [0, 12], "x": 179, "y": 0, "flags": 1},
+ {"matrix": [0, 13], "x": 194, "y": 0, "flags": 1},
+ {"matrix": [3, 12], "x": 209, "y": 0, "flags": 1},
+ {"matrix": [0, 14], "x": 224, "y": 0, "flags": 1},
+ {"matrix": [1, 0], "x": 0, "y": 13, "flags": 1},
+ {"matrix": [1, 1], "x": 15, "y": 13, "flags": 4},
+ {"matrix": [1, 2], "x": 30, "y": 13, "flags": 4},
+ {"matrix": [1, 3], "x": 45, "y": 13, "flags": 4},
+ {"matrix": [1, 4], "x": 60, "y": 13, "flags": 4},
+ {"matrix": [1, 5], "x": 75, "y": 13, "flags": 4},
+ {"matrix": [1, 6], "x": 90, "y": 13, "flags": 4},
+ {"matrix": [1, 7], "x": 105, "y": 13, "flags": 4},
+ {"matrix": [1, 8], "x": 119, "y": 13, "flags": 4},
+ {"matrix": [1, 9], "x": 134, "y": 13, "flags": 4},
+ {"matrix": [1, 10], "x": 149, "y": 13, "flags": 4},
+ {"matrix": [1, 11], "x": 164, "y": 13, "flags": 4},
+ {"matrix": [1, 12], "x": 179, "y": 13, "flags": 4},
+ {"matrix": [1, 13], "x": 202, "y": 13, "flags": 1},
+ {"matrix": [1, 14], "x": 224, "y": 13, "flags": 1},
+ {"matrix": [2, 0], "x": 4, "y": 26, "flags": 1},
+ {"matrix": [2, 1], "x": 22, "y": 26, "flags": 4},
+ {"matrix": [2, 2], "x": 37, "y": 26, "flags": 4},
+ {"matrix": [2, 3], "x": 52, "y": 26, "flags": 4},
+ {"matrix": [2, 4], "x": 67, "y": 26, "flags": 4},
+ {"matrix": [2, 5], "x": 82, "y": 26, "flags": 4},
+ {"matrix": [2, 6], "x": 97, "y": 26, "flags": 4},
+ {"matrix": [2, 7], "x": 112, "y": 26, "flags": 4},
+ {"matrix": [2, 8], "x": 127, "y": 26, "flags": 4},
+ {"matrix": [2, 9], "x": 142, "y": 26, "flags": 4},
+ {"matrix": [2, 10], "x": 157, "y": 26, "flags": 4},
+ {"matrix": [2, 11], "x": 172, "y": 26, "flags": 4},
+ {"matrix": [2, 12], "x": 187, "y": 26, "flags": 4},
+ {"matrix": [2, 13], "x": 205, "y": 26, "flags": 4},
+ {"matrix": [2, 14], "x": 224, "y": 26, "flags": 1},
+ {"matrix": [3, 0], "x": 6, "y": 38, "flags": 1},
+ {"matrix": [3, 1], "x": 26, "y": 38, "flags": 4},
+ {"matrix": [3, 2], "x": 41, "y": 38, "flags": 4},
+ {"matrix": [3, 3], "x": 56, "y": 38, "flags": 4},
+ {"matrix": [3, 4], "x": 71, "y": 38, "flags": 4},
+ {"matrix": [3, 5], "x": 86, "y": 38, "flags": 4},
+ {"matrix": [3, 6], "x": 101, "y": 38, "flags": 4},
+ {"matrix": [3, 7], "x": 116, "y": 38, "flags": 4},
+ {"matrix": [3, 8], "x": 131, "y": 38, "flags": 4},
+ {"matrix": [3, 9], "x": 146, "y": 38, "flags": 4},
+ {"matrix": [3, 10], "x": 160, "y": 38, "flags": 4},
+ {"matrix": [3, 11], "x": 175, "y": 38, "flags": 4},
+ {"matrix": [3, 13], "x": 200, "y": 38, "flags": 1},
+ {"matrix": [3, 14], "x": 224, "y": 38, "flags": 1},
+ {"matrix": [4, 0], "x": 9, "y": 51, "flags": 1},
+ {"matrix": [4, 2], "x": 34, "y": 51, "flags": 4},
+ {"matrix": [4, 3], "x": 48, "y": 51, "flags": 4},
+ {"matrix": [4, 4], "x": 63, "y": 51, "flags": 4},
+ {"matrix": [4, 5], "x": 78, "y": 51, "flags": 4},
+ {"matrix": [4, 6], "x": 93, "y": 51, "flags": 4},
+ {"matrix": [4, 7], "x": 108, "y": 51, "flags": 4},
+ {"matrix": [4, 8], "x": 123, "y": 51, "flags": 4},
+ {"matrix": [4, 9], "x": 138, "y": 51, "flags": 4},
+ {"matrix": [4, 10], "x": 153, "y": 51, "flags": 4},
+ {"matrix": [4, 11], "x": 168, "y": 51, "flags": 4},
+ {"matrix": [4, 12], "x": 189, "y": 51, "flags": 1},
+ {"matrix": [4, 13], "x": 209, "y": 51, "flags": 1},
+ {"matrix": [4, 14], "x": 224, "y": 51, "flags": 1},
+ {"matrix": [5, 0], "x": 2, "y": 64, "flags": 1},
+ {"matrix": [5, 1], "x": 21, "y": 64, "flags": 1},
+ {"matrix": [5, 2], "x": 39, "y": 64, "flags": 1},
+ {"matrix": [5, 6], "x": 95, "y": 64, "flags": 4},
+ {"matrix": [5, 9], "x": 149, "y": 64, "flags": 1},
+ {"matrix": [5, 10], "x": 164, "y": 64, "flags": 1},
+ {"matrix": [5, 11], "x": 179, "y": 64, "flags": 1},
+ {"matrix": [5, 12], "x": 194, "y": 64, "flags": 1},
+ {"matrix": [5, 13], "x": 209, "y": 64, "flags": 1},
+ {"matrix": [5, 14], "x": 224, "y": 64, "flags": 1}
+ ],
"driver": "snled27351",
"sleep": true,
"react_on_keyup": true
diff --git a/keyboards/keychron/s1/ansi/white/white.c b/keyboards/keychron/s1/ansi/white/white.c
index 69623863d1..543544c878 100644
--- a/keyboards/keychron/s1/ansi/white/white.c
+++ b/keyboards/keychron/s1/ansi/white/white.c
@@ -115,37 +115,4 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
{0, CB1_CA14}, // down
{0, CB1_CA16}, // right
};
-
-#define __ NO_LED
-
-led_config_t g_led_config = {
- {
- // Key Matrix to LED Index
- { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15 },
- { 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 },
- { 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45 },
- { 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 14, 58, 59 },
- { 60, __, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73 },
- { 74, 75, 76, __, __, __, 77, __, __, 78, 79, 80, 81, 82, 83 }
- },
- {
- // LED Index to Physical Position
- {0,0}, {15,0}, {30,0}, {45,0}, {60,0}, {75,0}, {90,0}, {105,0}, {119,0}, {134,0}, {149,0}, {164,0}, {179,0}, {194,0}, {209,0}, {224,0},
- {0,13}, {15,13}, {30,13}, {45,13}, {60,13}, {75,13}, {90,13}, {105,13}, {119,13}, {134,13}, {149,13}, {164,13}, {179,13}, {202,13}, {224,13},
- {4,26}, {22,26}, {37,26}, {52,26}, {67,26}, {82,26}, {97,26}, {112,26}, {127,26}, {142,26}, {157,26}, {172,26}, {187,26}, {205,26}, {224,26},
- {6,38}, {26,38}, {41,38}, {56,38}, {71,38}, {86,38}, {101,38}, {116,38}, {131,38}, {146,38}, {160,38}, {175,38}, {200,38}, {224,38},
- {9,51}, {34,51}, {48,51}, {63,51}, {78,51}, {93,51}, {108,51}, {123,51}, {138,51}, {153,51}, {168,51}, {189,51}, {209,51}, {224,51},
- {2,64}, {21,64}, {39,64}, {95,64}, {149,64}, {164,64}, {179,64}, {194,64}, {209,64}, {224,64}
- },
- {
- // RGB LED Index to Flag
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1,
- 1, 1, 1, 4, 1, 1, 1, 1, 1, 1,
- }
-};
-
-#endif // RGB_MATRIX_ENABLE
+#endif
diff --git a/keyboards/keychron/v1/matrix.c b/keyboards/keychron/v1/matrix.c
index 32d9cfdbb0..01875ae44e 100644
--- a/keyboards/keychron/v1/matrix.c
+++ b/keyboards/keychron/v1/matrix.c
@@ -34,21 +34,21 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
#define ROWS_PER_HAND MATRIX_ROWS
-static inline void setPinOutput_writeLow(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_low(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_low(pin);
}
}
-static inline void setPinOutput_writeHigh(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_high(pin);
}
}
-static inline void setPinInputHigh_atomic(pin_t pin) {
+static inline void gpio_atomic_set_pin_input_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_input_high(pin);
}
@@ -113,7 +113,7 @@ static bool select_col(uint8_t col) {
pin_t pin = col_pins[col];
if (pin != NO_PIN) {
- setPinOutput_writeLow(pin);
+ gpio_atomic_set_pin_output_low(pin);
return true;
} else {
if (col == 8) {
@@ -129,9 +129,9 @@ static void unselect_col(uint8_t col) {
if (pin != NO_PIN) {
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
- setPinOutput_writeHigh(pin);
+ gpio_atomic_set_pin_output_high(pin);
#else
- setPinInputHigh_atomic(pin);
+ gpio_atomic_set_pin_input_high(pin);
#endif
} else {
shiftOut_single(0x01);
@@ -143,9 +143,9 @@ static void unselect_cols(void) {
pin_t pin = col_pins[x];
if (pin != NO_PIN) {
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
- setPinOutput_writeHigh(pin);
+ gpio_atomic_set_pin_output_high(pin);
#else
- setPinInputHigh_atomic(pin);
+ gpio_atomic_set_pin_input_high(pin);
#endif
} else {
if (x == 8)
@@ -169,7 +169,7 @@ static void matrix_init_pins(void) {
unselect_cols();
for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
if (row_pins[x] != NO_PIN) {
- setPinInputHigh_atomic(row_pins[x]);
+ gpio_atomic_set_pin_input_high(row_pins[x]);
}
}
}
diff --git a/keyboards/keychron/v10/matrix.c b/keyboards/keychron/v10/matrix.c
index bb6504fa78..ee7d0a38c6 100644
--- a/keyboards/keychron/v10/matrix.c
+++ b/keyboards/keychron/v10/matrix.c
@@ -34,21 +34,21 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
#define ROWS_PER_HAND (MATRIX_ROWS)
-static inline void setPinOutput_writeLow(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_low(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_low(pin);
}
}
-static inline void setPinOutput_writeHigh(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_high(pin);
}
}
-static inline void setPinInputHigh_atomic(pin_t pin) {
+static inline void gpio_atomic_set_pin_input_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_input_high(pin);
}
@@ -105,7 +105,7 @@ static bool select_col(uint8_t col) {
pin_t pin = col_pins[col];
if (pin != NO_PIN) {
- setPinOutput_writeLow(pin);
+ gpio_atomic_set_pin_output_low(pin);
return true;
} else {
if (col == PIN_START_74HC595) {
@@ -121,9 +121,9 @@ static void unselect_col(uint8_t col) {
if (pin != NO_PIN) {
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
- setPinOutput_writeHigh(pin);
+ gpio_atomic_set_pin_output_high(pin);
#else
- setPinInputHigh_atomic(pin);
+ gpio_atomic_set_pin_input_high(pin);
#endif
} else {
shiftOut_single(0x01);
@@ -137,9 +137,9 @@ static void unselect_cols(void) {
if (pin != NO_PIN) {
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
- setPinOutput_writeHigh(pin);
+ gpio_atomic_set_pin_output_high(pin);
#else
- setPinInputHigh_atomic(pin);
+ gpio_atomic_set_pin_input_high(pin);
#endif
}
if (x == PIN_START_74HC595)
@@ -162,7 +162,7 @@ static void matrix_init_pins(void) {
unselect_cols();
for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
if (row_pins[x] != NO_PIN) {
- setPinInputHigh_atomic(row_pins[x]);
+ gpio_atomic_set_pin_input_high(row_pins[x]);
}
}
}
diff --git a/keyboards/keychron/v3/matrix.c b/keyboards/keychron/v3/matrix.c
index 5ee860afd2..b127465290 100644
--- a/keyboards/keychron/v3/matrix.c
+++ b/keyboards/keychron/v3/matrix.c
@@ -34,21 +34,21 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
#define ROWS_PER_HAND (MATRIX_ROWS)
-static inline void setPinOutput_writeLow(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_low(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_low(pin);
}
}
-static inline void setPinOutput_writeHigh(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_high(pin);
}
}
-static inline void setPinInputHigh_atomic(pin_t pin) {
+static inline void gpio_atomic_set_pin_input_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_input_high(pin);
}
@@ -113,7 +113,7 @@ static bool select_col(uint8_t col) {
pin_t pin = col_pins[col];
if (pin != NO_PIN) {
- setPinOutput_writeLow(pin);
+ gpio_atomic_set_pin_output_low(pin);
return true;
} else {
if (col == 8) {
@@ -129,9 +129,9 @@ static void unselect_col(uint8_t col) {
if (pin != NO_PIN) {
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
- setPinOutput_writeHigh(pin);
+ gpio_atomic_set_pin_output_high(pin);
#else
- setPinInputHigh_atomic(pin);
+ gpio_atomic_set_pin_input_high(pin);
#endif
} else {
shiftOut_single(0x01);
@@ -143,9 +143,9 @@ static void unselect_cols(void) {
pin_t pin = col_pins[x];
if (pin != NO_PIN) {
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
- setPinOutput_writeHigh(pin);
+ gpio_atomic_set_pin_output_high(pin);
#else
- setPinInputHigh_atomic(pin);
+ gpio_atomic_set_pin_input_high(pin);
#endif
} else {
if (x == 8)
@@ -169,7 +169,7 @@ static void matrix_init_pins(void) {
unselect_cols();
for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
if (row_pins[x] != NO_PIN) {
- setPinInputHigh_atomic(row_pins[x]);
+ gpio_atomic_set_pin_input_high(row_pins[x]);
}
}
}
diff --git a/keyboards/keychron/v5/matrix.c b/keyboards/keychron/v5/matrix.c
index 255201af12..810fdfb8e6 100644
--- a/keyboards/keychron/v5/matrix.c
+++ b/keyboards/keychron/v5/matrix.c
@@ -34,21 +34,21 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
#define ROWS_PER_HAND (MATRIX_ROWS)
-static inline void setPinOutput_writeLow(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_low(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_low(pin);
}
}
-static inline void setPinOutput_writeHigh(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_high(pin);
}
}
-static inline void setPinInputHigh_atomic(pin_t pin) {
+static inline void gpio_atomic_set_pin_input_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_input_high(pin);
}
@@ -113,7 +113,7 @@ static bool select_col(uint8_t col) {
pin_t pin = col_pins[col];
if (pin != NO_PIN) {
- setPinOutput_writeLow(pin);
+ gpio_atomic_set_pin_output_low(pin);
return true;
} else {
if (col == 10) {
@@ -129,9 +129,9 @@ static void unselect_col(uint8_t col) {
if (pin != NO_PIN) {
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
- setPinOutput_writeHigh(pin);
+ gpio_atomic_set_pin_output_high(pin);
#else
- setPinInputHigh_atomic(pin);
+ gpio_atomic_set_pin_input_high(pin);
#endif
} else {
shiftOut_single(0x01);
@@ -143,9 +143,9 @@ static void unselect_cols(void) {
pin_t pin = col_pins[x];
if (pin != NO_PIN) {
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
- setPinOutput_writeHigh(pin);
+ gpio_atomic_set_pin_output_high(pin);
#else
- setPinInputHigh_atomic(pin);
+ gpio_atomic_set_pin_input_high(pin);
#endif
} else {
if (x == 10)
@@ -169,7 +169,7 @@ static void matrix_init_pins(void) {
unselect_cols();
for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
if (row_pins[x] != NO_PIN) {
- setPinInputHigh_atomic(row_pins[x]);
+ gpio_atomic_set_pin_input_high(row_pins[x]);
}
}
}
diff --git a/keyboards/keychron/v6/matrix.c b/keyboards/keychron/v6/matrix.c
index bb6504fa78..ee7d0a38c6 100644
--- a/keyboards/keychron/v6/matrix.c
+++ b/keyboards/keychron/v6/matrix.c
@@ -34,21 +34,21 @@ static pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
#define ROWS_PER_HAND (MATRIX_ROWS)
-static inline void setPinOutput_writeLow(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_low(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_low(pin);
}
}
-static inline void setPinOutput_writeHigh(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_high(pin);
}
}
-static inline void setPinInputHigh_atomic(pin_t pin) {
+static inline void gpio_atomic_set_pin_input_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_input_high(pin);
}
@@ -105,7 +105,7 @@ static bool select_col(uint8_t col) {
pin_t pin = col_pins[col];
if (pin != NO_PIN) {
- setPinOutput_writeLow(pin);
+ gpio_atomic_set_pin_output_low(pin);
return true;
} else {
if (col == PIN_START_74HC595) {
@@ -121,9 +121,9 @@ static void unselect_col(uint8_t col) {
if (pin != NO_PIN) {
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
- setPinOutput_writeHigh(pin);
+ gpio_atomic_set_pin_output_high(pin);
#else
- setPinInputHigh_atomic(pin);
+ gpio_atomic_set_pin_input_high(pin);
#endif
} else {
shiftOut_single(0x01);
@@ -137,9 +137,9 @@ static void unselect_cols(void) {
if (pin != NO_PIN) {
#ifdef MATRIX_UNSELECT_DRIVE_HIGH
- setPinOutput_writeHigh(pin);
+ gpio_atomic_set_pin_output_high(pin);
#else
- setPinInputHigh_atomic(pin);
+ gpio_atomic_set_pin_input_high(pin);
#endif
}
if (x == PIN_START_74HC595)
@@ -162,7 +162,7 @@ static void matrix_init_pins(void) {
unselect_cols();
for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
if (row_pins[x] != NO_PIN) {
- setPinInputHigh_atomic(row_pins[x]);
+ gpio_atomic_set_pin_input_high(row_pins[x]);
}
}
}
diff --git a/keyboards/kkatano/wallaby/keyboard.json b/keyboards/kkatano/wallaby/keyboard.json
index ee475a54bc..636fdba042 100644
--- a/keyboards/kkatano/wallaby/keyboard.json
+++ b/keyboards/kkatano/wallaby/keyboard.json
@@ -22,6 +22,10 @@
"resync": true
}
},
+ "indicators": {
+ "caps_lock": "B6",
+ "scroll_lock": "B7"
+ },
"matrix_pins": {
"cols": ["D5", "C7", "C6", "D4", "D0", "E6", "F0", "F1", "F4", "F5", "F6", "F7", "D7", "D6", "D1", "D2", "D3"],
"rows": ["B5", "B4", "B3", "B2", "B1", "B0"]
diff --git a/keyboards/kkatano/wallaby/wallaby.c b/keyboards/kkatano/wallaby/wallaby.c
deleted file mode 100644
index de2583903b..0000000000
--- a/keyboards/kkatano/wallaby/wallaby.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Copyright 2020 Koichi Katano
- *
- * 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"
-
-bool led_update_kb(led_t led_state) {
- if (led_update_user(led_state)) {
- gpio_write_pin(B6, led_state.caps_lock);
- gpio_write_pin(B7, led_state.scroll_lock);
- }
- return true;
-}
diff --git a/keyboards/kkatano/yurei/keyboard.json b/keyboards/kkatano/yurei/keyboard.json
index 7bf0895787..59084920da 100644
--- a/keyboards/kkatano/yurei/keyboard.json
+++ b/keyboards/kkatano/yurei/keyboard.json
@@ -22,6 +22,10 @@
"resync": true
}
},
+ "indicators": {
+ "caps_lock": "B6",
+ "scroll_lock": "B7"
+ },
"matrix_pins": {
"cols": ["D5", "C7", "C6", "D4", "D0", "E6", "F0", "F1", "F4", "F5", "F6", "F7", "D7", "D6", "D1", "D2", "D3"],
"rows": ["B5", "B4", "B3", "B2", "B1", "B0"]
diff --git a/keyboards/kkatano/yurei/yurei.c b/keyboards/kkatano/yurei/yurei.c
deleted file mode 100644
index 283726a884..0000000000
--- a/keyboards/kkatano/yurei/yurei.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Copyright 2019 Koichi Katano
- *
- * 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"
-
-bool led_update_kb(led_t led_state) {
- if (led_update_user(led_state)) {
- gpio_write_pin(B6, led_state.caps_lock);
- gpio_write_pin(B7, led_state.scroll_lock);
- }
- return true;
-}
diff --git a/keyboards/kopibeng/mnk88/mnk88.c b/keyboards/kopibeng/mnk88/mnk88.c
deleted file mode 100644
index efe32f8bfd..0000000000
--- a/keyboards/kopibeng/mnk88/mnk88.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright 2021 Samuel Lu
- *
- * 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"
-
-void matrix_init_kb(void) {
-
- gpio_set_pin_output(LED_CAPS_LOCK_PIN);
- gpio_set_pin_output(LED_SCROLL_LOCK_PIN);
-
- matrix_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
-
- bool res = led_update_user(led_state);
-
- if(res) {
- gpio_write_pin(LED_CAPS_LOCK_PIN, led_state.caps_lock);
- gpio_write_pin(LED_SCROLL_LOCK_PIN, led_state.scroll_lock);
- }
- return res;
-}
diff --git a/keyboards/kopibeng/xt8x/xt8x.c b/keyboards/kopibeng/xt8x/xt8x.c
index 2c4f246b6a..03342c40af 100644
--- a/keyboards/kopibeng/xt8x/xt8x.c
+++ b/keyboards/kopibeng/xt8x/xt8x.c
@@ -17,26 +17,11 @@
#include "quantum.h"
void matrix_init_kb(void) {
- // Initialize indicator LEDs to output
-
- gpio_set_pin_output(LED_CAPS_LOCK_PIN); // Caps
- gpio_set_pin_output(LED_SCROLL_LOCK_PIN); // Scroll lock
gpio_set_pin_output(INDICATOR_PIN_0); // Layer indicator on F13
matrix_init_user();
}
-bool led_update_kb(led_t led_state) {
-
- bool res = led_update_user(led_state);
-
- if(res) {
- gpio_write_pin(LED_CAPS_LOCK_PIN, led_state.caps_lock);
- gpio_write_pin(LED_SCROLL_LOCK_PIN, led_state.scroll_lock);
- }
- return res;
-}
-
__attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) {
gpio_write_pin(INDICATOR_PIN_0, layer_state_cmp(state, 1));
return state;
diff --git a/keyboards/kumaokobo/kudox_full/kudox_full.c b/keyboards/kumaokobo/kudox_full/kudox_full.c
index d69f679822..caa2190600 100644
--- a/keyboards/kumaokobo/kudox_full/kudox_full.c
+++ b/keyboards/kumaokobo/kudox_full/kudox_full.c
@@ -3,12 +3,6 @@
#include "quantum.h"
-#ifdef RGBLIGHT_ENABLE
-void eeconfig_init_kb(void) {
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL);
-};
-#endif
-
#ifdef OLED_ENABLE
bool oled_task_kb(void) {
if (!oled_task_user()) { return false; }
diff --git a/keyboards/kumaokobo/kudox_full/rev1/keyboard.json b/keyboards/kumaokobo/kudox_full/rev1/keyboard.json
index 09d1cd152c..2919cbf086 100644
--- a/keyboards/kumaokobo/kudox_full/rev1/keyboard.json
+++ b/keyboards/kumaokobo/kudox_full/rev1/keyboard.json
@@ -29,6 +29,9 @@
"knight": true,
"christmas": true,
"static_gradient": true
+ },
+ "default": {
+ "animation": "rainbow_swirl"
}
},
"ws2812": {
diff --git a/keyboards/maple_computing/lets_split_eh/eh/config.h b/keyboards/maple_computing/lets_split_eh/config.h
index 38cf73ae1e..22b97cfb6a 100644
--- a/keyboards/maple_computing/lets_split_eh/eh/config.h
+++ b/keyboards/maple_computing/lets_split_eh/config.h
@@ -18,9 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/* Split Defines */
-#define SPLIT_HAND_PIN D3
-
// The 'EH' has previously forced use of I2C so this default has been kept
// however users can undef to use serial
#define USE_I2C
diff --git a/keyboards/maple_computing/lets_split_eh/eh/rules.mk b/keyboards/maple_computing/lets_split_eh/eh/rules.mk
deleted file mode 100644
index 271780b75e..0000000000
--- a/keyboards/maple_computing/lets_split_eh/eh/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-# Disable unsupported hardware
-AUDIO_SUPPORTED = no
diff --git a/keyboards/maple_computing/lets_split_eh/eh/keyboard.json b/keyboards/maple_computing/lets_split_eh/keyboard.json
index f40b15098f..5624f12ac1 100644
--- a/keyboards/maple_computing/lets_split_eh/eh/keyboard.json
+++ b/keyboards/maple_computing/lets_split_eh/keyboard.json
@@ -19,6 +19,7 @@
"rgblight": {
"led_count": 12,
"split_count": [6, 6],
+ "sleep": true,
"animations": {
"breathing": true,
"rainbow_mood": true,
@@ -37,12 +38,15 @@
},
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "D3"
+ },
"soft_serial_pin": "D0"
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"features": {
- "bootmagic": false,
+ "bootmagic": true,
"mousekey": false,
"extrakey": true,
"nkro": true,
diff --git a/keyboards/maple_computing/lets_split_eh/eh/eh.c b/keyboards/maple_computing/lets_split_eh/lets_split_eh.c
index 37e8b3ab9b..37e8b3ab9b 100644
--- a/keyboards/maple_computing/lets_split_eh/eh/eh.c
+++ b/keyboards/maple_computing/lets_split_eh/lets_split_eh.c
diff --git a/keyboards/maple_computing/lets_split_eh/readme.md b/keyboards/maple_computing/lets_split_eh/readme.md
index 90ae5393d1..dc769b72c4 100644
--- a/keyboards/maple_computing/lets_split_eh/readme.md
+++ b/keyboards/maple_computing/lets_split_eh/readme.md
@@ -8,6 +8,6 @@ Keyboard Maintainer: [Christopher Poole (That-Canadian)](https://github.com/That
Make example for this keyboard (after setting up your build environment):
- make maple_computing/lets_split_eh/eh:default
+ make maple_computing/lets_split_eh:default
See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
diff --git a/keyboards/maple_computing/lets_split_eh/rules.mk b/keyboards/maple_computing/lets_split_eh/rules.mk
index 9bae45fde8..271780b75e 100644
--- a/keyboards/maple_computing/lets_split_eh/rules.mk
+++ b/keyboards/maple_computing/lets_split_eh/rules.mk
@@ -1 +1,2 @@
-DEFAULT_FOLDER = maple_computing/lets_split_eh/eh
+# Disable unsupported hardware
+AUDIO_SUPPORTED = no
diff --git a/keyboards/marksard/leftover30/keyboard.json b/keyboards/marksard/leftover30/keyboard.json
index 546b3dbdd3..ae2250a5f2 100644
--- a/keyboards/marksard/leftover30/keyboard.json
+++ b/keyboards/marksard/leftover30/keyboard.json
@@ -33,6 +33,10 @@
{"pin_a": "F4", "pin_b": "F5"}
]
},
+ "indicators": {
+ "caps_lock": "D1",
+ "num_lock": "D2"
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/marksard/leftover30/leftover30.c b/keyboards/marksard/leftover30/leftover30.c
deleted file mode 100644
index cea0de703a..0000000000
--- a/keyboards/marksard/leftover30/leftover30.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright 2020 marksard
- *
- * 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"
-
-// Optional override functions below.
-// You can leave any or all of these undefined.
-// These are only required if you want to perform custom actions.
-
-void keyboard_pre_init_user(void) {
- /* Set CAPSLOCK indicator pin as output */
- gpio_set_pin_output(D1);
- /* Set NUMLOCK indicator pin as output */
- gpio_set_pin_output(D2);
-}
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(D2, led_state.num_lock);
- gpio_write_pin(D1, led_state.caps_lock);
- }
- return res;
-}
diff --git a/keyboards/masterworks/classy_tkl/rev_a/keyboard.json b/keyboards/masterworks/classy_tkl/rev_a/keyboard.json
index d3e723d413..889aa6d3f9 100644
--- a/keyboards/masterworks/classy_tkl/rev_a/keyboard.json
+++ b/keyboards/masterworks/classy_tkl/rev_a/keyboard.json
@@ -22,6 +22,10 @@
"resync": true
}
},
+ "indicators": {
+ "caps_lock": "B5",
+ "scroll_lock": "B6"
+ },
"matrix_pins": {
"cols": ["B4", "D7", "D6", "D4", "C6", "D5", "D3", "D2", "D1", "D0", "B7", "B3", "B2", "B1", "B0", "E6", "F7"],
"rows": ["C7", "F0", "F1", "F4", "F5", "F6"]
diff --git a/keyboards/masterworks/classy_tkl/rev_a/rev_a.c b/keyboards/masterworks/classy_tkl/rev_a/rev_a.c
deleted file mode 100644
index 6e01c217d2..0000000000
--- a/keyboards/masterworks/classy_tkl/rev_a/rev_a.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright 2020 Mathias Andersson <[email protected]>
- *
- * 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"
-
-#define CAPS_PIN B5
-#define SCROLL_PIN B6
-
-// Optional override functions below.
-// You can leave any or all of these undefined.
-// These are only required if you want to perform custom actions.
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
- gpio_set_pin_output(CAPS_PIN);
- gpio_set_pin_output(SCROLL_PIN);
-
- matrix_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(CAPS_PIN, led_state.caps_lock);
- gpio_write_pin(SCROLL_PIN, led_state.scroll_lock);
- }
- return res;
-}
diff --git a/keyboards/matrix/cain_re/cain_re.c b/keyboards/matrix/cain_re/cain_re.c
deleted file mode 100644
index 6dc24f2292..0000000000
--- a/keyboards/matrix/cain_re/cain_re.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * cain_re.c
- *
- Copyright 2020 astro <[email protected]>
-
- 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"
-
-void matrix_init_kb(void)
-{
- gpio_set_pin_output(NUM_PIN);
- gpio_set_pin_output(CAPS_PIN);
- gpio_set_pin_output(SCROLL_PIN);
-
- matrix_init_user();
-}
-
-bool led_update_kb(led_t led_state)
-{
- bool res = led_update_user(led_state);
- if (res) {
- gpio_write_pin(NUM_PIN, led_state.num_lock);
- gpio_write_pin(CAPS_PIN, led_state.caps_lock);
- gpio_write_pin(SCROLL_PIN, led_state.scroll_lock);
- }
- return res;
-}
diff --git a/keyboards/matrix/cain_re/config.h b/keyboards/matrix/cain_re/config.h
deleted file mode 100644
index 9469d689d0..0000000000
--- a/keyboards/matrix/cain_re/config.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/**
- * config.h
- *
- Copyright 2020 astro <[email protected]>
-
- 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 CAPS_PIN D3
-#define NUM_PIN F7
-#define SCROLL_PIN B0
diff --git a/keyboards/matrix/cain_re/keyboard.json b/keyboards/matrix/cain_re/keyboard.json
index 02c6cbbeb5..7d93e806c2 100644
--- a/keyboards/matrix/cain_re/keyboard.json
+++ b/keyboards/matrix/cain_re/keyboard.json
@@ -8,6 +8,11 @@
"pid": "0x0106",
"device_version": "0.0.1"
},
+ "indicators": {
+ "caps_lock": "D3",
+ "num_lock": "F7",
+ "scroll_lock": "B0"
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/matrix/falcon/falcon.c b/keyboards/matrix/falcon/falcon.c
index 74677ab0d1..bfc878a79c 100644
--- a/keyboards/matrix/falcon/falcon.c
+++ b/keyboards/matrix/falcon/falcon.c
@@ -25,4 +25,5 @@ void matrix_init_kb(void)
gpio_set_pin_output(LED_POWER_PIN);
gpio_write_pin_high(LED_POWER_PIN);
+ matrix_init_user();
}
diff --git a/keyboards/matrix/m12og/rev2/keyboard.json b/keyboards/matrix/m12og/rev2/keyboard.json
index 42df6a75e8..45fcffe9eb 100644
--- a/keyboards/matrix/m12og/rev2/keyboard.json
+++ b/keyboards/matrix/m12og/rev2/keyboard.json
@@ -8,6 +8,12 @@
"pid": "0x8712",
"device_version": "0.0.1"
},
+ "indicators": {
+ "caps_lock": "C6",
+ "num_lock": "B1",
+ "scroll_lock": "B2",
+ "on_state": 0
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/matrix/m12og/rev2/rev2.c b/keyboards/matrix/m12og/rev2/rev2.c
deleted file mode 100644
index e64640b2d2..0000000000
--- a/keyboards/matrix/m12og/rev2/rev2.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * rev2.c
- */
-
-#include "quantum.h"
-
-void matrix_init_kb(void) {
- gpio_set_pin_output(C6);
- gpio_set_pin_output(B2);
- gpio_set_pin_output(B1);
-
- matrix_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if (res) {
- gpio_write_pin(B1, !led_state.num_lock);
- gpio_write_pin(C6, !led_state.caps_lock);
- gpio_write_pin(B2, !led_state.scroll_lock);
- }
- return res;
-}
diff --git a/keyboards/mc_76k/keyboard.json b/keyboards/mc_76k/keyboard.json
index 049483bed9..18aef48d01 100644
--- a/keyboards/mc_76k/keyboard.json
+++ b/keyboards/mc_76k/keyboard.json
@@ -22,6 +22,10 @@
"resync": true
}
},
+ "indicators": {
+ "caps_lock": "D2",
+ "on_state": 0
+ },
"matrix_pins": {
"cols": ["D5", "D3", "D4", "B1", "D6", "D7", "B4", "B5", "F7", "F6", "F5", "F4", "F1", "F0"],
"rows": ["C7", "C6", "B6", "B0", "D1", "D0"]
diff --git a/keyboards/mc_76k/mc_76k.c b/keyboards/mc_76k/mc_76k.c
deleted file mode 100644
index 44d2374b1c..0000000000
--- a/keyboards/mc_76k/mc_76k.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright 2020 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 "quantum.h"
-
-void keyboard_pre_init_kb (void) {
- gpio_set_pin_output(D2);
-}
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- // gpio_write_pin sets the pin high for 1 and low for 0.
- // In this example the pins are inverted, setting
- // it low/0 turns it on, and high/1 turns the LED off.
- // This behavior depends on whether the LED is between the pin
- // and VCC or the pin and GND.
- gpio_write_pin(D2, !led_state.caps_lock);
- }
- return res;
-}
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c b/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c
index d49d16e85a..cc3853cacd 100644
--- a/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c
+++ b/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c
@@ -131,6 +131,10 @@ bool rgb_matrix_indicators_kb(void) {
#endif
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+ if (!process_record_user(keycode, record)) {
+ return false;
+ }
+
if (record->event.pressed) {
switch(keycode) {
#ifdef RGBLIGHT_ENABLE
diff --git a/keyboards/mechlovin/hannah60rgb/rev2/rev2.c b/keyboards/mechlovin/hannah60rgb/rev2/rev2.c
index c6943cc357..3fdc571380 100644
--- a/keyboards/mechlovin/hannah60rgb/rev2/rev2.c
+++ b/keyboards/mechlovin/hannah60rgb/rev2/rev2.c
@@ -223,6 +223,10 @@ layer_state_t layer_state_set_user(layer_state_t state) {
#endif
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+ if (!process_record_user(keycode, record)) {
+ return false;
+ }
+
if (record->event.pressed) {
switch(keycode) {
#ifdef RGB_MATRIX_DISABLE_KEYCODES
diff --git a/keyboards/mechlovin/kay65/kay65.c b/keyboards/mechlovin/kay65/kay65.c
index f59f23e13d..b125cf1f79 100644
--- a/keyboards/mechlovin/kay65/kay65.c
+++ b/keyboards/mechlovin/kay65/kay65.c
@@ -17,9 +17,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "quantum.h"
-void keyboard_pre_init_user(void) {
- // Call the keyboard pre init code.
-
+void keyboard_pre_init_kb(void) {
// Set our LED pins as output
gpio_set_pin_output(D7);
+
+ keyboard_pre_init_user();
}
diff --git a/keyboards/mechlovin/olly/jf/rev2/keyboard.json b/keyboards/mechlovin/olly/jf/rev2/keyboard.json
index 3771188638..aa87d59847 100644
--- a/keyboards/mechlovin/olly/jf/rev2/keyboard.json
+++ b/keyboards/mechlovin/olly/jf/rev2/keyboard.json
@@ -42,111 +42,130 @@
"driver": "is31fl3731",
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 4},
- {"matrix": [0, 2], "x": 24, "y": 0, "flags": 4},
- {"matrix": [0, 3], "x": 37, "y": 0, "flags": 4},
- {"matrix": [0, 4], "x": 49, "y": 0, "flags": 4},
- {"matrix": [0, 5], "x": 62, "y": 0, "flags": 4},
- {"matrix": [0, 6], "x": 74, "y": 0, "flags": 4},
- {"matrix": [0, 7], "x": 87, "y": 0, "flags": 4},
- {"matrix": [0, 8], "x": 99, "y": 0, "flags": 4},
- {"matrix": [0, 9], "x": 122, "y": 0, "flags": 4},
- {"matrix": [0, 10], "x": 124, "y": 0, "flags": 4},
- {"matrix": [0, 11], "x": 137, "y": 0, "flags": 4},
- {"matrix": [0, 12], "x": 140, "y": 0, "flags": 4},
- {"matrix": [0, 13], "x": 162, "y": 0, "flags": 4},
- {"matrix": [0, 14], "x": 174, "y": 0, "flags": 4},
- {"matrix": [0, 15], "x": 186, "y": 0, "flags": 4},
- {"matrix": [0, 16], "x": 199, "y": 0, "flags": 4},
- {"matrix": [0, 17], "x": 211, "y": 0, "flags": 4},
+
+ {"matrix": [0, 2], "x": 17, "y": 0, "flags": 4},
+ {"matrix": [0, 3], "x": 29, "y": 0, "flags": 4},
+ {"matrix": [0, 4], "x": 40, "y": 0, "flags": 4},
+ {"matrix": [0, 5], "x": 52, "y": 0, "flags": 4},
+
+ {"matrix": [0, 6], "x": 69, "y": 0, "flags": 4},
+ {"matrix": [0, 7], "x": 80, "y": 0, "flags": 4},
+ {"matrix": [0, 8], "x": 92, "y": 0, "flags": 4},
+ {"matrix": [0, 9], "x": 103, "y": 0, "flags": 4},
+
+ {"matrix": [0, 10], "x": 121, "y": 0, "flags": 4},
+ {"matrix": [0, 11], "x": 132, "y": 0, "flags": 4},
+ {"matrix": [0, 12], "x": 144, "y": 0, "flags": 4},
+ {"matrix": [0, 13], "x": 155, "y": 0, "flags": 4},
+
+ {"matrix": [0, 14], "x": 175, "y": 0, "flags": 4},
+
+ {"matrix": [0, 15], "x": 190, "y": 0, "flags": 4},
+ {"matrix": [0, 16], "x": 201, "y": 0, "flags": 4},
+ {"matrix": [0, 17], "x": 213, "y": 0, "flags": 4},
{"matrix": [0, 18], "x": 224, "y": 0, "flags": 4},
- {"matrix": [1, 0], "x": 0, "y": 13, "flags": 4},
- {"matrix": [1, 1], "x": 12, "y": 13, "flags": 4},
- {"matrix": [1, 2], "x": 24, "y": 13, "flags": 4},
- {"matrix": [1, 3], "x": 37, "y": 13, "flags": 4},
- {"matrix": [1, 4], "x": 49, "y": 13, "flags": 4},
- {"matrix": [1, 5], "x": 62, "y": 13, "flags": 4},
- {"matrix": [1, 6], "x": 74, "y": 13, "flags": 4},
- {"matrix": [1, 7], "x": 87, "y": 13, "flags": 4},
- {"matrix": [1, 8], "x": 99, "y": 13, "flags": 4},
- {"matrix": [1, 9], "x": 122, "y": 13, "flags": 4},
- {"matrix": [1, 10], "x": 124, "y": 13, "flags": 4},
- {"matrix": [1, 11], "x": 137, "y": 13, "flags": 4},
- {"matrix": [1, 12], "x": 140, "y": 13, "flags": 4},
- {"matrix": [1, 13], "x": 162, "y": 13, "flags": 4},
- {"matrix": [1, 14], "x": 174, "y": 13, "flags": 4},
- {"matrix": [1, 15], "x": 186, "y": 13, "flags": 4},
- {"matrix": [1, 16], "x": 199, "y": 13, "flags": 4},
- {"matrix": [1, 17], "x": 211, "y": 13, "flags": 4},
- {"matrix": [1, 18], "x": 224, "y": 13, "flags": 4},
- {"matrix": [2, 0], "x": 0, "y": 25, "flags": 4},
- {"matrix": [2, 1], "x": 12, "y": 25, "flags": 4},
- {"matrix": [2, 2], "x": 24, "y": 25, "flags": 4},
- {"matrix": [2, 3], "x": 37, "y": 25, "flags": 4},
- {"matrix": [2, 4], "x": 49, "y": 25, "flags": 4},
- {"matrix": [2, 5], "x": 62, "y": 25, "flags": 4},
- {"matrix": [2, 6], "x": 74, "y": 25, "flags": 4},
- {"matrix": [2, 7], "x": 87, "y": 25, "flags": 4},
- {"matrix": [2, 8], "x": 99, "y": 25, "flags": 4},
- {"matrix": [2, 9], "x": 122, "y": 25, "flags": 4},
- {"matrix": [2, 10], "x": 124, "y": 25, "flags": 4},
- {"matrix": [2, 11], "x": 137, "y": 25, "flags": 4},
- {"matrix": [2, 12], "x": 140, "y": 25, "flags": 4},
- {"matrix": [2, 13], "x": 162, "y": 25, "flags": 4},
- {"matrix": [2, 14], "x": 174, "y": 25, "flags": 4},
- {"matrix": [2, 15], "x": 186, "y": 25, "flags": 4},
- {"matrix": [2, 16], "x": 199, "y": 25, "flags": 4},
- {"matrix": [2, 17], "x": 211, "y": 25, "flags": 4},
- {"matrix": [2, 18], "x": 224, "y": 25, "flags": 4},
- {"matrix": [3, 0], "x": 0, "y": 38, "flags": 4},
- {"matrix": [3, 1], "x": 12, "y": 38, "flags": 4},
- {"matrix": [3, 2], "x": 24, "y": 38, "flags": 4},
- {"matrix": [3, 3], "x": 37, "y": 38, "flags": 4},
- {"matrix": [3, 4], "x": 49, "y": 38, "flags": 4},
- {"matrix": [3, 5], "x": 62, "y": 38, "flags": 4},
- {"matrix": [3, 6], "x": 74, "y": 38, "flags": 4},
- {"matrix": [3, 7], "x": 87, "y": 38, "flags": 4},
- {"matrix": [3, 8], "x": 99, "y": 38, "flags": 4},
- {"matrix": [3, 9], "x": 122, "y": 38, "flags": 4},
- {"matrix": [3, 10], "x": 124, "y": 38, "flags": 4},
- {"matrix": [3, 11], "x": 137, "y": 38, "flags": 4},
- {"matrix": [3, 12], "x": 140, "y": 38, "flags": 4},
- {"matrix": [3, 13], "x": 162, "y": 38, "flags": 4},
- {"matrix": [3, 15], "x": 186, "y": 38, "flags": 4},
- {"matrix": [3, 16], "x": 199, "y": 38, "flags": 4},
- {"matrix": [3, 17], "x": 211, "y": 38, "flags": 4},
- {"matrix": [3, 18], "x": 224, "y": 38, "flags": 4},
- {"matrix": [4, 0], "x": 0, "y": 51, "flags": 4},
- {"matrix": [4, 1], "x": 12, "y": 51, "flags": 4},
- {"matrix": [4, 2], "x": 24, "y": 51, "flags": 4},
- {"matrix": [4, 3], "x": 37, "y": 51, "flags": 4},
- {"matrix": [4, 4], "x": 49, "y": 51, "flags": 4},
- {"matrix": [4, 5], "x": 62, "y": 51, "flags": 4},
- {"matrix": [4, 6], "x": 74, "y": 51, "flags": 4},
- {"matrix": [4, 7], "x": 87, "y": 51, "flags": 4},
- {"matrix": [4, 8], "x": 99, "y": 51, "flags": 4},
- {"matrix": [4, 9], "x": 122, "y": 51, "flags": 4},
- {"matrix": [4, 10], "x": 124, "y": 51, "flags": 4},
- {"matrix": [4, 11], "x": 137, "y": 51, "flags": 4},
- {"matrix": [4, 12], "x": 140, "y": 51, "flags": 4},
- {"matrix": [4, 13], "x": 162, "y": 51, "flags": 4},
- {"matrix": [4, 14], "x": 174, "y": 51, "flags": 4},
- {"matrix": [4, 15], "x": 186, "y": 51, "flags": 4},
- {"matrix": [4, 16], "x": 199, "y": 51, "flags": 4},
- {"matrix": [4, 17], "x": 211, "y": 51, "flags": 4},
- {"matrix": [4, 18], "x": 224, "y": 51, "flags": 4},
- {"matrix": [5, 0], "x": 0, "y": 64, "flags": 4},
- {"matrix": [5, 1], "x": 12, "y": 64, "flags": 4},
- {"matrix": [5, 3], "x": 37, "y": 64, "flags": 4},
- {"matrix": [5, 6], "x": 74, "y": 64, "flags": 4},
- {"matrix": [5, 10], "x": 124, "y": 64, "flags": 4},
- {"matrix": [5, 11], "x": 137, "y": 64, "flags": 4},
- {"matrix": [5, 12], "x": 140, "y": 64, "flags": 4},
- {"matrix": [5, 13], "x": 162, "y": 64, "flags": 4},
- {"matrix": [5, 14], "x": 174, "y": 64, "flags": 4},
- {"matrix": [5, 15], "x": 186, "y": 64, "flags": 4},
- {"matrix": [5, 16], "x": 199, "y": 64, "flags": 4},
- {"matrix": [5, 17], "x": 211, "y": 64, "flags": 4},
- {"matrix": [5, 18], "x": 224, "y": 64, "flags": 4}
+
+ {"matrix": [1, 0], "x": 0, "y": 17, "flags": 4},
+ {"matrix": [1, 1], "x": 11, "y": 17, "flags": 4},
+ {"matrix": [1, 2], "x": 23, "y": 17, "flags": 4},
+ {"matrix": [1, 3], "x": 34, "y": 17, "flags": 4},
+ {"matrix": [1, 4], "x": 46, "y": 17, "flags": 4},
+ {"matrix": [1, 5], "x": 57, "y": 17, "flags": 4},
+ {"matrix": [1, 6], "x": 69, "y": 17, "flags": 4},
+ {"matrix": [1, 7], "x": 80, "y": 17, "flags": 4},
+ {"matrix": [1, 8], "x": 92, "y": 17, "flags": 4},
+ {"matrix": [1, 9], "x": 103, "y": 17, "flags": 4},
+ {"matrix": [1, 10], "x": 115, "y": 17, "flags": 4},
+ {"matrix": [1, 11], "x": 126, "y": 17, "flags": 4},
+ {"matrix": [1, 12], "x": 138, "y": 17, "flags": 4},
+ {"matrix": [1, 13], "x": 149, "y": 17, "flags": 4},
+
+ {"matrix": [1, 14], "x": 175, "y": 17, "flags": 4},
+
+ {"matrix": [1, 15], "x": 190, "y": 17, "flags": 4},
+ {"matrix": [1, 16], "x": 201, "y": 17, "flags": 4},
+ {"matrix": [1, 17], "x": 213, "y": 17, "flags": 4},
+ {"matrix": [1, 18], "x": 224, "y": 17, "flags": 4},
+
+ {"matrix": [2, 0], "x": 3, "y": 28, "flags": 4},
+ {"matrix": [2, 1], "x": 17, "y": 28, "flags": 4},
+ {"matrix": [2, 2], "x": 29, "y": 28, "flags": 4},
+ {"matrix": [2, 3], "x": 40, "y": 28, "flags": 4},
+ {"matrix": [2, 4], "x": 52, "y": 28, "flags": 4},
+ {"matrix": [2, 5], "x": 63, "y": 28, "flags": 4},
+ {"matrix": [2, 6], "x": 75, "y": 28, "flags": 4},
+ {"matrix": [2, 7], "x": 86, "y": 28, "flags": 4},
+ {"matrix": [2, 8], "x": 98, "y": 28, "flags": 4},
+ {"matrix": [2, 9], "x": 109, "y": 28, "flags": 4},
+ {"matrix": [2, 10], "x": 121, "y": 28, "flags": 4},
+ {"matrix": [2, 11], "x": 132, "y": 28, "flags": 4},
+ {"matrix": [2, 12], "x": 144, "y": 28, "flags": 4},
+ {"matrix": [2, 13], "x": 161, "y": 17, "flags": 4},
+
+ {"matrix": [2, 14], "x": 175, "y": 28, "flags": 4},
+
+ {"matrix": [2, 15], "x": 190, "y": 28, "flags": 4},
+ {"matrix": [2, 16], "x": 201, "y": 28, "flags": 4},
+ {"matrix": [2, 17], "x": 213, "y": 28, "flags": 4},
+ {"matrix": [2, 18], "x": 224, "y": 28, "flags": 4},
+
+ {"matrix": [3, 0], "x": 4, "y": 39, "flags": 4},
+ {"matrix": [3, 1], "x": 20, "y": 39, "flags": 4},
+ {"matrix": [3, 2], "x": 32, "y": 39, "flags": 4},
+ {"matrix": [3, 3], "x": 43, "y": 39, "flags": 4},
+ {"matrix": [3, 4], "x": 55, "y": 39, "flags": 4},
+ {"matrix": [3, 5], "x": 66, "y": 39, "flags": 4},
+ {"matrix": [3, 6], "x": 78, "y": 39, "flags": 4},
+ {"matrix": [3, 7], "x": 89, "y": 39, "flags": 4},
+ {"matrix": [3, 8], "x": 101, "y": 39, "flags": 4},
+ {"matrix": [3, 9], "x": 112, "y": 39, "flags": 4},
+ {"matrix": [3, 10], "x": 123, "y": 39, "flags": 4},
+ {"matrix": [3, 11], "x": 135, "y": 39, "flags": 4},
+ {"matrix": [3, 12], "x": 146, "y": 39, "flags": 4},
+ {"matrix": [3, 13], "x": 154, "y": 39, "flags": 4},
+
+ {"matrix": [3, 15], "x": 190, "y": 39, "flags": 4},
+ {"matrix": [3, 16], "x": 201, "y": 39, "flags": 4},
+ {"matrix": [3, 17], "x": 213, "y": 39, "flags": 4},
+ {"matrix": [3, 18], "x": 224, "y": 39, "flags": 4},
+
+ {"matrix": [4, 0], "x": 1, "y": 50, "flags": 4},
+ {"matrix": [4, 1], "x": 14, "y": 50, "flags": 4},
+ {"matrix": [4, 2], "x": 26, "y": 50, "flags": 4},
+ {"matrix": [4, 3], "x": 37, "y": 50, "flags": 4},
+ {"matrix": [4, 4], "x": 49, "y": 50, "flags": 4},
+ {"matrix": [4, 5], "x": 60, "y": 50, "flags": 4},
+ {"matrix": [4, 6], "x": 72, "y": 50, "flags": 4},
+ {"matrix": [4, 7], "x": 83, "y": 50, "flags": 4},
+ {"matrix": [4, 8], "x": 95, "y": 50, "flags": 4},
+ {"matrix": [4, 9], "x": 106, "y": 50, "flags": 4},
+ {"matrix": [4, 10], "x": 118, "y": 50, "flags": 4},
+ {"matrix": [4, 11], "x": 129, "y": 50, "flags": 4},
+ {"matrix": [4, 12], "x": 145, "y": 50, "flags": 4},
+ {"matrix": [4, 13], "x": 161, "y": 50, "flags": 4},
+
+ {"matrix": [4, 14], "x": 175, "y": 53, "flags": 4},
+
+ {"matrix": [4, 15], "x": 190, "y": 50, "flags": 4},
+ {"matrix": [4, 16], "x": 201, "y": 50, "flags": 4},
+ {"matrix": [4, 17], "x": 213, "y": 50, "flags": 4},
+ {"matrix": [4, 18], "x": 224, "y": 50, "flags": 4},
+
+ {"matrix": [5, 0], "x": 3, "y": 61, "flags": 4},
+ {"matrix": [5, 1], "x": 17, "y": 61, "flags": 4},
+ {"matrix": [5, 3], "x": 32, "y": 61, "flags": 4},
+ {"matrix": [5, 6], "x": 76, "y": 61, "flags": 4},
+ {"matrix": [5, 10], "x": 119, "y": 61, "flags": 4},
+ {"matrix": [5, 11], "x": 134, "y": 61, "flags": 4},
+ {"matrix": [5, 12], "x": 148, "y": 61, "flags": 4},
+
+ {"matrix": [5, 13], "x": 164, "y": 64, "flags": 4},
+ {"matrix": [5, 14], "x": 175, "y": 64, "flags": 4},
+ {"matrix": [5, 15], "x": 187, "y": 64, "flags": 4},
+
+ {"matrix": [5, 16], "x": 201, "y": 61, "flags": 4},
+ {"matrix": [5, 17], "x": 213, "y": 61, "flags": 4},
+ {"matrix": [5, 18], "x": 224, "y": 61, "flags": 4}
]
},
"matrix_pins": {
diff --git a/keyboards/mechlovin/olly/jf/rev2/rev2.c b/keyboards/mechlovin/olly/jf/rev2/rev2.c
index 04cf3b836d..0f8bc0be48 100644
--- a/keyboards/mechlovin/olly/jf/rev2/rev2.c
+++ b/keyboards/mechlovin/olly/jf/rev2/rev2.c
@@ -85,7 +85,7 @@ bool led_matrix_indicators_kb(void) {
if (layer_state_is(4)) {
led_matrix_set_value(113, 0xFF);
} else {
- led_matrix_set_value(114, 0x00);
+ led_matrix_set_value(113, 0x00);
}
return true;
diff --git a/keyboards/mechlovin/zed1800/zed1800.c b/keyboards/mechlovin/zed1800/zed1800.c
index e86b4d5a5a..975c8914dd 100644
--- a/keyboards/mechlovin/zed1800/zed1800.c
+++ b/keyboards/mechlovin/zed1800/zed1800.c
@@ -27,13 +27,19 @@ RGBLIGHT_LAYERS_LIST(
my_numlock_layer,
my_scroll_layer
);
+
void keyboard_post_init_kb(void) {
rgblight_layers = my_rgb_layers;
+
+ keyboard_post_init_user();
}
+
// Activate rgb layer for caps when capslock is enabled
bool led_update_kb(led_t led_state) {
- rgblight_set_layer_state(0, led_state.caps_lock);
- rgblight_set_layer_state(1, led_state.num_lock);
- rgblight_set_layer_state(2, led_state.scroll_lock);
+ if(led_update_user(led_state)) {
+ rgblight_set_layer_state(0, led_state.caps_lock);
+ rgblight_set_layer_state(1, led_state.num_lock);
+ rgblight_set_layer_state(2, led_state.scroll_lock);
+ }
return true;
} \ No newline at end of file
diff --git a/keyboards/mechlovin/zed65/mono_led/keyboard.json b/keyboards/mechlovin/zed65/mono_led/keyboard.json
index 0cf13002d9..763fbe9f4c 100644
--- a/keyboards/mechlovin/zed65/mono_led/keyboard.json
+++ b/keyboards/mechlovin/zed65/mono_led/keyboard.json
@@ -62,6 +62,82 @@
"wave_left_right": true,
"wave_up_down": true
},
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
+ {"matrix": [0, 1], "x": 15, "y": 0, "flags": 1},
+ {"matrix": [0, 2], "x": 30, "y": 0, "flags": 1},
+ {"matrix": [0, 3], "x": 45, "y": 0, "flags": 1},
+ {"matrix": [0, 4], "x": 60, "y": 0, "flags": 1},
+ {"matrix": [0, 5], "x": 75, "y": 0, "flags": 1},
+ {"matrix": [0, 6], "x": 90, "y": 0, "flags": 1},
+ {"matrix": [0, 7], "x": 105, "y": 0, "flags": 1},
+ {"matrix": [0, 8], "x": 119, "y": 0, "flags": 1},
+ {"matrix": [0, 9], "x": 134, "y": 0, "flags": 1},
+ {"matrix": [0, 10], "x": 149, "y": 0, "flags": 1},
+ {"matrix": [0, 11], "x": 164, "y": 0, "flags": 1},
+ {"matrix": [0, 12], "x": 179, "y": 0, "flags": 1},
+ {"matrix": [0, 13], "x": 194, "y": 0, "flags": 1},
+ {"matrix": [0, 14], "x": 209, "y": 0, "flags": 1},
+ {"matrix": [0, 15], "x": 224, "y": 0, "flags": 1},
+
+ {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1},
+ {"matrix": [1, 1], "x": 22, "y": 16, "flags": 1},
+ {"matrix": [1, 2], "x": 37, "y": 16, "flags": 1},
+ {"matrix": [1, 3], "x": 52, "y": 16, "flags": 1},
+ {"matrix": [1, 4], "x": 67, "y": 16, "flags": 1},
+ {"matrix": [1, 5], "x": 82, "y": 16, "flags": 1},
+ {"matrix": [1, 6], "x": 97, "y": 16, "flags": 1},
+ {"matrix": [1, 7], "x": 112, "y": 16, "flags": 1},
+ {"matrix": [1, 8], "x": 127, "y": 16, "flags": 1},
+ {"matrix": [1, 9], "x": 142, "y": 16, "flags": 1},
+ {"matrix": [1, 10], "x": 157, "y": 16, "flags": 1},
+ {"matrix": [1, 11], "x": 172, "y": 16, "flags": 1},
+ {"matrix": [1, 12], "x": 187, "y": 16, "flags": 1},
+ {"matrix": [1, 14], "x": 205, "y": 16, "flags": 1},
+ {"matrix": [1, 15], "x": 224, "y": 16, "flags": 1},
+
+ {"matrix": [2, 0], "x": 6, "y": 32, "flags": 1},
+ {"matrix": [2, 1], "x": 26, "y": 32, "flags": 1},
+ {"matrix": [2, 2], "x": 41, "y": 32, "flags": 1},
+ {"matrix": [2, 3], "x": 56, "y": 32, "flags": 1},
+ {"matrix": [2, 4], "x": 71, "y": 32, "flags": 1},
+ {"matrix": [2, 5], "x": 86, "y": 32, "flags": 1},
+ {"matrix": [2, 6], "x": 101, "y": 32, "flags": 1},
+ {"matrix": [2, 7], "x": 116, "y": 32, "flags": 1},
+ {"matrix": [2, 8], "x": 131, "y": 32, "flags": 1},
+ {"matrix": [2, 9], "x": 146, "y": 32, "flags": 1},
+ {"matrix": [2, 10], "x": 161, "y": 32, "flags": 1},
+ {"matrix": [2, 11], "x": 175, "y": 32, "flags": 1},
+ {"matrix": [2, 12], "x": 190, "y": 32, "flags": 1},
+ {"matrix": [2, 13], "x": 207, "y": 32, "flags": 1},
+ {"matrix": [2, 15], "x": 224, "y": 32, "flags": 1},
+
+ {"matrix": [3, 0], "x": 2, "y": 48, "flags": 1},
+ {"matrix": [3, 1], "x": 19, "y": 48, "flags": 1},
+ {"matrix": [3, 2], "x": 34, "y": 48, "flags": 1},
+ {"matrix": [3, 3], "x": 49, "y": 48, "flags": 1},
+ {"matrix": [3, 4], "x": 63, "y": 48, "flags": 1},
+ {"matrix": [3, 5], "x": 78, "y": 48, "flags": 1},
+ {"matrix": [3, 6], "x": 93, "y": 48, "flags": 1},
+ {"matrix": [3, 7], "x": 108, "y": 48, "flags": 1},
+ {"matrix": [3, 8], "x": 123, "y": 48, "flags": 1},
+ {"matrix": [3, 9], "x": 138, "y": 48, "flags": 1},
+ {"matrix": [3, 10], "x": 153, "y": 48, "flags": 1},
+ {"matrix": [3, 11], "x": 168, "y": 48, "flags": 1},
+ {"matrix": [3, 12], "x": 189, "y": 48, "flags": 1},
+ {"matrix": [3, 14], "x": 209, "y": 48, "flags": 1},
+ {"matrix": [3, 15], "x": 224, "y": 48, "flags": 1},
+
+ {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1},
+ {"matrix": [4, 1], "x": 21, "y": 64, "flags": 1},
+ {"matrix": [4, 2], "x": 39, "y": 64, "flags": 1},
+ {"matrix": [4, 6], "x": 95, "y": 64, "flags": 1},
+ {"matrix": [4, 10], "x": 151, "y": 64, "flags": 1},
+ {"matrix": [4, 11], "x": 170, "y": 64, "flags": 1},
+ {"matrix": [4, 13], "x": 194, "y": 64, "flags": 1},
+ {"matrix": [4, 14], "x": 209, "y": 64, "flags": 1},
+ {"matrix": [4, 15], "x": 224, "y": 64, "flags": 1}
+ ],
"driver": "is31fl3731",
"react_on_keyup": true
},
diff --git a/keyboards/mechlovin/zed65/mono_led/mono_led.c b/keyboards/mechlovin/zed65/mono_led/mono_led.c
index d8570fa0a6..7ba47912ec 100644
--- a/keyboards/mechlovin/zed65/mono_led/mono_led.c
+++ b/keyboards/mechlovin/zed65/mono_led/mono_led.c
@@ -31,30 +31,6 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
{ 0, C6_1 }, { 0, C6_2 }, { 0, C6_3 }, { 0, C6_7 }, { 0, C6_11 }, { 0, C6_12 }, { 0, C6_14 }, { 0, C6_15 }, { 0, C6_16 },
};
-led_config_t g_led_config = {
-{
- // Key Matrix to LED Index
- { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15},
- {16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, NO_LED, 29, 30},
- {31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, NO_LED, 45},
- {46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, NO_LED, 59, 60},
- {61, 62, 63, NO_LED, NO_LED, NO_LED, 64, NO_LED, NO_LED, NO_LED, 65, 66, NO_LED, 67, 68, 69},
-}, {
- //LED Index to Physical Positon
- {0, 0}, {15, 0}, {30, 0}, {45, 0}, {60, 0}, {75, 0}, {90, 0}, {105, 0}, {119, 0}, {134, 0}, {149, 0}, {164, 0}, {179, 0}, {194, 0}, {209, 0}, {224, 0},
- {0,16}, {15, 16}, {30, 16}, {45, 16}, {60, 16}, {75, 16}, {90, 16}, {105,16}, {119,16}, {134,16}, {149,16}, {164,16}, {179,16}, {209,16}, {224,16},
- {0,32}, {15, 32}, {30, 32}, {45, 32}, {60, 32}, {75, 32}, {90, 32}, {105,32}, {119,32}, {134,32}, {149,32}, {164,32}, {179,32}, {194,32}, {224,32},
- {0,48}, {15, 48}, {30, 48}, {45, 48}, {60, 48}, {75, 48}, {90, 48}, {105,48}, {119,48}, {134,48}, {149,48}, {164,48}, {179,48}, {209,48}, {224,48},
- {0,64}, {15, 64}, {30, 64}, {90, 64}, {149,64}, {164,64}, {194,64}, {209,64}, {224,64},
- }, {
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1,
- }
-};
-
bool led_matrix_indicators_kb(void) {
if (!led_matrix_indicators_user()) {
return false;
@@ -63,4 +39,4 @@ bool led_matrix_indicators_kb(void) {
led_matrix_set_value(31, 0xFF);
}
return true;
-} \ No newline at end of file
+}
diff --git a/keyboards/mechlovin/zed65/no_backlight/wearhaus66/wearhaus66.c b/keyboards/mechlovin/zed65/no_backlight/wearhaus66/wearhaus66.c
index a6942a2cb8..de1c73a0e0 100644
--- a/keyboards/mechlovin/zed65/no_backlight/wearhaus66/wearhaus66.c
+++ b/keyboards/mechlovin/zed65/no_backlight/wearhaus66/wearhaus66.c
@@ -17,8 +17,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "quantum.h"
-void keyboard_pre_init_user(void) {
- // Call the keyboard pre init code.
+void keyboard_pre_init_kb(void) {
// Set our LED pins as output
gpio_set_pin_output(B7);
+
+ keyboard_pre_init_user();
}
diff --git a/keyboards/meetlab/kafkasplit/keyboard.json b/keyboards/meetlab/kafkasplit/keyboard.json
index d71d405f33..375d4f7a03 100644
--- a/keyboards/meetlab/kafkasplit/keyboard.json
+++ b/keyboards/meetlab/kafkasplit/keyboard.json
@@ -130,6 +130,9 @@
"rows": ["GP11", "GP13", "GP12", "GP14"]
}
},
+ "serial": {
+ "driver": "vendor"
+ },
"transport": {
"sync": {
"indicators": true,
diff --git a/keyboards/meetlab/kafkasplit/rules.mk b/keyboards/meetlab/kafkasplit/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/meetlab/kafkasplit/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/mixi/config.h b/keyboards/mixi/config.h
index e5c829d811..cf7c89abb1 100644
--- a/keyboards/mixi/config.h
+++ b/keyboards/mixi/config.h
@@ -1,4 +1,6 @@
#pragma once
+#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 5)
+
#define RGBLIGHT_LAYERS
#define RGBLIGHT_LAYER_BLINK
diff --git a/keyboards/mixi/mixi.c b/keyboards/mixi/mixi.c
deleted file mode 100644
index e8da7fdac2..0000000000
--- a/keyboards/mixi/mixi.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include "quantum.h"
-
-void eeconfig_init_kb(void) {
-#ifdef RGBLIGHT_ENABLE
- rgblight_enable(); // Enable RGB underglow by default
- rgblight_sethsv(0, 255, 255);
-#ifdef RGBLIGHT_EFFECT_RAINBOW_SWIRL
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 5); // Set to RGB_RAINBOW_SWIRL animation by default
-#endif
-#endif
-
- eeconfig_update_kb(0);
- eeconfig_init_user();
-}
diff --git a/keyboards/mlego/m60_split/rev1/config.h b/keyboards/mlego/m60_split/rev1/config.h
index 564add296d..406ff66e5a 100644
--- a/keyboards/mlego/m60_split/rev1/config.h
+++ b/keyboards/mlego/m60_split/rev1/config.h
@@ -15,6 +15,4 @@
*/
#pragma once
-#define SPLIT_HAND_PIN B9
-#define SERIAL_USART_TX_PIN B6
#define SERIAL_USART_SPEED 921600
diff --git a/keyboards/mlego/m60_split/rev1/keyboard.json b/keyboards/mlego/m60_split/rev1/keyboard.json
index d0c6275dc9..fd98df8bf9 100644
--- a/keyboards/mlego/m60_split/rev1/keyboard.json
+++ b/keyboards/mlego/m60_split/rev1/keyboard.json
@@ -63,12 +63,19 @@
"bootmagic": {
"matrix": [5, 0]
},
+ "handedness": {
+ "pin": "B9"
+ },
"matrix_pins": {
"right": {
"cols": ["B0", "A3", "A2", "A1", "B7", "B5"],
"rows": ["B1", "A4", "A5", "A6", "A7"]
}
},
+ "serial": {
+ "driver": "usart",
+ "pin": "B6"
+ },
"transport": {
"sync": {
"indicators": true,
diff --git a/keyboards/mlego/m60_split/rev1/rules.mk b/keyboards/mlego/m60_split/rev1/rules.mk
deleted file mode 100644
index c6e2988321..0000000000
--- a/keyboards/mlego/m60_split/rev1/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = usart
diff --git a/keyboards/mlego/m60_split/rev2/config.h b/keyboards/mlego/m60_split/rev2/config.h
index 82ea1b37e3..7d22252451 100644
--- a/keyboards/mlego/m60_split/rev2/config.h
+++ b/keyboards/mlego/m60_split/rev2/config.h
@@ -15,9 +15,6 @@
*/
#pragma once
-#define SPLIT_HAND_PIN B9
-#define SERIAL_USART_TX_PIN B6
-
#define SERIAL_USART_SPEED 921600
#define RGBLIGHT_LAYERS
diff --git a/keyboards/mlego/m60_split/rev2/keyboard.json b/keyboards/mlego/m60_split/rev2/keyboard.json
index 48d962f9cc..269373033f 100644
--- a/keyboards/mlego/m60_split/rev2/keyboard.json
+++ b/keyboards/mlego/m60_split/rev2/keyboard.json
@@ -56,12 +56,19 @@
"bootmagic": {
"matrix": [5, 0]
},
+ "handedness": {
+ "pin": "B9"
+ },
"matrix_pins": {
"right": {
"cols": ["B0", "A3", "A2", "A1", "B7", "B5"],
"rows": ["B1", "A4", "A5", "A6", "A7"]
}
},
+ "serial": {
+ "driver": "usart",
+ "pin": "B6"
+ },
"transport": {
"sync": {
"indicators": true,
diff --git a/keyboards/mlego/m60_split/rev2/rules.mk b/keyboards/mlego/m60_split/rev2/rules.mk
deleted file mode 100644
index c6e2988321..0000000000
--- a/keyboards/mlego/m60_split/rev2/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = usart
diff --git a/keyboards/mode/m256wh/config.h b/keyboards/mode/m256wh/config.h
index 06f1658ea5..5bb3d6d1f3 100644
--- a/keyboards/mode/m256wh/config.h
+++ b/keyboards/mode/m256wh/config.h
@@ -23,5 +23,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define WS2812_PWM_PAL_MODE 1
#define WS2812_PWM_DMA_STREAM STM32_DMA2_STREAM5
#define WS2812_PWM_DMA_CHANNEL 6
-
-#define EECONFIG_KB_DATA_SIZE (1)
diff --git a/keyboards/punk75/config.h b/keyboards/mode/m256wh/keymaps/via/config.h
index 321865330c..31dfebf49a 100644
--- a/keyboards/punk75/config.h
+++ b/keyboards/mode/m256wh/keymaps/via/config.h
@@ -1,5 +1,5 @@
/*
-Copyright 2020 dsanchezseco
+Copyright 2022 Gondolindrim
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -17,4 +17,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define LED A0
+#define EECONFIG_USER_DATA_SIZE (1)
diff --git a/keyboards/mode/m256wh/keymaps/via/keymap.c b/keyboards/mode/m256wh/keymaps/via/keymap.c
index a81d663450..6adb5cfffa 100644
--- a/keyboards/mode/m256wh/keymaps/via/keymap.c
+++ b/keyboards/mode/m256wh/keymaps/via/keymap.c
@@ -31,3 +31,135 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
+
+bool is_second_rgb_row_active;
+
+enum via_secondrow_enable {
+ id_is_second_rgb_row_active = 0
+};
+
+// Sets the second RGB row on or off; done by setting effect range.
+void set_second_rgb_row(bool is_active) {
+ rgblight_disable_noeeprom();
+ switch (is_active)
+ {
+ case true:
+ {
+ rgblight_set_effect_range(0,30);
+ break;
+ }
+ case false:
+ {
+ rgblight_set_effect_range(0,15);
+ break;
+ }
+ }
+ rgblight_enable_noeeprom();
+}
+
+// At the keyboard start, retrieves PMEM stored configs
+void keyboard_post_init_user(void) {
+ rgblight_disable_noeeprom();
+ wait_ms(20);
+ eeconfig_read_user_datablock(&is_second_rgb_row_active);
+ set_second_rgb_row(is_second_rgb_row_active);
+ rgblight_reload_from_eeprom();
+ rgblight_set();
+}
+
+void eeconfig_init_user(void) { // EEPROM is getting reset!
+ // rgblight_disable(); // Enable RGB by default
+ // Define the defualt value and write it to EEPROM
+ is_second_rgb_row_active = true;
+ set_second_rgb_row(is_second_rgb_row_active);
+ eeconfig_update_user_datablock(&is_second_rgb_row_active);
+
+ // Disable rgblight by default on EEPROM initialization
+ rgblight_disable();
+}
+
+void secondrow_config_set_value( uint8_t *data )
+{
+ // data = [ value_id, value_data ]
+ uint8_t *value_id = &(data[0]);
+ uint8_t *value_data = &(data[1]);
+
+ switch ( *value_id )
+ {
+ case id_is_second_rgb_row_active:
+ {
+ is_second_rgb_row_active = (bool) *value_data;
+ break;
+ }
+ default:
+ {
+ is_second_rgb_row_active = true;
+ }
+ }
+ set_second_rgb_row(is_second_rgb_row_active);
+}
+
+void secondrow_config_get_value( uint8_t *data )
+{
+ // data = [ value_id, value_data ]
+ uint8_t *value_id = &(data[0]);
+ uint8_t *value_data = &(data[1]);
+
+ switch ( *value_id )
+ {
+ case id_is_second_rgb_row_active:
+ {
+ *value_data = is_second_rgb_row_active;
+ break;
+ }
+ default:
+ {
+ *value_data = false;
+ }
+ }
+}
+
+void secondrow_config_save(void)
+{
+ eeconfig_update_user_datablock(&is_second_rgb_row_active);
+}
+
+void via_custom_value_command_kb(uint8_t *data, uint8_t length) {
+ // data = [ command_id, channel_id, value_id, value_data ]
+ uint8_t *command_id = &(data[0]);
+ uint8_t *channel_id = &(data[1]);
+ uint8_t *value_id_and_data = &(data[2]);
+
+ if ( *channel_id == id_custom_channel ) {
+ switch ( *command_id )
+ {
+ case id_custom_set_value:
+ {
+ secondrow_config_set_value(value_id_and_data);
+ break;
+ }
+ case id_custom_get_value:
+ {
+ secondrow_config_get_value(value_id_and_data);
+ break;
+ }
+ case id_custom_save:
+ {
+ secondrow_config_save();
+ break;
+ }
+ default:
+ {
+ // Unhandled message.
+ *command_id = id_unhandled;
+ break;
+ }
+ }
+ return;
+ }
+
+ // Return the unhandled state
+ *command_id = id_unhandled;
+
+ // DO NOT call raw_hid_send(data,length) here, let caller do this
+}
diff --git a/keyboards/mode/m256wh/m256wh.c b/keyboards/mode/m256wh/m256wh.c
deleted file mode 100644
index cec427f329..0000000000
--- a/keyboards/mode/m256wh/m256wh.c
+++ /dev/null
@@ -1,154 +0,0 @@
-/* Copyright 2022 Gondolindrim
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "quantum.h"
-
-#ifdef VIA_ENABLE
-bool is_second_rgb_row_active;
-enum via_secondrow_enable {
- id_is_second_rgb_row_active = 0
-};
-
-// Sets the second RGB row on or off; done by setting effect range.
-void set_second_rgb_row(bool is_active) {
- rgblight_disable_noeeprom();
- switch (is_active)
- {
- case true:
- {
- rgblight_set_effect_range(0,30);
- break;
- }
- case false:
- {
- rgblight_set_effect_range(0,15);
- break;
- }
- }
- rgblight_enable_noeeprom();
-}
-
-// At the keyboard start, retrieves PMEM stored configs
-void keyboard_post_init_kb(void) {
- rgblight_disable_noeeprom();
- wait_ms(20);
- eeconfig_read_kb_datablock(&is_second_rgb_row_active);
- set_second_rgb_row(is_second_rgb_row_active);
- rgblight_reload_from_eeprom();
- rgblight_set();
-}
-
-void eeconfig_init_kb(void) { // EEPROM is getting reset!
- // rgblight_disable(); // Enable RGB by default
- // Define the defualt value and write it to EEPROM
- is_second_rgb_row_active = true;
- set_second_rgb_row(is_second_rgb_row_active);
- eeconfig_update_kb_datablock(&is_second_rgb_row_active);
-
- // Disable rgblight by default on EEPROM initialization
- rgblight_disable();
-
- // Run user code if any
- eeconfig_init_user();
-}
-
-void secondrow_config_set_value( uint8_t *data )
-{
- // data = [ value_id, value_data ]
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch ( *value_id )
- {
- case id_is_second_rgb_row_active:
- {
- is_second_rgb_row_active = (bool) *value_data;
- break;
- }
- default:
- {
- is_second_rgb_row_active = true;
- }
- }
- set_second_rgb_row(is_second_rgb_row_active);
-}
-
-void secondrow_config_get_value( uint8_t *data )
-{
- // data = [ value_id, value_data ]
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch ( *value_id )
- {
- case id_is_second_rgb_row_active:
- {
- *value_data = is_second_rgb_row_active;
- break;
- }
- default:
- {
- *value_data = false;
- }
- }
-}
-
-void secondrow_config_save(void)
-{
-
- eeconfig_update_kb_datablock(&is_second_rgb_row_active);
-}
-
-void via_custom_value_command_kb(uint8_t *data, uint8_t length) {
- // data = [ command_id, channel_id, value_id, value_data ]
- uint8_t *command_id = &(data[0]);
- uint8_t *channel_id = &(data[1]);
- uint8_t *value_id_and_data = &(data[2]);
-
- if ( *channel_id == id_custom_channel ) {
- switch ( *command_id )
- {
- case id_custom_set_value:
- {
- secondrow_config_set_value(value_id_and_data);
- break;
- }
- case id_custom_get_value:
- {
- secondrow_config_get_value(value_id_and_data);
- break;
- }
- case id_custom_save:
- {
- secondrow_config_save();
- break;
- }
- default:
- {
- // Unhandled message.
- *command_id = id_unhandled;
- break;
- }
- }
- return;
- }
-
- // Return the unhandled state
- *command_id = id_unhandled;
-
- // DO NOT call raw_hid_send(data,length) here, let caller do this
-}
-#endif
diff --git a/keyboards/mode/m256ws/config.h b/keyboards/mode/m256ws/config.h
index 06f1658ea5..5bb3d6d1f3 100644
--- a/keyboards/mode/m256ws/config.h
+++ b/keyboards/mode/m256ws/config.h
@@ -23,5 +23,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define WS2812_PWM_PAL_MODE 1
#define WS2812_PWM_DMA_STREAM STM32_DMA2_STREAM5
#define WS2812_PWM_DMA_CHANNEL 6
-
-#define EECONFIG_KB_DATA_SIZE (1)
diff --git a/keyboards/recompile_keys/choco60/rev1/config.h b/keyboards/mode/m256ws/keymaps/via/config.h
index ba9e3a474e..31dfebf49a 100644
--- a/keyboards/recompile_keys/choco60/rev1/config.h
+++ b/keyboards/mode/m256ws/keymaps/via/config.h
@@ -1,5 +1,5 @@
/*
-Copyright 2019 Naoto Takai
+Copyright 2022 Gondolindrim
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -17,4 +17,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define SPLIT_HAND_PIN D0
+#define EECONFIG_USER_DATA_SIZE (1)
diff --git a/keyboards/mode/m256ws/keymaps/via/keymap.c b/keyboards/mode/m256ws/keymaps/via/keymap.c
index ab77f7af20..6766852f78 100644
--- a/keyboards/mode/m256ws/keymaps/via/keymap.c
+++ b/keyboards/mode/m256ws/keymaps/via/keymap.c
@@ -31,3 +31,135 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS
)
};
+
+bool is_second_rgb_row_active;
+
+enum via_secondrow_enable {
+ id_is_second_rgb_row_active = 0
+};
+
+// Sets the second RGB row on or off; done by setting effect range.
+void set_second_rgb_row(bool is_active) {
+ rgblight_disable_noeeprom();
+ switch (is_active)
+ {
+ case true:
+ {
+ rgblight_set_effect_range(0,30);
+ break;
+ }
+ case false:
+ {
+ rgblight_set_effect_range(0,15);
+ break;
+ }
+ }
+ rgblight_enable_noeeprom();
+}
+
+// At the keyboard start, retrieves PMEM stored configs
+void keyboard_post_init_user(void) {
+ rgblight_disable_noeeprom();
+ wait_ms(20);
+ eeconfig_read_user_datablock(&is_second_rgb_row_active);
+ set_second_rgb_row(is_second_rgb_row_active);
+ rgblight_reload_from_eeprom();
+ rgblight_set();
+}
+
+void eeconfig_init_user(void) { // EEPROM is getting reset!
+ // rgblight_disable(); // Enable RGB by default
+ // Define the defualt value and write it to EEPROM
+ is_second_rgb_row_active = true;
+ set_second_rgb_row(is_second_rgb_row_active);
+ eeconfig_update_user_datablock(&is_second_rgb_row_active);
+
+ // Disable rgblight by default on EEPROM initialization
+ rgblight_disable();
+}
+
+void secondrow_config_set_value( uint8_t *data )
+{
+ // data = [ value_id, value_data ]
+ uint8_t *value_id = &(data[0]);
+ uint8_t *value_data = &(data[1]);
+
+ switch ( *value_id )
+ {
+ case id_is_second_rgb_row_active:
+ {
+ is_second_rgb_row_active = (bool) *value_data;
+ break;
+ }
+ default:
+ {
+ is_second_rgb_row_active = true;
+ }
+ }
+ set_second_rgb_row(is_second_rgb_row_active);
+}
+
+void secondrow_config_get_value( uint8_t *data )
+{
+ // data = [ value_id, value_data ]
+ uint8_t *value_id = &(data[0]);
+ uint8_t *value_data = &(data[1]);
+
+ switch ( *value_id )
+ {
+ case id_is_second_rgb_row_active:
+ {
+ *value_data = is_second_rgb_row_active;
+ break;
+ }
+ default:
+ {
+ *value_data = false;
+ }
+ }
+}
+
+void secondrow_config_save(void)
+{
+ eeconfig_update_user_datablock(&is_second_rgb_row_active);
+}
+
+void via_custom_value_command_kb(uint8_t *data, uint8_t length) {
+ // data = [ command_id, channel_id, value_id, value_data ]
+ uint8_t *command_id = &(data[0]);
+ uint8_t *channel_id = &(data[1]);
+ uint8_t *value_id_and_data = &(data[2]);
+
+ if ( *channel_id == id_custom_channel ) {
+ switch ( *command_id )
+ {
+ case id_custom_set_value:
+ {
+ secondrow_config_set_value(value_id_and_data);
+ break;
+ }
+ case id_custom_get_value:
+ {
+ secondrow_config_get_value(value_id_and_data);
+ break;
+ }
+ case id_custom_save:
+ {
+ secondrow_config_save();
+ break;
+ }
+ default:
+ {
+ // Unhandled message.
+ *command_id = id_unhandled;
+ break;
+ }
+ }
+ return;
+ }
+
+ // Return the unhandled state
+ *command_id = id_unhandled;
+
+ // DO NOT call raw_hid_send(data,length) here, let caller do this
+}
diff --git a/keyboards/mode/m256ws/m256ws.c b/keyboards/mode/m256ws/m256ws.c
deleted file mode 100644
index 5603de7b01..0000000000
--- a/keyboards/mode/m256ws/m256ws.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/* Copyright 2022 Gondolindrim
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "quantum.h"
-
-#ifdef VIA_ENABLE
-bool is_second_rgb_row_active;
-enum via_secondrow_enable {
- id_is_second_rgb_row_active = 0
-};
-
-// Sets the second RGB row on or off; done by setting effect range.
-void set_second_rgb_row(bool is_active) {
- rgblight_disable_noeeprom();
- switch (is_active)
- {
- case true:
- {
- rgblight_set_effect_range(0,30);
- break;
- }
- case false:
- {
- rgblight_set_effect_range(0,15);
- break;
- }
- }
- rgblight_enable_noeeprom();
-}
-
-// At the keyboard start, retrieves PMEM stored configs
-void keyboard_post_init_kb(void) {
- rgblight_disable_noeeprom();
- wait_ms(20);
- eeconfig_read_kb_datablock(&is_second_rgb_row_active);
- set_second_rgb_row(is_second_rgb_row_active);
- rgblight_reload_from_eeprom();
- rgblight_set();
-}
-
-void eeconfig_init_kb(void) { // EEPROM is getting reset!
- // rgblight_disable(); // Enable RGB by default
- // Define the defualt value and write it to EEPROM
- is_second_rgb_row_active = true;
- set_second_rgb_row(is_second_rgb_row_active);
- eeconfig_update_kb_datablock(&is_second_rgb_row_active);
-
- // Disable rgblight by default on EEPROM initialization
- rgblight_disable();
-
- // Run user code, if any
- eeconfig_init_user();
-}
-
-void secondrow_config_set_value( uint8_t *data )
-{
- // data = [ value_id, value_data ]
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch ( *value_id )
- {
- case id_is_second_rgb_row_active:
- {
- is_second_rgb_row_active = (bool) *value_data;
- break;
- }
- default:
- {
- is_second_rgb_row_active = true;
- }
- }
- set_second_rgb_row(is_second_rgb_row_active);
-}
-
-void secondrow_config_get_value( uint8_t *data )
-{
- // data = [ value_id, value_data ]
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch ( *value_id )
- {
- case id_is_second_rgb_row_active:
- {
- *value_data = is_second_rgb_row_active;
- break;
- }
- default:
- {
- *value_data = false;
- }
- }
-}
-
-void secondrow_config_save(void)
-{
-
- eeconfig_update_kb_datablock(&is_second_rgb_row_active);
-}
-
-void via_custom_value_command_kb(uint8_t *data, uint8_t length) {
- // data = [ command_id, channel_id, value_id, value_data ]
- uint8_t *command_id = &(data[0]);
- uint8_t *channel_id = &(data[1]);
- uint8_t *value_id_and_data = &(data[2]);
-
- if ( *channel_id == id_custom_channel ) {
- switch ( *command_id )
- {
- case id_custom_set_value:
- {
- secondrow_config_set_value(value_id_and_data);
- break;
- }
- case id_custom_get_value:
- {
- secondrow_config_get_value(value_id_and_data);
- break;
- }
- case id_custom_save:
- {
- secondrow_config_save();
- break;
- }
- default:
- {
- // Unhandled message.
- *command_id = id_unhandled;
- break;
- }
- }
- return;
- }
-
- // Return the unhandled state
- *command_id = id_unhandled;
-
-}
-#endif // VIA ENABLE
diff --git a/keyboards/monsgeek/m3/m3.c b/keyboards/monsgeek/m3/m3.c
index 04a9f0ca96..1752ddc3b3 100644
--- a/keyboards/monsgeek/m3/m3.c
+++ b/keyboards/monsgeek/m3/m3.c
@@ -140,6 +140,8 @@ void matrix_init_kb(void) {
gpio_write_pin_low(LED_MAC_OS_PIN);
gpio_set_pin_output(LED_WIN_LOCK_PIN); // LED3 Win Lock
gpio_write_pin_low(LED_WIN_LOCK_PIN);
+
+ matrix_init_user();
}
void housekeeping_task_kb(void){
diff --git a/keyboards/mt/mt84/config.h b/keyboards/mt/mt84/config.h
index e2b30400a9..99449b14cc 100644
--- a/keyboards/mt/mt84/config.h
+++ b/keyboards/mt/mt84/config.h
@@ -1,18 +1,6 @@
- /* Copyright 2020 MT <[email protected]>
- *
- * 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 2020 MaiKong<[email protected]>
+// SPDX-License-Identifier: GPL-2.0+
+
#pragma once
#define IS31FL3737_I2C_ADDRESS_1 IS31FL3737_I2C_ADDRESS_GND
diff --git a/keyboards/mt/mt84/keyboard.json b/keyboards/mt/mt84/keyboard.json
index fd03c2cf71..26f66b31db 100644
--- a/keyboards/mt/mt84/keyboard.json
+++ b/keyboards/mt/mt84/keyboard.json
@@ -43,7 +43,6 @@
"hue_wave": true,
"pixel_rain": true,
"pixel_flow": true,
- "pixel_fractal": true,
"solid_reactive_simple": true,
"solid_reactive": true,
"solid_reactive_wide": true,
diff --git a/keyboards/mt/mt84/keymaps/default/keymap.c b/keyboards/mt/mt84/keymaps/default/keymap.c
index e3c7fa8b87..2b3371257c 100644
--- a/keyboards/mt/mt84/keymaps/default/keymap.c
+++ b/keyboards/mt/mt84/keymaps/default/keymap.c
@@ -1,18 +1,6 @@
- /* Copyright 2020 mt<[email protected]>
- *
- * 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 2020 MaiKong<[email protected]>
+// SPDX-License-Identifier: GPL-2.0
+
#include QMK_KEYBOARD_H
diff --git a/keyboards/mt/mt84/keymaps/via/keymap.c b/keyboards/mt/mt84/keymaps/via/keymap.c
index 6906ddf9fe..906ed635ad 100644
--- a/keyboards/mt/mt84/keymaps/via/keymap.c
+++ b/keyboards/mt/mt84/keymaps/via/keymap.c
@@ -1,18 +1,6 @@
- /* Copyright 2020 MaiKong<[email protected]>
- *
- * 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 2020 MaiKong<[email protected]>
+// SPDX-License-Identifier: GPL-2.0+
+
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
diff --git a/keyboards/mt/mt84/mt84.c b/keyboards/mt/mt84/mt84.c
index 1ac61e87c0..230559af4c 100644
--- a/keyboards/mt/mt84/mt84.c
+++ b/keyboards/mt/mt84/mt84.c
@@ -1,18 +1,6 @@
- /* Copyright 2020 MT<[email protected]>
- *
- * 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 2020 MaiKong<[email protected]>
+// SPDX-License-Identifier: GPL-2.0+
+
#include "quantum.h"
#ifdef RGB_MATRIX_ENABLE
diff --git a/keyboards/nacly/sodium42/config.h b/keyboards/nacly/sodium42/config.h
deleted file mode 100644
index fe3f0e0cc9..0000000000
--- a/keyboards/nacly/sodium42/config.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright 2022 NaCly
- *
- * 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 SPLIT_HAND_PIN F4
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-// #define NO_DEBUG
-
-/* disable print */
-// #define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/nacly/sodium42/keyboard.json b/keyboards/nacly/sodium42/keyboard.json
index 491a2cf955..ba4f386ca1 100644
--- a/keyboards/nacly/sodium42/keyboard.json
+++ b/keyboards/nacly/sodium42/keyboard.json
@@ -29,6 +29,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "F4"
+ },
"soft_serial_pin": "D3"
},
"processor": "atmega32u4",
diff --git a/keyboards/nacly/sodium50/config.h b/keyboards/nacly/sodium50/config.h
deleted file mode 100644
index fe3f0e0cc9..0000000000
--- a/keyboards/nacly/sodium50/config.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright 2022 NaCly
- *
- * 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 SPLIT_HAND_PIN F4
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-// #define NO_DEBUG
-
-/* disable print */
-// #define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/nacly/sodium50/keyboard.json b/keyboards/nacly/sodium50/keyboard.json
index ec0edbfd9a..4144b6a473 100644
--- a/keyboards/nacly/sodium50/keyboard.json
+++ b/keyboards/nacly/sodium50/keyboard.json
@@ -29,6 +29,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "F4"
+ },
"soft_serial_pin": "D3"
},
"processor": "atmega32u4",
diff --git a/keyboards/nacly/sodium62/config.h b/keyboards/nacly/sodium62/config.h
index 341e0e0d89..09240d0b50 100644
--- a/keyboards/nacly/sodium62/config.h
+++ b/keyboards/nacly/sodium62/config.h
@@ -16,8 +16,6 @@
#pragma once
-#define SPLIT_HAND_PIN F4
-
#define OLED_BRIGHTNESS 128
/*
diff --git a/keyboards/nacly/sodium62/keyboard.json b/keyboards/nacly/sodium62/keyboard.json
index 2d9f01e801..1e181eebab 100644
--- a/keyboards/nacly/sodium62/keyboard.json
+++ b/keyboards/nacly/sodium62/keyboard.json
@@ -30,6 +30,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "F4"
+ },
"soft_serial_pin": "D3"
},
"processor": "atmega32u4",
diff --git a/keyboards/nacly/splitreus62/config.h b/keyboards/nacly/splitreus62/config.h
deleted file mode 100644
index b4f9d582ce..0000000000
--- a/keyboards/nacly/splitreus62/config.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
-Copyright 2012 Jun Wako <[email protected]>
-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
-
-#define SPLIT_HAND_PIN F4
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-// #define NO_DEBUG
-
-/* disable print */
-// #define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/nacly/splitreus62/keyboard.json b/keyboards/nacly/splitreus62/keyboard.json
index 08a8010483..e46d4be668 100644
--- a/keyboards/nacly/splitreus62/keyboard.json
+++ b/keyboards/nacly/splitreus62/keyboard.json
@@ -30,6 +30,9 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "F4"
+ },
"soft_serial_pin": "D0"
},
"rgblight": {
diff --git a/keyboards/afternoonlabs/southern_breeze/rev1/config.h b/keyboards/nix_studio/oxalys80/config.h
index d6bb6df14c..7943ea4a25 100644
--- a/keyboards/afternoonlabs/southern_breeze/rev1/config.h
+++ b/keyboards/nix_studio/oxalys80/config.h
@@ -1,4 +1,4 @@
-/* Copyright 2021 Afternoon Labs
+/* Copyright 2021 Nix Studio
*
* 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,6 @@
* 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 SPLIT_HAND_PIN B3
+#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
diff --git a/keyboards/nix_studio/oxalys80/keyboard.json b/keyboards/nix_studio/oxalys80/keyboard.json
index 5fa489f72b..470c43ea2f 100644
--- a/keyboards/nix_studio/oxalys80/keyboard.json
+++ b/keyboards/nix_studio/oxalys80/keyboard.json
@@ -39,6 +39,9 @@
"pin": "B3"
},
"rgblight": {
+ "default": {
+ "val": 128
+ },
"saturation_steps": 8,
"brightness_steps": 8,
"led_count": 24,
diff --git a/keyboards/nix_studio/oxalys80/oxalys80.c b/keyboards/nix_studio/oxalys80/oxalys80.c
deleted file mode 100644
index cfebb71043..0000000000
--- a/keyboards/nix_studio/oxalys80/oxalys80.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright 2021 Nix Studio
- *
- * 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"
-
-void eeconfig_init_kb(void) { // EEPROM is getting reset!
- rgblight_enable(); // Enable RGB by default
- rgblight_sethsv(0, 255, 128); // Set default HSV - red hue, full saturation, medium brightness
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 2); // set to RGB_RAINBOW_SWIRL by default
-
- eeconfig_update_kb(0);
- eeconfig_init_user();
-}
diff --git a/keyboards/noxary/220/220.c b/keyboards/noxary/220/220.c
deleted file mode 100644
index c5affa4344..0000000000
--- a/keyboards/noxary/220/220.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright 2020 Rozakiin
- *
- * 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"
-
-// Optional override functions below.
-// You can leave any or all of these undefined.
-// These are only required if you want to perform custom actions.
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
- gpio_set_pin_output(C6);
- matrix_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- if(led_update_user(led_state)) {
- gpio_write_pin(C6, led_state.num_lock);
- }
- return true;
-} \ No newline at end of file
diff --git a/keyboards/noxary/220/keyboard.json b/keyboards/noxary/220/keyboard.json
index 75d71aac8a..3565316999 100644
--- a/keyboards/noxary/220/keyboard.json
+++ b/keyboards/noxary/220/keyboard.json
@@ -32,6 +32,9 @@
"pin": "B7",
"breathing": true
},
+ "indicators": {
+ "num_lock": "C6"
+ },
"processor": "atmega32u2",
"bootloader": "atmel-dfu",
"community_layouts": ["ortho_6x4"],
diff --git a/keyboards/noxary/268_2/268_2.c b/keyboards/noxary/268_2/268_2.c
deleted file mode 100644
index 56b42d2343..0000000000
--- a/keyboards/noxary/268_2/268_2.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright 2018 Rozakiin
- *
- * 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"
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
- gpio_set_pin_output(B0);
- matrix_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- if(led_update_user(led_state)) {
- gpio_write_pin(B0, led_state.caps_lock);
- }
- return true;
-}
diff --git a/keyboards/noxary/268_2/keyboard.json b/keyboards/noxary/268_2/keyboard.json
index c724d07a49..08daee6d63 100644
--- a/keyboards/noxary/268_2/keyboard.json
+++ b/keyboards/noxary/268_2/keyboard.json
@@ -31,6 +31,9 @@
"backlight": {
"pin": "B7"
},
+ "indicators": {
+ "caps_lock": "B0"
+ },
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"community_layouts": ["65_ansi_blocker"],
diff --git a/keyboards/noxary/280/280.c b/keyboards/noxary/280/280.c
deleted file mode 100644
index 0f29df178f..0000000000
--- a/keyboards/noxary/280/280.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright 2019 %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/>.
- */
-#include "quantum.h"
-
-// Optional override functions below.
-// You can leave any or all of these undefined.
-// These are only required if you want to perform custom actions.
-
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
- gpio_set_pin_output(D5);
- gpio_set_pin_output(D0);
- matrix_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- if(led_update_user(led_state)) {
- gpio_write_pin(D5, led_state.caps_lock);
- gpio_write_pin(D0, led_state.scroll_lock);
- }
- return true;
-} \ No newline at end of file
diff --git a/keyboards/noxary/280/keyboard.json b/keyboards/noxary/280/keyboard.json
index 17acb96cdf..4bd9257152 100644
--- a/keyboards/noxary/280/keyboard.json
+++ b/keyboards/noxary/280/keyboard.json
@@ -32,6 +32,10 @@
"pin": "B7",
"breathing": true
},
+ "indicators": {
+ "caps_lock": "D5",
+ "scroll_lock": "D0"
+ },
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"layouts": {
diff --git a/keyboards/noxary/x268/keyboard.json b/keyboards/noxary/x268/keyboard.json
index f5a991deff..7ca5799de2 100644
--- a/keyboards/noxary/x268/keyboard.json
+++ b/keyboards/noxary/x268/keyboard.json
@@ -32,6 +32,9 @@
"backlight": {
"pin": "B7"
},
+ "indicators": {
+ "caps_lock": "B0"
+ },
"rgblight": {
"hue_steps": 16,
"saturation_steps": 16,
diff --git a/keyboards/noxary/x268/x268.c b/keyboards/noxary/x268/x268.c
deleted file mode 100644
index 67d6dff89d..0000000000
--- a/keyboards/noxary/x268/x268.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright 2020 Rozakiin
- *
- * 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"
-
-// Optional override functions below.
-// You can leave any or all of these undefined.
-// These are only required if you want to perform custom actions.
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
- gpio_set_pin_output(B0);
- matrix_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- if(led_update_user(led_state)) {
- gpio_write_pin(B0, led_state.caps_lock);
- }
- return true;
-}
diff --git a/keyboards/nullbitsco/snap/snap.c b/keyboards/nullbitsco/snap/snap.c
index 7308572f95..bd0ea5b731 100644
--- a/keyboards/nullbitsco/snap/snap.c
+++ b/keyboards/nullbitsco/snap/snap.c
@@ -15,11 +15,6 @@
*/
#include "snap.h"
-// Macro variables
-bool is_alt_tab_active = false;
-uint16_t alt_tab_timer = 0;
-bool muted = false;
-
void matrix_init_kb(void) {
set_bitc_LED(LED_OFF);
matrix_init_remote_kb();
@@ -27,23 +22,16 @@ void matrix_init_kb(void) {
}
void keyboard_post_init_kb(void) {
- #ifdef CONSOLE_ENABLE
+#ifdef CONSOLE_ENABLE
debug_enable = true;
debug_matrix = true;
- #endif
+#endif
keyboard_post_init_user();
}
void matrix_scan_kb(void) {
matrix_scan_remote_kb();
matrix_scan_user();
-
- if (is_alt_tab_active) {
- if (timer_elapsed(alt_tab_timer) > 1000) {
- unregister_code(KC_LALT);
- is_alt_tab_active = false;
- }
- }
}
// Use Bit-C LED to show CAPS LOCK and NUM LOCK status
@@ -51,63 +39,29 @@ void led_update_ports(led_t led_state) {
set_bitc_LED(led_state.caps_lock ? LED_DIM : LED_OFF);
}
+bool shutdown_kb(bool jump_to_bootloader) {
+ if (!shutdown_user(jump_to_bootloader)) {
+ return false;
+ }
+
+ set_bitc_LED(LED_DIM);
+#ifdef RGBLIGHT_ENABLE
+ rgblight_disable_noeeprom();
+#endif
+#ifdef OLED_ENABLE
+ oled_off();
+#endif
+ return true;
+}
+
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
// If console is enabled, it will print the matrix position and status of each key pressed
- #ifdef CONSOLE_ENABLE
+#ifdef CONSOLE_ENABLE
dprintf("kc: 0x%04X, col: %u, row: %u, pressed: %b, time: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed, record->event.time);
- #endif
+#endif
process_record_remote_kb(keycode, record);
if (!process_record_user(keycode, record)) return false;
- switch (keycode) {
- case QK_BOOT:
- if (record->event.pressed) {
- set_bitc_LED(LED_DIM);
- #ifdef RGBLIGHT_ENABLE
- rgblight_disable_noeeprom();
- #endif
- #ifdef OLED_ENABLE
- oled_off();
- #endif
- bootloader_jump(); // jump to bootloader
- }
- return false;
-
- case DISC_MUTE:
- if (record->event.pressed) {
- tap_code(KC_F23);
- #ifdef RGBLIGHT_ENABLE
- if (!rgblight_is_enabled()) break;
-
- if (muted) {
- rgblight_enable_noeeprom();
- } else {
- rgblight_timer_disable();
- uint8_t val = rgblight_get_val();
- rgblight_sethsv_range(255, 255, val, 1, 5);
- }
- #endif
- muted = !muted;
- }
- break;
-
- case SUPER_ALT_TAB:
- if (record->event.pressed) {
- if (!is_alt_tab_active) {
- is_alt_tab_active = true;
- register_code(KC_LALT);
- }
- alt_tab_timer = timer_read();
- register_code(KC_TAB);
- } else {
- unregister_code(KC_TAB);
- }
- break;
-
- default:
- break;
- }
-
return true;
}
diff --git a/keyboards/nullbitsco/snap/snap.h b/keyboards/nullbitsco/snap/snap.h
index e593257368..c1fa22e0c1 100644
--- a/keyboards/nullbitsco/snap/snap.h
+++ b/keyboards/nullbitsco/snap/snap.h
@@ -18,15 +18,3 @@
#include "quantum.h"
#include "common/remote_kb.h"
#include "common/bitc_led.h"
-
-#ifdef VIA_ENABLE
-enum custom_keycodes {
- DISC_MUTE = QK_USER_0,
- SUPER_ALT_TAB
-};
-#else
-enum custom_keycodes {
- DISC_MUTE = SAFE_RANGE,
- SUPER_ALT_TAB
-};
-#endif
diff --git a/keyboards/ogre/ergo_split/config.h b/keyboards/ogre/ergo_split/config.h
deleted file mode 100644
index 9c0eb3b7a9..0000000000
--- a/keyboards/ogre/ergo_split/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-Copyright 2020 ctrlshiftba
-
-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 SPLIT_HAND_PIN D1
diff --git a/keyboards/ogre/ergo_split/keyboard.json b/keyboards/ogre/ergo_split/keyboard.json
index 765bebc2fb..ff06b079c0 100644
--- a/keyboards/ogre/ergo_split/keyboard.json
+++ b/keyboards/ogre/ergo_split/keyboard.json
@@ -24,6 +24,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "D1"
+ },
"soft_serial_pin": "D3"
},
"rgblight": {
diff --git a/keyboards/omnikeyish/omnikeyish.c b/keyboards/omnikeyish/omnikeyish.c
index 4a8a7fa4d6..8e7e316524 100644
--- a/keyboards/omnikeyish/omnikeyish.c
+++ b/keyboards/omnikeyish/omnikeyish.c
@@ -1,10 +1,12 @@
#include "omnikeyish.h"
-void keyboard_pre_init_user(void) {
+void keyboard_pre_init_kb(void) {
dynamic_macro_init();
+
+ keyboard_pre_init_user();
}
-void keyboard_post_init_user(void) {
+void keyboard_post_init_kb(void) {
/* Customise these values to desired behaviour */
//debug_enable = true;
//debug_matrix=true;
@@ -19,6 +21,8 @@ void keyboard_post_init_user(void) {
/* Send numlock keycode to attempt to force numlock back on. */
register_code(KC_NUM_LOCK);
unregister_code(KC_NUM_LOCK);
+
+ keyboard_post_init_user();
}
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
diff --git a/keyboards/ortho5by12/keyboard.json b/keyboards/ortho5by12/keyboard.json
index 49ce494417..5bcd1e00fc 100644
--- a/keyboards/ortho5by12/keyboard.json
+++ b/keyboards/ortho5by12/keyboard.json
@@ -22,6 +22,10 @@
"resync": true
}
},
+ "indicators": {
+ "caps_lock": "C5",
+ "num_lock": "C4"
+ },
"matrix_pins": {
"cols": ["C2", "D0", "D1", "D4", "C3", "C1"],
"rows": ["B5", "B1", "B2", "B3", "B4", "C0", "D5", "D6", "D7", "B0"]
diff --git a/keyboards/ortho5by12/ortho5by12.c b/keyboards/ortho5by12/ortho5by12.c
deleted file mode 100644
index d0d9ce9102..0000000000
--- a/keyboards/ortho5by12/ortho5by12.c
+++ /dev/null
@@ -1,30 +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/>.
- */
-#include "quantum.h"
-
-void matrix_init_kb(void) {
- gpio_set_pin_output(C4);
- gpio_set_pin_output(C5);
-}
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(C4, led_state.num_lock);
- gpio_write_pin(C5, led_state.caps_lock);
- }
- return res;
-}
diff --git a/keyboards/percent/canoe_gen2/canoe_gen2.c b/keyboards/percent/canoe_gen2/canoe_gen2.c
index ea091c3474..435083a269 100644
--- a/keyboards/percent/canoe_gen2/canoe_gen2.c
+++ b/keyboards/percent/canoe_gen2/canoe_gen2.c
@@ -17,21 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "quantum.h"
-void keyboard_pre_init_kb(void) {
- gpio_set_pin_output(E6);
- gpio_write_pin_high(E6);
-
- keyboard_pre_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- if(led_update_user(led_state)) {
- gpio_write_pin(E6, !led_state.caps_lock);
- }
-
- return true;
-}
-
#ifdef RGB_MATRIX_ENABLE
void suspend_power_down_kb(void) {
rgb_matrix_set_suspend_state(true);
diff --git a/keyboards/percent/canoe_gen2/keyboard.json b/keyboards/percent/canoe_gen2/keyboard.json
index 0b6ece2613..85fbfd28b9 100644
--- a/keyboards/percent/canoe_gen2/keyboard.json
+++ b/keyboards/percent/canoe_gen2/keyboard.json
@@ -22,6 +22,10 @@
"resync": true
}
},
+ "indicators": {
+ "caps_lock": "E6",
+ "on_state": 0
+ },
"ws2812": {
"pin": "B7"
},
diff --git a/keyboards/phoenix/config.h b/keyboards/phoenix/config.h
index 4903f19f7f..732d906419 100644
--- a/keyboards/phoenix/config.h
+++ b/keyboards/phoenix/config.h
@@ -23,6 +23,5 @@
#define MOUSEKEY_MAX_SPEED 7
#define MOUSEKEY_WHEEL_DELAY 0
-#define SPLIT_HAND_PIN B9
#define SERIAL_USART_DRIVER SD1
#define SERIAL_USART_TX_PAL_MODE 7
diff --git a/keyboards/phoenix/keyboard.json b/keyboards/phoenix/keyboard.json
index 51be9790fb..ff13389245 100644
--- a/keyboards/phoenix/keyboard.json
+++ b/keyboards/phoenix/keyboard.json
@@ -30,6 +30,12 @@
"diode_direction": "ROW2COL",
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "B9"
+ },
+ "serial": {
+ "driver": "usart"
+ },
"soft_serial_pin": "A9"
},
"processor": "STM32F401",
diff --git a/keyboards/phoenix/rules.mk b/keyboards/phoenix/rules.mk
deleted file mode 100644
index c6e2988321..0000000000
--- a/keyboards/phoenix/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = usart
diff --git a/keyboards/pica40/rev2/config.h b/keyboards/pica40/rev2/config.h
index 1a59bee3dd..dad718ad0f 100644
--- a/keyboards/pica40/rev2/config.h
+++ b/keyboards/pica40/rev2/config.h
@@ -3,8 +3,6 @@
#pragma once
-#define SERIAL_USART_TX_PIN GP0
-
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP17
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
diff --git a/keyboards/pica40/rev2/keyboard.json b/keyboards/pica40/rev2/keyboard.json
index 630d6da467..64b043f274 100644
--- a/keyboards/pica40/rev2/keyboard.json
+++ b/keyboards/pica40/rev2/keyboard.json
@@ -40,6 +40,10 @@
"right": {
"rotary": []
}
+ },
+ "serial": {
+ "driver": "vendor",
+ "pin": "GP0"
}
},
"encoder": {
diff --git a/keyboards/pica40/rev2/rev2.c b/keyboards/pica40/rev2/rev2.c
index 0ba9a53734..b5d79508fc 100644
--- a/keyboards/pica40/rev2/rev2.c
+++ b/keyboards/pica40/rev2/rev2.c
@@ -6,8 +6,8 @@
#ifdef ENCODER_ENABLE // code based on encoder.c
-#define ENCODER_PIN_A (((pin_t[])ENCODERS_PAD_A)[0])
-#define ENCODER_PIN_B (((pin_t[])ENCODERS_PAD_B)[0])
+#define ENCODER_PIN_A (((pin_t[])ENCODER_A_PINS)[0])
+#define ENCODER_PIN_B (((pin_t[])ENCODER_B_PINS)[0])
// custom handler that returns encoder B pin status from slave side
void encoder_sync_slave_handler(uint8_t in_buflen, const void *in_data, uint8_t out_buflen, void *out_data) {
diff --git a/keyboards/pica40/rev2/rules.mk b/keyboards/pica40/rev2/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/pica40/rev2/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/planck/rev7/keymaps/default/config.h b/keyboards/planck/rev7/keymaps/default/config.h
index fbbab996e1..937d6a5e41 100644
--- a/keyboards/planck/rev7/keymaps/default/config.h
+++ b/keyboards/planck/rev7/keymaps/default/config.h
@@ -41,3 +41,10 @@
- etc.
*/
// #define MIDI_ADVANCED
+
+/*
+ * Encoder options
+ */
+// #define PLANCK_ENCODER_SETTLE_PIN_STATE_DELAY 20
+// #define ENCODER_MAP_KEY_DELAY 10
+// #define ENCODER_RESOLUTION 4
diff --git a/keyboards/planck/rev7/keymaps/default/keymap.c b/keyboards/planck/rev7/keymaps/default/keymap.c
index 4ac4c0de4f..85f5097332 100644
--- a/keyboards/planck/rev7/keymaps/default/keymap.c
+++ b/keyboards/planck/rev7/keymaps/default/keymap.c
@@ -147,13 +147,69 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_planck_grid(
- _______, QK_BOOT, DB_TOGG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, QK_BOOT, DB_TOGG, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_SPDU, UG_SPDD, KC_DEL ,
_______, EE_CLR, MU_NEXT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
+
+#ifdef ENCODER_MAP_ENABLE
+/* Rotary Encoders
+ */
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+ /* Qwerty
+ * v- (index) Clockwise / Counter Clockwise v- (index) Clockwise / Counter Clockwise
+ * ,---------------------------------------------------------------------------------------.
+ * | (0) Vol- / Vol+ | | | | | | | | | | | (4) Vol- / Vol+ |
+ * |-----------------------+---+---+---+---+---+---+---+---+---+---+-----------------------|
+ * | (1) KC_MNXT / KC_MPRV | | | | | | | | | | | (5) KC_MNXT / KC_MPRV |
+ * |-----------------------+---+---+---+---+---+---+---+---+---+---+-----------------------|
+ * | (2) KC_WBAK / KC_WFWD | | | | | | | | | | | (6) KC_SPC / KC_ENT |
+ * |-----------------------+---+---+---+---+---+---+---+---+---+---+-----------------------|
+ * | (3) KC_LEFT / KC_RGHT | | | | | | | | | | (7) KC_DOWN / KC_UP |
+ * `---------------------------------------------------------------------------------------'
+ */
+ [_QWERTY] = {
+ // LEFT SIDE (index 0 to 3)
+ ENCODER_CCW_CW(KC_VOLU, KC_VOLD),
+ ENCODER_CCW_CW(KC_MNXT, KC_MPRV),
+ ENCODER_CCW_CW(KC_WBAK, KC_WFWD),
+ ENCODER_CCW_CW(KC_LEFT, KC_RGHT),
+ // RIGHT SIDE (index 4 to 7)
+ ENCODER_CCW_CW(KC_VOLU, KC_VOLD),
+ ENCODER_CCW_CW(KC_MNXT, KC_MPRV),
+ ENCODER_CCW_CW(KC_SPC, KC_ENT),
+ ENCODER_CCW_CW(KC_DOWN, KC_UP)
+ },
+
+ /* Adjust (Lower + Raise)
+ * v- (index) Clockwise / Counter Clockwise v- (index) Clockwise / Counter Clockwise
+ * ,---------------------------------------------------------------------------------------.
+ * | (0) _______ / _______ | | | | | | | | | | | (4) _______ / _______ |
+ * |-----------------------+---+---+---+---+---+---+---+---+---+---+-----------------------|
+ * | (1) _______ / _______ | | | | | | | | | | | (5) _______ / _______ |
+ * |-----------------------+---+---+---+---+---+---+---+---+---+---+-----------------------|
+ * | (2) UG_NEXT / UG_PREV | | | | | | | | | | | (6) SAT- / SAT+ |
+ * |-----------------------+---+---+---+---+---+---+---+---+---+---+-----------------------|
+ * | (3) UG_VALD / UG_VALU | | | | | | | | | | (7) HUE- / HUE+ |
+ * `---------------------------------------------------------------------------------------'
+ */
+ [_ADJUST] = {
+ // LEFT SIDE (index 0 to 3)
+ ENCODER_CCW_CW(_______, _______),
+ ENCODER_CCW_CW(_______, _______),
+ ENCODER_CCW_CW(UG_NEXT, UG_PREV),
+ ENCODER_CCW_CW(UG_VALD, UG_VALU),
+ // RIGHT SIDE (index 4 to 7)
+ ENCODER_CCW_CW(_______, _______),
+ ENCODER_CCW_CW(_______, _______),
+ ENCODER_CCW_CW(UG_SATD, UG_SATU),
+ ENCODER_CCW_CW(UG_HUEU, UG_HUED)
+ }
+};
+#endif
/* clang-format on */
#ifdef AUDIO_ENABLE
@@ -161,11 +217,18 @@ float plover_song[][2] = SONG(PLOVER_SOUND);
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
#endif
+bool play_encoder_melody(uint8_t index, bool clockwise);
+
layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+#ifdef ENCODER_MAP_ENABLE
+ if (IS_ENCODEREVENT(record->event) && record->event.pressed) {
+ play_encoder_melody(record->event.key.col, record->event.type == ENCODER_CCW_EVENT);
+ }
+#endif
switch (keycode) {
case QWERTY:
if (record->event.pressed) {
@@ -228,13 +291,13 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
/* clang-format off */
float melody[8][2][2] = {
- {{440.0f, 8}, {440.0f, 24}},
- {{440.0f, 8}, {440.0f, 24}},
- {{440.0f, 8}, {440.0f, 24}},
- {{440.0f, 8}, {440.0f, 24}},
- {{440.0f, 8}, {440.0f, 24}},
- {{440.0f, 8}, {440.0f, 24}},
- {{440.0f, 8}, {440.0f, 24}},
+ {{440.0f, 8}, {440.0f, 24}},
+ {{440.0f, 8}, {440.0f, 24}},
+ {{440.0f, 8}, {440.0f, 24}},
+ {{440.0f, 8}, {440.0f, 24}},
+ {{440.0f, 8}, {440.0f, 24}},
+ {{440.0f, 8}, {440.0f, 24}},
+ {{440.0f, 8}, {440.0f, 24}},
{{440.0f, 8}, {440.0f, 24}},
};
/* clang-format on */
@@ -251,7 +314,7 @@ float melody[8][2][2] = {
#define ET12_MAJOR_THIRD 1.259921
#define ET12_PERFECT_FOURTH 1.33484
#define ET12_TRITONE 1.414214
-#define ET12_PERFECT_FIFTH 1.498307
+#define ET12_PERFECT_FIFTH 1.498307
deferred_token tokens[8];
@@ -260,7 +323,7 @@ uint32_t reset_note(uint32_t trigger_time, void *note) {
return 0;
}
-bool encoder_update_user(uint8_t index, bool clockwise) {
+bool play_encoder_melody(uint8_t index, bool clockwise) {
cancel_deferred_exec(tokens[index]);
if (clockwise) {
melody[index][1][0] = melody[index][1][0] * ET12_MINOR_SECOND;
@@ -275,6 +338,10 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
return false;
}
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ return play_encoder_melody(index, clockwise);
+}
+
bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0: {
@@ -303,4 +370,4 @@ bool dip_switch_update_user(uint8_t index, bool active) {
}
}
return true;
-} \ No newline at end of file
+}
diff --git a/keyboards/planck/rev7/matrix.c b/keyboards/planck/rev7/matrix.c
index 777bd6a7fe..44f532db65 100644
--- a/keyboards/planck/rev7/matrix.c
+++ b/keyboards/planck/rev7/matrix.c
@@ -111,13 +111,21 @@ bool matrix_scan_custom(matrix_row_t current_matrix[]) {
return changed;
}
+#if defined(ENCODER_ENABLE) || defined(ENCODER_MAP_ENABLE)
+#if !defined(PLANCK_ENCODER_SETTLE_PIN_STATE_DELAY)
+# define PLANCK_ENCODER_SETTLE_PIN_STATE_DELAY 10
+#endif
+
+void encoder_quadrature_init_pin(uint8_t index, bool pad_b) {
+}
+
uint8_t encoder_quadrature_read_pin(uint8_t index, bool pad_b) {
- pin_t pin = pad_b ? B13: B12;
- gpio_set_pin_input_high(pin);
- gpio_write_pin_low(matrix_row_pins[index]);
- wait_us(10);
- uint8_t ret = gpio_read_pin(pin) ? 1 : 0;
- gpio_set_pin_input_low(matrix_row_pins[index]);
- gpio_set_pin_input_low(pin);
+ pin_t col_pin = pad_b ? B13 : B12;
+ gpio_set_pin_output(col_pin);
+ gpio_write_pin_high(col_pin);
+ wait_us(PLANCK_ENCODER_SETTLE_PIN_STATE_DELAY);
+ uint8_t ret = gpio_read_pin(matrix_row_pins[index]) ? 0 : 1;
+ gpio_set_pin_input_low(col_pin);
return ret;
}
+#endif // ENCODER_ENABLE || ENCODER_MAP_ENABLE
diff --git a/keyboards/planck/rev7/readme.md b/keyboards/planck/rev7/readme.md
index 6a4df37704..940976bfce 100644
--- a/keyboards/planck/rev7/readme.md
+++ b/keyboards/planck/rev7/readme.md
@@ -14,7 +14,8 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
## Encoders
-Encoders must have matching pulse & detent resolutions (e.g. 24/24) for the scanning to work properly. Multiple encoders can be used at the same time, and are zero-indexed (compared to being one-indexed on the PCB's silkscreen) in the `encoder_update_user(uint8_t index, bool clockwise)` function:
+Encoders must have matching pulse & detent resolutions (e.g. 24/24) for the scanning to work properly. Multiple encoders can be used at the same time.
+If an encoder has a switch built-in, it's connected to the key at that location with index number:
```
,-----------------------------------------------------------------------------------.
@@ -28,7 +29,35 @@ Encoders must have matching pulse & detent resolutions (e.g. 24/24) for the scan
`-----------------------------------------------------------------------------------'
```
-If an encoder has a switch built-in, it's connected to the key at that location. On the default keymap, each encoder will play its own rising/falling tone sequence when rotated, and will reset the pitch after one second of inactivity. The encoder map feature is not currently supported.
+Planck rev7 supports `ENCODER_ENABLE` and `ENCODER_MAP_ENABLE`. If both `ENCODER_MAP_ENABLE` and `ENCODER_ENABLE` are defined, `ENCODER_MAP_ENABLE` takes precedence. On the default keymap, each encoder will play its own rising/falling tone sequence when rotated, and will reset the pitch after one second of inactivity.
+
+### With ENCODER_ENABLE
+
+Define it as follows in `rules.mk`:
+
+```
+ENCODER_ENABLE = yes
+```
+
+Zero-indexed (compared to being one-indexed on the PCB's silkscreen) in the `encoder_update_user(uint8_t index, bool clockwise)` function.
+
+### With ENCODER_MAP_ENABLE
+
+Define it as follows in `rules.mk`:
+
+```
+ENCODER_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
+```
+
+If you enable `ENCODER_MAP_ENABLE`, define `const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS]` and configure your keycodes. If you enable `ENCODER_MAP_ENABLE`, `encoder_update_user` is not used directly.
+
+Additionally, you can use the following `config.h` options:
+
+```c
+#define ENCODER_MAP_KEY_DELAY 10
+#define ENCODER_RESOLUTION 4
+```
## Some Planck-specific config.h options:
@@ -37,6 +66,6 @@ If an encoder has a switch built-in, it's connected to the key at that location.
#define PLANCK_WATCHDOG_TIMEOUT 1.0
// disables the watchdog timer - you may want to disable the watchdog timer if you use longer macros
#define PLANCK_WATCHDOG_DISABLE
-// the resolution of the encoders used in the encoder matrix
-#define PLANCK_ENCODER_RESOLUTION 4
+// Sets the time to wait for the rotary encoder pin state to stabilize while scanning (Default is 20(us))
+#define PLANCK_ENCODER_SETTLE_PIN_STATE_DELAY 20
```
diff --git a/keyboards/ploopyco/mouse/config.h b/keyboards/ploopyco/mouse/config.h
index 0375a8875a..0f8774dcd7 100644
--- a/keyboards/ploopyco/mouse/config.h
+++ b/keyboards/ploopyco/mouse/config.h
@@ -38,5 +38,5 @@
/* Custom encoder needs to specify just how many encoders we have */
#define NUM_ENCODERS 1
-#define ENCODERS_PAD_A { F0 }
-#define ENCODERS_PAD_B { F4 }
+#define ENCODER_A_PINS { F0 }
+#define ENCODER_B_PINS { F4 }
diff --git a/keyboards/ploopyco/ploopyco.c b/keyboards/ploopyco/ploopyco.c
index e4726238f2..a6f76203d6 100644
--- a/keyboards/ploopyco/ploopyco.c
+++ b/keyboards/ploopyco/ploopyco.c
@@ -71,8 +71,8 @@ float scroll_accumulated_v = 0;
#ifdef ENCODER_ENABLE
uint16_t lastScroll = 0; // Previous confirmed wheel event
uint16_t lastMidClick = 0; // Stops scrollwheel from being read if it was pressed
-pin_t encoder_pins_a[1] = ENCODERS_PAD_A;
-pin_t encoder_pins_b[1] = ENCODERS_PAD_B;
+pin_t encoder_pins_a[1] = ENCODER_A_PINS;
+pin_t encoder_pins_b[1] = ENCODER_B_PINS;
bool debug_encoder = false;
bool encoder_update_kb(uint8_t index, bool clockwise) {
diff --git a/keyboards/ploopyco/trackball/config.h b/keyboards/ploopyco/trackball/config.h
index 80457d062a..2aac27437a 100644
--- a/keyboards/ploopyco/trackball/config.h
+++ b/keyboards/ploopyco/trackball/config.h
@@ -38,5 +38,5 @@
/* Custom encoder needs to specify just how many encoders we have */
#define NUM_ENCODERS 1
-#define ENCODERS_PAD_A { F0 }
-#define ENCODERS_PAD_B { F4 }
+#define ENCODER_A_PINS { F0 }
+#define ENCODER_B_PINS { F4 }
diff --git a/keyboards/ploopyco/trackball_mini/config.h b/keyboards/ploopyco/trackball_mini/config.h
index c5d2d5694e..2e0b570bba 100644
--- a/keyboards/ploopyco/trackball_mini/config.h
+++ b/keyboards/ploopyco/trackball_mini/config.h
@@ -38,5 +38,5 @@
/* Custom encoder needs to specify just how many encoders we have */
#define NUM_ENCODERS 1
-#define ENCODERS_PAD_A { F0 }
-#define ENCODERS_PAD_B { F4 }
+#define ENCODER_A_PINS { F0 }
+#define ENCODER_B_PINS { F4 }
diff --git a/keyboards/ploopyco/trackball_thumb/config.h b/keyboards/ploopyco/trackball_thumb/config.h
index 631456d9d3..f03ffc7699 100644
--- a/keyboards/ploopyco/trackball_thumb/config.h
+++ b/keyboards/ploopyco/trackball_thumb/config.h
@@ -42,5 +42,5 @@
/* Custom encoder needs to specify just how many encoders we have */
#define NUM_ENCODERS 1
-#define ENCODERS_PAD_A { F4 }
-#define ENCODERS_PAD_B { F0 }
+#define ENCODER_A_PINS { F4 }
+#define ENCODER_B_PINS { F0 }
diff --git a/keyboards/pmk/posey_split/v4/keyboard.json b/keyboards/pmk/posey_split/v4/keyboard.json
index 016c4d7122..e27991783d 100644
--- a/keyboards/pmk/posey_split/v4/keyboard.json
+++ b/keyboards/pmk/posey_split/v4/keyboard.json
@@ -42,6 +42,9 @@
"enabled": true,
"handedness": {
"pin": "GP18"
+ },
+ "serial": {
+ "driver": "vendor"
}
},
"tags": ["split"],
diff --git a/keyboards/pmk/posey_split/v4/rules.mk b/keyboards/pmk/posey_split/v4/rules.mk
deleted file mode 100644
index 743228e94b..0000000000
--- a/keyboards/pmk/posey_split/v4/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor \ No newline at end of file
diff --git a/keyboards/pmk/posey_split/v5/keyboard.json b/keyboards/pmk/posey_split/v5/keyboard.json
index 9ef7d0af02..02c04dbba2 100644
--- a/keyboards/pmk/posey_split/v5/keyboard.json
+++ b/keyboards/pmk/posey_split/v5/keyboard.json
@@ -42,6 +42,9 @@
"enabled": true,
"handedness": {
"pin": "GP18"
+ },
+ "serial": {
+ "driver": "vendor"
}
},
"tags": ["split"],
diff --git a/keyboards/pmk/posey_split/v5/rules.mk b/keyboards/pmk/posey_split/v5/rules.mk
deleted file mode 100644
index 743228e94b..0000000000
--- a/keyboards/pmk/posey_split/v5/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor \ No newline at end of file
diff --git a/keyboards/pmk/recore/v3/keyboard.json b/keyboards/pmk/recore/v3/keyboard.json
index 6bc095daa5..f21708adc5 100644
--- a/keyboards/pmk/recore/v3/keyboard.json
+++ b/keyboards/pmk/recore/v3/keyboard.json
@@ -40,6 +40,9 @@
"enabled": true,
"handedness": {
"pin": "GP18"
+ },
+ "serial": {
+ "driver": "vendor"
}
},
"tags": ["ortho", "split"],
diff --git a/keyboards/pmk/recore/v3/rules.mk b/keyboards/pmk/recore/v3/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/pmk/recore/v3/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/pom_keyboards/tnln95/keyboard.json b/keyboards/pom_keyboards/tnln95/keyboard.json
index c92ac5b38f..09b3f71f7c 100644
--- a/keyboards/pom_keyboards/tnln95/keyboard.json
+++ b/keyboards/pom_keyboards/tnln95/keyboard.json
@@ -37,6 +37,10 @@
"levels": 10,
"breathing": true
},
+ "indicators": {
+ "caps_lock": "B2",
+ "num_lock": "B1"
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/pom_keyboards/tnln95/tnln95.c b/keyboards/pom_keyboards/tnln95/tnln95.c
deleted file mode 100644
index b8ab8ff7a7..0000000000
--- a/keyboards/pom_keyboards/tnln95/tnln95.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright 2020 Nguyen Minh Hoang
- *
- * 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"
-
-void keyboard_pre_init_kb(void) {
- gpio_set_pin_output(B1);
- gpio_set_pin_output(B2);
- /* I will add function to these later */
- // gpio_set_pin_output(B3);
- // gpio_set_pin_output(E2);
-
- keyboard_pre_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(B1, led_state.num_lock);
- gpio_write_pin(B2, led_state.caps_lock);
- }
- return res;
-}
diff --git a/keyboards/projectd/75/ansi/ansi.c b/keyboards/projectd/75/ansi/ansi.c
index 8257cf39c2..3bb695b559 100644
--- a/keyboards/projectd/75/ansi/ansi.c
+++ b/keyboards/projectd/75/ansi/ansi.c
@@ -162,6 +162,9 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
}
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+ if (!process_record_user(keycode, record)) {
+ return false;
+ }
switch (keycode) {
diff --git a/keyboards/projectkb/alice/alice.c b/keyboards/projectkb/alice/alice.c
deleted file mode 100644
index 8ec5f16736..0000000000
--- a/keyboards/projectkb/alice/alice.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include "quantum.h"
-
-void keyboard_pre_init_kb(void) {
- gpio_set_pin_output(INDICATOR_PIN_0);
- gpio_set_pin_output(INDICATOR_PIN_1);
- gpio_set_pin_output(INDICATOR_PIN_2);
-
- keyboard_pre_init_user();
-}
-
-
-bool led_update_kb(led_t led_state) {
- bool runDefault = led_update_user(led_state);
- if (runDefault) {
- gpio_write_pin(INDICATOR_PIN_0, !led_state.num_lock);
- gpio_write_pin(INDICATOR_PIN_1, !led_state.caps_lock);
- gpio_write_pin(INDICATOR_PIN_2, !led_state.scroll_lock);
- }
- return runDefault;
-}
diff --git a/keyboards/projectkb/alice/rev1/config.h b/keyboards/projectkb/alice/rev1/config.h
index 66d3b75731..b8c68bc65d 100644
--- a/keyboards/projectkb/alice/rev1/config.h
+++ b/keyboards/projectkb/alice/rev1/config.h
@@ -26,10 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define WS2812_SPI_SCK_PAL_MODE 0
#define WS2812_SPI_SCK_PIN B13
-#define INDICATOR_PIN_0 A0
-#define INDICATOR_PIN_1 A1
-#define INDICATOR_PIN_2 A2
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/projectkb/alice/rev1/keyboard.json b/keyboards/projectkb/alice/rev1/keyboard.json
index 7e957d7ff4..01eee1300b 100644
--- a/keyboards/projectkb/alice/rev1/keyboard.json
+++ b/keyboards/projectkb/alice/rev1/keyboard.json
@@ -15,6 +15,11 @@
"resync": true
}
},
+ "indicators": {
+ "caps_lock": "A1",
+ "num_lock": "A0",
+ "scroll_lock": "A2"
+ },
"rgblight": {
"led_count": 14,
"animations": {
diff --git a/keyboards/projectkb/alice/rev2/config.h b/keyboards/projectkb/alice/rev2/config.h
index 3e786c1805..b8c68bc65d 100644
--- a/keyboards/projectkb/alice/rev2/config.h
+++ b/keyboards/projectkb/alice/rev2/config.h
@@ -26,10 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define WS2812_SPI_SCK_PAL_MODE 0
#define WS2812_SPI_SCK_PIN B13
-#define INDICATOR_PIN_0 A9
-#define INDICATOR_PIN_1 A8
-#define INDICATOR_PIN_2 B12
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/projectkb/alice/rev2/keyboard.json b/keyboards/projectkb/alice/rev2/keyboard.json
index 639fc26877..0e34b7104f 100644
--- a/keyboards/projectkb/alice/rev2/keyboard.json
+++ b/keyboards/projectkb/alice/rev2/keyboard.json
@@ -15,6 +15,11 @@
"resync": true
}
},
+ "indicators": {
+ "caps_lock": "A8",
+ "num_lock": "A9",
+ "scroll_lock": "B12"
+ },
"rgblight": {
"led_count": 14,
"animations": {
diff --git a/keyboards/punk75/keyboard.json b/keyboards/punk75/keyboard.json
index dd084a147c..c7082e564f 100644
--- a/keyboards/punk75/keyboard.json
+++ b/keyboards/punk75/keyboard.json
@@ -32,6 +32,10 @@
{"pin_a": "B1", "pin_b": "B0"}
]
},
+ "indicators": {
+ "caps_lock": "A0",
+ "on_state": 0
+ },
"processor": "atmega32a",
"bootloader": "usbasploader",
"community_layouts": ["ortho_5x15"],
diff --git a/keyboards/punk75/keymaps/default/keymap.c b/keyboards/punk75/keymaps/default/keymap.c
index 9a6ef29307..57f00e1e61 100644
--- a/keyboards/punk75/keymaps/default/keymap.c
+++ b/keyboards/punk75/keymaps/default/keymap.c
@@ -74,7 +74,7 @@ void led_keypress_update(pin_t led_pin, uint16_t keycode, keyrecord_t *record) {
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// Update LED state
- led_keypress_update(LED, keycode, record);
+ led_keypress_update(LED_CAPS_LOCK_PIN, keycode, record);
return true;
}
diff --git a/keyboards/punk75/keymaps/via/keymap.c b/keyboards/punk75/keymaps/via/keymap.c
index 72ef91fd37..214135b55d 100644
--- a/keyboards/punk75/keymaps/via/keymap.c
+++ b/keyboards/punk75/keymaps/via/keymap.c
@@ -69,7 +69,7 @@ void led_keypress_update(pin_t led_pin, uint16_t keycode, keyrecord_t *record) {
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// Update LED state
- led_keypress_update(LED, keycode, record);
+ led_keypress_update(LED_CAPS_LOCK_PIN, keycode, record);
return true;
}
diff --git a/keyboards/punk75/punk75.c b/keyboards/punk75/punk75.c
deleted file mode 100644
index 8d9d09d43c..0000000000
--- a/keyboards/punk75/punk75.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright 2020 dsanchezseco
- *
- * 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"
-
-void matrix_init_kb(void) {
- // Set our LED pin as output
- gpio_set_pin_output(LED);
-
- matrix_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(LED, !led_state.caps_lock);
- }
- return res;
-}
diff --git a/keyboards/quad_h/lb75/keyboard.json b/keyboards/quad_h/lb75/keyboard.json
index 0a51d4f47f..e88ba4b3a4 100644
--- a/keyboards/quad_h/lb75/keyboard.json
+++ b/keyboards/quad_h/lb75/keyboard.json
@@ -33,6 +33,11 @@
"pin": "B7",
"levels": 5
},
+ "indicators": {
+ "caps_lock": "B1",
+ "scroll_lock": "B2",
+ "on_state": 0
+ },
"ws2812": {
"pin": "B0"
},
diff --git a/keyboards/quad_h/lb75/lb75.c b/keyboards/quad_h/lb75/lb75.c
deleted file mode 100644
index ef716092b9..0000000000
--- a/keyboards/quad_h/lb75/lb75.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright 2019 Ryota Goto
- *
- * 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"
-
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
- gpio_set_pin_output(B1);
- gpio_set_pin_output(B2);
-
- matrix_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
-
- if(res) {
- gpio_write_pin(B1, !led_state.caps_lock);
- gpio_write_pin(B2, !led_state.scroll_lock);
- }
-
- return res;
-}
-
diff --git a/keyboards/quokka/keyboard.json b/keyboards/quokka/keyboard.json
index 094e3e496e..a92a113f3e 100644
--- a/keyboards/quokka/keyboard.json
+++ b/keyboards/quokka/keyboard.json
@@ -66,7 +66,10 @@
},
"split": {
"enabled": true,
- "soft_serial_pin": "GP0"
+ "soft_serial_pin": "GP0",
+ "serial": {
+ "driver": "vendor"
+ }
},
"url": "https://github.com/dlford/quokka",
"usb": {
diff --git a/keyboards/quokka/rules.mk b/keyboards/quokka/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/quokka/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/rate/pistachio_pro/matrix.c b/keyboards/rate/pistachio_pro/matrix.c
index f235c65f56..e40d3edd81 100644
--- a/keyboards/rate/pistachio_pro/matrix.c
+++ b/keyboards/rate/pistachio_pro/matrix.c
@@ -20,53 +20,53 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
-static inline void setPinOutput_writeLow(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_low(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_low(pin);
}
}
-static inline void setPinInputHigh_atomic(pin_t pin) {
+static inline void gpio_atomic_set_pin_input_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON { gpio_set_pin_input_high(pin); }
}
static void select_row(uint8_t row) {
- setPinOutput_writeLow(row_pins[row]);
+ gpio_atomic_set_pin_output_low(row_pins[row]);
}
static void unselect_row(uint8_t row) {
- setPinInputHigh_atomic(row_pins[row]);
+ gpio_atomic_set_pin_input_high(row_pins[row]);
}
static void unselect_rows(void) {
for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
- setPinInputHigh_atomic(row_pins[x]);
+ gpio_atomic_set_pin_input_high(row_pins[x]);
}
}
static void select_col(uint8_t col) {
- setPinOutput_writeLow(col_pins[col]);
+ gpio_atomic_set_pin_output_low(col_pins[col]);
}
static void unselect_col(uint8_t col) {
- setPinInputHigh_atomic(col_pins[col]);
+ gpio_atomic_set_pin_input_high(col_pins[col]);
}
static void unselect_cols(void) {
for (uint8_t x = 0; x < MATRIX_COLS; x++) {
- setPinInputHigh_atomic(col_pins[x]);
+ gpio_atomic_set_pin_input_high(col_pins[x]);
}
}
static void init_pins(void) {
unselect_rows();
for (uint8_t x = 0; x < MATRIX_COLS; x++) {
- setPinInputHigh_atomic(col_pins[x]);
+ gpio_atomic_set_pin_input_high(col_pins[x]);
}
unselect_cols();
for (uint8_t x = 0; x < MATRIX_ROWS; x++) {
- setPinInputHigh_atomic(row_pins[x]);
+ gpio_atomic_set_pin_input_high(row_pins[x]);
}
}
diff --git a/keyboards/recompile_keys/choco60/rev1/keyboard.json b/keyboards/recompile_keys/choco60/rev1/keyboard.json
index 916c3de8d0..150037acee 100644
--- a/keyboards/recompile_keys/choco60/rev1/keyboard.json
+++ b/keyboards/recompile_keys/choco60/rev1/keyboard.json
@@ -12,6 +12,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "D0"
+ },
"soft_serial_pin": "D3"
},
"processor": "atmega32u4",
diff --git a/keyboards/recompile_keys/choco60/rev2/config.h b/keyboards/recompile_keys/choco60/rev2/config.h
index e081d748ce..35a347ee91 100644
--- a/keyboards/recompile_keys/choco60/rev2/config.h
+++ b/keyboards/recompile_keys/choco60/rev2/config.h
@@ -17,6 +17,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define SPLIT_HAND_PIN D1
-
#define SPLIT_USB_DETECT
diff --git a/keyboards/recompile_keys/choco60/rev2/keyboard.json b/keyboards/recompile_keys/choco60/rev2/keyboard.json
index fbc947a9f0..47c5a0beb9 100644
--- a/keyboards/recompile_keys/choco60/rev2/keyboard.json
+++ b/keyboards/recompile_keys/choco60/rev2/keyboard.json
@@ -12,6 +12,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "D1"
+ },
"soft_serial_pin": "D0",
"matrix_pins": {
"right": {
diff --git a/keyboards/recompile_keys/cocoa40/config.h b/keyboards/recompile_keys/cocoa40/config.h
deleted file mode 100644
index 976a698c5d..0000000000
--- a/keyboards/recompile_keys/cocoa40/config.h
+++ /dev/null
@@ -1,20 +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
-
-#define SPLIT_HAND_PIN D3
diff --git a/keyboards/recompile_keys/cocoa40/keyboard.json b/keyboards/recompile_keys/cocoa40/keyboard.json
index f964ff6621..465cd395c7 100644
--- a/keyboards/recompile_keys/cocoa40/keyboard.json
+++ b/keyboards/recompile_keys/cocoa40/keyboard.json
@@ -23,6 +23,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "D3"
+ },
"soft_serial_pin": "D2"
},
"processor": "atmega32u4",
diff --git a/keyboards/redox/rev1/proton_c/keyboard.json b/keyboards/redox/rev1/proton_c/keyboard.json
index 48bec82627..9554630375 100644
--- a/keyboards/redox/rev1/proton_c/keyboard.json
+++ b/keyboards/redox/rev1/proton_c/keyboard.json
@@ -2,6 +2,11 @@
"usb": {
"device_version": "1.0.1"
},
+ "split": {
+ "serial": {
+ "driver": "usart"
+ }
+ },
"ws2812": {
"pin": "A9"
},
diff --git a/keyboards/redox/rev1/proton_c/rules.mk b/keyboards/redox/rev1/proton_c/rules.mk
deleted file mode 100644
index d45b778a1a..0000000000
--- a/keyboards/redox/rev1/proton_c/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-# specific to using the serial serial driver
-SERIAL_DRIVER = usart
diff --git a/keyboards/redscarf_i/keyboard.json b/keyboards/redscarf_i/keyboard.json
index 0a268169ef..6a186dff0b 100644
--- a/keyboards/redscarf_i/keyboard.json
+++ b/keyboards/redscarf_i/keyboard.json
@@ -25,6 +25,10 @@
"backlight": {
"pin": "B5"
},
+ "indicators": {
+ "num_lock": "F7",
+ "on_state": 0
+ },
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"community_layouts": ["ortho_5x4", "ortho_6x4", "numpad_5x4", "numpad_6x4"],
diff --git a/keyboards/redscarf_i/redscarf_i.c b/keyboards/redscarf_i/redscarf_i.c
index 949bc362ad..7544b89d17 100644
--- a/keyboards/redscarf_i/redscarf_i.c
+++ b/keyboards/redscarf_i/redscarf_i.c
@@ -18,21 +18,13 @@
void keyboard_pre_init_kb(void) {
// initialize top row leds
- gpio_set_pin_output(F7);
gpio_set_pin_output(F6);
gpio_set_pin_output(F5);
// and then turn them off
- gpio_write_pin_high(F7);
gpio_write_pin_high(F6);
gpio_write_pin_high(F5);
-}
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(F7, !led_state.num_lock);
- }
- return res;
+ keyboard_pre_init_user();
}
layer_state_t layer_state_set_kb(layer_state_t state) {
diff --git a/keyboards/rgbkb/mun/rev1/keyboard.json b/keyboards/rgbkb/mun/rev1/keyboard.json
index cf988d8f95..7eae34c18f 100644
--- a/keyboards/rgbkb/mun/rev1/keyboard.json
+++ b/keyboards/rgbkb/mun/rev1/keyboard.json
@@ -122,6 +122,9 @@
"layer_state": true,
"matrix_state": true
}
+ },
+ "serial": {
+ "driver": "usart"
}
},
"processor": "STM32F303",
diff --git a/keyboards/rgbkb/mun/rev1/rules.mk b/keyboards/rgbkb/mun/rev1/rules.mk
index dad85ac483..da4bbf0a63 100644
--- a/keyboards/rgbkb/mun/rev1/rules.mk
+++ b/keyboards/rgbkb/mun/rev1/rules.mk
@@ -4,5 +4,4 @@ SRC += touch_encoder.c
SRC += common_oled.c
I2C_DRIVER_REQUIRED = yes
-SERIAL_DRIVER = usart
OPT = 3
diff --git a/keyboards/rgbkb/sol/keymaps/default/keymap.c b/keyboards/rgbkb/sol/keymaps/default/keymap.c
index 4a6511cbfc..8997e9a582 100644
--- a/keyboards/rgbkb/sol/keymaps/default/keymap.c
+++ b/keyboards/rgbkb/sol/keymaps/default/keymap.c
@@ -201,7 +201,7 @@ const rgb_matrix_f rgb_matrix_functions[6][2] = {
#ifdef ENCODER_ENABLE
-static pin_t encoders_pad_a[] = ENCODERS_PAD_A;
+static pin_t encoders_pad_a[] = ENCODER_A_PINS;
#define NUMBER_OF_ENCODERS ARRAY_SIZE(encoders_pad_a)
const uint16_t PROGMEM encoders[][NUMBER_OF_ENCODERS * 2][2] = {
diff --git a/keyboards/rgbkb/sol/rev2/config.h b/keyboards/rgbkb/sol/rev2/config.h
index ab5150051a..5867c6dfe3 100644
--- a/keyboards/rgbkb/sol/rev2/config.h
+++ b/keyboards/rgbkb/sol/rev2/config.h
@@ -49,12 +49,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Encoder support
#ifndef EXTRA_ENCODERS_ENABLE
-#define ENCODERS_PAD_A { D2 }
-#define ENCODERS_PAD_B { D6 }
+#define ENCODER_A_PINS { D2 }
+#define ENCODER_B_PINS { D6 }
#else
#ifdef OLED_ENABLE
#error Extra encoders cannot be enabled at the same time as the OLED Driver as they use the same pins.
#endif
-#define ENCODERS_PAD_A { D2, D1, B0 }
-#define ENCODERS_PAD_B { D6, B1, D0 }
+#define ENCODER_A_PINS { D2, D1, B0 }
+#define ENCODER_B_PINS { D6, B1, D0 }
#endif
diff --git a/keyboards/rgbkb/sol3/rev1/config.h b/keyboards/rgbkb/sol3/rev1/config.h
index a99cbd5fff..9e28ef25fb 100644
--- a/keyboards/rgbkb/sol3/rev1/config.h
+++ b/keyboards/rgbkb/sol3/rev1/config.h
@@ -24,7 +24,6 @@
#define CRC8_USE_TABLE
/* Split Keyboard Configuration */
-#define SPLIT_HAND_PIN C13
#define SPLIT_USB_DETECT
#define SERIAL_USART_TX_PAL_MODE 7
#define SERIAL_USART_TIMEOUT 5
diff --git a/keyboards/rgbkb/sol3/rev1/keyboard.json b/keyboards/rgbkb/sol3/rev1/keyboard.json
index 54e57e3f8f..edf70636e7 100644
--- a/keyboards/rgbkb/sol3/rev1/keyboard.json
+++ b/keyboards/rgbkb/sol3/rev1/keyboard.json
@@ -140,12 +140,18 @@
]
}
},
+ "handedness": {
+ "pin": "C13"
+ },
"matrix_pins": {
"right": {
"cols": ["B9", "B8", "B4", "A6", "A3", "B10", "B12", "B11"],
"rows": ["B15", "B14", "A8", "A13", "A7", null]
}
},
+ "serial": {
+ "driver": "usart"
+ },
"transport": {
"sync": {
"indicators": true,
diff --git a/keyboards/rgbkb/sol3/rev1/rules.mk b/keyboards/rgbkb/sol3/rev1/rules.mk
index dad85ac483..da4bbf0a63 100644
--- a/keyboards/rgbkb/sol3/rev1/rules.mk
+++ b/keyboards/rgbkb/sol3/rev1/rules.mk
@@ -4,5 +4,4 @@ SRC += touch_encoder.c
SRC += common_oled.c
I2C_DRIVER_REQUIRED = yes
-SERIAL_DRIVER = usart
OPT = 3
diff --git a/keyboards/rmi_kb/wete/v1/keyboard.json b/keyboards/rmi_kb/wete/v1/keyboard.json
index 8e8059c103..c9a54f76c2 100644
--- a/keyboards/rmi_kb/wete/v1/keyboard.json
+++ b/keyboards/rmi_kb/wete/v1/keyboard.json
@@ -35,6 +35,12 @@
"levels": 24,
"breathing": true
},
+ "indicators": {
+ "caps_lock": "B3",
+ "num_lock": "A14",
+ "scroll_lock": "A15",
+ "on_state": 0
+ },
"rgblight": {
"led_count": 24,
"animations": {
diff --git a/keyboards/rmi_kb/wete/v1/v1.c b/keyboards/rmi_kb/wete/v1/v1.c
deleted file mode 100644
index 34a0917468..0000000000
--- a/keyboards/rmi_kb/wete/v1/v1.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright 2020 Ramon Imbao
- *
- * 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"
-
-void keyboard_pre_init_user(void) {
- // Initialize indicator LED pins
- gpio_set_pin_output(A14); // Num Lock
- gpio_set_pin_output(A15); // Scroll Lock
- gpio_set_pin_output(B3); // Caps Lock
-}
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if (res) {
- gpio_write_pin(A14, !led_state.num_lock);
- gpio_write_pin(A15, !led_state.scroll_lock);
- gpio_write_pin(B3, !led_state.caps_lock);
- }
-
- return res;
-}
diff --git a/keyboards/rubi/keyboard.json b/keyboards/rubi/keyboard.json
index cb94b58615..555376b533 100644
--- a/keyboards/rubi/keyboard.json
+++ b/keyboards/rubi/keyboard.json
@@ -22,6 +22,9 @@
"resync": true
}
},
+ "indicators": {
+ "caps_lock": "C6"
+ },
"matrix_pins": {
"cols": ["B3", "B2", "B1", "F7"],
"rows": ["F0", "F1", "F4", "F5", "F6"]
diff --git a/keyboards/rubi/rubi.c b/keyboards/rubi/rubi.c
index 89bf9caa6d..4f0536397f 100644
--- a/keyboards/rubi/rubi.c
+++ b/keyboards/rubi/rubi.c
@@ -63,12 +63,3 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
return process_record_user_oled(keycode, record);
}
-
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if (res) {
- gpio_write_pin(C6, led_state.num_lock);
- }
- return true;
-}
diff --git a/keyboards/salicylic_acid3/7skb/rev1/config.h b/keyboards/salicylic_acid3/7skb/rev1/config.h
index c1a6005b58..b2fb659185 100644
--- a/keyboards/salicylic_acid3/7skb/rev1/config.h
+++ b/keyboards/salicylic_acid3/7skb/rev1/config.h
@@ -18,8 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define SPLIT_HAND_PIN B6
-
#ifndef IOS_DEVICE_ENABLE
#define RGBLIGHT_LIMIT_VAL 180
#define RGBLIGHT_VAL_STEP 17
diff --git a/keyboards/salicylic_acid3/7skb/rev1/keyboard.json b/keyboards/salicylic_acid3/7skb/rev1/keyboard.json
index 73b3c0bec7..864e1835fd 100644
--- a/keyboards/salicylic_acid3/7skb/rev1/keyboard.json
+++ b/keyboards/salicylic_acid3/7skb/rev1/keyboard.json
@@ -29,6 +29,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "B6"
+ },
"soft_serial_pin": "D2"
},
"rgblight": {
diff --git a/keyboards/salicylic_acid3/7splus/config.h b/keyboards/salicylic_acid3/7splus/config.h
index 1139de696f..c3e6b774cc 100644
--- a/keyboards/salicylic_acid3/7splus/config.h
+++ b/keyboards/salicylic_acid3/7splus/config.h
@@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define SPLIT_HAND_PIN B6
-
#ifndef IOS_DEVICE_ENABLE
#define RGBLIGHT_LIMIT_VAL 180
#define RGBLIGHT_VAL_STEP 17
diff --git a/keyboards/salicylic_acid3/7splus/keyboard.json b/keyboards/salicylic_acid3/7splus/keyboard.json
index c33e79b52f..c33d00d867 100644
--- a/keyboards/salicylic_acid3/7splus/keyboard.json
+++ b/keyboards/salicylic_acid3/7splus/keyboard.json
@@ -30,6 +30,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "B6"
+ },
"soft_serial_pin": "D2"
},
"rgblight": {
diff --git a/keyboards/salicylic_acid3/ajisai74/config.h b/keyboards/salicylic_acid3/ajisai74/config.h
deleted file mode 100644
index 9e47a9c2b4..0000000000
--- a/keyboards/salicylic_acid3/ajisai74/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-Copyright 2020 Salicylic_Acid
-
-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 SPLIT_HAND_PIN B6
diff --git a/keyboards/salicylic_acid3/ajisai74/keyboard.json b/keyboards/salicylic_acid3/ajisai74/keyboard.json
index fd00800715..41abc9c623 100644
--- a/keyboards/salicylic_acid3/ajisai74/keyboard.json
+++ b/keyboards/salicylic_acid3/ajisai74/keyboard.json
@@ -29,6 +29,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "B6"
+ },
"soft_serial_pin": "D2"
},
"processor": "atmega32u4",
diff --git a/keyboards/salicylic_acid3/ergoarrows/config.h b/keyboards/salicylic_acid3/ergoarrows/config.h
index 3b5e630f48..fd6b0e51b5 100644
--- a/keyboards/salicylic_acid3/ergoarrows/config.h
+++ b/keyboards/salicylic_acid3/ergoarrows/config.h
@@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define SPLIT_HAND_PIN B6
-
#ifndef IOS_DEVICE_ENABLE
#define RGBLIGHT_LIMIT_VAL 90
#define RGBLIGHT_VAL_STEP 17
diff --git a/keyboards/salicylic_acid3/ergoarrows/keyboard.json b/keyboards/salicylic_acid3/ergoarrows/keyboard.json
index 0993eb1b9b..41cb0da90f 100644
--- a/keyboards/salicylic_acid3/ergoarrows/keyboard.json
+++ b/keyboards/salicylic_acid3/ergoarrows/keyboard.json
@@ -30,6 +30,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "B6"
+ },
"soft_serial_pin": "D0"
},
"rgblight": {
diff --git a/keyboards/salicylic_acid3/guide68/config.h b/keyboards/salicylic_acid3/guide68/config.h
deleted file mode 100644
index 5e88a02bce..0000000000
--- a/keyboards/salicylic_acid3/guide68/config.h
+++ /dev/null
@@ -1,6 +0,0 @@
-// Copyright 2022 Salicylic-acid3 (@Salicylic-acid3)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#pragma once
-
-#define SPLIT_HAND_PIN B6
diff --git a/keyboards/salicylic_acid3/guide68/keyboard.json b/keyboards/salicylic_acid3/guide68/keyboard.json
index 09993a1138..629afac8f7 100644
--- a/keyboards/salicylic_acid3/guide68/keyboard.json
+++ b/keyboards/salicylic_acid3/guide68/keyboard.json
@@ -48,6 +48,9 @@
},
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "B6"
+ },
"transport": {
"protocol": "serial"
},
diff --git a/keyboards/salicylic_acid3/jisplit89/rev1/config.h b/keyboards/salicylic_acid3/jisplit89/rev1/config.h
index fb6c21aec8..25ba2f576b 100644
--- a/keyboards/salicylic_acid3/jisplit89/rev1/config.h
+++ b/keyboards/salicylic_acid3/jisplit89/rev1/config.h
@@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define SPLIT_HAND_PIN B6
-
#ifndef IOS_DEVICE_ENABLE
#define RGBLIGHT_LIMIT_VAL 180
#define RGBLIGHT_VAL_STEP 17
diff --git a/keyboards/salicylic_acid3/jisplit89/rev1/keyboard.json b/keyboards/salicylic_acid3/jisplit89/rev1/keyboard.json
index e36b27bd2f..d17e0fd3bc 100644
--- a/keyboards/salicylic_acid3/jisplit89/rev1/keyboard.json
+++ b/keyboards/salicylic_acid3/jisplit89/rev1/keyboard.json
@@ -29,6 +29,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "B6"
+ },
"soft_serial_pin": "D2"
},
"rgblight": {
diff --git a/keyboards/salicylic_acid3/nknl7en/config.h b/keyboards/salicylic_acid3/nknl7en/config.h
index 5b4a4a25f3..8e18bdb850 100644
--- a/keyboards/salicylic_acid3/nknl7en/config.h
+++ b/keyboards/salicylic_acid3/nknl7en/config.h
@@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define SPLIT_HAND_PIN B6
-
#ifndef IOS_DEVICE_ENABLE
#define RGBLIGHT_LIMIT_VAL 180
#define RGBLIGHT_VAL_STEP 17
diff --git a/keyboards/salicylic_acid3/nknl7en/keyboard.json b/keyboards/salicylic_acid3/nknl7en/keyboard.json
index 25165663f5..c41be45376 100644
--- a/keyboards/salicylic_acid3/nknl7en/keyboard.json
+++ b/keyboards/salicylic_acid3/nknl7en/keyboard.json
@@ -30,6 +30,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "B6"
+ },
"soft_serial_pin": "D0"
},
"rgblight": {
diff --git a/keyboards/salicylic_acid3/nknl7jp/config.h b/keyboards/salicylic_acid3/nknl7jp/config.h
index 5b4a4a25f3..8e18bdb850 100644
--- a/keyboards/salicylic_acid3/nknl7jp/config.h
+++ b/keyboards/salicylic_acid3/nknl7jp/config.h
@@ -17,8 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-#define SPLIT_HAND_PIN B6
-
#ifndef IOS_DEVICE_ENABLE
#define RGBLIGHT_LIMIT_VAL 180
#define RGBLIGHT_VAL_STEP 17
diff --git a/keyboards/salicylic_acid3/nknl7jp/keyboard.json b/keyboards/salicylic_acid3/nknl7jp/keyboard.json
index 179860ea29..2fab8e8f7e 100644
--- a/keyboards/salicylic_acid3/nknl7jp/keyboard.json
+++ b/keyboards/salicylic_acid3/nknl7jp/keyboard.json
@@ -30,6 +30,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "B6"
+ },
"soft_serial_pin": "D0"
},
"rgblight": {
diff --git a/keyboards/senselessclay/gos65/config.h b/keyboards/senselessclay/gos65/config.h
new file mode 100644
index 0000000000..ef2b83ef3e
--- /dev/null
+++ b/keyboards/senselessclay/gos65/config.h
@@ -0,0 +1,18 @@
+/* Copyright 2020 Hadi Iskandarani
+ *
+ * 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 RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 5)
diff --git a/keyboards/senselessclay/gos65/gos65.c b/keyboards/senselessclay/gos65/gos65.c
deleted file mode 100644
index e769608c89..0000000000
--- a/keyboards/senselessclay/gos65/gos65.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright 2020 Hadi Iskandarani
- *
- * 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"
-
-void eeconfig_init_kb(void) { // EEPROM is getting reset!
- rgblight_enable(); // Enable RGB by default
- rgblight_sethsv(0, 255, 125); // Set default HSV - red hue, full saturation, medium brightness
- rgblight_mode(RGBLIGHT_MODE_RAINBOW_SWIRL + 5); // set to RGB_RAINBOW_SWIRL by default
-
- eeconfig_update_kb(0);
- eeconfig_init_user();
-} \ No newline at end of file
diff --git a/keyboards/senselessclay/gos65/keyboard.json b/keyboards/senselessclay/gos65/keyboard.json
index b869d91301..ee6bb5727a 100644
--- a/keyboards/senselessclay/gos65/keyboard.json
+++ b/keyboards/senselessclay/gos65/keyboard.json
@@ -12,6 +12,9 @@
"pin": "B0"
},
"rgblight": {
+ "default": {
+ "val": 125
+ },
"led_count": 68,
"max_brightness": 125,
"sleep": true,
diff --git a/keyboards/sirius/unigo66/custom_matrix.cpp b/keyboards/sirius/unigo66/custom_matrix.cpp
index 25648a5f78..879a0e7c15 100644
--- a/keyboards/sirius/unigo66/custom_matrix.cpp
+++ b/keyboards/sirius/unigo66/custom_matrix.cpp
@@ -216,7 +216,6 @@ extern "C"
kbd2.SetReport(0, 0, 2, 0, 1, &usb_led);
kbd3.SetReport(0, 0, 2, 0, 1, &usb_led);
kbd4.SetReport(0, 0, 2, 0, 1, &usb_led);
- led_set_user(usb_led);
led_update_kb((led_t){.raw = usb_led});
}
diff --git a/keyboards/sneakbox/aliceclone/aliceclone.c b/keyboards/sneakbox/aliceclone/aliceclone.c
deleted file mode 100644
index 74d19e515c..0000000000
--- a/keyboards/sneakbox/aliceclone/aliceclone.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-Copyright 2020 Bryan Ong
-
-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"
-
-void keyboard_pre_init_kb(void) {
- gpio_set_pin_output(D7);
- gpio_set_pin_output(D6);
- gpio_set_pin_output(D4);
-
- keyboard_pre_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(D7, led_state.num_lock);
- gpio_write_pin(D6, led_state.caps_lock);
- gpio_write_pin(D4, led_state.scroll_lock);
- }
- return res;
-}
diff --git a/keyboards/sneakbox/aliceclone/keyboard.json b/keyboards/sneakbox/aliceclone/keyboard.json
index 869b8bd20b..bb0cd8e4b8 100644
--- a/keyboards/sneakbox/aliceclone/keyboard.json
+++ b/keyboards/sneakbox/aliceclone/keyboard.json
@@ -36,6 +36,11 @@
"bootmagic": {
"matrix": [2, 0]
},
+ "indicators": {
+ "caps_lock": "D6",
+ "num_lock": "D7",
+ "scroll_lock": "D4"
+ },
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"community_layouts": ["alice", "alice_split_bs"],
diff --git a/keyboards/sparrow62/config.h b/keyboards/sparrow62/config.h
deleted file mode 100644
index 2b9669e938..0000000000
--- a/keyboards/sparrow62/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-Copyright 2020 Atsushi Morimoto @74th
-
-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 SPLIT_HAND_PIN F4
diff --git a/keyboards/sparrow62/keyboard.json b/keyboards/sparrow62/keyboard.json
index 796d18b9bb..6f5ebd540f 100644
--- a/keyboards/sparrow62/keyboard.json
+++ b/keyboards/sparrow62/keyboard.json
@@ -29,6 +29,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "F4"
+ },
"soft_serial_pin": "D2"
},
"processor": "atmega32u4",
diff --git a/keyboards/spleeb/keyboard.json b/keyboards/spleeb/keyboard.json
index 7b92316de2..4d137ef10d 100644
--- a/keyboards/spleeb/keyboard.json
+++ b/keyboards/spleeb/keyboard.json
@@ -43,6 +43,9 @@
"layer_state": true,
"modifiers": true
}
+ },
+ "serial": {
+ "driver": "vendor"
}
},
"url": "https://github.com/chrishoage/spleeb",
diff --git a/keyboards/spleeb/rules.mk b/keyboards/spleeb/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/spleeb/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/splitkb/aurora/corne/rev1/config.h b/keyboards/splitkb/aurora/corne/rev1/config.h
index f37b59a952..5a5910d81c 100644
--- a/keyboards/splitkb/aurora/corne/rev1/config.h
+++ b/keyboards/splitkb/aurora/corne/rev1/config.h
@@ -16,10 +16,6 @@
#pragma once
-// `SPLIT_HAND_PIN` can currently be defined in `info.json`,
-// but can't yet be given a value
-#define SPLIT_HAND_PIN F4
-
// Not yet available in `info.json`
#ifdef OLED_ENABLE
# define OLED_DISPLAY_128X32
diff --git a/keyboards/splitkb/aurora/corne/rev1/keyboard.json b/keyboards/splitkb/aurora/corne/rev1/keyboard.json
index 2e0b74b5a8..cf3516f34f 100644
--- a/keyboards/splitkb/aurora/corne/rev1/keyboard.json
+++ b/keyboards/splitkb/aurora/corne/rev1/keyboard.json
@@ -96,6 +96,9 @@
]
}
},
+ "handedness": {
+ "pin": "F4"
+ },
"transport": {
"sync": {
"matrix_state": true
diff --git a/keyboards/splitkb/aurora/helix/rev1/config.h b/keyboards/splitkb/aurora/helix/rev1/config.h
index f8b8a190fe..522bea4d5e 100644
--- a/keyboards/splitkb/aurora/helix/rev1/config.h
+++ b/keyboards/splitkb/aurora/helix/rev1/config.h
@@ -16,7 +16,5 @@
#pragma once
-#define SPLIT_HAND_PIN D3
-
#define OLED_DISPLAY_128X32
#define SPLIT_OLED_ENABLE
diff --git a/keyboards/splitkb/aurora/helix/rev1/keyboard.json b/keyboards/splitkb/aurora/helix/rev1/keyboard.json
index b3fcf8969c..1844e5951e 100644
--- a/keyboards/splitkb/aurora/helix/rev1/keyboard.json
+++ b/keyboards/splitkb/aurora/helix/rev1/keyboard.json
@@ -118,6 +118,9 @@
]
}
},
+ "handedness": {
+ "pin": "D3"
+ },
"matrix_pins": {
"right": {
"cols": ["D4", "C6", "D7", "E6", "B4", "B5", "B6"],
diff --git a/keyboards/splitkb/aurora/lily58/rev1/config.h b/keyboards/splitkb/aurora/lily58/rev1/config.h
index 08a61a2978..5a5910d81c 100644
--- a/keyboards/splitkb/aurora/lily58/rev1/config.h
+++ b/keyboards/splitkb/aurora/lily58/rev1/config.h
@@ -16,10 +16,6 @@
#pragma once
-// `SPLIT_HAND_PIN` can currently be defined in `info.json`,
-// but can't yet be given a value
-#define SPLIT_HAND_PIN F5
-
// Not yet available in `info.json`
#ifdef OLED_ENABLE
# define OLED_DISPLAY_128X32
diff --git a/keyboards/splitkb/aurora/lily58/rev1/keyboard.json b/keyboards/splitkb/aurora/lily58/rev1/keyboard.json
index f81da08464..1284fc2319 100644
--- a/keyboards/splitkb/aurora/lily58/rev1/keyboard.json
+++ b/keyboards/splitkb/aurora/lily58/rev1/keyboard.json
@@ -107,6 +107,9 @@
]
}
},
+ "handedness": {
+ "pin": "F5"
+ },
"transport": {
"sync": {
"matrix_state": true
diff --git a/keyboards/splitkb/aurora/sofle_v2/rev1/config.h b/keyboards/splitkb/aurora/sofle_v2/rev1/config.h
index 7292b3d8b0..522bea4d5e 100644
--- a/keyboards/splitkb/aurora/sofle_v2/rev1/config.h
+++ b/keyboards/splitkb/aurora/sofle_v2/rev1/config.h
@@ -16,7 +16,5 @@
#pragma once
-#define SPLIT_HAND_PIN F4
-
#define OLED_DISPLAY_128X32
#define SPLIT_OLED_ENABLE
diff --git a/keyboards/splitkb/aurora/sofle_v2/rev1/keyboard.json b/keyboards/splitkb/aurora/sofle_v2/rev1/keyboard.json
index 266ea72148..8b702c4001 100644
--- a/keyboards/splitkb/aurora/sofle_v2/rev1/keyboard.json
+++ b/keyboards/splitkb/aurora/sofle_v2/rev1/keyboard.json
@@ -112,6 +112,9 @@
]
}
},
+ "handedness": {
+ "pin": "F4"
+ },
"matrix_pins": {
"right": {
"cols": ["D7", "E6", "B4", "B5", "D4", "C6"],
diff --git a/keyboards/splitkb/aurora/sweep/rev1/config.h b/keyboards/splitkb/aurora/sweep/rev1/config.h
index f37b59a952..5a5910d81c 100644
--- a/keyboards/splitkb/aurora/sweep/rev1/config.h
+++ b/keyboards/splitkb/aurora/sweep/rev1/config.h
@@ -16,10 +16,6 @@
#pragma once
-// `SPLIT_HAND_PIN` can currently be defined in `info.json`,
-// but can't yet be given a value
-#define SPLIT_HAND_PIN F4
-
// Not yet available in `info.json`
#ifdef OLED_ENABLE
# define OLED_DISPLAY_128X32
diff --git a/keyboards/splitkb/aurora/sweep/rev1/keyboard.json b/keyboards/splitkb/aurora/sweep/rev1/keyboard.json
index 0d235cd5b2..eb62369603 100644
--- a/keyboards/splitkb/aurora/sweep/rev1/keyboard.json
+++ b/keyboards/splitkb/aurora/sweep/rev1/keyboard.json
@@ -93,6 +93,9 @@
]
}
},
+ "handedness": {
+ "pin": "F4"
+ },
"transport": {
"sync": {
"matrix_state": true
diff --git a/keyboards/splitkb/kyria/info.json b/keyboards/splitkb/kyria/info.json
index f70e8e3bb2..050e12f2ff 100644
--- a/keyboards/splitkb/kyria/info.json
+++ b/keyboards/splitkb/kyria/info.json
@@ -6,7 +6,6 @@
"vid": "0x8D1D",
"device_version": "1.0.0"
},
- "development_board": "elite_c",
"split": {
"enabled": true
},
diff --git a/keyboards/splitkb/kyria/rev1/base/keyboard.json b/keyboards/splitkb/kyria/rev1/base/keyboard.json
index 9f75b9c218..df92d71ad1 100644
--- a/keyboards/splitkb/kyria/rev1/base/keyboard.json
+++ b/keyboards/splitkb/kyria/rev1/base/keyboard.json
@@ -1,5 +1,26 @@
{
- "build": {
- "lto": true
+ "development_board": "elite_c",
+ "matrix_pins": {
+ "cols": ["B6", "B2", "B3", "B1", "F7", "F6", "F5", "F4"],
+ "rows": ["B4", "E6", "D7", "D4"]
+ },
+ "diode_direction": "COL2ROW",
+ "encoder": {
+ "rotary": [
+ {"pin_a": "C6", "pin_b": "B5"}
+ ]
+ },
+ "split": {
+ "soft_serial_pin": "D2",
+ "encoder": {
+ "right": {
+ "rotary": [
+ {"pin_a": "B5", "pin_b": "C6"}
+ ]
+ }
+ }
+ },
+ "ws2812": {
+ "pin": "D3"
}
}
diff --git a/keyboards/splitkb/kyria/rev1/config.h b/keyboards/splitkb/kyria/rev1/config.h
index 4f130293e2..615d93496d 100644
--- a/keyboards/splitkb/kyria/rev1/config.h
+++ b/keyboards/splitkb/kyria/rev1/config.h
@@ -17,31 +17,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-/*
- * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
- */
-
-#if defined(CONVERT_TO_PROTON_C)
-# define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode.
-# define SERIAL_USART_PIN_SWAP // Swap TX and RX pins if keyboard is master halve.
-# define SERIAL_USART_DRIVER SD1 // USART driver of TX pin. default: SD1
-# define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7
-# define SERIAL_USART_TX_PIN D3
-# define SERIAL_USART_RX_PIN D2
-
-# define WS2812_DI_PIN PAL_LINE(GPIOA, 3)
-# define WS2812_PWM_DRIVER PWMD2 // default: PWMD2
-# define WS2812_PWM_CHANNEL 4 // default: 2
-# define WS2812_PWM_PAL_MODE 1 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2
-# define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM2 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
-# define WS2812_PWM_DMA_CHANNEL 2 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
-# define WS2812_PWM_DMAMUX_ID STM32_DMAMUX1_TIM2_UP // DMAMUX configuration for TIMx_UP -- only required if your MCU has a DMAMUX peripheral, see the respective reference manual for the appropriate values for your MCU.
-#else
-# define WS2812_DI_PIN D3
-# define SOFT_SERIAL_PIN D2
-#endif
-
-#ifdef OLED_ENABLE
-# define OLED_DISPLAY_128X64
-# define SPLIT_OLED_ENABLE
-#endif
+#define OLED_DISPLAY_128X64
+#define SPLIT_OLED_ENABLE
diff --git a/keyboards/splitkb/kyria/rev1/info.json b/keyboards/splitkb/kyria/rev1/info.json
index 3d84b37b31..1e21c60978 100644
--- a/keyboards/splitkb/kyria/rev1/info.json
+++ b/keyboards/splitkb/kyria/rev1/info.json
@@ -23,24 +23,7 @@
"sleep": true,
"split_count": [10, 10]
},
- "matrix_pins": {
- "cols": ["B6", "B2", "B3", "B1", "F7", "F6", "F5", "F4"],
- "rows": ["B4", "E6", "D7", "D4"]
- },
- "diode_direction": "COL2ROW",
- "encoder": {
- "rotary": [
- {"pin_a": "C6", "pin_b": "B5"}
- ]
- },
"split": {
- "encoder": {
- "right": {
- "rotary": [
- {"pin_a": "B5", "pin_b": "C6"}
- ]
- }
- },
"transport": {
"sync": {
"matrix_state": true
diff --git a/keyboards/splitkb/kyria/rev1/proton_c/config.h b/keyboards/splitkb/kyria/rev1/proton_c/config.h
new file mode 100644
index 0000000000..df2eb96ae2
--- /dev/null
+++ b/keyboards/splitkb/kyria/rev1/proton_c/config.h
@@ -0,0 +1,17 @@
+// Copyright 2024 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode.
+#define SERIAL_USART_PIN_SWAP // Swap TX and RX pins if keyboard is master halve.
+#define SERIAL_USART_DRIVER SD1 // USART driver of TX pin. default: SD1
+#define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7
+#define SERIAL_USART_TX_PIN A9
+#define SERIAL_USART_RX_PIN A10
+
+#define WS2812_PWM_CHANNEL 4
+#define WS2812_PWM_PAL_MODE 1
+#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM2 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
+#define WS2812_PWM_DMA_CHANNEL 2 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
+#define WS2812_PWM_DMAMUX_ID STM32_DMAMUX1_TIM2_UP // DMAMUX configuration for TIMx_UP -- only required if your MCU has a DMAMUX peripheral, see the respective reference manual for the appropriate values for your MCU.
diff --git a/keyboards/splitkb/kyria/rev1/proton_c/keyboard.json b/keyboards/splitkb/kyria/rev1/proton_c/keyboard.json
index 6cc38d4a21..e1308bb9ec 100644
--- a/keyboards/splitkb/kyria/rev1/proton_c/keyboard.json
+++ b/keyboards/splitkb/kyria/rev1/proton_c/keyboard.json
@@ -1,5 +1,29 @@
{
+ "development_board": "proton_c",
+ "matrix_pins": {
+ "cols": ["B9", "B15", "B14", "B13", "B8", "A0", "A1", "A2"],
+ "rows": ["B1", "B2", "B3", "B5"]
+ },
+ "diode_direction": "COL2ROW",
+ "encoder": {
+ "rotary": [
+ {"pin_a": "B4", "pin_b": "B0"}
+ ]
+ },
+ "split": {
+ "encoder": {
+ "right": {
+ "rotary": [
+ {"pin_a": "B0", "pin_b": "B4"}
+ ]
+ }
+ },
+ "serial": {
+ "driver": "usart"
+ }
+ },
"ws2812": {
- "driver": "pwm"
+ "driver": "pwm",
+ "pin": "A3"
}
}
diff --git a/keyboards/splitkb/kyria/rev1/proton_c/rules.mk b/keyboards/splitkb/kyria/rev1/proton_c/rules.mk
deleted file mode 100644
index a58b20c575..0000000000
--- a/keyboards/splitkb/kyria/rev1/proton_c/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-SERIAL_DRIVER = usart
-CONVERT_TO = proton_c
diff --git a/keyboards/splitkb/kyria/rev2/base/keyboard.json b/keyboards/splitkb/kyria/rev2/base/keyboard.json
index 9f75b9c218..8de0f335cc 100644
--- a/keyboards/splitkb/kyria/rev2/base/keyboard.json
+++ b/keyboards/splitkb/kyria/rev2/base/keyboard.json
@@ -1,5 +1,35 @@
{
- "build": {
- "lto": true
+ "development_board": "elite_c",
+ "matrix_pins": {
+ "cols": ["B2", "B6", "B5", "B4", "E6", "D7", "C6", "D4"],
+ "rows": ["F6", "F7", "B1", "B3"]
+ },
+ "diode_direction": "COL2ROW",
+ "encoder": {
+ "rotary": [
+ {"pin_a": "F4", "pin_b": "F5"}
+ ]
+ },
+ "split": {
+ "handedness": {
+ "matrix_grid": ["E6", "B3"]
+ },
+ "soft_serial_pin": "D2",
+ "encoder": {
+ "right": {
+ "rotary": [
+ {"pin_a": "F5", "pin_b": "F4"}
+ ]
+ }
+ },
+ "matrix_pins": {
+ "right": {
+ "cols": ["B4", "B5", "B6", "B2", "B3", "B1", "F7", "F6"],
+ "rows": ["D4", "C6", "D7", "E6"]
+ }
+ }
+ },
+ "ws2812": {
+ "pin": "D3"
}
}
diff --git a/keyboards/splitkb/kyria/rev2/config.h b/keyboards/splitkb/kyria/rev2/config.h
index 54d8f0985a..fb9e7bb959 100644
--- a/keyboards/splitkb/kyria/rev2/config.h
+++ b/keyboards/splitkb/kyria/rev2/config.h
@@ -19,34 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Side detection
// col 4 row 3 on right-hand-side
-#define SPLIT_HAND_MATRIX_GRID E6, B3 // row first because the board is col2row
#define MATRIX_MASKED // actual mask is defined by `matrix_mask` in `rev2.c`
-/*
- * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
- */
-
-#if defined(CONVERT_TO_PROTON_C)
-# define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode.
-# define SERIAL_USART_PIN_SWAP // Swap TX and RX pins if keyboard is master halve.
-# define SERIAL_USART_DRIVER SD1 // USART driver of TX pin. default: SD1
-# define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7
-# define SERIAL_USART_TX_PIN D3
-# define SERIAL_USART_RX_PIN D2
-
-# define WS2812_DI_PIN PAL_LINE(GPIOA, 3)
-# define WS2812_PWM_DRIVER PWMD2 // default: PWMD2
-# define WS2812_PWM_CHANNEL 4 // default: 2
-# define WS2812_PWM_PAL_MODE 1 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2
-# define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM2 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
-# define WS2812_PWM_DMA_CHANNEL 2 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
-# define WS2812_PWM_DMAMUX_ID STM32_DMAMUX1_TIM2_UP // DMAMUX configuration for TIMx_UP -- only required if your MCU has a DMAMUX peripheral, see the respective reference manual for the appropriate values for your MCU.
-#else
-# define WS2812_DI_PIN D3
-# define SOFT_SERIAL_PIN D2
-#endif
-
-#ifdef OLED_ENABLE
-# define OLED_DISPLAY_128X64
-# define SPLIT_OLED_ENABLE
-#endif
+#define OLED_DISPLAY_128X64
+#define SPLIT_OLED_ENABLE
diff --git a/keyboards/splitkb/kyria/rev2/info.json b/keyboards/splitkb/kyria/rev2/info.json
index 80f801e3d1..d1507a26b0 100644
--- a/keyboards/splitkb/kyria/rev2/info.json
+++ b/keyboards/splitkb/kyria/rev2/info.json
@@ -23,30 +23,7 @@
"sleep": true,
"split_count": [10, 10]
},
- "matrix_pins": {
- "cols": ["B2", "B6", "B5", "B4", "E6", "D7", "C6", "D4"],
- "rows": ["F6", "F7", "B1", "B3"]
- },
- "diode_direction": "COL2ROW",
- "encoder": {
- "rotary": [
- {"pin_a": "F4", "pin_b": "F5"}
- ]
- },
"split": {
- "encoder": {
- "right": {
- "rotary": [
- {"pin_a": "F5", "pin_b": "F4"}
- ]
- }
- },
- "matrix_pins": {
- "right": {
- "cols": ["B4", "B5", "B6", "B2", "B3", "B1", "F7", "F6"],
- "rows": ["D4", "C6", "D7", "E6"]
- }
- },
"transport": {
"sync": {
"matrix_state": true
diff --git a/keyboards/splitkb/kyria/rev2/proton_c/config.h b/keyboards/splitkb/kyria/rev2/proton_c/config.h
new file mode 100644
index 0000000000..df2eb96ae2
--- /dev/null
+++ b/keyboards/splitkb/kyria/rev2/proton_c/config.h
@@ -0,0 +1,17 @@
+// Copyright 2024 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode.
+#define SERIAL_USART_PIN_SWAP // Swap TX and RX pins if keyboard is master halve.
+#define SERIAL_USART_DRIVER SD1 // USART driver of TX pin. default: SD1
+#define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7
+#define SERIAL_USART_TX_PIN A9
+#define SERIAL_USART_RX_PIN A10
+
+#define WS2812_PWM_CHANNEL 4
+#define WS2812_PWM_PAL_MODE 1
+#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM2 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
+#define WS2812_PWM_DMA_CHANNEL 2 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
+#define WS2812_PWM_DMAMUX_ID STM32_DMAMUX1_TIM2_UP // DMAMUX configuration for TIMx_UP -- only required if your MCU has a DMAMUX peripheral, see the respective reference manual for the appropriate values for your MCU.
diff --git a/keyboards/splitkb/kyria/rev2/proton_c/keyboard.json b/keyboards/splitkb/kyria/rev2/proton_c/keyboard.json
index 6cc38d4a21..94cb7993d2 100644
--- a/keyboards/splitkb/kyria/rev2/proton_c/keyboard.json
+++ b/keyboards/splitkb/kyria/rev2/proton_c/keyboard.json
@@ -1,5 +1,38 @@
{
+ "development_board": "proton_c",
+ "matrix_pins": {
+ "cols": ["B15", "B9", "B0", "B1", "B2", "B3", "B4", "B5"],
+ "rows": ["A0", "B8", "B13", "B14"]
+ },
+ "diode_direction": "COL2ROW",
+ "encoder": {
+ "rotary": [
+ {"pin_a": "A2", "pin_b": "A1"}
+ ]
+ },
+ "split": {
+ "handedness": {
+ "matrix_grid": ["B2", "B14"]
+ },
+ "encoder": {
+ "right": {
+ "rotary": [
+ {"pin_a": "A1", "pin_b": "A2"}
+ ]
+ }
+ },
+ "matrix_pins": {
+ "right": {
+ "cols": ["B1", "B0", "B9", "B15", "B14", "B13", "B8", "A0"],
+ "rows": ["B5", "B4", "B3", "B2"]
+ }
+ },
+ "serial": {
+ "driver": "usart"
+ }
+ },
"ws2812": {
- "driver": "pwm"
+ "driver": "pwm",
+ "pin": "A3"
}
}
diff --git a/keyboards/splitkb/kyria/rev2/proton_c/rules.mk b/keyboards/splitkb/kyria/rev2/proton_c/rules.mk
deleted file mode 100644
index a58b20c575..0000000000
--- a/keyboards/splitkb/kyria/rev2/proton_c/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-SERIAL_DRIVER = usart
-CONVERT_TO = proton_c
diff --git a/keyboards/splitkb/kyria/rev3/config.h b/keyboards/splitkb/kyria/rev3/config.h
index b0a64320c6..3f731859fc 100644
--- a/keyboards/splitkb/kyria/rev3/config.h
+++ b/keyboards/splitkb/kyria/rev3/config.h
@@ -16,12 +16,5 @@
#pragma once
-// `SPLIT_HAND_PIN` can currently be defined in `info.json`,
-// but can't yet be given a value
-#define SPLIT_HAND_PIN B5
-
-// Not yet available in `info.json`
-#ifdef OLED_ENABLE
-# define OLED_DISPLAY_128X64
-# define SPLIT_OLED_ENABLE
-#endif
+#define OLED_DISPLAY_128X64
+#define SPLIT_OLED_ENABLE
diff --git a/keyboards/splitkb/kyria/rev3/keyboard.json b/keyboards/splitkb/kyria/rev3/keyboard.json
index 4a426cb206..a2f21826e8 100644
--- a/keyboards/splitkb/kyria/rev3/keyboard.json
+++ b/keyboards/splitkb/kyria/rev3/keyboard.json
@@ -1,14 +1,12 @@
{
"keyboard_name": "Kyria rev3",
+ "development_board": "elite_c",
"usb": {
"pid": "0xCF44"
},
"bootmagic": {
"matrix": [0, 6]
},
- "build": {
- "lto": true
- },
"features": {
"mousekey": true,
"bootmagic": true,
@@ -111,6 +109,9 @@
]
}
},
+ "handedness": {
+ "pin": "B5"
+ },
"transport": {
"sync": {
"matrix_state": true
diff --git a/keyboards/stront/keyboard.json b/keyboards/stront/keyboard.json
index 5055a4fb30..573730a12b 100644
--- a/keyboards/stront/keyboard.json
+++ b/keyboards/stront/keyboard.json
@@ -68,6 +68,9 @@
"matrix_state": true,
"modifiers": true
}
+ },
+ "serial": {
+ "driver": "vendor"
}
},
"encoder": {
diff --git a/keyboards/stront/rules.mk b/keyboards/stront/rules.mk
index 61d59017cb..5c88bf132a 100644
--- a/keyboards/stront/rules.mk
+++ b/keyboards/stront/rules.mk
@@ -1,5 +1,3 @@
-SERIAL_DRIVER = vendor
-
POINTING_DEVICE_DRIVER = cirque_pinnacle_spi
QUANTUM_PAINTER_DRIVERS += st7789_spi
diff --git a/keyboards/supersplit/rules.mk b/keyboards/supersplit/rules.mk
deleted file mode 100644
index a4f16a0b6b..0000000000
--- a/keyboards/supersplit/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = bitbang
diff --git a/keyboards/switchplate/southpaw_65/keyboard.json b/keyboards/switchplate/southpaw_65/keyboard.json
index e4090e49c7..72c4c71097 100644
--- a/keyboards/switchplate/southpaw_65/keyboard.json
+++ b/keyboards/switchplate/southpaw_65/keyboard.json
@@ -29,6 +29,10 @@
"pin": "B5",
"levels": 10
},
+ "indicators": {
+ "caps_lock": "B6",
+ "on_state": 0
+ },
"rgblight": {
"led_count": 9,
"animations": {
diff --git a/keyboards/switchplate/southpaw_65/southpaw_65.c b/keyboards/switchplate/southpaw_65/southpaw_65.c
deleted file mode 100644
index dfe3665928..0000000000
--- a/keyboards/switchplate/southpaw_65/southpaw_65.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright 2019
- *
- * 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"
-
-void keyboard_pre_init_kb(void) {
- gpio_set_pin_output(B6);
-
- keyboard_pre_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(B6, !led_state.caps_lock);
- }
- return res;
-}
diff --git a/keyboards/switchplate/southpaw_fullsize/keyboard.json b/keyboards/switchplate/southpaw_fullsize/keyboard.json
index ad897821c3..84942ccfa4 100644
--- a/keyboards/switchplate/southpaw_fullsize/keyboard.json
+++ b/keyboards/switchplate/southpaw_fullsize/keyboard.json
@@ -31,6 +31,12 @@
"backlight": {
"pin": "B7"
},
+ "indicators": {
+ "caps_lock": "D4",
+ "num_lock": "D3",
+ "scroll_lock": "D5",
+ "on_state": 0
+ },
"processor": "at90usb1286",
"bootloader": "atmel-dfu",
"layouts": {
diff --git a/keyboards/switchplate/southpaw_fullsize/southpaw_fullsize.c b/keyboards/switchplate/southpaw_fullsize/southpaw_fullsize.c
deleted file mode 100644
index 3d77e8722e..0000000000
--- a/keyboards/switchplate/southpaw_fullsize/southpaw_fullsize.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright 2020 Ryota Goto
- *
- * 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"
-
-// Optional override functions below.
-// You can leave any or all of these undefined.
-// These are only required if you want to perform custom actions.
-
-#define INDICATOR_NUM D3
-#define INDICATOR_CAPS D4
-#define INDICATOR_SCR D5
-
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
- // D3 Numlock, D4 Capslock, D5 Scrlock
- gpio_set_pin_output(INDICATOR_NUM);
- gpio_set_pin_output(INDICATOR_CAPS);
- gpio_set_pin_output(INDICATOR_SCR);
-
- matrix_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
- bool res = led_update_user(led_state);
- if (res)
- {
- gpio_write_pin(INDICATOR_NUM, !led_state.num_lock);
- gpio_write_pin(INDICATOR_CAPS, !led_state.caps_lock);
- gpio_write_pin(INDICATOR_SCR, !led_state.scroll_lock);
- }
- return res;
-}
-
diff --git a/keyboards/system76/launch_1/launch_1.c b/keyboards/system76/launch_1/launch_1.c
index 7a5000d9ba..630305194e 100644
--- a/keyboards/system76/launch_1/launch_1.c
+++ b/keyboards/system76/launch_1/launch_1.c
@@ -139,6 +139,8 @@ void matrix_init_kb(void) {
}
system76_ec_rgb_layer(layer_state);
+
+ matrix_init_user();
}
void matrix_scan_kb(void) {
@@ -238,9 +240,11 @@ layer_state_t layer_state_set_kb(layer_state_t layer_state) {
}
#ifdef CONSOLE_ENABLE
-void keyboard_post_init_user(void) {
+void keyboard_post_init_kb(void) {
debug_enable = true;
debug_matrix = false;
debug_keyboard = false;
+
+ keyboard_post_init_user();
}
#endif // CONSOLE_ENABLE
diff --git a/keyboards/takashicompany/dogtag/keyboard.json b/keyboards/takashicompany/dogtag/keyboard.json
index d65092ecca..675b8e6bd2 100644
--- a/keyboards/takashicompany/dogtag/keyboard.json
+++ b/keyboards/takashicompany/dogtag/keyboard.json
@@ -19,7 +19,7 @@
},
"matrix_pins": {
"cols": ["F4", "F5", "F6", "F7", "B1"],
- "rows": ["B2", "B6", "B3"]
+ "rows": ["B2", "B6"]
},
"diode_direction": "COL2ROW",
"encoder": {
@@ -34,7 +34,7 @@
"matrix_pins": {
"right": {
"cols": ["B1", "F7", "F6", "F5", "F4"],
- "rows": ["B2", "B6", "B3"]
+ "rows": ["B2", "B6"]
}
}
},
@@ -65,10 +65,10 @@
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
- {"matrix": [3, 1], "x": 8, "y": 0},
- {"matrix": [3, 2], "x": 9, "y": 0},
- {"matrix": [3, 3], "x": 10, "y": 0},
- {"matrix": [3, 4], "x": 11, "y": 0},
+ {"matrix": [2, 1], "x": 8, "y": 0},
+ {"matrix": [2, 2], "x": 9, "y": 0},
+ {"matrix": [2, 3], "x": 10, "y": 0},
+ {"matrix": [2, 4], "x": 11, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
@@ -76,11 +76,11 @@
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4, "y": 2},
- {"matrix": [4, 0], "x": 7, "y": 2},
- {"matrix": [4, 1], "x": 8, "y": 1},
- {"matrix": [4, 2], "x": 9, "y": 1},
- {"matrix": [4, 3], "x": 10, "y": 1},
- {"matrix": [4, 4], "x": 11, "y": 1}
+ {"matrix": [3, 0], "x": 7, "y": 2},
+ {"matrix": [3, 1], "x": 8, "y": 1},
+ {"matrix": [3, 2], "x": 9, "y": 1},
+ {"matrix": [3, 3], "x": 10, "y": 1},
+ {"matrix": [3, 4], "x": 11, "y": 1}
]
}
}
diff --git a/keyboards/takashiski/otaku_split/rev1/config.h b/keyboards/takashiski/otaku_split/rev1/config.h
deleted file mode 100644
index 8bede1c421..0000000000
--- a/keyboards/takashiski/otaku_split/rev1/config.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-Copyright 2019 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
-
-#define SPLIT_HAND_PIN D2 //fix pin. HIGH is left, LOW is right
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/takashiski/otaku_split/rev1/keyboard.json b/keyboards/takashiski/otaku_split/rev1/keyboard.json
index 039838144f..d4195b5a90 100644
--- a/keyboards/takashiski/otaku_split/rev1/keyboard.json
+++ b/keyboards/takashiski/otaku_split/rev1/keyboard.json
@@ -29,6 +29,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "D2"
+ },
"soft_serial_pin": "D0",
"matrix_pins": {
"right": {
diff --git a/keyboards/team0110/p1800fl/keyboard.json b/keyboards/team0110/p1800fl/keyboard.json
index a56864cd36..681482db5b 100644
--- a/keyboards/team0110/p1800fl/keyboard.json
+++ b/keyboards/team0110/p1800fl/keyboard.json
@@ -34,6 +34,11 @@
"levels": 5,
"breathing": true
},
+ "indicators": {
+ "caps_lock": "D5",
+ "num_lock": "D3",
+ "scroll_lock": "C6"
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/team0110/p1800fl/p1800fl.c b/keyboards/team0110/p1800fl/p1800fl.c
deleted file mode 100644
index 9f47b8a5c4..0000000000
--- a/keyboards/team0110/p1800fl/p1800fl.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Copyright 2020 marhalloweenvt
- *
- * 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"
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(D3, led_state.num_lock);
- gpio_write_pin(D5, led_state.caps_lock);
- gpio_write_pin(C6, led_state.scroll_lock);
- }
- return res;
-}
-
diff --git a/keyboards/terrazzo/keyboard.json b/keyboards/terrazzo/keyboard.json
index e2cfbfcfb1..fb8bc6b483 100644
--- a/keyboards/terrazzo/keyboard.json
+++ b/keyboards/terrazzo/keyboard.json
@@ -34,7 +34,120 @@
"led_matrix": {
"driver": "is31fl3731",
"max_brightness": 20,
- "sleep": true
+ "sleep": true,
+ "layout": [
+ {"x": 0, "y": 0, "flags": 0},
+ {"x": 16, "y": 0, "flags": 0},
+ {"x": 32, "y": 0, "flags": 0},
+ {"x": 48, "y": 0, "flags": 0},
+ {"x": 64, "y": 0, "flags": 0},
+ {"x": 80, "y": 0, "flags": 0},
+ {"x": 96, "y": 0, "flags": 0},
+ {"x": 112, "y": 0, "flags": 0},
+ {"x": 128, "y": 0, "flags": 0},
+ {"x": 144, "y": 0, "flags": 0},
+ {"x": 160, "y": 0, "flags": 0},
+ {"x": 176, "y": 0, "flags": 0},
+ {"x": 192, "y": 0, "flags": 0},
+ {"x": 208, "y": 0, "flags": 0},
+ {"x": 224, "y": 0, "flags": 0},
+
+ {"x": 0, "y": 11, "flags": 0},
+ {"x": 16, "y": 11, "flags": 0},
+ {"x": 32, "y": 11, "flags": 0},
+ {"x": 48, "y": 11, "flags": 0},
+ {"x": 64, "y": 11, "flags": 0},
+ {"x": 80, "y": 11, "flags": 0},
+ {"x": 96, "y": 11, "flags": 0},
+ {"x": 112, "y": 11, "flags": 0},
+ {"x": 128, "y": 11, "flags": 0},
+ {"x": 144, "y": 11, "flags": 0},
+ {"x": 160, "y": 11, "flags": 0},
+ {"x": 176, "y": 11, "flags": 0},
+ {"x": 192, "y": 11, "flags": 0},
+ {"x": 208, "y": 11, "flags": 0},
+ {"x": 224, "y": 11, "flags": 0},
+
+ {"x": 0, "y": 21, "flags": 0},
+ {"x": 16, "y": 21, "flags": 0},
+ {"x": 32, "y": 21, "flags": 0},
+ {"x": 48, "y": 21, "flags": 0},
+ {"x": 64, "y": 21, "flags": 0},
+ {"x": 80, "y": 21, "flags": 0},
+ {"x": 96, "y": 21, "flags": 0},
+ {"x": 112, "y": 21, "flags": 0},
+ {"x": 128, "y": 21, "flags": 0},
+ {"x": 144, "y": 21, "flags": 0},
+ {"x": 160, "y": 21, "flags": 0},
+ {"x": 176, "y": 21, "flags": 0},
+ {"x": 192, "y": 21, "flags": 0},
+ {"x": 208, "y": 21, "flags": 0},
+ {"x": 224, "y": 21, "flags": 0},
+
+ {"x": 0, "y": 32, "flags": 0},
+ {"x": 16, "y": 32, "flags": 0},
+ {"x": 32, "y": 32, "flags": 0},
+ {"x": 48, "y": 32, "flags": 0},
+ {"x": 64, "y": 32, "flags": 0},
+ {"x": 80, "y": 32, "flags": 0},
+ {"x": 96, "y": 32, "flags": 0},
+ {"x": 112, "y": 32, "flags": 0},
+ {"x": 128, "y": 32, "flags": 0},
+ {"x": 144, "y": 32, "flags": 0},
+ {"x": 160, "y": 32, "flags": 0},
+ {"x": 176, "y": 32, "flags": 0},
+ {"x": 192, "y": 32, "flags": 0},
+ {"x": 208, "y": 32, "flags": 0},
+ {"x": 224, "y": 32, "flags": 0},
+
+ {"x": 0, "y": 43, "flags": 0},
+ {"x": 16, "y": 43, "flags": 0},
+ {"x": 32, "y": 43, "flags": 0},
+ {"x": 48, "y": 43, "flags": 0},
+ {"x": 64, "y": 43, "flags": 0},
+ {"x": 80, "y": 43, "flags": 0},
+ {"x": 96, "y": 43, "flags": 0},
+ {"x": 112, "y": 43, "flags": 0},
+ {"x": 128, "y": 43, "flags": 0},
+ {"x": 144, "y": 43, "flags": 0},
+ {"x": 160, "y": 43, "flags": 0},
+ {"x": 176, "y": 43, "flags": 0},
+ {"x": 192, "y": 43, "flags": 0},
+ {"x": 208, "y": 43, "flags": 0},
+ {"x": 224, "y": 43, "flags": 0},
+
+ {"x": 0, "y": 53, "flags": 0},
+ {"x": 16, "y": 53, "flags": 0},
+ {"x": 32, "y": 53, "flags": 0},
+ {"x": 48, "y": 53, "flags": 0},
+ {"x": 64, "y": 53, "flags": 0},
+ {"x": 80, "y": 53, "flags": 0},
+ {"x": 96, "y": 53, "flags": 0},
+ {"x": 112, "y": 53, "flags": 0},
+ {"x": 128, "y": 53, "flags": 0},
+ {"x": 144, "y": 53, "flags": 0},
+ {"x": 160, "y": 53, "flags": 0},
+ {"x": 176, "y": 53, "flags": 0},
+ {"x": 192, "y": 53, "flags": 0},
+ {"x": 208, "y": 53, "flags": 0},
+ {"x": 224, "y": 53, "flags": 0},
+
+ {"x": 0, "y": 64, "flags": 0},
+ {"x": 16, "y": 64, "flags": 0},
+ {"x": 32, "y": 64, "flags": 0},
+ {"x": 48, "y": 64, "flags": 0},
+ {"x": 64, "y": 64, "flags": 0},
+ {"x": 80, "y": 64, "flags": 0},
+ {"x": 96, "y": 64, "flags": 0},
+ {"x": 112, "y": 64, "flags": 0},
+ {"x": 128, "y": 64, "flags": 0},
+ {"x": 144, "y": 64, "flags": 0},
+ {"x": 160, "y": 64, "flags": 0},
+ {"x": 176, "y": 64, "flags": 0},
+ {"x": 192, "y": 64, "flags": 0},
+ {"x": 208, "y": 64, "flags": 0},
+ {"x": 224, "y": 64, "flags": 0}
+ ]
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
diff --git a/keyboards/terrazzo/readme.md b/keyboards/terrazzo/readme.md
index e0f4f3457f..828819f7b4 100644
--- a/keyboards/terrazzo/readme.md
+++ b/keyboards/terrazzo/readme.md
@@ -82,8 +82,8 @@ Change pinouts, Pro Micro does not have the "F0" pin.
Set encoder to just top or bottom position.
```
-#define ENCODERS_PAD_A { C6 }
-#define ENCODERS_PAD_B { D4 }
+#define ENCODER_A_PINS { C6 }
+#define ENCODER_B_PINS { D4 }
```
## Encoder Setup
diff --git a/keyboards/terrazzo/terrazzo.c b/keyboards/terrazzo/terrazzo.c
index 34aa7c4324..2a3d2a8cc6 100644
--- a/keyboards/terrazzo/terrazzo.c
+++ b/keyboards/terrazzo/terrazzo.c
@@ -39,39 +39,6 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
{0, C2_15},{0, C2_14},{0, C2_13},{0, C2_12},{0, C2_11},{0, C2_10},{0, C2_9}
};
-led_config_t g_led_config = {
- {
- // Key Matrix to LED Index
- { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
- { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
- { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
- { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
- { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
- { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
- { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
- { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
- { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }
- }, {
- // LED Index to Physical Position
- { 0, 0 }, { 16, 0 }, { 32, 0 }, { 48, 0 }, { 64, 0 }, { 80, 0 }, { 96, 0 }, { 112, 0 }, { 128, 0 }, { 144, 0 }, { 160, 0 }, { 176, 0 }, { 192, 0 }, { 208, 0 }, { 224, 0 },
- { 0, 11 }, { 16, 11 }, { 32, 11 }, { 48, 11 }, { 64, 11 }, { 80, 11 }, { 96, 11 }, { 112, 11 }, { 128, 11 }, { 144, 11 }, { 160, 11 }, { 176, 11 }, { 192, 11 }, { 208, 11 }, { 224, 11 },
- { 0, 21 }, { 16, 21 }, { 32, 21 }, { 48, 21 }, { 64, 21 }, { 80, 21 }, { 96, 21 }, { 112, 21 }, { 128, 21 }, { 144, 21 }, { 160, 21 }, { 176, 21 }, { 192, 21 }, { 208, 21 }, { 224, 21 },
- { 0, 32 }, { 16, 32 }, { 32, 32 }, { 48, 32 }, { 64, 32 }, { 80, 32 }, { 96, 32 }, { 112, 32 }, { 128, 32 }, { 144, 32 }, { 160, 32 }, { 176, 32 }, { 192, 32 }, { 208, 32 }, { 224, 32 },
- { 0, 43 }, { 16, 43 }, { 32, 43 }, { 48, 43 }, { 64, 43 }, { 80, 43 }, { 96, 43 }, { 112, 43 }, { 128, 43 }, { 144, 43 }, { 160, 43 }, { 176, 43 }, { 192, 43 }, { 208, 43 }, { 224, 43 },
- { 0, 53 }, { 16, 53 }, { 32, 53 }, { 48, 53 }, { 64, 53 }, { 80, 53 }, { 96, 53 }, { 112, 53 }, { 128, 53 }, { 144, 53 }, { 160, 53 }, { 176, 53 }, { 192, 53 }, { 208, 53 }, { 224, 53 },
- { 0, 64 }, { 16, 64 }, { 32, 64 }, { 48, 64 }, { 64, 64 }, { 80, 64 }, { 96, 64 }, { 112, 64 }, { 128, 64 }, { 144, 64 }, { 160, 64 }, { 176, 64 }, { 192, 64 }, { 208, 64 }, { 224, 64 }
- }, {
- // LED Index to Flag
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4
- }
-};
-
#define TERRAZZO_EFFECT(name)
#define TERRAZZO_EFFECT_IMPLS
diff --git a/keyboards/tkc/osav2/keyboard.json b/keyboards/tkc/osav2/keyboard.json
index 118eedfc85..ef4c789797 100644
--- a/keyboards/tkc/osav2/keyboard.json
+++ b/keyboards/tkc/osav2/keyboard.json
@@ -50,6 +50,11 @@
"pin": "D6",
"breathing": true
},
+ "indicators": {
+ "caps_lock": "C6",
+ "num_lock": "C7",
+ "scroll_lock": "B6"
+ },
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"community_layouts": ["alice", "alice_split_bs"],
diff --git a/keyboards/tkc/osav2/osav2.c b/keyboards/tkc/osav2/osav2.c
deleted file mode 100644
index 9966046486..0000000000
--- a/keyboards/tkc/osav2/osav2.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright 2019 jrfhoutx
- *
- * 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"
-
-void keyboard_pre_init_kb(void) {
- gpio_set_pin_output(C7);
- gpio_set_pin_output(C6);
- gpio_set_pin_output(B6);
-
- keyboard_pre_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- if (led_update_user(led_state)) {
- gpio_write_pin(C7, led_state.num_lock);
- gpio_write_pin(C6, led_state.caps_lock);
- gpio_write_pin(B6, led_state.scroll_lock);
- }
- return true;
-}
diff --git a/keyboards/tkw/grandiceps/info.json b/keyboards/tkw/grandiceps/info.json
index 13bc1e7acf..c2a198835f 100644
--- a/keyboards/tkw/grandiceps/info.json
+++ b/keyboards/tkw/grandiceps/info.json
@@ -58,6 +58,9 @@
"cols": ["B0", "A7", "A3", "A5", "A4", "A2"],
"rows": ["B12", "A6", "B13", "B9", "B8"]
}
+ },
+ "serial": {
+ "driver": "usart"
}
},
"qmk": {
diff --git a/keyboards/tkw/grandiceps/rules.mk b/keyboards/tkw/grandiceps/rules.mk
index 01fa521763..ab8aeff268 100644
--- a/keyboards/tkw/grandiceps/rules.mk
+++ b/keyboards/tkw/grandiceps/rules.mk
@@ -1,3 +1 @@
-SERIAL_DRIVER = usart
-
DEFAULT_FOLDER = tkw/grandiceps/rev1
diff --git a/keyboards/tr60w/keyboard.json b/keyboards/tr60w/keyboard.json
index 60c01bdcfc..dc71e3ad7a 100644
--- a/keyboards/tr60w/keyboard.json
+++ b/keyboards/tr60w/keyboard.json
@@ -32,6 +32,12 @@
"backlight": {
"pin": "B7"
},
+ "indicators": {
+ "caps_lock": "B2",
+ "num_lock": "B1",
+ "scroll_lock": "B3",
+ "on_state": 0
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/tr60w/tr60w.c b/keyboards/tr60w/tr60w.c
deleted file mode 100644
index ebf48cb1c7..0000000000
--- a/keyboards/tr60w/tr60w.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include "quantum.h"
-
-bool led_update_kb(led_t led_state) {
- bool runDefault = led_update_user(led_state);
- if (runDefault) {
- gpio_write_pin(B1, !led_state.num_lock);
- gpio_write_pin(B2, !led_state.caps_lock);
- gpio_write_pin(B3, !led_state.scroll_lock);
- }
- return runDefault;
-}
diff --git a/keyboards/trkeyboards/trk1/keyboard.json b/keyboards/trkeyboards/trk1/keyboard.json
new file mode 100644
index 0000000000..c3190a5eee
--- /dev/null
+++ b/keyboards/trkeyboards/trk1/keyboard.json
@@ -0,0 +1,107 @@
+{
+ "manufacturer": "Tvrd Rad Keyboards",
+ "keyboard_name": "Tvrd Rad Keyboards TRK1",
+ "maintainer": "tvrdrad-keyboards",
+ "bootloader": "halfkay",
+ "diode_direction": "COL2ROW",
+ "encoder": {
+ "rotary": [
+ {"pin_a": "B0", "pin_b": "B1", "resolution": 2}
+ ]
+ },
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "matrix_pins": {
+ "cols": ["B3", "B2", "D2", "D3", "C6", "C7", "D5", "F6", "F7", "B6", "B5", "B4", "D7", "D6", "D4"],
+ "rows": ["F5", "F4", "F1", "F0", "B7"]
+ },
+ "processor": "atmega32u4",
+ "url": "https://www.trkeyboards.com/",
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0x0001",
+ "vid": "0x5452"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1.25, "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": 8.75, "y": 0},
+ {"matrix": [0, 8], "x": 9.75, "y": 0},
+ {"matrix": [0, 9], "x": 10.75, "y": 0},
+ {"matrix": [0, 10], "x": 11.75, "y": 0},
+ {"matrix": [0, 11], "x": 13, "y": 0},
+ {"matrix": [0, 12], "x": 14, "y": 0},
+ {"matrix": [0, 13], "x": 15, "y": 0},
+ {"matrix": [0, 14], "x": 16, "y": 0},
+ {"matrix": [2, 10], "x": 17, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+ {"matrix": [1, 1], "x": 1.5, "y": 1},
+ {"matrix": [1, 2], "x": 2.75, "y": 1},
+ {"matrix": [1, 3], "x": 3.75, "y": 1},
+ {"matrix": [1, 4], "x": 4.75, "y": 1},
+ {"matrix": [1, 5], "x": 5.75, "y": 1},
+ {"matrix": [1, 6], "x": 8.25, "y": 1},
+ {"matrix": [1, 7], "x": 9.25, "y": 1},
+ {"matrix": [1, 8], "x": 10.25, "y": 1},
+ {"matrix": [1, 9], "x": 11.25, "y": 1},
+ {"matrix": [1, 10], "x": 12.5, "y": 1},
+ {"matrix": [1, 11], "x": 13.5, "y": 1},
+ {"matrix": [1, 12], "x": 14.5, "y": 1},
+ {"matrix": [1, 13], "x": 15.5, "y": 1, "w": 1.5},
+ {"matrix": [1, 14], "x": 17, "y": 1},
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"matrix": [2, 1], "x": 1.75, "y": 2},
+ {"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": 8.5, "y": 2},
+ {"matrix": [2, 7], "x": 9.5, "y": 2},
+ {"matrix": [2, 8], "x": 10.5, "y": 2},
+ {"matrix": [2, 9], "x": 11.5, "y": 2},
+ {"matrix": [2, 11], "x": 12.75, "y": 2},
+ {"matrix": [2, 12], "x": 13.75, "y": 2},
+ {"matrix": [2, 13], "x": 14.75, "y": 2, "w": 2.25},
+ {"matrix": [2, 14], "x": 17, "y": 2},
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 2},
+ {"matrix": [3, 1], "x": 2, "y": 3},
+ {"matrix": [3, 2], "x": 3.75, "y": 3},
+ {"matrix": [3, 3], "x": 4.75, "y": 3},
+ {"matrix": [3, 4], "x": 5.75, "y": 3},
+ {"matrix": [3, 5], "x": 6.75, "y": 3},
+ {"matrix": [3, 6], "x": 9, "y": 3},
+ {"matrix": [3, 7], "x": 10, "y": 3},
+ {"matrix": [3, 8], "x": 11, "y": 3},
+ {"matrix": [3, 9], "x": 12.5, "y": 3},
+ {"matrix": [3, 11], "x": 13.5, "y": 3},
+ {"matrix": [3, 12], "x": 14.5, "y": 3, "w": 1.5},
+ {"matrix": [3, 13], "x": 16, "y": 3},
+ {"matrix": [3, 14], "x": 17, "y": 3},
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+ {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+ {"matrix": [4, 2], "x": 4, "y": 4, "w": 1.25},
+ {"matrix": [4, 3], "x": 5.25, "y": 4, "w": 2.75},
+ {"matrix": [4, 4], "x": 8.25, "y": 4, "w": 2},
+ {"matrix": [4, 6], "x": 10.25, "y": 4},
+ {"matrix": [4, 9], "x": 13.75, "y": 4, "w": 1.25},
+ {"matrix": [4, 10], "x": 15, "y": 4},
+ {"matrix": [4, 11], "x": 16, "y": 4},
+ {"matrix": [4, 12], "x": 17, "y": 4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/trkeyboards/trk1/keymaps/default/keymap.c b/keyboards/trkeyboards/trk1/keymaps/default/keymap.c
new file mode 100644
index 0000000000..ecbee43624
--- /dev/null
+++ b/keyboards/trkeyboards/trk1/keymaps/default/keymap.c
@@ -0,0 +1,42 @@
+/* Copyright 2024 Tvrd Rad Keyboards
+ *
+ * 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(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_KP_SLASH, KC_KP_ASTERISK,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_MUTE, KC_SCLN, KC_QUOTE, KC_ENTER, KC_END,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, KC_RSFT, KC_UP, KC_DELETE,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_BSPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [1] = LAYOUT(
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PMNS, KC_PPLS,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [1] = { ENCODER_CCW_CW(_______, _______) }
+};
+#endif
diff --git a/keyboards/trkeyboards/trk1/keymaps/default/rules.mk b/keyboards/trkeyboards/trk1/keymaps/default/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/trkeyboards/trk1/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/trkeyboards/trk1/keymaps/via/keymap.c b/keyboards/trkeyboards/trk1/keymaps/via/keymap.c
new file mode 100644
index 0000000000..ecbee43624
--- /dev/null
+++ b/keyboards/trkeyboards/trk1/keymaps/via/keymap.c
@@ -0,0 +1,42 @@
+/* Copyright 2024 Tvrd Rad Keyboards
+ *
+ * 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(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_KP_SLASH, KC_KP_ASTERISK,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_MUTE, KC_SCLN, KC_QUOTE, KC_ENTER, KC_END,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, KC_SLASH, KC_RSFT, KC_UP, KC_DELETE,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_BSPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [1] = LAYOUT(
+ QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PMNS, KC_PPLS,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [1] = { ENCODER_CCW_CW(_______, _______) }
+};
+#endif
diff --git a/keyboards/trkeyboards/trk1/keymaps/via/rules.mk b/keyboards/trkeyboards/trk1/keymaps/via/rules.mk
new file mode 100644
index 0000000000..f1adcab005
--- /dev/null
+++ b/keyboards/trkeyboards/trk1/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/trkeyboards/trk1/readme.md b/keyboards/trkeyboards/trk1/readme.md
new file mode 100644
index 0000000000..b411863321
--- /dev/null
+++ b/keyboards/trkeyboards/trk1/readme.md
@@ -0,0 +1,22 @@
+# Tvrd Rad Keyboards TRK1
+
+![TRK1](https://i.imgur.com/dbxoTah.jpg)
+
+Custom keyboard designed by Tvrd Rad Keyboards aka TRK1
+
+* Keyboard Maintainer: [Tvrd Rad Keyboards](https://www.trkeyboards.com)
+* Hardware Supported: TRK1 PCB
+* Hardware Availability: https://www.trkeyboards.com/en/keyboards/1-trk1/
+
+Getting the board into bootloader mode:
+To be able to flash firmware onto this board and put keyboard into bootloader mode, you need to press the "Fn" and "Esc" keys on the keyboard at the same time.
+
+Make example for this keyboard (after setting up your build environment):
+
+ make trkeyboards/trk1:default
+
+Flashing example for this keyboard:
+
+ make trkeyboards/trk1: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/tweetydabird/lotus58/rp2040_ce/keyboard.json b/keyboards/tweetydabird/lotus58/rp2040_ce/keyboard.json
index c8bf711747..24f27c276a 100644
--- a/keyboards/tweetydabird/lotus58/rp2040_ce/keyboard.json
+++ b/keyboards/tweetydabird/lotus58/rp2040_ce/keyboard.json
@@ -17,6 +17,9 @@
]
}
},
+ "serial": {
+ "driver": "vendor"
+ },
"soft_serial_pin": "GP1",
"handedness": {
"pin": "GP9"
diff --git a/keyboards/tweetydabird/lotus58/rp2040_ce/rules.mk b/keyboards/tweetydabird/lotus58/rp2040_ce/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/tweetydabird/lotus58/rp2040_ce/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/tzarc/djinn/info.json b/keyboards/tzarc/djinn/info.json
index b173a18de1..8f0c0bc75f 100644
--- a/keyboards/tzarc/djinn/info.json
+++ b/keyboards/tzarc/djinn/info.json
@@ -54,6 +54,9 @@
]
}
},
+ "serial": {
+ "driver": "usart"
+ },
"transport": {
"sync": {
"activity": true,
diff --git a/keyboards/tzarc/djinn/rev1/config.h b/keyboards/tzarc/djinn/rev1/config.h
index 7c8dc042f3..9eb275fc5b 100644
--- a/keyboards/tzarc/djinn/rev1/config.h
+++ b/keyboards/tzarc/djinn/rev1/config.h
@@ -3,7 +3,6 @@
#pragma once
// Split configuration
-#define SPLIT_HAND_PIN B11
#ifdef USE_PLUG_DETECT_PIN
# define USB_VBUS_PIN B12
#endif
diff --git a/keyboards/tzarc/djinn/rev1/keyboard.json b/keyboards/tzarc/djinn/rev1/keyboard.json
index a0422dea93..b6ee5acba1 100644
--- a/keyboards/tzarc/djinn/rev1/keyboard.json
+++ b/keyboards/tzarc/djinn/rev1/keyboard.json
@@ -7,6 +7,9 @@
},
"split": {
"soft_serial_pin": "B9",
+ "handedness": {
+ "pin": "B11"
+ },
"usb_detect": {
"enabled": true
}
diff --git a/keyboards/tzarc/djinn/rev2/config.h b/keyboards/tzarc/djinn/rev2/config.h
index bc7fcb3712..b52c3c2c3d 100644
--- a/keyboards/tzarc/djinn/rev2/config.h
+++ b/keyboards/tzarc/djinn/rev2/config.h
@@ -3,7 +3,6 @@
#pragma once
// Split configuration
-#define SPLIT_HAND_PIN B9
#define USB_VBUS_PIN B12
#define SERIAL_USART_DRIVER SD3
#define SERIAL_USART_PIN_SWAP
diff --git a/keyboards/tzarc/djinn/rev2/keyboard.json b/keyboards/tzarc/djinn/rev2/keyboard.json
index 33db91971e..e0f39d1f91 100644
--- a/keyboards/tzarc/djinn/rev2/keyboard.json
+++ b/keyboards/tzarc/djinn/rev2/keyboard.json
@@ -6,6 +6,9 @@
"max_brightness": 144
},
"split": {
+ "handedness": {
+ "pin": "B9"
+ },
"usb_detect": {
"enabled": false
}
diff --git a/keyboards/tzarc/djinn/rules.mk b/keyboards/tzarc/djinn/rules.mk
index 78912d16d0..d5060d9814 100644
--- a/keyboards/tzarc/djinn/rules.mk
+++ b/keyboards/tzarc/djinn/rules.mk
@@ -1,7 +1,5 @@
CUSTOM_MATRIX = lite
-SERIAL_DRIVER = usart
-
CIE1931_CURVE = yes
QUANTUM_PAINTER_DRIVERS = ili9341_spi
diff --git a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.c b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.c
index f441285c9a..488ace3f91 100644
--- a/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.c
+++ b/keyboards/unicomp/spacesaver_m_post_2013/overnumpad_1xb/overnumpad_1xb.c
@@ -23,6 +23,8 @@ void keyboard_post_init_kb(void)
gpio_set_pin_output(C11); // middle led, always off on Spacesaver M
gpio_write_pin(C11, 0);
gpio_set_pin_output(C10); // right-most led, normally Scroll Lock, but on Spacesaver M indicates function layer
+
+ keyboard_post_init_user();
}
diff --git a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.c b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.c
index bad0c76e43..9f5f592ff6 100644
--- a/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.c
+++ b/keyboards/unicomp/spacesaver_m_pre_2013/overnumpad_1xb/overnumpad_1xb.c
@@ -23,6 +23,8 @@ void keyboard_post_init_kb(void)
gpio_set_pin_output(C11); // middle led, always off on Spacesaver M
gpio_write_pin(C11, 0);
gpio_set_pin_output(C10); // right-most led, normally Scroll Lock, but on Spacesaver M indicates function layer
+
+ keyboard_post_init_user();
}
layer_state_t layer_state_set_kb(layer_state_t state) {
diff --git a/keyboards/viktus/sp111/keyboard.json b/keyboards/viktus/sp111/keyboard.json
index 8cf65a5522..91a70c284b 100644
--- a/keyboards/viktus/sp111/keyboard.json
+++ b/keyboards/viktus/sp111/keyboard.json
@@ -17,6 +17,11 @@
"mousekey": true,
"nkro": true
},
+ "indicators": {
+ "caps_lock": "F1",
+ "num_lock": "F0",
+ "scroll_lock": "F4"
+ },
"qmk": {
"locking": {
"enabled": true,
diff --git a/keyboards/viktus/sp111/sp111.c b/keyboards/viktus/sp111/sp111.c
index 1626683804..c2162429c1 100644
--- a/keyboards/viktus/sp111/sp111.c
+++ b/keyboards/viktus/sp111/sp111.c
@@ -22,21 +22,3 @@ void keyboard_pre_init_kb(void) {
keyboard_pre_init_user();
}
-
-void matrix_init_kb(void) {
- gpio_set_pin_output(F0);
- gpio_set_pin_output(F1);
- gpio_set_pin_output(F4);
-
- matrix_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if (res) {
- gpio_write_pin(F0, led_state.num_lock);
- gpio_write_pin(F1, led_state.caps_lock);
- gpio_write_pin(F4, led_state.scroll_lock);
- }
- return res;
-}
diff --git a/keyboards/vitamins_included/rev2/config.h b/keyboards/vitamins_included/rev2/config.h
index 519af227a4..e88e6bac2c 100644
--- a/keyboards/vitamins_included/rev2/config.h
+++ b/keyboards/vitamins_included/rev2/config.h
@@ -19,9 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-
-#define SPLIT_HAND_PIN B4
-
/* Audio settings */
#ifdef AUDIO_ENABLE
# define AUDIO_PIN C6 // Define this to enable the buzzer
diff --git a/keyboards/vitamins_included/rev2/keyboard.json b/keyboards/vitamins_included/rev2/keyboard.json
index 4418b86909..bead425252 100644
--- a/keyboards/vitamins_included/rev2/keyboard.json
+++ b/keyboards/vitamins_included/rev2/keyboard.json
@@ -15,6 +15,9 @@
},
"split": {
"enabled": true,
+ "handedness": {
+ "pin": "B4"
+ },
"soft_serial_pin": "D0"
},
"rgblight": {
diff --git a/keyboards/westfoxtrot/cypher/rev1/keyboard.json b/keyboards/westfoxtrot/cypher/rev1/keyboard.json
index 09294d169c..30dcc625de 100644
--- a/keyboards/westfoxtrot/cypher/rev1/keyboard.json
+++ b/keyboards/westfoxtrot/cypher/rev1/keyboard.json
@@ -31,6 +31,11 @@
"levels": 5,
"breathing": true
},
+ "indicators": {
+ "caps_lock": "F1",
+ "num_lock": "F4",
+ "scroll_lock": "F5"
+ },
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"layouts": {
diff --git a/keyboards/westfoxtrot/cypher/rev1/rev1.c b/keyboards/westfoxtrot/cypher/rev1/rev1.c
deleted file mode 100644
index eeaa7b4a4c..0000000000
--- a/keyboards/westfoxtrot/cypher/rev1/rev1.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright 2019 westfoxtrot
- *
- * 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"
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- // gpio_write_pin sets the pin high for 1 and low for 0.
- // In this example the pins are inverted, setting
- // it low/0 turns it on, and high/1 turns the LED off.
- // This behavior depends on whether the LED is between the pin
- // and VCC or the pin and GND.
- gpio_write_pin(F4, led_state.num_lock);
- gpio_write_pin(F1, led_state.caps_lock);
- gpio_write_pin(F5, led_state.scroll_lock);
- }
- return res;
-}
diff --git a/keyboards/westfoxtrot/cypher/rev5/keyboard.json b/keyboards/westfoxtrot/cypher/rev5/keyboard.json
index fbb487534d..278ff94b06 100644
--- a/keyboards/westfoxtrot/cypher/rev5/keyboard.json
+++ b/keyboards/westfoxtrot/cypher/rev5/keyboard.json
@@ -33,6 +33,11 @@
"levels": 5,
"breathing": true
},
+ "indicators": {
+ "caps_lock": "D5",
+ "num_lock": "D3",
+ "scroll_lock": "D2"
+ },
"rgblight": {
"hue_steps": 12,
"saturation_steps": 25,
diff --git a/keyboards/westfoxtrot/cypher/rev5/rev5.c b/keyboards/westfoxtrot/cypher/rev5/rev5.c
deleted file mode 100644
index 37ca9cf3c1..0000000000
--- a/keyboards/westfoxtrot/cypher/rev5/rev5.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright 2019 westfoxtrot
- *
- * 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"
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- // gpio_write_pin sets the pin high for 1 and low for 0.
- // In this example the pins are inverted, setting
- // it low/0 turns it on, and high/1 turns the LED off.
- // This behavior depends on whether the LED is between the pin
- // and VCC or the pin and GND.
- gpio_write_pin(D3, led_state.num_lock);
- gpio_write_pin(D5, led_state.caps_lock);
- gpio_write_pin(D2, led_state.scroll_lock);
- }
- return res;
-}
diff --git a/keyboards/westfoxtrot/prophet/keyboard.json b/keyboards/westfoxtrot/prophet/keyboard.json
index 049f5cd7fc..f82c6da14d 100644
--- a/keyboards/westfoxtrot/prophet/keyboard.json
+++ b/keyboards/westfoxtrot/prophet/keyboard.json
@@ -17,6 +17,9 @@
"nkro": true,
"sleep_led": true
},
+ "indicators": {
+ "caps_lock": "B13"
+ },
"qmk": {
"locking": {
"enabled": true,
diff --git a/keyboards/westfoxtrot/prophet/prophet.c b/keyboards/westfoxtrot/prophet/prophet.c
index 3ef0a3f928..b33ecf90b4 100644
--- a/keyboards/westfoxtrot/prophet/prophet.c
+++ b/keyboards/westfoxtrot/prophet/prophet.c
@@ -1,16 +1,9 @@
#include "quantum.h"
-void keyboard_pre_init_kb (void) {
+void keyboard_pre_init_kb(void) {
gpio_set_pin_output(B12);
- gpio_set_pin_output(B13);
-}
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(B13, led_state.caps_lock);
- }
- return res;
+ keyboard_pre_init_user();
}
__attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) {
diff --git a/keyboards/whitefacemountain/ampersand/keyboard.json b/keyboards/whitefacemountain/ampersand/keyboard.json
new file mode 100644
index 0000000000..04840d05bc
--- /dev/null
+++ b/keyboards/whitefacemountain/ampersand/keyboard.json
@@ -0,0 +1,127 @@
+{
+ "manufacturer": "Whitefacemountain",
+ "keyboard_name": "Ampersand",
+ "maintainer": "roarmstrong",
+ "bootloader": "atmel-dfu",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true
+ },
+ "matrix_pins": {
+ "cols": ["F4", "B6", "B5", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "D1", "D0", "F1"],
+ "rows": ["F5", "F0", "C7", "F6"]
+ },
+ "processor": "atmega32u4",
+ "url": "https://www.cbkbd.com/product/ampersand",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x2626",
+ "vid": "0xFEED"
+ },
+ "layout_aliases": {
+ "LAYOUT_all": "LAYOUT_split_bars"
+ },
+ "layouts": {
+ "LAYOUT_single_bar": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "Q", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "W", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "E", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "R", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "T", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "Y", "matrix": [0, 6], "x": 6, "y": 0},
+ {"label": "U", "matrix": [0, 7], "x": 7, "y": 0},
+ {"label": "I", "matrix": [0, 8], "x": 8, "y": 0},
+ {"label": "O", "matrix": [0, 9], "x": 9, "y": 0},
+ {"label": "P", "matrix": [0, 10], "x": 10, "y": 0},
+ {"label": "-", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "Bksp", "matrix": [0, 12], "x": 12, "y": 0, "w": 1.5},
+ {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.25},
+ {"label": "A", "matrix": [1, 1], "x": 1.25, "y": 1},
+ {"label": "S", "matrix": [1, 2], "x": 2.25, "y": 1},
+ {"label": "D", "matrix": [1, 3], "x": 3.25, "y": 1},
+ {"label": "F", "matrix": [1, 4], "x": 4.25, "y": 1},
+ {"label": "G", "matrix": [1, 5], "x": 5.25, "y": 1},
+ {"label": "H", "matrix": [1, 6], "x": 6.25, "y": 1},
+ {"label": "J", "matrix": [1, 7], "x": 7.25, "y": 1},
+ {"label": "K", "matrix": [1, 8], "x": 8.25, "y": 1},
+ {"label": "L", "matrix": [1, 9], "x": 9.25, "y": 1},
+ {"label": ";", "matrix": [1, 10], "x": 10.25, "y": 1},
+ {"label": "'", "matrix": [1, 11], "x": 11.25, "y": 1},
+ {"label": "Enter", "matrix": [1, 12], "x": 12.25, "y": 1, "w": 1.25},
+ {"label": "Shift", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"label": "Z", "matrix": [2, 1], "x": 1.75, "y": 2},
+ {"label": "X", "matrix": [2, 2], "x": 2.75, "y": 2},
+ {"label": "C", "matrix": [2, 3], "x": 3.75, "y": 2},
+ {"label": "V", "matrix": [2, 4], "x": 4.75, "y": 2},
+ {"label": "B", "matrix": [2, 5], "x": 5.75, "y": 2},
+ {"label": "N", "matrix": [2, 6], "x": 6.75, "y": 2},
+ {"label": "M", "matrix": [2, 7], "x": 7.75, "y": 2},
+ {"label": ",", "matrix": [2, 8], "x": 8.75, "y": 2},
+ {"label": ".", "matrix": [2, 9], "x": 9.75, "y": 2},
+ {"label": "/", "matrix": [2, 10], "x": 10.75, "y": 2},
+ {"label": "Shift", "matrix": [2, 11], "x": 11.75, "y": 2, "w": 1.75},
+ {"label": "Ctrl", "matrix": [3, 0], "x": 0, "y": 3, "w": 1},
+ {"label": "LAlt", "matrix": [3, 1], "x": 1.75, "y": 3, "w": 1},
+ {"label": "LGui", "matrix": [3, 2], "x": 2.75, "y": 3, "w": 1},
+ {"label": "Space", "matrix": [3, 5], "x": 3.75, "y": 3, "w": 6},
+ {"label": "RGui", "matrix": [3, 8], "x": 9.75, "y": 3, "w": 1},
+ {"label": "RAlt", "matrix": [3, 9], "x": 10.75, "y": 3, "w": 1},
+ {"label": "RCtrl", "matrix": [3, 11], "x": 12.5, "y": 3, "w": 1}
+ ]
+ },
+ "LAYOUT_split_bars": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "Q", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "W", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "E", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "R", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "T", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "Y", "matrix": [0, 6], "x": 6, "y": 0},
+ {"label": "U", "matrix": [0, 7], "x": 7, "y": 0},
+ {"label": "I", "matrix": [0, 8], "x": 8, "y": 0},
+ {"label": "O", "matrix": [0, 9], "x": 9, "y": 0},
+ {"label": "P", "matrix": [0, 10], "x": 10, "y": 0},
+ {"label": "-", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "Bksp", "matrix": [0, 12], "x": 12, "y": 0, "w": 1.5},
+ {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.25},
+ {"label": "A", "matrix": [1, 1], "x": 1.25, "y": 1},
+ {"label": "S", "matrix": [1, 2], "x": 2.25, "y": 1},
+ {"label": "D", "matrix": [1, 3], "x": 3.25, "y": 1},
+ {"label": "F", "matrix": [1, 4], "x": 4.25, "y": 1},
+ {"label": "G", "matrix": [1, 5], "x": 5.25, "y": 1},
+ {"label": "H", "matrix": [1, 6], "x": 6.25, "y": 1},
+ {"label": "J", "matrix": [1, 7], "x": 7.25, "y": 1},
+ {"label": "K", "matrix": [1, 8], "x": 8.25, "y": 1},
+ {"label": "L", "matrix": [1, 9], "x": 9.25, "y": 1},
+ {"label": ";", "matrix": [1, 10], "x": 10.25, "y": 1},
+ {"label": "'", "matrix": [1, 11], "x": 11.25, "y": 1},
+ {"label": "Enter", "matrix": [1, 12], "x": 12.25, "y": 1, "w": 1.25},
+ {"label": "Shift", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"label": "Z", "matrix": [2, 1], "x": 1.75, "y": 2},
+ {"label": "X", "matrix": [2, 2], "x": 2.75, "y": 2},
+ {"label": "C", "matrix": [2, 3], "x": 3.75, "y": 2},
+ {"label": "V", "matrix": [2, 4], "x": 4.75, "y": 2},
+ {"label": "B", "matrix": [2, 5], "x": 5.75, "y": 2},
+ {"label": "N", "matrix": [2, 6], "x": 6.75, "y": 2},
+ {"label": "M", "matrix": [2, 7], "x": 7.75, "y": 2},
+ {"label": ",", "matrix": [2, 8], "x": 8.75, "y": 2},
+ {"label": ".", "matrix": [2, 9], "x": 9.75, "y": 2},
+ {"label": "/", "matrix": [2, 10], "x": 10.75, "y": 2},
+ {"label": "Shift", "matrix": [2, 11], "x": 11.75, "y": 2, "w": 1.75},
+ {"label": "Ctrl", "matrix": [3, 0], "x": 0, "y": 3, "w": 1},
+ {"label": "LAlt", "matrix": [3, 1], "x": 1.75, "y": 3, "w": 1.5},
+ {"label": "LGui", "matrix": [3, 2], "x": 3.25, "y": 3, "w": 1},
+ {"label": "Space", "matrix": [3, 3], "x": 4.25, "y": 3, "w": 2.25},
+ {"label": "Space", "matrix": [3, 7], "x": 6.5, "y": 3, "w": 2.75},
+ {"label": "RGui", "matrix": [3, 8], "x": 9.25, "y": 3, "w": 1},
+ {"label": "RAlt", "matrix": [3, 9], "x": 10.25, "y": 3, "w": 1.5},
+ {"label": "RCtrl", "matrix": [3, 11], "x": 12.5, "y": 3, "w": 1}
+ ]
+ }
+ }
+}
diff --git a/keyboards/whitefacemountain/ampersand/keymaps/default/keymap.c b/keyboards/whitefacemountain/ampersand/keymaps/default/keymap.c
new file mode 100644
index 0000000000..d380e64fa7
--- /dev/null
+++ b/keyboards/whitefacemountain/ampersand/keymaps/default/keymap.c
@@ -0,0 +1,12 @@
+// Copyright 2024 @roarmstrong
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[0] = LAYOUT_all(
+ KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, KC_BSPC,
+ KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL)
+}; \ No newline at end of file
diff --git a/keyboards/whitefacemountain/ampersand/readme.md b/keyboards/whitefacemountain/ampersand/readme.md
new file mode 100644
index 0000000000..d85f82d6fb
--- /dev/null
+++ b/keyboards/whitefacemountain/ampersand/readme.md
@@ -0,0 +1,28 @@
+# Ampersand
+
+![Ampersand](https://i.imgur.com/jbr7Bld.png)
+
+Ampersand is a gummyworm mounted 13.5u keyboard with minimum 40s support needed.
+Its frosted polycarbonate case and blasted brass weight will pair well with most keysets, with greater compatibility than most 40s.
+
+* Keyboard Maintainer: [roarmstrong](https://github.com/roarmstrong)
+* Hardware Supported: Ampersand custom PCB, using Atmega32u4
+* Hardware Availability: [Coffee Break Keyboards](https://www.cbkbd.com/product/ampersand), [Keeb Supply](https://keeb.supply/products/ampersand)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make whitefacemountain/ampersand:default
+
+Flashing example for this keyboard:
+
+ make whitefacemountain/ampersand:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (the top left key) and plug in the keyboard
+* **Physical reset button**: Briefly press the button labelled SW1 on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/wilba_tech/wt60_xt/keyboard.json b/keyboards/wilba_tech/wt60_xt/keyboard.json
index 8afafd9314..ba8e8000db 100644
--- a/keyboards/wilba_tech/wt60_xt/keyboard.json
+++ b/keyboards/wilba_tech/wt60_xt/keyboard.json
@@ -23,6 +23,11 @@
"resync": true
}
},
+ "audio": {
+ "default": {
+ "clicky": false
+ }
+ },
"matrix_pins": {
"cols": ["B7", "B0", "F5", "D5", "B1", "B2", "B3", "D3", "D2", "C7", "B6", "B5", "B4", "D7", "D6", "D4"],
"rows": ["F0", "E6", "F4", "F6", "F7"]
diff --git a/keyboards/wilba_tech/wt60_xt/wt60_xt.c b/keyboards/wilba_tech/wt60_xt/wt60_xt.c
index 7c6a2fafc4..53b822e58f 100644
--- a/keyboards/wilba_tech/wt60_xt/wt60_xt.c
+++ b/keyboards/wilba_tech/wt60_xt/wt60_xt.c
@@ -30,26 +30,6 @@ float tone_device_indication[][2] = SONG(FANTASIE_IMPROMPTU);
#endif
-// We want to enable audio clicky (i.e. compile it into firmware),
-// but not have it "turned on" by default.
-#ifdef AUDIO_CLICKY
-
-#include "process_clicky.h"
-extern audio_config_t audio_config;
-
-void eeconfig_init_kb(void) {
- // Reset Keyboard EEPROM value to blank, rather than to a set value
- eeconfig_update_kb(0);
-
- // Need to read here because this isn't done before calling eeconfig_init_kb()
- audio_config.raw = eeconfig_read_audio();
- // ...and this call needs audio_config initialized.
- clicky_off();
-
- eeconfig_init_user();
-}
-#endif // AUDIO_CLICKY
-
void keyboard_pre_init_kb(void) {
gpio_set_pin_output(F1);
diff --git a/keyboards/wilba_tech/wt69_a/keyboard.json b/keyboards/wilba_tech/wt69_a/keyboard.json
index bbe6517850..d41f8fc90e 100644
--- a/keyboards/wilba_tech/wt69_a/keyboard.json
+++ b/keyboards/wilba_tech/wt69_a/keyboard.json
@@ -20,6 +20,9 @@
"resync": true
}
},
+ "indicators": {
+ "caps_lock": "F1"
+ },
"matrix_pins": {
"cols": ["B7", "B0", "F5", "D5", "B1", "B2", "B3", "D3", "D2", "C7", "C6", "B6", "B5", "B4", "D7", "D6", "D4"],
"rows": ["F0", "E6", "F4", "F6", "F7"]
diff --git a/keyboards/wilba_tech/wt69_a/wt69_a.c b/keyboards/wilba_tech/wt69_a/wt69_a.c
deleted file mode 100644
index 842b62a4d1..0000000000
--- a/keyboards/wilba_tech/wt69_a/wt69_a.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright 2018 Jason Williams (Wilba)
- *
- * 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"
-
-void keyboard_pre_init_kb(void) {
- gpio_set_pin_output(F1);
-
- keyboard_pre_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- if (led_update_user(led_state)) {
- gpio_write_pin(F1, led_state.caps_lock);
- }
- return true;
-}
diff --git a/keyboards/wilba_tech/wt70_jb/keyboard.json b/keyboards/wilba_tech/wt70_jb/keyboard.json
index bfa27f225b..f922810600 100644
--- a/keyboards/wilba_tech/wt70_jb/keyboard.json
+++ b/keyboards/wilba_tech/wt70_jb/keyboard.json
@@ -8,6 +8,9 @@
"pid": "0x001F",
"device_version": "0.0.1"
},
+ "indicators": {
+ "caps_lock": "F1"
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/wilba_tech/wt70_jb/wt70_jb.c b/keyboards/wilba_tech/wt70_jb/wt70_jb.c
index ae9b5dcbec..e4d0efc5e4 100644
--- a/keyboards/wilba_tech/wt70_jb/wt70_jb.c
+++ b/keyboards/wilba_tech/wt70_jb/wt70_jb.c
@@ -17,19 +17,6 @@
bool g_first_execution = false;
-void keyboard_pre_init_kb(void) {
- gpio_set_pin_output(F1);
-
- keyboard_pre_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- if (led_update_user(led_state)) {
- gpio_write_pin(F1, led_state.caps_lock);
- }
- return true;
-}
-
// This is some magic so that PCBs flashed with VIA firmware at the factory
// will start with an RGB test pattern. Not relevant for non-VIA firmware.
#ifdef VIA_ENABLE
@@ -55,6 +42,8 @@ void keyboard_post_init_kb(void) {
if ( g_first_execution ) {
rgblight_mode(RGBLIGHT_MODE_RGB_TEST);
}
+
+ keyboard_post_init_user();
}
#endif // VIA_ENABLE
diff --git a/keyboards/winry/winry315/keymaps/via/keymap.c b/keyboards/winry/winry315/keymaps/via/keymap.c
index 0641fbfd03..4585f46fb6 100644
--- a/keyboards/winry/winry315/keymaps/via/keymap.c
+++ b/keyboards/winry/winry315/keymaps/via/keymap.c
@@ -37,3 +37,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[2 ... 7] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }
};
#endif
+
+// The enum values are assumed to match the layout option values used by VIA.
+void via_set_layout_options_kb(uint32_t value) {
+ winry315_set_orientation(value & 0x03);
+}
diff --git a/keyboards/winry/winry315/winry315.c b/keyboards/winry/winry315/winry315.c
index e7901a2e00..03621d3e3f 100644
--- a/keyboards/winry/winry315/winry315.c
+++ b/keyboards/winry/winry315/winry315.c
@@ -3,13 +3,11 @@
#include "winry315.h"
-#include "via.h"
-
#if !defined(WINRY315_DEFAULT_ORIENTATION)
# define WINRY315_DEFAULT_ORIENTATION WINRY315_ORIENTATION_TOP
#endif
-#if !defined(VIA_ENABLE) && defined(ENCODER_ENABLE)
+#if defined(ENCODER_ENABLE) && !defined(ENCODER_MAP_ENABLE)
# ifndef MEDIA_KEY_DELAY
# define MEDIA_KEY_DELAY 10
# endif
@@ -41,7 +39,7 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {
}
return true;
}
-#endif // !defined(VIA_ENABLE) && defined(ENCODER_ENABLE)
+#endif // defined(ENCODER_ENABLE) && !defined(ENCODER_MAP_ENABLE)
#if defined(RGB_MATRIX_ENABLE)
@@ -200,9 +198,3 @@ void winry315_set_orientation(uint8_t orientation) {
}
#endif // defined(RGB_MATRIX_ENABLE)
}
-
-#if defined(VIA_ENABLE)
-void via_set_layout_options_kb(uint32_t value) {
- winry315_set_orientation(value & 0x03);
-}
-#endif // defined(VIA_ENABLE)
diff --git a/keyboards/winry/winry315/winry315.h b/keyboards/winry/winry315/winry315.h
index 8129c9d6e0..ea7b4120e2 100644
--- a/keyboards/winry/winry315/winry315.h
+++ b/keyboards/winry/winry315/winry315.h
@@ -5,8 +5,7 @@
#include "quantum.h"
-// Supported orientations of the board. The enum values must match the layout
-// option values used by VIA.
+// Supported orientations of the board.
enum winry315_orientation {
WINRY315_ORIENTATION_TOP, // Encoders at the top side (default)
WINRY315_ORIENTATION_LEFT, // Encoders at the left side
@@ -17,10 +16,9 @@ enum winry315_orientation {
// Set the orientation of the board (changes the RGB Matrix effect behavior to
// match the new orientation).
//
-// This function is intended to be used in the `via` keymap, where the board
-// orientation is configured dynamically using a VIA layout option. If you are
-// making a custom keymap for one specific orientation, it is better to set the
-// orientation in config.h (e.g., `#define WINRY315_DEFAULT_ORIENTATION
-// WINRY315_ORIENTATION_LEFT`) instead of adding custom code that calls this
-// function.
+// This function is intended to be used to configure the orientation
+// dynamically. If you are making a custom keymap for one specific orientation,
+// it is better to set the orientation in config.h
+// (e.g., `#define WINRY315_DEFAULT_ORIENTATION WINRY315_ORIENTATION_LEFT`)
+// instead of adding custom code that calls this function.
void winry315_set_orientation(uint8_t orientation);
diff --git a/keyboards/wolfmarkclub/wm1/keyboard.json b/keyboards/wolfmarkclub/wm1/keyboard.json
index 56c062e102..0cea5546c8 100644
--- a/keyboards/wolfmarkclub/wm1/keyboard.json
+++ b/keyboards/wolfmarkclub/wm1/keyboard.json
@@ -27,6 +27,11 @@
"resync": true
}
},
+ "indicators": {
+ "caps_lock": "B1",
+ "num_lock": "B0",
+ "scroll_lock": "C5"
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/wolfmarkclub/wm1/wm1.c b/keyboards/wolfmarkclub/wm1/wm1.c
index 9c4fb090c8..83c4c8bb45 100644
--- a/keyboards/wolfmarkclub/wm1/wm1.c
+++ b/keyboards/wolfmarkclub/wm1/wm1.c
@@ -4,19 +4,3 @@ void bootloader_jump(void) {
// This board doesn't use the "standard" stm32duino bootloader, and no information is available regarding how to enter bootloader mode. All we can do here is reset.
NVIC_SystemReset();
}
-
-void matrix_init_kb(void) {
- gpio_set_pin_output(B1); // Top Indicator LED
- gpio_set_pin_output(B0); // Middle Indicator LED
- gpio_set_pin_output(C5); // Bottom Indicator LED
- matrix_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- if(led_update_user(led_state)) {
- gpio_write_pin(B1, led_state.caps_lock);
- gpio_write_pin(B0, led_state.num_lock);
- gpio_write_pin(C5, led_state.scroll_lock);
- }
- return true;
-}
diff --git a/keyboards/work_louder/micro/matrix.c b/keyboards/work_louder/micro/matrix.c
index 3cfbf17dad..3944d676de 100644
--- a/keyboards/work_louder/micro/matrix.c
+++ b/keyboards/work_louder/micro/matrix.c
@@ -20,21 +20,21 @@ static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
#define MATRIX_ROW_SHIFTER ((matrix_row_t)1)
-static inline void setPinOutput_writeLow(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_low(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_low(pin);
}
}
-static inline void setPinOutput_writeHigh(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_high(pin);
}
}
-static inline void setPinInputHigh_atomic(pin_t pin) {
+static inline void gpio_atomic_set_pin_input_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_input_high(pin);
}
@@ -51,7 +51,7 @@ static inline uint8_t readMatrixPin(pin_t pin) {
static bool select_row(uint8_t row) {
pin_t pin = row_pins[row];
if (pin != NO_PIN) {
- setPinOutput_writeLow(pin);
+ gpio_atomic_set_pin_output_low(pin);
return true;
}
return false;
@@ -60,7 +60,7 @@ static bool select_row(uint8_t row) {
static void unselect_row(uint8_t row) {
pin_t pin = row_pins[row];
if (pin != NO_PIN) {
- setPinInputHigh_atomic(pin);
+ gpio_atomic_set_pin_input_high(pin);
}
}
@@ -74,11 +74,11 @@ __attribute__((weak)) void matrix_init_custom(void) {
unselect_rows();
for (uint8_t x = 0; x < MATRIX_COLS; x++) {
if (col_pins[x] != NO_PIN) {
- setPinInputHigh_atomic(col_pins[x]);
+ gpio_atomic_set_pin_input_high(col_pins[x]);
}
}
- setPinInputHigh_atomic(F7);
- setPinInputHigh_atomic(F0);
+ gpio_atomic_set_pin_input_high(F7);
+ gpio_atomic_set_pin_input_high(F0);
}
void matrix_read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) {
diff --git a/keyboards/work_louder/rgb_functions.h b/keyboards/work_louder/rgb_functions.h
index eaef787a22..20c99021fb 100644
--- a/keyboards/work_louder/rgb_functions.h
+++ b/keyboards/work_louder/rgb_functions.h
@@ -18,62 +18,32 @@
#include "keycodes.h"
-#ifndef VIA_ENABLE
-# ifndef RGB_MATRIX_TOGGLE
-# define RGB_MATRIX_TOGGLE KC_F15
-# endif
-# ifndef RGB_MATRIX_MODE_INC
-# define RGB_MATRIX_MODE_INC KC_F16
-# endif
-# ifndef RGB_MATRIX_MODE_DEC
-# define RGB_MATRIX_MODE_DEC KC_F17
-# endif
-# ifndef RGB_MATRIX_HUE_INC
-# define RGB_MATRIX_HUE_INC KC_F18
-# endif
-# ifndef RGB_MATRIX_HUE_DEC
-# define RGB_MATRIX_HUE_DEC KC_F19
-# endif
-# ifndef RGB_MATRIX_SAT_INC
-# define RGB_MATRIX_SAT_INC KC_F20
-# endif
-# ifndef RGB_MATRIX_SAT_DEC
-# define RGB_MATRIX_SAT_DEC KC_F21
-# endif
-# ifndef RGB_MATRIX_VAL_INC
-# define RGB_MATRIX_VAL_INC KC_F22
-# endif
-# ifndef RGB_MATRIX_VAL_DEC
-# define RGB_MATRIX_VAL_DEC KC_F23
-# endif
-#else
-# ifndef RGB_MATRIX_TOGGLE
-# define RGB_MATRIX_TOGGLE QK_KB_0
-# endif
-# ifndef RGB_MATRIX_MODE_INC
-# define RGB_MATRIX_MODE_INC QK_KB_1
-# endif
-# ifndef RGB_MATRIX_MODE_DEC
-# define RGB_MATRIX_MODE_DEC QK_KB_2
-# endif
-# ifndef RGB_MATRIX_HUE_INC
-# define RGB_MATRIX_HUE_INC QK_KB_3
-# endif
-# ifndef RGB_MATRIX_HUE_DEC
-# define RGB_MATRIX_HUE_DEC QK_KB_4
-# endif
-# ifndef RGB_MATRIX_SAT_INC
-# define RGB_MATRIX_SAT_INC QK_KB_5
-# endif
-# ifndef RGB_MATRIX_SAT_DEC
-# define RGB_MATRIX_SAT_DEC QK_KB_6
-# endif
-# ifndef RGB_MATRIX_VAL_INC
-# define RGB_MATRIX_VAL_INC QK_KB_7
-# endif
-# ifndef RGB_MATRIX_VAL_DEC
-# define RGB_MATRIX_VAL_DEC QK_KB_8
-# endif
+#ifndef RGB_MATRIX_TOGGLE
+# define RGB_MATRIX_TOGGLE QK_KB_0
+#endif
+#ifndef RGB_MATRIX_MODE_INC
+# define RGB_MATRIX_MODE_INC QK_KB_1
+#endif
+#ifndef RGB_MATRIX_MODE_DEC
+# define RGB_MATRIX_MODE_DEC QK_KB_2
+#endif
+#ifndef RGB_MATRIX_HUE_INC
+# define RGB_MATRIX_HUE_INC QK_KB_3
+#endif
+#ifndef RGB_MATRIX_HUE_DEC
+# define RGB_MATRIX_HUE_DEC QK_KB_4
+#endif
+#ifndef RGB_MATRIX_SAT_INC
+# define RGB_MATRIX_SAT_INC QK_KB_5
+#endif
+#ifndef RGB_MATRIX_SAT_DEC
+# define RGB_MATRIX_SAT_DEC QK_KB_6
+#endif
+#ifndef RGB_MATRIX_VAL_INC
+# define RGB_MATRIX_VAL_INC QK_KB_7
+#endif
+#ifndef RGB_MATRIX_VAL_DEC
+# define RGB_MATRIX_VAL_DEC QK_KB_8
#endif
#define R_M_TOG RGB_MATRIX_TOGGLE
diff --git a/keyboards/work_louder/work_board/config.h b/keyboards/work_louder/work_board/config.h
index 2514a63dde..a643cd767d 100644
--- a/keyboards/work_louder/work_board/config.h
+++ b/keyboards/work_louder/work_board/config.h
@@ -21,7 +21,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_STATIC_GRADIENT + 9
-#define RGB_MATRIX_LED_COUNT 49
#define RGB_MATRIX_DISABLE_KEYCODES
-
-#define VIA_EEPROM_LAYOUT_OPTIONS_DEFAULT 0x1
diff --git a/keyboards/work_louder/work_board/info.json b/keyboards/work_louder/work_board/info.json
index dc412fdabd..0e97efa9a4 100644
--- a/keyboards/work_louder/work_board/info.json
+++ b/keyboards/work_louder/work_board/info.json
@@ -58,7 +58,61 @@
},
"driver": "ws2812",
"max_brightness": 120,
- "sleep": true
+ "sleep": true,
+ "layout": [
+ {"matrix": [3, 11], "x": 223, "y": 63, "flags": 1},
+ {"matrix": [3, 10], "x": 203, "y": 63, "flags": 1},
+ {"matrix": [3, 9], "x": 183, "y": 63, "flags": 1},
+ {"matrix": [3, 8], "x": 162, "y": 63, "flags": 1},
+ {"matrix": [3, 7], "x": 142, "y": 63, "flags": 1},
+ {"matrix": [3, 6], "x": 122, "y": 63, "flags": 4},
+ {"x": 112, "y": 63, "flags": 4},
+ {"matrix": [3, 5], "x": 101, "y": 63, "flags": 4},
+ {"matrix": [3, 4], "x": 81, "y": 63, "flags": 1},
+ {"matrix": [3, 3], "x": 61, "y": 63, "flags": 1},
+ {"matrix": [3, 2], "x": 40, "y": 63, "flags": 1},
+ {"matrix": [3, 1], "x": 20, "y": 63, "flags": 1},
+ {"matrix": [3, 0], "x": 0, "y": 63, "flags": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 42, "flags": 1},
+ {"matrix": [2, 1], "x": 20, "y": 42, "flags": 4},
+ {"matrix": [2, 2], "x": 40, "y": 42, "flags": 4},
+ {"matrix": [2, 3], "x": 61, "y": 42, "flags": 4},
+ {"matrix": [2, 4], "x": 81, "y": 42, "flags": 4},
+ {"matrix": [2, 5], "x": 101, "y": 42, "flags": 4},
+ {"matrix": [2, 6], "x": 122, "y": 42, "flags": 4},
+ {"matrix": [2, 7], "x": 142, "y": 42, "flags": 4},
+ {"matrix": [2, 8], "x": 162, "y": 42, "flags": 4},
+ {"matrix": [2, 9], "x": 183, "y": 42, "flags": 4},
+ {"matrix": [2, 10], "x": 203, "y": 42, "flags": 4},
+ {"matrix": [2, 11], "x": 223, "y": 42, "flags": 1},
+
+ {"matrix": [1, 11], "x": 223, "y": 21, "flags": 1},
+ {"matrix": [1, 10], "x": 203, "y": 21, "flags": 4},
+ {"matrix": [1, 9], "x": 183, "y": 21, "flags": 4},
+ {"matrix": [1, 8], "x": 162, "y": 21, "flags": 4},
+ {"matrix": [1, 7], "x": 142, "y": 21, "flags": 4},
+ {"matrix": [1, 6], "x": 122, "y": 21, "flags": 4},
+ {"matrix": [1, 5], "x": 101, "y": 21, "flags": 4},
+ {"matrix": [1, 4], "x": 81, "y": 21, "flags": 4},
+ {"matrix": [1, 3], "x": 61, "y": 21, "flags": 4},
+ {"matrix": [1, 2], "x": 40, "y": 21, "flags": 4},
+ {"matrix": [1, 1], "x": 20, "y": 21, "flags": 4},
+ {"matrix": [1, 0], "x": 0, "y": 21, "flags": 1},
+
+ {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
+ {"matrix": [0, 1], "x": 20, "y": 0, "flags": 4},
+ {"matrix": [0, 2], "x": 40, "y": 0, "flags": 4},
+ {"matrix": [0, 3], "x": 61, "y": 0, "flags": 4},
+ {"matrix": [0, 4], "x": 81, "y": 0, "flags": 4},
+ {"matrix": [0, 5], "x": 101, "y": 0, "flags": 4},
+ {"matrix": [0, 6], "x": 122, "y": 0, "flags": 4},
+ {"matrix": [0, 7], "x": 142, "y": 0, "flags": 4},
+ {"matrix": [0, 8], "x": 162, "y": 0, "flags": 4},
+ {"matrix": [0, 9], "x": 183, "y": 0, "flags": 4},
+ {"matrix": [0, 10], "x": 203, "y": 0, "flags": 4},
+ {"matrix": [0, 11], "x": 223, "y": 0, "flags": 1},
+ ]
},
"matrix_pins": {
"cols": ["D3", "D5", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "C7", "F7", "F6", "E6"],
diff --git a/keyboards/work_louder/work_board/keymaps/via/config.h b/keyboards/work_louder/work_board/keymaps/via/config.h
index 7aa3bebe9b..716aac11aa 100644
--- a/keyboards/work_louder/work_board/keymaps/via/config.h
+++ b/keyboards/work_louder/work_board/keymaps/via/config.h
@@ -1,6 +1,10 @@
// Copyright 2023 QMK
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
+
#define NO_ACTION_ONESHOT
+
#undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
#undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
+
+#define VIA_EEPROM_LAYOUT_OPTIONS_DEFAULT 0x1
diff --git a/keyboards/work_louder/work_board/keymaps/via/keymap.c b/keyboards/work_louder/work_board/keymaps/via/keymap.c
index 255ee3ed78..9ba3dcda4c 100644
--- a/keyboards/work_louder/work_board/keymaps/via/keymap.c
+++ b/keyboards/work_louder/work_board/keymaps/via/keymap.c
@@ -214,3 +214,21 @@ void via_custom_value_command_kb(uint8_t *data, uint8_t length) {
}
*command_id = id_unhandled;
}
+
+bool via_layout_2u = false;
+
+void via_set_layout_options_kb(uint32_t value) {
+ via_layout_2u = (bool)value;
+}
+
+#ifdef RGB_MATRIX_ENABLE
+bool rgb_matrix_indicators_user(void) {
+ if (via_layout_2u) {
+ rgb_matrix_set_color(5, 0, 0, 0);
+ rgb_matrix_set_color(7, 0, 0, 0);
+ } else {
+ rgb_matrix_set_color(6, 0, 0, 0);
+ }
+ return false;
+}
+#endif
diff --git a/keyboards/work_louder/work_board/work_board.c b/keyboards/work_louder/work_board/work_board.c
index 975c7aa794..b34f31df5c 100644
--- a/keyboards/work_louder/work_board/work_board.c
+++ b/keyboards/work_louder/work_board/work_board.c
@@ -67,46 +67,12 @@ bool oled_task_kb(void) {
#endif
#ifdef RGB_MATRIX_ENABLE
-// clang-format off
-led_config_t g_led_config = { {
- { 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48 },
- { 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25 },
- { 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24 },
- { 12, 11, 10, 9, 8, 7, 5, 4, 3, 2, 1, 0}
-}, {
- { 223, 63 }, { 203, 63 }, { 183, 63 }, { 162, 63 }, { 142, 63 }, { 122, 63 }, { 112, 63 }, { 101, 63 }, { 81, 63 }, { 61, 63 }, { 40, 63 }, { 20, 63 }, { 0, 63 },
- { 0, 42 }, { 20, 42 }, { 40, 42 }, { 61, 42 }, { 81, 42 }, { 101, 42 }, { 122, 42 }, { 142, 42 }, { 162, 42 }, { 183, 42 }, { 203, 42 }, { 223, 42 },
- { 223, 21 }, { 203, 21 }, { 183, 21 }, { 162, 21 }, { 142, 21 }, { 122, 21 }, { 101, 21 }, { 81, 21 }, { 61, 21 }, { 40, 21 }, { 20, 21 }, { 0, 21 },
- { 0, 0 }, { 20, 0 }, { 40, 0 }, { 61, 0 }, { 81, 0 }, { 101, 0 }, { 122, 0 }, { 142, 0 }, { 162, 0 }, { 183, 0 }, { 203, 0 }, { 223, 0 }
-}, {
- 1, 1, 1, 1, 1, 4,4,4, 1, 1, 1, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1
-} };
-// clang-format on
-
-# ifdef VIA_ENABLE
-bool via_layout_2u = false;
-
-void via_set_layout_options_kb(uint32_t value) { via_layout_2u = (bool)value; }
-# endif // VIA_ENABLE
-
bool rgb_matrix_indicators_kb(void) {
if (!rgb_matrix_indicators_user()) {
return false;
}
-# ifdef VIA_ENABLE
- if (via_layout_2u) {
- rgb_matrix_set_color(5, 0, 0, 0);
- rgb_matrix_set_color(7, 0, 0, 0);
- } else {
- rgb_matrix_set_color(6, 0, 0, 0);
- }
-# else
rgb_matrix_set_color(5, 0, 0, 0);
rgb_matrix_set_color(7, 0, 0, 0);
-# endif
return true;
}
diff --git a/keyboards/wsk/g4m3ralpha/g4m3ralpha.c b/keyboards/wsk/g4m3ralpha/g4m3ralpha.c
deleted file mode 100644
index 3c039a173f..0000000000
--- a/keyboards/wsk/g4m3ralpha/g4m3ralpha.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright 2020 Worldspawn <[email protected]>
- *
- * 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"
-
-
-void matrix_init_kb(void) {
- gpio_set_pin_output(D3);
- gpio_write_pin_low(D3);
- gpio_set_pin_output(D2);
- gpio_write_pin_low(D2);
- gpio_set_pin_output(D0);
- gpio_write_pin_low(D0);
-
- matrix_init_user();
-};
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(D3, led_state.num_lock);
- gpio_write_pin(D0, led_state.caps_lock);
- gpio_write_pin(D2, led_state.scroll_lock);
- }
- return res;
-}
diff --git a/keyboards/wsk/g4m3ralpha/keyboard.json b/keyboards/wsk/g4m3ralpha/keyboard.json
index fcb2f26f5f..b5cdb7ce10 100644
--- a/keyboards/wsk/g4m3ralpha/keyboard.json
+++ b/keyboards/wsk/g4m3ralpha/keyboard.json
@@ -8,6 +8,11 @@
"pid": "0x56D9",
"device_version": "0.0.1"
},
+ "indicators": {
+ "caps_lock": "D0",
+ "num_lock": "D3",
+ "scroll_lock": "D2"
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/wuque/ikki68/ikki68.c b/keyboards/wuque/ikki68/ikki68.c
deleted file mode 100644
index 382ec00251..0000000000
--- a/keyboards/wuque/ikki68/ikki68.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright 2020 wuquestudio
- *
- * 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"
-
-void matrix_init_kb(void) {
- gpio_set_pin_output(C6);
-
- matrix_init_user();
-}
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(C6, !led_state.caps_lock);
- }
- return res;
-}
diff --git a/keyboards/wuque/ikki68/keyboard.json b/keyboards/wuque/ikki68/keyboard.json
index c6070e74fa..d666b0b5de 100644
--- a/keyboards/wuque/ikki68/keyboard.json
+++ b/keyboards/wuque/ikki68/keyboard.json
@@ -8,6 +8,10 @@
"pid": "0x0003",
"device_version": "0.0.1"
},
+ "indicators": {
+ "caps_lock": "C6",
+ "on_state": 0
+ },
"ws2812": {
"pin": "E2"
},
diff --git a/keyboards/xelus/akis/akis.c b/keyboards/xelus/akis/akis.c
deleted file mode 100644
index 0409f909d2..0000000000
--- a/keyboards/xelus/akis/akis.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Copyright 2021 Harrison Chan (Xelus)
- *
- * 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"
-
-void eeconfig_init_kb(void) { // EEPROM is getting reset!
- rgblight_enable(); // Enable RGB by default
- rgblight_mode(RGBLIGHT_MODE_RGB_TEST); // set to RGBLIGHT_MODE_RGB_TEST by default
-
- eeconfig_update_kb(0);
- eeconfig_init_user();
-}
diff --git a/keyboards/xelus/akis/keyboard.json b/keyboards/xelus/akis/keyboard.json
index 23a8178b26..da072b6379 100644
--- a/keyboards/xelus/akis/keyboard.json
+++ b/keyboards/xelus/akis/keyboard.json
@@ -21,6 +21,9 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "animation": "rgb_test"
}
},
"ws2812": {
diff --git a/keyboards/xelus/ninjin/keyboard.json b/keyboards/xelus/ninjin/keyboard.json
index 34032ea426..2e7b1640df 100644
--- a/keyboards/xelus/ninjin/keyboard.json
+++ b/keyboards/xelus/ninjin/keyboard.json
@@ -26,6 +26,9 @@
"rgb_test": true,
"alternating": true,
"twinkle": true
+ },
+ "default": {
+ "animation": "rgb_test"
}
},
"features": {
diff --git a/keyboards/xelus/ninjin/ninjin.c b/keyboards/xelus/ninjin/ninjin.c
deleted file mode 100644
index b5a4ee83a7..0000000000
--- a/keyboards/xelus/ninjin/ninjin.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Copyright 2021 Harrison Chan (Xelus)
- *
- * 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"
-
-void eeconfig_init_kb(void) { // EEPROM is getting reset!
- rgblight_enable(); // Enable RGB by default
- rgblight_mode(RGBLIGHT_MODE_RGB_TEST); // set to RGBLIGHT_MODE_RGB_TEST by default
-
- eeconfig_update_kb(0);
- eeconfig_init_user();
-}
-
-// Tested and verified working on Ninjin
-void matrix_io_delay(void) { __asm__ volatile("nop\nnop\nnop\n"); }
diff --git a/keyboards/xelus/pachi/rgb/keymaps/via/config.h b/keyboards/xelus/pachi/rgb/rev1/keymaps/via/config.h
index 47bbf2bf81..47bbf2bf81 100644
--- a/keyboards/xelus/pachi/rgb/keymaps/via/config.h
+++ b/keyboards/xelus/pachi/rgb/rev1/keymaps/via/config.h
diff --git a/keyboards/xelus/pachi/rgb/keymaps/via/keymap.c b/keyboards/xelus/pachi/rgb/rev1/keymaps/via/keymap.c
index 70904faaba..70904faaba 100644
--- a/keyboards/xelus/pachi/rgb/keymaps/via/keymap.c
+++ b/keyboards/xelus/pachi/rgb/rev1/keymaps/via/keymap.c
diff --git a/keyboards/xelus/pachi/rgb/keymaps/via/rules.mk b/keyboards/xelus/pachi/rgb/rev1/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100644
--- a/keyboards/xelus/pachi/rgb/keymaps/via/rules.mk
+++ b/keyboards/xelus/pachi/rgb/rev1/keymaps/via/rules.mk
diff --git a/keyboards/xelus/pachi/rgb/rev2/config.h b/keyboards/xelus/pachi/rgb/rev2/config.h
index a5fc38e070..fcf4c41d8a 100644
--- a/keyboards/xelus/pachi/rgb/rev2/config.h
+++ b/keyboards/xelus/pachi/rgb/rev2/config.h
@@ -33,7 +33,3 @@
// RGB Matrix defines
#define IS31FL3741_I2C_ADDRESS_1 IS31FL3741_I2C_ADDRESS_GND
#define IS31FL3741_LED_COUNT RGB_MATRIX_LED_COUNT // is31fl3741.h does not set this for custom driver
-
-// VIA KB level
-#define VIA_FIRMWARE_VERSION 1
-#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 17
diff --git a/keyboards/xelus/pachi/rgb/rev2/keymaps/via/config.h b/keyboards/xelus/pachi/rgb/rev2/keymaps/via/config.h
new file mode 100644
index 0000000000..abdd8c320c
--- /dev/null
+++ b/keyboards/xelus/pachi/rgb/rev2/keymaps/via/config.h
@@ -0,0 +1,20 @@
+/* Copyright 2021 Harrison Chan (Xelus)
+ *
+ * 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 VIA_FIRMWARE_VERSION 1
+#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 17
diff --git a/keyboards/xelus/pachi/rgb/rev2/keymaps/via/keymap.c b/keyboards/xelus/pachi/rgb/rev2/keymaps/via/keymap.c
new file mode 100644
index 0000000000..f739dc4b6a
--- /dev/null
+++ b/keyboards/xelus/pachi/rgb/rev2/keymaps/via/keymap.c
@@ -0,0 +1,399 @@
+/* Copyright 2021 Harrison Chan (Xelus)
+ *
+ * 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
+#include "eeprom.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_tkl_ansi_tsangan(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
+
+ [1] = LAYOUT_tkl_ansi_tsangan(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT , KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
+
+ [2] = LAYOUT_tkl_ansi_tsangan(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
+};
+
+// custom ID codes
+enum via_indicator_value {
+ id_caps_lock_enable = 1,
+ id_caps_lock_brightness,
+ id_caps_lock_color,
+ id_caps_lock_key,
+ id_caps_lock_override,
+ id_num_lock_enable,
+ id_num_lock_brightness,
+ id_num_lock_color,
+ id_num_lock_key,
+ id_num_lock_override,
+ id_scroll_lock_enable,
+ id_scroll_lock_brightness,
+ id_scroll_lock_color,
+ id_scroll_lock_key,
+ id_scroll_lock_override,
+ id_layer_indicator_enable,
+ id_layer_indicator_brightness,
+ id_layer_indicator_color,
+ id_layer_indicator_key,
+ id_layer_indicator_override
+};
+
+// struct to save things
+typedef struct {
+ bool enable_caps_lock:1; // |
+ bool enable_num_lock:1; // |
+ bool enable_scroll_lock:1; // |
+ bool enable_layer_indicator:1; // |
+ bool caps_override_bl:1; // |
+ bool num_override_bl:1; // |
+ bool scroll_override_bl:1; // |
+ bool layer_override_bl:1; // 1 byte
+ HSV caps_lock_indicator; // 3 bytes
+ HSV num_lock_indicator; // 3 bytes
+ HSV scroll_lock_indicator; // 3 bytes
+ HSV layer_indicator; // 3 bytes
+ uint8_t caps_lock_key; // 1 byte
+ uint8_t num_lock_key; // 1 byte
+ uint8_t scroll_lock_key; // 1 byte
+ uint8_t layer_indicator_key;// 1 byte
+} indicator_settings_config;
+// total 17 bytes
+
+indicator_settings_config g_config = {
+ .caps_lock_indicator = {0, 0, 128},
+ .num_lock_indicator = {60, 0, 128},
+ .scroll_lock_indicator = {120, 0, 128},
+ .layer_indicator = {180, 0, 128},
+ .caps_lock_key = 7,
+ .num_lock_key = 0,
+ .scroll_lock_key = 78,
+ .layer_indicator_key = 0,
+ .enable_caps_lock = true,
+ .enable_num_lock = false,
+ .enable_scroll_lock = true,
+ .enable_layer_indicator = false,
+ .caps_override_bl = true,
+ .num_override_bl = true,
+ .scroll_override_bl = true,
+ .layer_override_bl = true
+};
+
+
+// function declaration
+void indicator_config_set_value( uint8_t *data );
+void indicator_config_get_value( uint8_t *data );
+void indicator_config_save ( void );
+void _set_color(HSV *color, uint8_t *data);
+void _get_color(HSV *color, uint8_t *data);
+
+void values_load(void)
+{
+ eeprom_read_block( &g_config, ((void*)VIA_EEPROM_CUSTOM_CONFIG_ADDR), sizeof(g_config) );
+}
+
+void values_save(void)
+{
+ eeprom_update_block( &g_config, ((void*)VIA_EEPROM_CUSTOM_CONFIG_ADDR), sizeof(g_config) );
+}
+
+void via_init_kb(void)
+{
+ // If the EEPROM has the magic, the data is good.
+ // OK to load from EEPROM
+ if (via_eeprom_is_valid()) {
+ values_load();
+ } else {
+ values_save();
+ // DO NOT set EEPROM valid here, let caller do this
+ }
+}
+
+void via_custom_value_command_kb(uint8_t *data, uint8_t length) {
+ // data = [ command_id, channel_id, value_id, value_data ]
+ uint8_t *command_id = &(data[0]);
+ uint8_t *channel_id = &(data[1]);
+ uint8_t *value_id_and_data = &(data[2]);
+
+ if ( *channel_id == id_custom_channel ) {
+ switch ( *command_id )
+ {
+ case id_custom_set_value:
+ {
+ indicator_config_set_value(value_id_and_data);
+ break;
+ }
+ case id_custom_get_value:
+ {
+ indicator_config_get_value(value_id_and_data);
+ break;
+ }
+ case id_custom_save:
+ {
+ values_save();
+ break;
+ }
+ default:
+ {
+ // Unhandled message.
+ *command_id = id_unhandled;
+ break;
+ }
+ }
+ return;
+ }
+
+ // Return the unhandled state
+ *command_id = id_unhandled;
+
+ // DO NOT call raw_hid_send(data,length) here, let caller do this
+}
+
+void indicator_config_set_value( uint8_t *data )
+{
+ // data = [ value_id, value_data ]
+ uint8_t *value_id = &(data[0]);
+ uint8_t *value_data = &(data[1]);
+
+ switch ( *value_id )
+ {
+ case id_caps_lock_enable:
+ g_config.enable_caps_lock = *value_data;
+ break;
+ case id_num_lock_enable:
+ g_config.enable_num_lock = *value_data;
+ break;
+ case id_scroll_lock_enable:
+ g_config.enable_scroll_lock = *value_data;
+ break;
+ case id_layer_indicator_enable:
+ g_config.enable_layer_indicator = *value_data;
+ break;
+ case id_caps_lock_brightness:
+ g_config.caps_lock_indicator.v = *value_data;
+ break;
+ case id_num_lock_brightness:
+ g_config.num_lock_indicator.v = *value_data;
+ break;
+ case id_scroll_lock_brightness:
+ g_config.scroll_lock_indicator.v = *value_data;
+ break;
+ case id_layer_indicator_brightness:
+ g_config.layer_indicator.v = *value_data;
+ break;
+ case id_caps_lock_color:
+ _set_color( &(g_config.caps_lock_indicator), value_data );
+ break;
+ case id_num_lock_color:
+ _set_color( &(g_config.num_lock_indicator), value_data );
+ break;
+ case id_scroll_lock_color:
+ _set_color( &(g_config.scroll_lock_indicator), value_data );
+ break;
+ case id_layer_indicator_color:
+ _set_color( &(g_config.layer_indicator), value_data );
+ break;
+ case id_caps_lock_key:
+ g_config.caps_lock_key = *value_data;
+ break;
+ case id_num_lock_key:
+ g_config.num_lock_key = *value_data;
+ break;
+ case id_scroll_lock_key:
+ g_config.scroll_lock_key = *value_data;
+ break;
+ case id_layer_indicator_key:
+ g_config.layer_indicator_key = *value_data;
+ break;
+ case id_caps_lock_override:
+ g_config.caps_override_bl = *value_data;
+ break;
+ case id_num_lock_override:
+ g_config.num_override_bl = *value_data;
+ break;
+ case id_scroll_lock_override:
+ g_config.scroll_override_bl = *value_data;
+ break;
+ case id_layer_indicator_override:
+ g_config.layer_override_bl = *value_data;
+ break;
+ }
+}
+
+void indicator_config_get_value( uint8_t *data )
+{
+ uint8_t *value_id = &(data[0]);
+ uint8_t *value_data = &(data[1]);
+
+ switch ( *value_id )
+ {
+ case id_caps_lock_enable:
+ *value_data = g_config.enable_caps_lock;
+ break;
+ case id_num_lock_enable:
+ *value_data = g_config.enable_num_lock;
+ break;
+ case id_scroll_lock_enable:
+ *value_data = g_config.enable_scroll_lock;
+ break;
+ case id_layer_indicator_enable:
+ *value_data = g_config.enable_layer_indicator;
+ break;
+ case id_caps_lock_brightness:
+ *value_data = g_config.caps_lock_indicator.v;
+ break;
+ case id_num_lock_brightness:
+ *value_data = g_config.num_lock_indicator.v;
+ break;
+ case id_layer_indicator_brightness:
+ *value_data = g_config.scroll_lock_indicator.v;
+ break;
+ case id_scroll_lock_brightness:
+ *value_data = g_config.layer_indicator.v;
+ break;
+ case id_caps_lock_color:
+ _get_color( &(g_config.caps_lock_indicator), value_data );
+ break;
+ case id_num_lock_color:
+ _get_color( &(g_config.num_lock_indicator), value_data );
+ break;
+ case id_scroll_lock_color:
+ _get_color( &(g_config.scroll_lock_indicator), value_data );
+ break;
+ case id_layer_indicator_color:
+ _get_color( &(g_config.layer_indicator), value_data );
+ break;
+ case id_caps_lock_key:
+ *value_data = g_config.caps_lock_key;
+ break;
+ case id_num_lock_key:
+ *value_data = g_config.num_lock_key;
+ break;
+ case id_scroll_lock_key:
+ *value_data = g_config.scroll_lock_key;
+ break;
+ case id_layer_indicator_key:
+ *value_data = g_config.layer_indicator_key;
+ break;
+ case id_caps_lock_override:
+ *value_data = g_config.caps_override_bl;
+ break;
+ case id_num_lock_override:
+ *value_data = g_config.num_override_bl;
+ break;
+ case id_scroll_lock_override:
+ *value_data = g_config.scroll_override_bl;
+ break;
+ case id_layer_indicator_override:
+ *value_data = g_config.layer_override_bl;
+ break;
+ }
+}
+
+// Some helpers for setting/getting HSV
+void _set_color( HSV *color, uint8_t *data )
+{
+ color->h = data[0];
+ color->s = data[1];
+}
+
+void _get_color( HSV *color, uint8_t *data )
+{
+ data[0] = color->h;
+ data[1] = color->s;
+}
+
+// Set the indicators with RGB Matrix subsystem
+bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
+ // caps lock cyan
+ if (g_config.enable_caps_lock) {
+ RGB rgb_caps = hsv_to_rgb( (HSV){ .h = g_config.caps_lock_indicator.h,
+ .s = g_config.caps_lock_indicator.s,
+ .v = g_config.caps_lock_indicator.v } );
+ if (host_keyboard_led_state().caps_lock) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(g_config.caps_lock_key, rgb_caps.r, rgb_caps.g, rgb_caps.b);
+ } else {
+ if (g_config.caps_override_bl) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(g_config.caps_lock_key, 0, 0, 0);
+ }
+ }
+ }
+
+ // num lock cyan
+ if (g_config.enable_num_lock) {
+ RGB rgb_num = hsv_to_rgb( (HSV){ .h = g_config.num_lock_indicator.h,
+ .s = g_config.num_lock_indicator.s,
+ .v = g_config.num_lock_indicator.v } );
+ if (host_keyboard_led_state().num_lock) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(g_config.num_lock_key, rgb_num.r, rgb_num.g, rgb_num.b);
+ } else {
+ if (g_config.num_override_bl) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(g_config.num_lock_key, 0, 0, 0);
+ }
+ }
+ }
+
+ // scroll lock cyan
+ if (g_config.enable_scroll_lock) {
+ RGB rgb_scroll = hsv_to_rgb( (HSV){ .h = g_config.scroll_lock_indicator.h,
+ .s = g_config.scroll_lock_indicator.s,
+ .v = g_config.scroll_lock_indicator.v } );
+ if (host_keyboard_led_state().scroll_lock) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(g_config.scroll_lock_key, rgb_scroll.r, rgb_scroll.g, rgb_scroll.b);
+ } else {
+ if (g_config.scroll_override_bl) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(g_config.scroll_lock_key, 0, 0, 0);
+ }
+ }
+ }
+
+ // layer state
+ if (g_config.enable_layer_indicator) {
+ RGB rgb_layer = hsv_to_rgb( (HSV){ .h = g_config.layer_indicator.h,
+ .s = g_config.layer_indicator.s,
+ .v = g_config.layer_indicator.v } );
+ switch (get_highest_layer(layer_state)) {
+ case 0:
+ if (g_config.layer_override_bl) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(g_config.layer_indicator_key, 0, 0, 0);
+ }
+ break;
+ case 1:
+ RGB_MATRIX_INDICATOR_SET_COLOR(g_config.layer_indicator_key, rgb_layer.r, rgb_layer.g, rgb_layer.b);
+ break;
+ default:
+ // white
+ RGB_MATRIX_INDICATOR_SET_COLOR(24, 128, 128, 128);
+ break;
+ }
+ }
+ return false;
+}
diff --git a/keyboards/xelus/pachi/rgb/rev2/keymaps/via/rules.mk b/keyboards/xelus/pachi/rgb/rev2/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/xelus/pachi/rgb/rev2/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/xelus/pachi/rgb/rev2/rev2.c b/keyboards/xelus/pachi/rgb/rev2/rev2.c
index f595e889c3..5589b27177 100644
--- a/keyboards/xelus/pachi/rgb/rev2/rev2.c
+++ b/keyboards/xelus/pachi/rgb/rev2/rev2.c
@@ -14,7 +14,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "rev2.h"
+#include "quantum.h"
// tested and working
void matrix_io_delay(void) { __asm__ volatile("nop\nnop\nnop\n"); }
@@ -239,311 +239,4 @@ const rgb_matrix_driver_t rgb_matrix_driver = {
.set_color_all = is31fl3741_set_color_all
};
-#ifdef VIA_ENABLE
-#include "quantum.h"
-#include "eeprom.h"
-
-indicator_settings_config g_config = {
- .caps_lock_indicator = {0, 0, 128},
- .num_lock_indicator = {60, 0, 128},
- .scroll_lock_indicator = {120, 0, 128},
- .layer_indicator = {180, 0, 128},
- .caps_lock_key = 7,
- .num_lock_key = 0,
- .scroll_lock_key = 78,
- .layer_indicator_key = 0,
- .enable_caps_lock = true,
- .enable_num_lock = false,
- .enable_scroll_lock = true,
- .enable_layer_indicator = false,
- .caps_override_bl = true,
- .num_override_bl = true,
- .scroll_override_bl = true,
- .layer_override_bl = true
-};
-
-void values_load(void)
-{
- eeprom_read_block( &g_config, ((void*)VIA_EEPROM_CUSTOM_CONFIG_ADDR), sizeof(g_config) );
-}
-
-void values_save(void)
-{
- eeprom_update_block( &g_config, ((void*)VIA_EEPROM_CUSTOM_CONFIG_ADDR), sizeof(g_config) );
-}
-
-void via_init_kb(void)
-{
- // If the EEPROM has the magic, the data is good.
- // OK to load from EEPROM
- if (via_eeprom_is_valid()) {
- values_load();
- } else {
- values_save();
- // DO NOT set EEPROM valid here, let caller do this
- }
-}
-
-void via_custom_value_command_kb(uint8_t *data, uint8_t length) {
- // data = [ command_id, channel_id, value_id, value_data ]
- uint8_t *command_id = &(data[0]);
- uint8_t *channel_id = &(data[1]);
- uint8_t *value_id_and_data = &(data[2]);
-
- if ( *channel_id == id_custom_channel ) {
- switch ( *command_id )
- {
- case id_custom_set_value:
- {
- indicator_config_set_value(value_id_and_data);
- break;
- }
- case id_custom_get_value:
- {
- indicator_config_get_value(value_id_and_data);
- break;
- }
- case id_custom_save:
- {
- values_save();
- break;
- }
- default:
- {
- // Unhandled message.
- *command_id = id_unhandled;
- break;
- }
- }
- return;
- }
-
- // Return the unhandled state
- *command_id = id_unhandled;
-
- // DO NOT call raw_hid_send(data,length) here, let caller do this
-}
-
-void indicator_config_set_value( uint8_t *data )
-{
- // data = [ value_id, value_data ]
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch ( *value_id )
- {
- case id_caps_lock_enable:
- g_config.enable_caps_lock = *value_data;
- break;
- case id_num_lock_enable:
- g_config.enable_num_lock = *value_data;
- break;
- case id_scroll_lock_enable:
- g_config.enable_scroll_lock = *value_data;
- break;
- case id_layer_indicator_enable:
- g_config.enable_layer_indicator = *value_data;
- break;
- case id_caps_lock_brightness:
- g_config.caps_lock_indicator.v = *value_data;
- break;
- case id_num_lock_brightness:
- g_config.num_lock_indicator.v = *value_data;
- break;
- case id_scroll_lock_brightness:
- g_config.scroll_lock_indicator.v = *value_data;
- break;
- case id_layer_indicator_brightness:
- g_config.layer_indicator.v = *value_data;
- break;
- case id_caps_lock_color:
- _set_color( &(g_config.caps_lock_indicator), value_data );
- break;
- case id_num_lock_color:
- _set_color( &(g_config.num_lock_indicator), value_data );
- break;
- case id_scroll_lock_color:
- _set_color( &(g_config.scroll_lock_indicator), value_data );
- break;
- case id_layer_indicator_color:
- _set_color( &(g_config.layer_indicator), value_data );
- break;
- case id_caps_lock_key:
- g_config.caps_lock_key = *value_data;
- break;
- case id_num_lock_key:
- g_config.num_lock_key = *value_data;
- break;
- case id_scroll_lock_key:
- g_config.scroll_lock_key = *value_data;
- break;
- case id_layer_indicator_key:
- g_config.layer_indicator_key = *value_data;
- break;
- case id_caps_lock_override:
- g_config.caps_override_bl = *value_data;
- break;
- case id_num_lock_override:
- g_config.num_override_bl = *value_data;
- break;
- case id_scroll_lock_override:
- g_config.scroll_override_bl = *value_data;
- break;
- case id_layer_indicator_override:
- g_config.layer_override_bl = *value_data;
- break;
- }
-}
-
-void indicator_config_get_value( uint8_t *data )
-{
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch ( *value_id )
- {
- case id_caps_lock_enable:
- *value_data = g_config.enable_caps_lock;
- break;
- case id_num_lock_enable:
- *value_data = g_config.enable_num_lock;
- break;
- case id_scroll_lock_enable:
- *value_data = g_config.enable_scroll_lock;
- break;
- case id_layer_indicator_enable:
- *value_data = g_config.enable_layer_indicator;
- break;
- case id_caps_lock_brightness:
- *value_data = g_config.caps_lock_indicator.v;
- break;
- case id_num_lock_brightness:
- *value_data = g_config.num_lock_indicator.v;
- break;
- case id_layer_indicator_brightness:
- *value_data = g_config.scroll_lock_indicator.v;
- break;
- case id_scroll_lock_brightness:
- *value_data = g_config.layer_indicator.v;
- break;
- case id_caps_lock_color:
- _get_color( &(g_config.caps_lock_indicator), value_data );
- break;
- case id_num_lock_color:
- _get_color( &(g_config.num_lock_indicator), value_data );
- break;
- case id_scroll_lock_color:
- _get_color( &(g_config.scroll_lock_indicator), value_data );
- break;
- case id_layer_indicator_color:
- _get_color( &(g_config.layer_indicator), value_data );
- break;
- case id_caps_lock_key:
- *value_data = g_config.caps_lock_key;
- break;
- case id_num_lock_key:
- *value_data = g_config.num_lock_key;
- break;
- case id_scroll_lock_key:
- *value_data = g_config.scroll_lock_key;
- break;
- case id_layer_indicator_key:
- *value_data = g_config.layer_indicator_key;
- break;
- case id_caps_lock_override:
- *value_data = g_config.caps_override_bl;
- break;
- case id_num_lock_override:
- *value_data = g_config.num_override_bl;
- break;
- case id_scroll_lock_override:
- *value_data = g_config.scroll_override_bl;
- break;
- case id_layer_indicator_override:
- *value_data = g_config.layer_override_bl;
- break;
- }
-}
-
-// Some helpers for setting/getting HSV
-void _set_color( HSV *color, uint8_t *data )
-{
- color->h = data[0];
- color->s = data[1];
-}
-
-void _get_color( HSV *color, uint8_t *data )
-{
- data[0] = color->h;
- data[1] = color->s;
-}
-
-// Set the indicators with RGB Matrix subsystem
-bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
- // caps lock cyan
- if (g_config.enable_caps_lock) {
- RGB rgb_caps = hsv_to_rgb( (HSV){ .h = g_config.caps_lock_indicator.h,
- .s = g_config.caps_lock_indicator.s,
- .v = g_config.caps_lock_indicator.v } );
- if (host_keyboard_led_state().caps_lock) {
- RGB_MATRIX_INDICATOR_SET_COLOR(g_config.caps_lock_key, rgb_caps.r, rgb_caps.g, rgb_caps.b);
- } else {
- if (g_config.caps_override_bl) {
- RGB_MATRIX_INDICATOR_SET_COLOR(g_config.caps_lock_key, 0, 0, 0);
- }
- }
- }
-
- // num lock cyan
- if (g_config.enable_num_lock) {
- RGB rgb_num = hsv_to_rgb( (HSV){ .h = g_config.num_lock_indicator.h,
- .s = g_config.num_lock_indicator.s,
- .v = g_config.num_lock_indicator.v } );
- if (host_keyboard_led_state().num_lock) {
- RGB_MATRIX_INDICATOR_SET_COLOR(g_config.num_lock_key, rgb_num.r, rgb_num.g, rgb_num.b);
- } else {
- if (g_config.num_override_bl) {
- RGB_MATRIX_INDICATOR_SET_COLOR(g_config.num_lock_key, 0, 0, 0);
- }
- }
- }
-
- // scroll lock cyan
- if (g_config.enable_scroll_lock) {
- RGB rgb_scroll = hsv_to_rgb( (HSV){ .h = g_config.scroll_lock_indicator.h,
- .s = g_config.scroll_lock_indicator.s,
- .v = g_config.scroll_lock_indicator.v } );
- if (host_keyboard_led_state().scroll_lock) {
- RGB_MATRIX_INDICATOR_SET_COLOR(g_config.scroll_lock_key, rgb_scroll.r, rgb_scroll.g, rgb_scroll.b);
- } else {
- if (g_config.scroll_override_bl) {
- RGB_MATRIX_INDICATOR_SET_COLOR(g_config.scroll_lock_key, 0, 0, 0);
- }
- }
- }
-
- // layer state
- if (g_config.enable_layer_indicator) {
- RGB rgb_layer = hsv_to_rgb( (HSV){ .h = g_config.layer_indicator.h,
- .s = g_config.layer_indicator.s,
- .v = g_config.layer_indicator.v } );
- switch (get_highest_layer(layer_state)) {
- case 0:
- if (g_config.layer_override_bl) {
- RGB_MATRIX_INDICATOR_SET_COLOR(g_config.layer_indicator_key, 0, 0, 0);
- }
- break;
- case 1:
- RGB_MATRIX_INDICATOR_SET_COLOR(g_config.layer_indicator_key, rgb_layer.r, rgb_layer.g, rgb_layer.b);
- break;
- default:
- // white
- RGB_MATRIX_INDICATOR_SET_COLOR(24, 128, 128, 128);
- break;
- }
- }
- return false;
-}
-
-#endif
#endif
diff --git a/keyboards/xelus/pachi/rgb/rev2/rev2.h b/keyboards/xelus/pachi/rgb/rev2/rev2.h
deleted file mode 100644
index fb0b8639d2..0000000000
--- a/keyboards/xelus/pachi/rgb/rev2/rev2.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Copyright 2023 Harrison Chan (Xelus)
- *
- * 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
-
-#include "quantum.h"
-
-#ifdef VIA_ENABLE
-// custom ID codes
-enum via_indicator_value {
- id_caps_lock_enable = 1,
- id_caps_lock_brightness,
- id_caps_lock_color,
- id_caps_lock_key,
- id_caps_lock_override,
- id_num_lock_enable,
- id_num_lock_brightness,
- id_num_lock_color,
- id_num_lock_key,
- id_num_lock_override,
- id_scroll_lock_enable,
- id_scroll_lock_brightness,
- id_scroll_lock_color,
- id_scroll_lock_key,
- id_scroll_lock_override,
- id_layer_indicator_enable,
- id_layer_indicator_brightness,
- id_layer_indicator_color,
- id_layer_indicator_key,
- id_layer_indicator_override
-};
-
-// struct to save things
-typedef struct {
- bool enable_caps_lock:1; // |
- bool enable_num_lock:1; // |
- bool enable_scroll_lock:1; // |
- bool enable_layer_indicator:1; // |
- bool caps_override_bl:1; // |
- bool num_override_bl:1; // |
- bool scroll_override_bl:1; // |
- bool layer_override_bl:1; // 1 byte
- HSV caps_lock_indicator; // 3 bytes
- HSV num_lock_indicator; // 3 bytes
- HSV scroll_lock_indicator; // 3 bytes
- HSV layer_indicator; // 3 bytes
- uint8_t caps_lock_key; // 1 byte
- uint8_t num_lock_key; // 1 byte
- uint8_t scroll_lock_key; // 1 byte
- uint8_t layer_indicator_key;// 1 byte
-} indicator_settings_config;
-// total 17 bytes
-
-// function declaration
-void indicator_config_set_value( uint8_t *data );
-void indicator_config_get_value( uint8_t *data );
-void indicator_config_save ( void );
-void _set_color(HSV *color, uint8_t *data);
-void _get_color(HSV *color, uint8_t *data);
-#endif
diff --git a/keyboards/yandrstudio/nz64/nz64.c b/keyboards/yandrstudio/nz64/nz64.c
index b5a53273df..928b0b5114 100644
--- a/keyboards/yandrstudio/nz64/nz64.c
+++ b/keyboards/yandrstudio/nz64/nz64.c
@@ -84,15 +84,23 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
void eeconfig_init_kb(void) {
kb_cums.raw = 0;
eeconfig_update_kb(kb_cums.raw);
+
+ eeconfig_init_user();
}
void keyboard_post_init_kb(void) {
kb_cums.underground_rgb_sw = eeconfig_read_kb();
+
+ keyboard_post_init_user();
}
#endif
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+ if (!process_record_user(keycode, record)) {
+ return false;
+ }
+
switch(keycode) {
#ifdef RGB_MATRIX_ENABLE
case URGB_K:
diff --git a/keyboards/yandrstudio/nz67v2/nz67v2.c b/keyboards/yandrstudio/nz67v2/nz67v2.c
index 346556c25e..c3162dd961 100644
--- a/keyboards/yandrstudio/nz67v2/nz67v2.c
+++ b/keyboards/yandrstudio/nz67v2/nz67v2.c
@@ -85,10 +85,14 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
void eeconfig_init_kb(void) {
kb_cums.raw = 0;
eeconfig_update_kb(kb_cums.raw);
+
+ eeconfig_init_user();
}
void keyboard_post_init_kb(void) {
kb_cums.underground_rgb_sw = eeconfig_read_kb();
+
+ keyboard_post_init_user();
}
#endif
diff --git a/keyboards/yiancardesigns/barleycorn/barleycorn.c b/keyboards/yiancardesigns/barleycorn/barleycorn.c
deleted file mode 100644
index c73c1559c2..0000000000
--- a/keyboards/yiancardesigns/barleycorn/barleycorn.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright 2020 Yiancar
- *
- * 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"
-
-void keyboard_pre_init_kb(void) {
- // Set our LED pins as output
- gpio_set_pin_output(B5);
- gpio_set_pin_output(C0);
- keyboard_pre_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- // gpio_write_pin sets the pin high for 1 and low for 0.
- // In this example the pins are inverted, setting
- // it low/0 turns it on, and high/1 turns the LED off.
- // This behavior depends on whether the LED is between the pin
- // and VCC or the pin and GND.
- gpio_write_pin(B5, led_state.caps_lock);
- gpio_write_pin(C0, led_state.num_lock);
- }
- return res;
-}
diff --git a/keyboards/yiancardesigns/barleycorn/keyboard.json b/keyboards/yiancardesigns/barleycorn/keyboard.json
index a1676840a5..cf041b96c5 100644
--- a/keyboards/yiancardesigns/barleycorn/keyboard.json
+++ b/keyboards/yiancardesigns/barleycorn/keyboard.json
@@ -19,6 +19,10 @@
"resync": true
}
},
+ "indicators": {
+ "caps_lock": "B5",
+ "num_lock": "C0"
+ },
"processor": "atmega328p",
"bootloader": "usbasploader",
"layouts": {
diff --git a/keyboards/ymdk/yd60mq/info.json b/keyboards/ymdk/yd60mq/info.json
index 4152ed6e07..1af04be687 100644
--- a/keyboards/ymdk/yd60mq/info.json
+++ b/keyboards/ymdk/yd60mq/info.json
@@ -32,6 +32,10 @@
"pin": "B7",
"levels": 5
},
+ "indicators": {
+ "caps_lock": "F4",
+ "on_state": 0
+ },
"ws2812": {
"pin": "E2"
},
diff --git a/keyboards/ymdk/yd60mq/yd60mq.c b/keyboards/ymdk/yd60mq/yd60mq.c
deleted file mode 100644
index 40c899c46f..0000000000
--- a/keyboards/ymdk/yd60mq/yd60mq.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include "quantum.h"
-
-__attribute__((weak))
-void matrix_init_kb(void){
- gpio_set_pin_output(F4);
- gpio_write_pin_high(F4);
-}
-
-__attribute__((weak))
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if (res) {
- // gpio_write_pin sets the pin high for 1 and low for 0.
- // In this example the pins are inverted, setting
- // it low/0 turns it on, and high/1 turns the LED off.
- // This behavior depends on whether the LED is between the pin
- // and VCC or the pin and GND.
- gpio_write_pin(F4, !led_state.caps_lock);
- }
- return res;
-}
diff --git a/keyboards/yoichiro/lunakey_pico/keyboard.json b/keyboards/yoichiro/lunakey_pico/keyboard.json
index d80aaf0612..39070d615a 100644
--- a/keyboards/yoichiro/lunakey_pico/keyboard.json
+++ b/keyboards/yoichiro/lunakey_pico/keyboard.json
@@ -47,7 +47,10 @@
"max_brightness": 255
},
"split": {
- "enabled": true
+ "enabled": true,
+ "serial": {
+ "driver": "vendor"
+ }
},
"ws2812": {
"pin": "GP6",
diff --git a/keyboards/yoichiro/lunakey_pico/rules.mk b/keyboards/yoichiro/lunakey_pico/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/yoichiro/lunakey_pico/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/yushakobo/navpad/navpad_prefs.c b/keyboards/yushakobo/navpad/navpad_prefs.c
index 08b7464cf9..c7b3881621 100644
--- a/keyboards/yushakobo/navpad/navpad_prefs.c
+++ b/keyboards/yushakobo/navpad/navpad_prefs.c
@@ -37,10 +37,6 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
return true;
}
-bool led_update_kb(led_t led_state) {
- return led_update_user(led_state);
-}
-
#ifdef ENCODER_ENABLE
bool encoder_update_kb(uint8_t index, bool clockwise) {
if (!encoder_update_user(index, clockwise)) { return false; }
diff --git a/keyboards/ziptyze/lets_split_v3/keyboard.json b/keyboards/ziptyze/lets_split_v3/keyboard.json
index 3db8004756..ca53b42240 100644
--- a/keyboards/ziptyze/lets_split_v3/keyboard.json
+++ b/keyboards/ziptyze/lets_split_v3/keyboard.json
@@ -22,6 +22,9 @@
"vid": "0x6F75"
},
"split": {
+ "serial": {
+ "driver": "vendor"
+ },
"transport": {
"sync": {
"matrix_state": true
diff --git a/keyboards/ziptyze/lets_split_v3/rules.mk b/keyboards/ziptyze/lets_split_v3/rules.mk
deleted file mode 100644
index 161ec22b16..0000000000
--- a/keyboards/ziptyze/lets_split_v3/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/zvecr/split_blackpill/keyboard.json b/keyboards/zvecr/split_blackpill/keyboard.json
index 71eb99b7d4..f5bc458d73 100644
--- a/keyboards/zvecr/split_blackpill/keyboard.json
+++ b/keyboards/zvecr/split_blackpill/keyboard.json
@@ -26,6 +26,9 @@
"handedness": {
"pin": "B3"
},
+ "serial": {
+ "driver": "usart"
+ },
"soft_serial_pin": "B6",
"bootmagic": {
"matrix": [4, 0]
diff --git a/keyboards/zvecr/split_blackpill/rules.mk b/keyboards/zvecr/split_blackpill/rules.mk
deleted file mode 100644
index c6e2988321..0000000000
--- a/keyboards/zvecr/split_blackpill/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = usart
diff --git a/keyboards/zvecr/zv48/f401/rules.mk b/keyboards/zvecr/zv48/f401/rules.mk
deleted file mode 100644
index c6e2988321..0000000000
--- a/keyboards/zvecr/zv48/f401/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = usart
diff --git a/keyboards/zvecr/zv48/f411/rules.mk b/keyboards/zvecr/zv48/f411/rules.mk
deleted file mode 100644
index c6e2988321..0000000000
--- a/keyboards/zvecr/zv48/f411/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = usart
diff --git a/keyboards/zvecr/zv48/info.json b/keyboards/zvecr/zv48/info.json
index e596eb6e79..39a05a61e6 100644
--- a/keyboards/zvecr/zv48/info.json
+++ b/keyboards/zvecr/zv48/info.json
@@ -50,12 +50,15 @@
},
"split": {
"enabled": true,
+ "bootmagic": {
+ "matrix": [4, 0]
+ },
"handedness": {
"pin": "B9"
},
- "soft_serial_pin": "B6",
- "bootmagic": {
- "matrix": [4, 0]
+ "serial": {
+ "driver": "usart",
+ "pin": "B6"
},
"matrix_pins": {
"right": {