summaryrefslogtreecommitdiff
path: root/keyboards
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards')
-rw-r--r--keyboards/0xcb/1337/keymaps/default/keymap.c75
-rw-r--r--keyboards/1upkeyboards/1up60rgb/keymaps/raffle/keymap.c2
-rw-r--r--keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c44
-rw-r--r--keyboards/40percentclub/25/rules.mk2
-rw-r--r--keyboards/40percentclub/4x4/rules.mk2
-rw-r--r--keyboards/40percentclub/5x5/rules.mk2
-rw-r--r--keyboards/40percentclub/nano/keymaps/drashna/keymap.c8
-rw-r--r--keyboards/40percentclub/ut47/keymaps/nordic/keymap.c10
-rw-r--r--keyboards/7skb/keymaps/salicylic/keymap.c2
-rw-r--r--keyboards/7splus/keymaps/salicylic/keymap.c2
-rw-r--r--keyboards/9key/rules.mk1
-rw-r--r--keyboards/abacus/keymaps/unicodemap/keymap.c3
-rw-r--r--keyboards/acr60/keymaps/mitch/keymap.c38
-rwxr-xr-xkeyboards/aeboards/constellation/rev2/rules.mk5
-rw-r--r--keyboards/ai03/voyager60_alps/config.h2
-rw-r--r--keyboards/ajisai74/keymaps/salicylic/keymap.c2
-rw-r--r--keyboards/amjpad/keymaps/max/keymap.c37
-rw-r--r--keyboards/anavi/macropad8/keymaps/default/config.h (renamed from keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/default/keymap.c)6
-rw-r--r--keyboards/atreus/keymaps/erlandsona/keymap.c15
-rw-r--r--keyboards/atreus/keymaps/khitsule/keymap.c24
-rw-r--r--keyboards/atreus62/keymaps/194h/keymap.c2
-rw-r--r--keyboards/bakeneko65/keymaps/default/readme.md1
-rw-r--r--keyboards/bakeneko65/rev2/config.h (renamed from keyboards/bakeneko65/config.h)2
-rw-r--r--keyboards/bakeneko65/rev2/info.json (renamed from keyboards/bakeneko65/info.json)4
-rw-r--r--keyboards/bakeneko65/rev2/keymaps/default/keymap.c (renamed from keyboards/bakeneko65/keymaps/default/keymap.c)0
-rw-r--r--keyboards/bakeneko65/rev2/keymaps/default/readme.md1
-rw-r--r--keyboards/bakeneko65/rev2/keymaps/via/keymap.c (renamed from keyboards/bakeneko65/keymaps/via/keymap.c)0
-rw-r--r--keyboards/bakeneko65/rev2/keymaps/via/rules.mk (renamed from keyboards/bakeneko65/keymaps/via/rules.mk)0
-rw-r--r--keyboards/bakeneko65/rev2/readme.md (renamed from keyboards/bakeneko65/readme.md)8
-rw-r--r--keyboards/bakeneko65/rev2/rev2.c (renamed from keyboards/bakeneko65/bakeneko65.c)2
-rw-r--r--keyboards/bakeneko65/rev2/rev2.h (renamed from keyboards/bakeneko65/bakeneko65.h)0
-rw-r--r--keyboards/bakeneko65/rev2/rules.mk (renamed from keyboards/bakeneko65/rules.mk)0
-rw-r--r--keyboards/bakeneko65/rev3/config.h109
-rw-r--r--keyboards/bakeneko65/rev3/info.json12
-rw-r--r--keyboards/bakeneko65/rev3/keymaps/default/keymap.c38
-rw-r--r--keyboards/bakeneko65/rev3/keymaps/default/readme.md1
-rw-r--r--keyboards/bakeneko65/rev3/keymaps/via/keymap.c54
-rw-r--r--keyboards/bakeneko65/rev3/keymaps/via/rules.mk (renamed from keyboards/gmmk/pro/keymaps/via/rules.mk)0
-rw-r--r--keyboards/bakeneko65/rev3/readme.md17
-rw-r--r--keyboards/bakeneko65/rev3/rev3.c17
-rw-r--r--keyboards/bakeneko65/rev3/rev3.h33
-rw-r--r--keyboards/bakeneko65/rev3/rules.mk22
-rw-r--r--keyboards/barracuda/rules.mk2
-rw-r--r--keyboards/basekeys/trifecta/config.h4
-rw-r--r--keyboards/bastardkb/scylla/config.h4
-rw-r--r--keyboards/bastardkb/scylla/rules.mk1
-rw-r--r--keyboards/bastardkb/tbkmini/config.h4
-rwxr-xr-xkeyboards/bm40hsrgb/config.h4
-rw-r--r--keyboards/bm40hsrgb/keymaps/via/rules.mk1
-rw-r--r--keyboards/bm68rgb/keymaps/peepeetee/config.h2
-rw-r--r--keyboards/boardsource/3x4/config.h2
-rw-r--r--keyboards/boardsource/the_mark/config.h12
-rw-r--r--keyboards/boardwalk/keymaps/mcallaster/keymap.c2
-rw-r--r--keyboards/bpiphany/frosty_flake/frosty_flake.h30
-rw-r--r--keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c154
-rw-r--r--keyboards/bpiphany/pegasushoof/2013/2013.h18
-rw-r--r--keyboards/bpiphany/pegasushoof/2015/2015.h36
-rw-r--r--keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c8
-rwxr-xr-xkeyboards/c39/keymaps/drashna/keymap.c41
-rw-r--r--keyboards/cannonkeys/bluepill/keyboard.c20
-rw-r--r--keyboards/cannonkeys/bluepill/ws2812.c133
-rw-r--r--keyboards/cannonkeys/ortho48/rules.mk4
-rw-r--r--keyboards/cannonkeys/ortho60/rules.mk4
-rw-r--r--keyboards/cannonkeys/ortho75/rules.mk4
-rw-r--r--keyboards/cannonkeys/practice60/rules.mk4
-rw-r--r--keyboards/cannonkeys/practice65/rules.mk4
-rw-r--r--keyboards/cannonkeys/satisfaction75/satisfaction75.c2
-rw-r--r--keyboards/checkerboards/nop60/info.json4
-rw-r--r--keyboards/christmas_tree/rules.mk1
-rw-r--r--keyboards/clawsome/gamebuddy/v1_0/config.h (renamed from keyboards/clawsome/gamebuddy/config.h)2
-rw-r--r--keyboards/clawsome/gamebuddy/v1_0/info.json (renamed from keyboards/clawsome/gamebuddy/info.json)6
-rw-r--r--keyboards/clawsome/gamebuddy/v1_0/keymaps/default/keymap.c (renamed from keyboards/clawsome/gamebuddy/keymaps/default/keymap.c)0
-rw-r--r--keyboards/clawsome/gamebuddy/v1_0/readme.md (renamed from keyboards/clawsome/gamebuddy/readme.md)0
-rw-r--r--keyboards/clawsome/gamebuddy/v1_0/rules.mk (renamed from keyboards/clawsome/gamebuddy/rules.mk)0
-rw-r--r--keyboards/clawsome/gamebuddy/v1_0/v1_0.c (renamed from keyboards/clawsome/gamebuddy/gamebuddy.c)2
-rw-r--r--keyboards/clawsome/gamebuddy/v1_0/v1_0.h (renamed from keyboards/clawsome/gamebuddy/gamebuddy.h)0
-rw-r--r--keyboards/clawsome/gamebuddy/v1_m/config.h45
-rw-r--r--keyboards/clawsome/gamebuddy/v1_m/info.json41
-rw-r--r--keyboards/clawsome/gamebuddy/v1_m/keymaps/default/keymap.c29
-rw-r--r--keyboards/clawsome/gamebuddy/v1_m/readme.md13
-rw-r--r--keyboards/clawsome/gamebuddy/v1_m/rules.mk22
-rw-r--r--keyboards/clawsome/gamebuddy/v1_m/v1_m.c16
-rw-r--r--keyboards/clawsome/gamebuddy/v1_m/v1_m.h33
-rw-r--r--keyboards/clueboard/66/keymaps/magicmonty/keymap.c30
-rw-r--r--keyboards/clueboard/66/keymaps/tetris/keymap.c126
-rw-r--r--keyboards/clueboard/66_hotswap/gen1/gen1.c2
-rw-r--r--keyboards/comet46/keymaps/default-rgbled/keymap.c2
-rw-r--r--keyboards/comet46/keymaps/satt/keymap.c8
-rw-r--r--keyboards/contra/keymaps/deastiny/keymap.c6
-rw-r--r--keyboards/contra/keymaps/maxr1998/keymap.c8
-rw-r--r--keyboards/converter/hp_46010a/rules.mk1
-rw-r--r--keyboards/converter/ibm_5291/ibm_5291.c3
-rw-r--r--keyboards/converter/ibm_5291/ibm_5291.h69
-rw-r--r--keyboards/converter/ibm_5291/info.json96
-rw-r--r--keyboards/converter/ibm_5291/keymaps/default/keymap.c233
-rw-r--r--keyboards/converter/ibm_5291/keymaps/kbdbabel_doc_ibm5291_kbd.pdfbin13054 -> 0 bytes
-rw-r--r--keyboards/converter/ibm_5291/matrix.c284
-rw-r--r--keyboards/converter/ibm_5291/matrix.csv96
-rw-r--r--keyboards/converter/ibm_5291/readme.md72
-rw-r--r--keyboards/converter/ibm_terminal/keymaps/default/rules.mk1
-rw-r--r--keyboards/converter/ibm_terminal/keymaps/priyadi/rules.mk1
-rw-r--r--keyboards/converter/ibm_terminal/rules.mk1
-rw-r--r--keyboards/converter/siemens_tastatur/config.h4
-rw-r--r--keyboards/converter/usb_usb/usb_usb.h129
-rw-r--r--keyboards/coseyfannitutti/mulletpad/config.h2
-rw-r--r--keyboards/cospad/keymaps/detrus/keymap.c2
-rw-r--r--keyboards/crkbd/keymaps/davidrambo/config.h4
-rw-r--r--keyboards/crkbd/keymaps/devdev/config.h14
-rw-r--r--keyboards/crkbd/keymaps/dsanchezseco/keymap.c2
-rw-r--r--keyboards/crkbd/keymaps/gotham/config.h2
-rw-r--r--keyboards/crkbd/keymaps/kidbrazil/config.h2
-rw-r--r--keyboards/crkbd/keymaps/rpbaptist/config.h2
-rw-r--r--keyboards/crkbd/keymaps/rs/oled.c2
-rw-r--r--keyboards/crkbd/keymaps/soundmonster/config.h4
-rw-r--r--keyboards/crkbd/readme.md2
-rw-r--r--keyboards/dc01/left/config.h2
-rw-r--r--keyboards/dc01/left/matrix.c5
-rw-r--r--keyboards/divergetm2/keymaps/xtonhasvim/keymap.c2
-rw-r--r--keyboards/dm9records/plaid/keymaps/brickbots/keymap.c6
-rw-r--r--keyboards/dm9records/plaid/keymaps/thehalfdeafchef/keymap.c2
-rw-r--r--keyboards/dp60/dp60.c2
-rw-r--r--keyboards/draculad/config.h2
-rw-r--r--keyboards/draculad/keymaps/pimoroni/keymap.c2
-rw-r--r--keyboards/draculad/keymaps/pimoroni/pimoroni_trackball.c177
-rw-r--r--keyboards/draculad/keymaps/pimoroni/rules.mk2
-rw-r--r--keyboards/durgod/dgk6x/config.h93
-rw-r--r--keyboards/durgod/dgk6x/dgk6x.c (renamed from keyboards/durgod/k320/k320.c)21
-rw-r--r--keyboards/durgod/dgk6x/dgk6x.h47
-rw-r--r--keyboards/durgod/dgk6x/galaxy/config.h37
-rw-r--r--keyboards/durgod/dgk6x/galaxy/galaxy.c142
-rw-r--r--keyboards/durgod/dgk6x/galaxy/galaxy.h40
-rw-r--r--keyboards/durgod/dgk6x/galaxy/info.json102
-rw-r--r--keyboards/durgod/dgk6x/galaxy/keymaps/default/keymap.json42
-rw-r--r--keyboards/durgod/dgk6x/galaxy/keymaps/default/readme.md14
-rw-r--r--keyboards/durgod/dgk6x/galaxy/keymaps/via/keymap.json138
-rw-r--r--keyboards/durgod/dgk6x/galaxy/keymaps/via/readme.md14
-rw-r--r--keyboards/durgod/dgk6x/galaxy/keymaps/via/rules.mk (renamed from keyboards/tokyo60/keymaps/via/rules.mk)0
-rw-r--r--keyboards/durgod/dgk6x/galaxy/readme.md26
-rw-r--r--keyboards/durgod/dgk6x/galaxy/rules.mk1
-rw-r--r--keyboards/durgod/dgk6x/hades/config.h37
-rw-r--r--keyboards/durgod/dgk6x/hades/hades.c123
-rw-r--r--keyboards/durgod/dgk6x/hades/hades.h39
-rw-r--r--keyboards/durgod/dgk6x/hades/info.json85
-rw-r--r--keyboards/durgod/dgk6x/hades/keymaps/default/keymap.json38
-rw-r--r--keyboards/durgod/dgk6x/hades/keymaps/default/readme.md14
-rw-r--r--keyboards/durgod/dgk6x/hades/keymaps/via/keymap.json122
-rw-r--r--keyboards/durgod/dgk6x/hades/keymaps/via/readme.md14
-rw-r--r--keyboards/durgod/dgk6x/hades/keymaps/via/rules.mk1
-rw-r--r--keyboards/durgod/dgk6x/hades/readme.md26
-rw-r--r--keyboards/durgod/dgk6x/hades/rules.mk1
-rw-r--r--keyboards/durgod/dgk6x/halconf.h22
-rw-r--r--keyboards/durgod/dgk6x/mcuconf.h28
-rw-r--r--keyboards/durgod/dgk6x/readme.md55
-rw-r--r--keyboards/durgod/dgk6x/rules.mk31
-rw-r--r--keyboards/durgod/dgk6x/venus/config.h37
-rw-r--r--keyboards/durgod/dgk6x/venus/info.json78
-rw-r--r--keyboards/durgod/dgk6x/venus/keymaps/default/keymap.json38
-rw-r--r--keyboards/durgod/dgk6x/venus/keymaps/default/readme.md11
-rw-r--r--keyboards/durgod/dgk6x/venus/keymaps/via/keymap.json122
-rw-r--r--keyboards/durgod/dgk6x/venus/keymaps/via/readme.md12
-rw-r--r--keyboards/durgod/dgk6x/venus/keymaps/via/rules.mk1
-rw-r--r--keyboards/durgod/dgk6x/venus/readme.md26
-rw-r--r--keyboards/durgod/dgk6x/venus/rules.mk1
-rw-r--r--keyboards/durgod/dgk6x/venus/venus.c115
-rw-r--r--keyboards/durgod/dgk6x/venus/venus.h37
-rw-r--r--keyboards/durgod/galaxy/readme.md3
-rw-r--r--keyboards/durgod/galaxy/rules.mk1
-rw-r--r--keyboards/durgod/hades/readme.md3
-rw-r--r--keyboards/durgod/hades/rules.mk1
-rw-r--r--keyboards/durgod/k310/base/readme.md6
-rw-r--r--keyboards/durgod/k310/base/rules.mk1
-rw-r--r--keyboards/durgod/k310/readme.md4
-rw-r--r--keyboards/durgod/k310/rules.mk1
-rw-r--r--keyboards/durgod/k320/base/readme.md6
-rw-r--r--keyboards/durgod/k320/base/rules.mk1
-rw-r--r--keyboards/durgod/k320/keymaps/default/keymap.json26
-rw-r--r--keyboards/durgod/k320/keymaps/default_toggle_mac_windows/keymap.c367
-rw-r--r--keyboards/durgod/k320/keymaps/via/keymap.c90
-rw-r--r--keyboards/durgod/k320/keymaps/via/readme.md12
-rw-r--r--keyboards/durgod/k320/keymaps/via/rules.mk4
-rw-r--r--keyboards/durgod/k320/readme.md55
-rw-r--r--keyboards/durgod/k320/rules.mk30
-rw-r--r--keyboards/durgod/k3x0/config.h (renamed from keyboards/durgod/k320/config.h)14
-rw-r--r--keyboards/durgod/k3x0/halconf.h22
-rw-r--r--keyboards/durgod/k3x0/k310/base/config.h23
-rw-r--r--keyboards/durgod/k3x0/k310/base/readme.md27
-rw-r--r--keyboards/durgod/k3x0/k310/base/rules.mk1
-rw-r--r--keyboards/durgod/k3x0/k310/config.h36
-rw-r--r--keyboards/durgod/k3x0/k310/info.json (renamed from keyboards/durgod/k320/info.json)69
-rw-r--r--keyboards/durgod/k3x0/k310/k310.h78
-rw-r--r--keyboards/durgod/k3x0/k310/readme.md10
-rw-r--r--keyboards/durgod/k3x0/k310/rules.mk4
-rw-r--r--keyboards/durgod/k3x0/k320/base/config.h23
-rw-r--r--keyboards/durgod/k3x0/k320/base/readme.md27
-rw-r--r--keyboards/durgod/k3x0/k320/base/rules.mk1
-rw-r--r--keyboards/durgod/k3x0/k320/config.h33
-rw-r--r--keyboards/durgod/k3x0/k320/info.json415
-rw-r--r--keyboards/durgod/k3x0/k320/k320.h (renamed from keyboards/durgod/k320/k320.h)44
-rw-r--r--keyboards/durgod/k3x0/k320/keymaps/kuenhlee/keymap.c (renamed from keyboards/durgod/k320/keymaps/kuenhlee/keymap.c)0
-rw-r--r--keyboards/durgod/k3x0/k320/keymaps/kuenhlee/readme.md (renamed from keyboards/durgod/k320/keymaps/kuenhlee/readme.md)0
-rw-r--r--keyboards/durgod/k3x0/k320/keymaps/kuenhlee/rules.mk (renamed from keyboards/durgod/k320/keymaps/kuenhlee/rules.mk)0
-rw-r--r--keyboards/durgod/k3x0/k320/readme.md10
-rw-r--r--keyboards/durgod/k3x0/k320/rules.mk4
-rw-r--r--keyboards/durgod/k3x0/k3x0.c96
-rw-r--r--keyboards/durgod/k3x0/k3x0.h (renamed from keyboards/keebio/iris/keymaps/drashna_lp/config.h)49
-rw-r--r--keyboards/durgod/k3x0/keymaps/chimera/keymap.c373
-rw-r--r--keyboards/durgod/k3x0/keymaps/chimera/readme.md (renamed from keyboards/durgod/k320/keymaps/default_toggle_mac_windows/readme.md)10
-rw-r--r--keyboards/durgod/k3x0/keymaps/chimera/rules.mk (renamed from keyboards/durgod/k320/keymaps/default_toggle_mac_windows/rules.mk)0
-rw-r--r--keyboards/durgod/k3x0/keymaps/default/keymap.json26
-rw-r--r--keyboards/durgod/k3x0/keymaps/default/readme.md (renamed from keyboards/durgod/k320/keymaps/default/readme.md)6
-rw-r--r--keyboards/durgod/k3x0/keymaps/default_mac/keymap.json (renamed from keyboards/durgod/k320/keymaps/default_mac/keymap.json)22
-rw-r--r--keyboards/durgod/k3x0/keymaps/default_mac/readme.md (renamed from keyboards/durgod/k320/keymaps/default_mac/readme.md)0
-rw-r--r--keyboards/durgod/k3x0/keymaps/typhon/keymap.c373
-rw-r--r--keyboards/durgod/k3x0/keymaps/typhon/readme.md65
-rw-r--r--keyboards/durgod/k3x0/keymaps/typhon/rules.mk2
-rw-r--r--keyboards/durgod/k3x0/keymaps/via/keymap.c92
-rw-r--r--keyboards/durgod/k3x0/keymaps/via/readme.md6
-rw-r--r--keyboards/durgod/k3x0/keymaps/via/rules.mk1
-rw-r--r--keyboards/durgod/k3x0/readme.md51
-rw-r--r--keyboards/durgod/k3x0/rules.mk28
-rw-r--r--keyboards/durgod/venus/readme.md3
-rw-r--r--keyboards/durgod/venus/rules.mk1
-rw-r--r--keyboards/dz60/keymaps/default_abnt2/keymap.c2
-rw-r--r--keyboards/dz60/keymaps/marianas/customLogic.c36
-rw-r--r--keyboards/dz60/keymaps/marianas/customLogic.h2
-rw-r--r--keyboards/dz60/keymaps/xtonhasvim/keymap.c2
-rw-r--r--keyboards/dztech/dz60rgb/dz60rgb.c2
-rw-r--r--keyboards/dztech/dz60rgb/keymaps/via/config.h21
-rw-r--r--keyboards/dztech/dz60rgb/v1/config.h2
-rw-r--r--keyboards/dztech/dz60rgb/v2/config.h2
-rw-r--r--keyboards/dztech/dz60rgb/v2_1/config.h4
-rw-r--r--keyboards/dztech/dz60rgb/v2_1/rules.mk3
-rw-r--r--keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c2
-rw-r--r--keyboards/dztech/dz60rgb_ansi/v1/config.h2
-rw-r--r--keyboards/dztech/dz60rgb_ansi/v2/config.h2
-rw-r--r--keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c2
-rw-r--r--keyboards/dztech/dz60rgb_wkl/v1/config.h2
-rw-r--r--keyboards/dztech/dz60rgb_wkl/v2/config.h2
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/via/config.h21
-rw-r--r--keyboards/dztech/dz65rgb/v1/config.h4
-rw-r--r--keyboards/dztech/dz65rgb/v1/v1.c2
-rw-r--r--keyboards/dztech/dz65rgb/v2/config.h2
-rw-r--r--keyboards/dztech/dz65rgb/v2/v2.c2
-rwxr-xr-xkeyboards/dztech/dz65rgb/v3/config.h24
-rwxr-xr-xkeyboards/dztech/dz65rgb/v3/v3.c2
-rw-r--r--keyboards/eco/rules.mk1
-rw-r--r--keyboards/ergo42/keymaps/hdbx/keymap.c4
-rw-r--r--keyboards/ergo42/keymaps/shinze/keymap.c8
-rw-r--r--keyboards/ergo42/rules.mk2
-rw-r--r--keyboards/ergoarrows/keymaps/salicylic/keymap.c2
-rw-r--r--keyboards/ergodash/rev1/keymaps/m47ch4n/keymap.c2
-rw-r--r--keyboards/ergodone/keymaps/erovia/keymap.c2
-rw-r--r--keyboards/ergodox_ez/config.h2
-rw-r--r--keyboards/ergodox_ez/ergodox_ez.c2
-rwxr-xr-xkeyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c14
-rwxr-xr-xkeyboards/ergodox_ez/keymaps/bepo_tm_style/rules.mk1
-rw-r--r--keyboards/ergodox_ez/keymaps/bpruitt-goddard/keymap.c4
-rw-r--r--keyboards/ergodox_ez/keymaps/bpruitt-goddard/rules.mk1
-rw-r--r--keyboards/ergodox_ez/keymaps/colemak_es_osx/keymap.c6
-rw-r--r--keyboards/ergodox_ez/keymaps/ericgebhart/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h2
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/rules.mk1
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/lukaus/keymap.c194
-rw-r--r--keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c6
-rw-r--r--keyboards/ergodox_ez/keymaps/nfriend/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c2
-rw-r--r--keyboards/ergodox_ez/keymaps/skug/keymap.c13
-rw-r--r--keyboards/ergodox_ez/keymaps/stamm/keymap.c4
-rw-r--r--keyboards/ergodox_ez/keymaps/testing/keymap.c2
-rw-r--r--keyboards/ergodox_ez/rules.mk1
-rw-r--r--keyboards/ergodox_infinity/config.h54
-rw-r--r--keyboards/ergodox_infinity/ergodox_infinity.c348
-rw-r--r--keyboards/ergodox_infinity/ergodox_infinity.h4
-rw-r--r--keyboards/ergodox_infinity/keymaps/default/keymap.c4
-rw-r--r--keyboards/ergodox_infinity/matrix.c184
-rw-r--r--keyboards/ergodox_infinity/rules.mk27
-rw-r--r--keyboards/ergodox_infinity/visualizer.c3
-rw-r--r--keyboards/evil80/rules.mk1
-rw-r--r--keyboards/evyd13/plain60/keymaps/kwerdenker/keymap.c6
-rw-r--r--keyboards/exclusive/e65/keymaps/masterzen/keymap.c2
-rw-r--r--keyboards/exclusive/e6_rgb/e6_rgb.c2
-rw-r--r--keyboards/exclusive/e7v1/keymaps/masterzen/keymap.c2
-rwxr-xr-xkeyboards/fallacy/indicators.c4
-rwxr-xr-xkeyboards/fallacy/rules.mk2
-rw-r--r--keyboards/fc660c/matrix.c1
-rw-r--r--keyboards/fc980c/matrix.c1
-rw-r--r--keyboards/geekboards/macropad_v2/config.h4
-rw-r--r--keyboards/geekboards/tester/config.h4
-rw-r--r--keyboards/geekboards/tester/tester.c2
-rw-r--r--keyboards/gergo/keymaps/drashna/keymap.c46
-rw-r--r--keyboards/ggkeyboards/genesis/hotswap/config.h23
-rw-r--r--keyboards/ggkeyboards/genesis/hotswap/hotswap.h6
-rw-r--r--keyboards/ggkeyboards/genesis/solder/config.h4
-rw-r--r--keyboards/gh60/revc/keymaps/dbroqua/keymap.c71
-rw-r--r--keyboards/gh60/revc/keymaps/dbroqua_7U/keymap.c33
-rw-r--r--keyboards/gh60/revc/keymaps/default_abnt2/keymap.c2
-rw-r--r--keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c100
-rw-r--r--keyboards/gh60/revc/keymaps/sethbc/keymap.c39
-rw-r--r--keyboards/gh60/satan/keymaps/addcninblue/rules.mk1
-rw-r--r--keyboards/gh60/satan/keymaps/admiralStrokers/rules.mk2
-rw-r--r--keyboards/gh60/satan/keymaps/chaser/keymap.c41
-rw-r--r--keyboards/gh60/satan/keymaps/dbroqua/keymap.c71
-rw-r--r--keyboards/gh60/satan/keymaps/dende_iso/keymap.c6
-rw-r--r--keyboards/gh60/satan/keymaps/denolfe/keymap.c104
-rw-r--r--keyboards/gh60/satan/keymaps/isoHHKB/keymap.c39
-rw-r--r--keyboards/gh60/satan/keymaps/sethbc/keymap.c40
-rw-r--r--keyboards/gh60/satan/keymaps/stanleylai/keymap.c40
-rw-r--r--keyboards/gh60/satan/keymaps/unxmaal/keymap.c39
-rw-r--r--keyboards/gmmk/pro/ansi/ansi.c241
-rw-r--r--keyboards/gmmk/pro/ansi/ansi.h52
-rw-r--r--keyboards/gmmk/pro/ansi/config.h23
-rw-r--r--keyboards/gmmk/pro/ansi/info.json111
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/alexmarmon/keymap.c66
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/alexmarmon/readme.md7
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/default/keymap.c (renamed from keyboards/gmmk/pro/keymaps/default/keymap.c)0
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/jonavin/config.h (renamed from keyboards/gmmk/pro/keymaps/jonavin/config.h)0
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/jonavin/keymap.c (renamed from keyboards/gmmk/pro/keymaps/jonavin/keymap.c)0
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/jonavin/readme.md (renamed from keyboards/gmmk/pro/keymaps/jonavin/readme.md)0
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/jonavin/rgb_matrix_map.h (renamed from keyboards/gmmk/pro/keymaps/jonavin/rgb_matrix_map.h)0
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/jonavin/rules.mk (renamed from keyboards/gmmk/pro/keymaps/jonavin/rules.mk)0
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/via/keymap.c (renamed from keyboards/gmmk/pro/keymaps/via/keymap.c)0
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/via/rules.mk1
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/wholesomeducky/keymap.c (renamed from keyboards/gmmk/pro/keymaps/wholesomeducky/keymap.c)0
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/willwm/keymap.c (renamed from keyboards/gmmk/pro/keymaps/willwm/keymap.c)25
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/willwm/keymap.json (renamed from keyboards/gmmk/pro/keymaps/willwm/keymap.json)0
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/willwm/readme.md (renamed from keyboards/gmmk/pro/keymaps/willwm/readme.md)0
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/willwm/rules.mk (renamed from keyboards/gmmk/pro/keymaps/willwm/rules.mk)0
-rw-r--r--keyboards/gmmk/pro/ansi/readme.md (renamed from keyboards/gmmk/pro/readme.md)8
-rw-r--r--keyboards/gmmk/pro/ansi/rules.mk (renamed from keyboards/gmmk/pro/rules.mk)2
-rw-r--r--keyboards/gmmk/pro/config.h35
-rw-r--r--keyboards/gmmk/pro/halconf.h7
-rw-r--r--keyboards/gmmk/pro/iso/config.h23
-rw-r--r--keyboards/gmmk/pro/iso/info.json (renamed from keyboards/gmmk/pro/info.json)104
-rw-r--r--keyboards/gmmk/pro/iso/iso.c243
-rw-r--r--keyboards/gmmk/pro/iso/iso.h52
-rw-r--r--keyboards/gmmk/pro/iso/keymaps/default/keymap.c (renamed from keyboards/gmmk/pro/keymaps/iso/keymap.c)4
-rw-r--r--keyboards/gmmk/pro/iso/keymaps/via/keymap.c85
-rw-r--r--keyboards/gmmk/pro/iso/keymaps/via/rules.mk1
-rw-r--r--keyboards/gmmk/pro/iso/readme.md23
-rw-r--r--keyboards/gmmk/pro/iso/rules.mk25
-rw-r--r--keyboards/gmmk/pro/mcuconf.h6
-rw-r--r--keyboards/gmmk/pro/pro.h64
-rw-r--r--keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c2
-rw-r--r--keyboards/gon/nerdtkl/keymaps/gam3cat/rules.mk1
-rw-r--r--keyboards/hadron/ver2/rules.mk1
-rw-r--r--keyboards/hadron/ver3/keymaps/ishtob/keymap.c2
-rw-r--r--keyboards/handwired/412_64/rules.mk2
-rw-r--r--keyboards/handwired/6key/keymaps/default/keymap.c33
-rw-r--r--keyboards/handwired/colorlice/config.h2
-rw-r--r--keyboards/handwired/colorlice/rules.mk2
-rw-r--r--keyboards/handwired/dactyl/rules.mk1
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/4x5.c22
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/4x5.h93
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/config.h7
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/info.json105
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/keymaps/default/config.h7
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/keymaps/default/keymap.c186
-rw-r--r--keyboards/handwired/dactyl_manuform/4x5/rules.mk33
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6/4x6.c13
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6/4x6.h45
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6/config.h4
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6/info.json119
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6/keymaps/default/config.h6
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6/keymaps/default/keymap.c106
-rw-r--r--keyboards/handwired/dactyl_manuform/4x6/rules.mk33
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/5x6.c22
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/5x6.h56
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/config.h6
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/info.json143
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/default/config.h6
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/default/keymap.c71
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/keymaps/swedish/keymap.c11
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6/rules.mk33
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_2_5/5x6_2_5.h45
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_2_5/config.h10
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_2_5/info.json138
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_2_5/rules.mk33
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.c1
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.h45
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_5/config.h7
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_5/info.json130
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_5/rules.mk26
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/default/rules.mk4
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_right_trackball/pmw3360.c221
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_right_trackball/pmw3360.h103
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_right_trackball/pmw3360_firmware.h300
-rw-r--r--keyboards/handwired/dactyl_manuform/5x6_right_trackball/pointer_transport.c616
-rw-r--r--keyboards/handwired/dactyl_manuform/5x7/5x7.c22
-rw-r--r--keyboards/handwired/dactyl_manuform/5x7/5x7.h54
-rw-r--r--keyboards/handwired/dactyl_manuform/5x7/config.h6
-rw-r--r--keyboards/handwired/dactyl_manuform/5x7/info.json163
-rw-r--r--keyboards/handwired/dactyl_manuform/5x7/keymaps/default/config.h6
-rw-r--r--keyboards/handwired/dactyl_manuform/5x7/keymaps/default/keymap.c122
-rw-r--r--keyboards/handwired/dactyl_manuform/5x7/keymaps/via/config.h6
-rw-r--r--keyboards/handwired/dactyl_manuform/5x7/keymaps/via/keymap.c198
-rw-r--r--keyboards/handwired/dactyl_manuform/5x7/rules.mk33
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/6x6.c22
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/6x6.h63
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/config.h6
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/info.json169
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/keymaps/default/config.h6
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/keymaps/default/keymap.c73
-rw-r--r--keyboards/handwired/dactyl_manuform/6x6/rules.mk33
-rw-r--r--keyboards/handwired/dactyl_manuform/config.h30
-rw-r--r--keyboards/handwired/dactyl_manuform/dactyl_manuform.h43
-rw-r--r--keyboards/handwired/dactyl_manuform/dmote/62key/62key.c4
-rw-r--r--keyboards/handwired/dactyl_manuform/dmote/62key/62key.h46
-rw-r--r--keyboards/handwired/dactyl_manuform/dmote/62key/config.h9
-rw-r--r--keyboards/handwired/dactyl_manuform/dmote/62key/info.json126
-rw-r--r--keyboards/handwired/dactyl_manuform/dmote/62key/keymaps/default/keymap.c140
-rw-r--r--keyboards/handwired/dactyl_manuform/rules.mk34
-rw-r--r--keyboards/handwired/daishi/daishi.h2
-rw-r--r--keyboards/handwired/daishi/keymaps/default/keymap.c4
-rw-r--r--keyboards/handwired/frankie_macropad/keymaps/default/config.h19
-rw-r--r--keyboards/handwired/frenchdev/keymaps/default/keymap.c12
-rw-r--r--keyboards/handwired/frenchdev/rules.mk1
-rw-r--r--keyboards/handwired/freoduo/rules.mk4
-rw-r--r--keyboards/handwired/hnah40rgb/config.h2
-rw-r--r--keyboards/handwired/jot50/rules.mk1
-rw-r--r--keyboards/handwired/jotanck/rules.mk1
-rw-r--r--keyboards/handwired/jotpad16/rules.mk1
-rw-r--r--keyboards/handwired/p1800fl/rules.mk30
-rw-r--r--keyboards/handwired/p65rgb/config.h2
-rw-r--r--keyboards/handwired/p65rgb/rules.mk10
-rw-r--r--keyboards/handwired/prime_exl/keymaps/via/keymap.c2
-rw-r--r--keyboards/handwired/promethium/config.h339
-rw-r--r--keyboards/handwired/promethium/rules.mk1
-rw-r--r--keyboards/handwired/pteron/keymaps/FSund/keymap.c22
-rw-r--r--keyboards/handwired/reddot/keymaps/default/keymap.c8
-rw-r--r--keyboards/handwired/swiftrax/astro65/config.h10
-rw-r--r--keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c71
-rw-r--r--keyboards/handwired/symmetric70_proto/proton_c/proton_c.c6
-rw-r--r--keyboards/handwired/tractyl_manuform/4x6_right/4x6_right.c67
-rw-r--r--keyboards/handwired/tractyl_manuform/4x6_right/4x6_right.h47
-rw-r--r--keyboards/handwired/tractyl_manuform/4x6_right/config.h91
-rw-r--r--keyboards/handwired/tractyl_manuform/4x6_right/info.json (renamed from keyboards/handwired/dactyl_manuform/5x6_right_trackball/info.json)6
-rw-r--r--keyboards/handwired/tractyl_manuform/4x6_right/keymaps/default/keymap.c62
-rw-r--r--keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/config.h (renamed from keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/config.h)7
-rw-r--r--keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/keymap.c217
-rw-r--r--keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/rules.mk (renamed from keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/rules.mk)3
-rw-r--r--keyboards/handwired/tractyl_manuform/4x6_right/readme.md (renamed from keyboards/handwired/dactyl_manuform/5x6_right_trackball/readme.md)0
-rw-r--r--keyboards/handwired/tractyl_manuform/4x6_right/rules.mk33
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/5x6_right.c39
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/5x6_right.h (renamed from keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.h)31
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/config.h (renamed from keyboards/handwired/dactyl_manuform/5x6_right_trackball/config.h)62
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/info.json75
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/keymaps/default/keymap.c63
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h (renamed from keyboards/handwired/dactyl_manuform/5x6_right_trackball/post_config.h)33
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c (renamed from keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/keymap.c)139
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rgblight_breathe_table.h117
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rules.mk12
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/readme.md21
-rw-r--r--keyboards/handwired/tractyl_manuform/5x6_right/rules.mk (renamed from keyboards/handwired/dactyl_manuform/5x6_right_trackball/rules.mk)12
-rw-r--r--keyboards/handwired/tractyl_manuform/config.h (renamed from keyboards/converter/ibm_5291/config.h)34
-rw-r--r--keyboards/handwired/tractyl_manuform/post_config.h96
-rw-r--r--keyboards/handwired/tractyl_manuform/readme.md159
-rw-r--r--keyboards/handwired/tractyl_manuform/tm_sync.c132
-rw-r--r--keyboards/handwired/tractyl_manuform/tractyl_manuform.c (renamed from keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.c)88
-rw-r--r--keyboards/handwired/tractyl_manuform/tractyl_manuform.h (renamed from keyboards/draculad/keymaps/pimoroni/pimoroni_trackball.h)42
-rw-r--r--keyboards/handwired/tritium_numpad/keymaps/blu/keymap.c22
-rw-r--r--keyboards/handwired/tritium_numpad/rules.mk2
-rw-r--r--keyboards/handwired/wulkan/keymaps/default/keymap.c28
-rw-r--r--keyboards/handwired/xealous/rules.mk2
-rw-r--r--keyboards/helix/rev2/keymaps/default/rules.mk2
-rw-r--r--keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c4
-rw-r--r--keyboards/helix/rev2/keymaps/froggy_106/keymap.c6
-rw-r--r--keyboards/helix/rev3_4rows/config.h2
-rw-r--r--keyboards/helix/rev3_4rows/rev3_4rows.c3
-rw-r--r--keyboards/helix/rev3_5rows/config.h2
-rw-r--r--keyboards/helix/rev3_5rows/rev3_5rows.c3
-rw-r--r--keyboards/hhkb/ansi/keymaps/shela/keymap_jis2us.h6
-rw-r--r--keyboards/hhkb/ansi/matrix.c1
-rw-r--r--keyboards/hhkb/jp/matrix.c1
-rw-r--r--keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c2
-rw-r--r--keyboards/hineybush/h87a/keymaps/gam3cat/rules.mk1
-rw-r--r--keyboards/hs60/v1/config.h2
-rw-r--r--keyboards/hs60/v1/v1.c4
-rw-r--r--keyboards/hs60/v2/ansi/rules.mk2
-rw-r--r--keyboards/hs60/v2/hhkb/rules.mk2
-rw-r--r--keyboards/hs60/v2/iso/rules.mk2
-rw-r--r--keyboards/hub20/keymaps/left_hand_numpad/keymap.c11
-rw-r--r--keyboards/hub20/keymaps/right_hand_numpad/keymap.c14
-rw-r--r--keyboards/inett_studio/sqx/hotswap/hotswap.c2
-rw-r--r--keyboards/inett_studio/sqx/universal/universal.c2
-rw-r--r--keyboards/infinity60/keymaps/jpetermans/keymap.c101
-rw-r--r--keyboards/ivy/rules.mk1
-rw-r--r--keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c2
-rw-r--r--keyboards/jc65/v32u4/keymaps/gam3cat/rules.mk1
-rw-r--r--keyboards/jian/keymaps/advanced/keymap.c2
-rw-r--r--keyboards/jisplit89/keymaps/salicylic/keymap.c2
-rw-r--r--keyboards/jj40/keymaps/oscillope/rules.mk3
-rw-r--r--keyboards/jj40/keymaps/skewwhiffy/keymap.c46
-rw-r--r--keyboards/jj50/keymaps/abstractkb/keymap.c12
-rw-r--r--keyboards/jj50/keymaps/abstractkb_gergomatch/keymap.c12
-rw-r--r--keyboards/k_type/is31fl3733-dual.h2
-rw-r--r--keyboards/k_type/k_type.c2
-rw-r--r--keyboards/kbdfans/bella/rgb/config.h2
-rw-r--r--keyboards/kbdfans/bella/rgb/rgb.c2
-rw-r--r--keyboards/kbdfans/bella/rgb_iso/config.h2
-rw-r--r--keyboards/kbdfans/bella/rgb_iso/rgb_iso.c2
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/mkiirgb.c2
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/v1/config.h4
-rw-r--r--keyboards/kbdfans/kbd67/mkiirgb/v2/config.h4
-rw-r--r--keyboards/kbdfans/kbd67/rev1/keymaps/default/config.h2
-rw-r--r--keyboards/kbdfans/kbd67/rev2/info.json2
-rw-r--r--keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c26
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/adit/keymap.c36
-rw-r--r--keyboards/kbdfans/kbd75/keymaps/edulpn/keymap.c2
-rw-r--r--keyboards/kbdfans/kbdmini/config.h2
-rw-r--r--keyboards/kbdfans/kbdmini/kbdmini.c2
-rwxr-xr-xkeyboards/kbdfans/maja/config.h4
-rwxr-xr-xkeyboards/kbdfans/maja/maja.c2
-rw-r--r--keyboards/kc60/keymaps/stanleylai/keymap.c38
-rw-r--r--keyboards/keebio/bdn9/keymaps/vosechu-ksp/keymap.c2
-rw-r--r--keyboards/keebio/bfo9000/keymaps/abstractkb/keymap.c14
-rw-r--r--keyboards/keebio/bfo9000/keymaps/insertsnideremarks/keymap.c60
-rw-r--r--keyboards/keebio/bfo9000/keymaps/tuesdayjohn/keymap.c48
-rw-r--r--keyboards/keebio/iris/keymaps/antonlindstrom/keymap.c10
-rw-r--r--keyboards/keebio/iris/keymaps/drashna/keymap.c72
-rw-r--r--keyboards/keebio/iris/keymaps/drashna_lp/keymap.c1
-rw-r--r--keyboards/keebio/iris/keymaps/drashna_lp/rules.mk7
-rw-r--r--keyboards/keebio/iris/keymaps/drashna_old/config.h47
-rw-r--r--keyboards/keebio/iris/keymaps/drashna_old/keymap.c1
-rw-r--r--keyboards/keebio/iris/keymaps/drashna_old/rules.mk4
-rw-r--r--keyboards/keebio/iris/keymaps/nstickney/keymap.c24
-rw-r--r--keyboards/keebio/iris/keymaps/olligranlund_nordic/keymap.c10
-rw-r--r--keyboards/keebio/iris/rev2/rules.mk2
-rw-r--r--keyboards/keebio/iris/rev3/rules.mk1
-rw-r--r--keyboards/keebio/iris/rev4/rules.mk4
-rw-r--r--keyboards/keebio/kbo5000/rules.mk2
-rw-r--r--keyboards/keebio/levinson/keymaps/issmirnov/keymap.c2
-rw-r--r--keyboards/keebio/levinson/keymaps/xtonhasvim/keymap.c2
-rw-r--r--keyboards/keebio/nyquist/keymaps/pitty/keymap.c2
-rw-r--r--keyboards/keebio/nyquist/keymaps/skug/keymap.c18
-rw-r--r--keyboards/keebio/nyquist/nyquist.h14
-rw-r--r--keyboards/keebio/nyquist/rev1/rev1.h32
-rw-r--r--keyboards/keebio/nyquist/rev2/rev2.h32
-rw-r--r--keyboards/keebio/nyquist/rev3/rev3.h17
-rw-r--r--keyboards/keebio/quefrency/keymaps/georgepetri/keymap.c8
-rw-r--r--keyboards/keebio/quefrency/rules.mk3
-rw-r--r--keyboards/keebio/rorschach/keymaps/insertsnideremarks/keymap.c2
-rw-r--r--keyboards/keebio/rorschach/keymaps/tuesdayjohn/keymap.c8
-rw-r--r--keyboards/keebio/sinc/rules.mk2
-rw-r--r--keyboards/keebio/stick/rules.mk2
-rw-r--r--keyboards/keebio/tragicforce68/rules.mk4
-rw-r--r--keyboards/keebio/viterbi/keymaps/drashna_old/config.h25
-rw-r--r--keyboards/keebio/viterbi/keymaps/drashna_old/keymap.c1
-rw-r--r--keyboards/keebio/viterbi/keymaps/drashna_old/rules.mk4
-rw-r--r--keyboards/keebio/viterbi/rev2/rules.mk2
-rw-r--r--keyboards/keebio/viterbi/rules.mk8
-rw-r--r--keyboards/keebio/wtf60/rules.mk2
-rwxr-xr-xkeyboards/keebwerk/mega/ansi/ansi.c2
-rwxr-xr-xkeyboards/keebwerk/mega/ansi/rules.mk2
-rw-r--r--keyboards/keyboardio/model01/keymaps/tw1t611/keymap.c12
-rw-r--r--keyboards/keychron/q1/q1.c27
-rw-r--r--keyboards/kindakeyboards/conone65/rules.mk2
-rw-r--r--keyboards/kinesis/alvicstep/config.h2
-rw-r--r--keyboards/kinesis/keymaps/insertsnideremarks/keymap.c38
-rw-r--r--keyboards/kinesis/keymaps/tuesdayjohn/keymap.c40
-rw-r--r--keyboards/kinesis/keymaps/tw1t611/keymap.c12
-rw-r--r--keyboards/kinesis/kinesis.h3
-rw-r--r--keyboards/kinesis/kint36/config.h2
-rw-r--r--keyboards/kinesis/kint41/chconf.h33
-rw-r--r--keyboards/kinesis/kint41/config.h105
-rw-r--r--keyboards/kinesis/kint41/kint41.c52
-rw-r--r--keyboards/kinesis/kint41/kint41.h92
-rw-r--r--keyboards/kinesis/kint41/mcuconf.h22
-rw-r--r--keyboards/kinesis/kint41/readme.md3
-rw-r--r--keyboards/kinesis/kint41/rules.mk12
-rw-r--r--keyboards/kinesis/nguyenvietyen/config.h2
-rw-r--r--keyboards/kmac/config.h2
-rw-r--r--keyboards/kyria/keymaps/default/keymap.c220
-rw-r--r--keyboards/kyria/keymaps/default/rules.mk3
-rw-r--r--keyboards/kyria/rev1/rev1.c17
-rw-r--r--keyboards/latin17rgb/config.h32
-rw-r--r--keyboards/latin17rgb/latin17rgb.c2
-rw-r--r--keyboards/latin60rgb/config.h31
-rw-r--r--keyboards/latin60rgb/latin60rgb.c2
-rw-r--r--keyboards/latin6rgb/config.h30
-rw-r--r--keyboards/latin6rgb/latin6rgb.c2
-rw-r--r--keyboards/latin6rgb/rules.mk2
-rw-r--r--keyboards/latinpad/config.h6
-rw-r--r--keyboards/latinpad/keymaps/via/rules.mk1
-rw-r--r--keyboards/latinpadble/rules.mk1
-rw-r--r--keyboards/launchpad/rules.mk1
-rw-r--r--keyboards/le_chiffre/config.h2
-rw-r--r--keyboards/leeku/finger65/keymaps/madhatter/keymap.c2
-rw-r--r--keyboards/lets_split/keymaps/DE_programming/keymap.c6
-rw-r--r--keyboards/lets_split/keymaps/DE_simple/keymap.c4
-rwxr-xr-xkeyboards/lets_split/keymaps/bbaserdem_right/rules.mk2
-rw-r--r--keyboards/lets_split/keymaps/cpeters1982/keymap.c2
-rw-r--r--keyboards/lets_split/keymaps/via/config.h2
-rw-r--r--keyboards/lets_split/sockets/config.h5
-rw-r--r--keyboards/lets_split_eh/keymaps/mikethetiger/keymap.c4
-rw-r--r--keyboards/lets_split_eh/rules.mk1
-rw-r--r--keyboards/lizard_trick/tenkey_plusplus/config.h2
-rw-r--r--keyboards/m10a/keymaps/gam3cat/keymap.c2
-rw-r--r--keyboards/m10a/keymaps/gam3cat/rules.mk1
-rw-r--r--keyboards/m10a/rules.mk1
-rw-r--r--keyboards/manyboard/macro/config.h53
-rw-r--r--keyboards/manyboard/macro/info.json29
-rw-r--r--keyboards/manyboard/macro/keymaps/default/keymap.c75
-rw-r--r--keyboards/manyboard/macro/keymaps/via/keymap.c75
-rw-r--r--keyboards/manyboard/macro/keymaps/via/rules.mk1
-rw-r--r--keyboards/manyboard/macro/macro.c17
-rw-r--r--keyboards/manyboard/macro/macro.h31
-rw-r--r--keyboards/manyboard/macro/readme.md15
-rw-r--r--keyboards/manyboard/macro/rules.mk23
-rw-r--r--keyboards/marksard/rhymestone/rev1/config.h2
-rw-r--r--keyboards/massdrop/alt/alt.c2
-rw-r--r--keyboards/massdrop/alt/keymaps/pregame/config.h4
-rw-r--r--keyboards/massdrop/alt/keymaps/urbanvanilla/config.h2
-rw-r--r--keyboards/massdrop/ctrl/ctrl.c2
-rw-r--r--keyboards/massdrop/ctrl/keymaps/endgame/config.h2
-rw-r--r--keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h2
-rw-r--r--keyboards/masterworks/classy_tkl/rev_a/rules.mk3
-rw-r--r--keyboards/matrix/m20add/rgb_ring.c4
-rw-r--r--keyboards/matrix/m20add/rules.mk2
-rw-r--r--keyboards/matrix/noah/noah.c2
-rw-r--r--keyboards/maxr1998/phoebe/keymaps/default/keymap.c14
-rw-r--r--keyboards/maxr1998/phoebe/rules.mk1
-rw-r--r--keyboards/maxr1998/pulse4k/rules.mk1
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev1/config.h4
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev2/config.h6
-rw-r--r--keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c2
-rw-r--r--keyboards/mechlovin/delphine/rgb_led/config.h4
-rw-r--r--keyboards/mechlovin/delphine/rgb_led/rgb_led.c2
-rw-r--r--keyboards/mechlovin/hannah60rgb/rev1/config.h4
-rw-r--r--keyboards/mechlovin/hannah60rgb/rev2/config.h4
-rw-r--r--keyboards/mechlovin/hannah60rgb/rev2/rev2.c2
-rw-r--r--keyboards/mechlovin/hannah910/hannah910.c2
-rw-r--r--keyboards/mechlovin/infinity87/rgb_rev1/config.h2
-rw-r--r--keyboards/mechlovin/infinity87/rgb_rev1/rgb_rev1.c2
-rw-r--r--keyboards/mechlovin/tmkl/config.h4
-rw-r--r--keyboards/mechmini/v2/keymaps/2u_space_ortho/keymap.c81
-rwxr-xr-xkeyboards/mechmini/v2/keymaps/625_space/keymap.c37
-rwxr-xr-xkeyboards/mechmini/v2/keymaps/ortho/keymap.c81
-rw-r--r--keyboards/mechmini/v2/keymaps/spacebarracecar/keymap.c2
-rwxr-xr-xkeyboards/mechmini/v2/keymaps/split_space/keymap.c37
-rw-r--r--keyboards/mechmini/v2/keymaps/wsturgiss/keymap.c6
-rw-r--r--keyboards/meira/featherble/config.h3
-rw-r--r--keyboards/meira/matrix.c2
-rw-r--r--keyboards/meira/meira.h4
-rw-r--r--keyboards/meira/promicro/config.h4
-rw-r--r--keyboards/meira/rules.mk2
-rw-r--r--keyboards/melgeek/mj61/config.h2
-rw-r--r--keyboards/melgeek/mj61/rev1/rev1.c2
-rw-r--r--keyboards/melgeek/mj61/rev2/rev2.c2
-rw-r--r--keyboards/melgeek/mj63/config.h2
-rw-r--r--keyboards/melgeek/mj63/rev1/rev1.c2
-rw-r--r--keyboards/melgeek/mj63/rev2/rev2.c2
-rw-r--r--keyboards/melgeek/mj64/config.h2
-rw-r--r--keyboards/melgeek/mj64/rev1/rev1.c2
-rw-r--r--keyboards/melgeek/mj64/rev2/rev2.c2
-rw-r--r--keyboards/melgeek/mj64/rev3/rev3.c2
-rw-r--r--keyboards/melgeek/mj65/config.h2
-rw-r--r--keyboards/melgeek/mj65/rev3/rev3.c2
-rwxr-xr-xkeyboards/melgeek/mojo68/rev1/rev1.c39
-rw-r--r--keyboards/melgeek/mojo75/config.h2
-rw-r--r--keyboards/melgeek/mojo75/rev1/rev1.c2
-rw-r--r--keyboards/melgeek/z70ultra/config.h2
-rw-r--r--keyboards/melgeek/z70ultra/z70ultra.c2
-rw-r--r--keyboards/merge/um70/keymaps/via/rules.mk5
-rw-r--r--keyboards/miller/gm862/config.h4
-rw-r--r--keyboards/miller/gm862/gm862.c2
-rw-r--r--keyboards/minidox/keymaps/bepo/keymap.c14
-rw-r--r--keyboards/minidox/keymaps/tw1t611/keymap.c8
-rw-r--r--keyboards/mitosis/keymaps/mjt/rules.mk2
-rw-r--r--keyboards/monstargear/xo87/rgb/config.h2
-rw-r--r--keyboards/moonlander/config.h2
-rw-r--r--keyboards/moonlander/keymaps/drashna/keymap.c82
-rw-r--r--keyboards/moonlander/moonlander.c2
-rw-r--r--keyboards/mt64rgb/mt64rgb.c2
-rw-r--r--keyboards/mt84/keymaps/default/config.h19
-rw-r--r--keyboards/mt84/mt84.c40
-rw-r--r--keyboards/mt84/rules.mk4
-rw-r--r--keyboards/mxss/rules.mk26
-rw-r--r--keyboards/naked48/keymaps/salicylic/config.h3
-rw-r--r--keyboards/naked48/keymaps/salicylic/keymap.c4
-rw-r--r--keyboards/naked48/keymaps/salicylic_with_nafuda/keymap.c4
-rw-r--r--keyboards/naked48/keymaps/salicylic_with_setta21/keymap.c4
-rw-r--r--keyboards/naked60/keymaps/salicylic/keymap.c4
-rw-r--r--keyboards/naked60/keymaps/salicylic_with_nafuda/keymap.c10
-rw-r--r--keyboards/naked60/keymaps/salicylic_with_setta21/keymap.c6
-rw-r--r--keyboards/naked64/keymaps/salicylic/keymap.c2
-rw-r--r--keyboards/naked64/keymaps/salicylic_with_setta21/keymap.c2
-rw-r--r--keyboards/namecard2x4/keymaps/brainfuck/keymap.c2
-rw-r--r--keyboards/ncc1701kb/rules.mk1
-rwxr-xr-xkeyboards/nebula12/rules.mk2
-rwxr-xr-xkeyboards/nebula68/rules.mk2
-rw-r--r--keyboards/niu_mini/rules.mk1
-rwxr-xr-xkeyboards/nk65/nk65.c2
-rwxr-xr-xkeyboards/nk65/rules.mk2
-rwxr-xr-xkeyboards/nk87/nk87.c2
-rwxr-xr-xkeyboards/nk87/rules.mk2
-rw-r--r--keyboards/nknl7en/keymaps/salicylic/keymap.c2
-rw-r--r--keyboards/nknl7jp/keymaps/salicylic/keymap.c2
-rw-r--r--keyboards/nopunin10did/jabberwocky/config.h1
-rw-r--r--keyboards/nullbitsco/nibble/keymaps/oled_status/keymap.c18
-rw-r--r--keyboards/numatreus/keymaps/hdbx/keymap.c2
-rw-r--r--keyboards/oddball/adns/adns.c219
-rw-r--r--keyboards/oddball/adns/adns.h35
-rw-r--r--keyboards/oddball/adns/adns9800_srom_A6.h3078
-rw-r--r--keyboards/oddball/optical_sensor/optical_sensor.h2
-rw-r--r--keyboards/oddball/rules.mk2
-rw-r--r--keyboards/ok60/rules.mk2
-rw-r--r--keyboards/opendeck/32/rev1/config.h2
-rw-r--r--keyboards/opendeck/32/rev1/rev1.c2
-rw-r--r--keyboards/orthodox/keymaps/drashna/keymap.c71
-rw-r--r--keyboards/orthodox/keymaps/rfvizarra/keymap.c2
-rw-r--r--keyboards/orthodox/rev3/config.h4
-rw-r--r--keyboards/orthodox/rev3_teensy/config.h2
-rw-r--r--keyboards/pandora/keymaps/default/keymap.c3
-rw-r--r--keyboards/pandora/keymaps/via/keymap.c3
-rw-r--r--keyboards/pearlboards/pandora/keymaps/default/keymap.c3
-rw-r--r--keyboards/pearlboards/pandora/keymaps/via/keymap.c3
-rw-r--r--keyboards/percent/canoe_gen2/config.h2
-rw-r--r--keyboards/percent/canoe_gen2/keymaps/via/rules.mk1
-rw-r--r--keyboards/phase_studio/titan65/hotswap/config.h2
-rw-r--r--keyboards/planck/ez/config.h2
-rw-r--r--keyboards/planck/ez/ez.c2
-rw-r--r--keyboards/planck/ez/ez.h20
-rw-r--r--keyboards/planck/ez/rules.mk1
-rw-r--r--keyboards/planck/keymaps/abishalom/keymap.c5
-rw-r--r--keyboards/planck/keymaps/am/keymap.c2
-rw-r--r--keyboards/planck/keymaps/andylikescandy/keymap.c6
-rw-r--r--keyboards/planck/keymaps/atreus/keymap.c5
-rw-r--r--keyboards/planck/keymaps/bone2planck/keymap.c16
-rw-r--r--keyboards/planck/keymaps/cbbrowne/rules.mk1
-rw-r--r--keyboards/planck/keymaps/charlesrocket/keymap.c6
-rw-r--r--keyboards/planck/keymaps/corvec/rules.mk1
-rw-r--r--keyboards/planck/keymaps/dear_vehicle_owner/keymap.c5
-rw-r--r--keyboards/planck/keymaps/default/keymap.c5
-rw-r--r--keyboards/planck/keymaps/deft/keymap.c2
-rw-r--r--keyboards/planck/keymaps/dsanchezseco/keymap.c2
-rw-r--r--keyboards/planck/keymaps/dvorak2space/rules.mk1
-rw-r--r--keyboards/planck/keymaps/eshesh2/keymap.c2
-rw-r--r--keyboards/planck/keymaps/fabian/keymap.c6
-rw-r--r--keyboards/planck/keymaps/gitdrik/keymap.c5
-rw-r--r--keyboards/planck/keymaps/grant24/keymap.c5
-rw-r--r--keyboards/planck/keymaps/hvp/keymap.c5
-rw-r--r--keyboards/planck/keymaps/jasperla/keymap.c2
-rw-r--r--keyboards/planck/keymaps/jdelkins/keymap.c6
-rw-r--r--keyboards/planck/keymaps/jetpacktuxedo/keymap.c7
-rw-r--r--keyboards/planck/keymaps/lja83/keymap.c5
-rw-r--r--keyboards/planck/keymaps/lucas/keymap.c12
-rw-r--r--keyboards/planck/keymaps/mgalisa/keymap.c6
-rw-r--r--keyboards/planck/keymaps/mikethetiger/keymap.c7
-rw-r--r--keyboards/planck/keymaps/mjuma/keymap.c3
-rw-r--r--keyboards/planck/keymaps/motform/keymap.c18
-rw-r--r--keyboards/planck/keymaps/msiu/keymap.c7
-rw-r--r--keyboards/planck/keymaps/muzfuz/keymap.c9
-rw-r--r--keyboards/planck/keymaps/mwpeterson/keymap.c2
-rw-r--r--keyboards/planck/keymaps/navi/keymap.c4
-rw-r--r--keyboards/planck/keymaps/neo2planck/keymap.c12
-rw-r--r--keyboards/planck/keymaps/nick/keymap.c4
-rw-r--r--keyboards/planck/keymaps/pascamel/keymap.c7
-rw-r--r--keyboards/planck/keymaps/pevecyan/keymap.c9
-rw-r--r--keyboards/planck/keymaps/pickle_jr/keymap.c6
-rw-r--r--keyboards/planck/keymaps/priyadi/rules.mk1
-rw-r--r--keyboards/planck/keymaps/ptillemans/keymap.c5
-rw-r--r--keyboards/planck/keymaps/raffle/keymap.c7
-rw-r--r--keyboards/planck/keymaps/rjhilgefort/keymap.c5
-rw-r--r--keyboards/planck/keymaps/rodhaene/rules.mk1
-rw-r--r--keyboards/planck/keymaps/sgoodwin/rules.mk1
-rw-r--r--keyboards/planck/keymaps/sigul/keymap.c12
-rw-r--r--keyboards/planck/keymaps/skug/keymap.c19
-rw-r--r--keyboards/planck/keymaps/smittey/keymap.c7
-rw-r--r--keyboards/planck/keymaps/snowkuma/keymap.c10
-rw-r--r--keyboards/planck/keymaps/spacebarracecar/keymap.c2
-rw-r--r--keyboards/planck/keymaps/synth_sample/keymap.c4
-rw-r--r--keyboards/planck/keymaps/synth_wavetable/keymap.c4
-rw-r--r--keyboards/planck/keymaps/tom/keymap.c7
-rw-r--r--keyboards/planck/keymaps/tylerwince/keymap.c4
-rw-r--r--keyboards/planck/keymaps/unagi/keymap.c7
-rw-r--r--keyboards/planck/keymaps/vifon/rules.mk1
-rw-r--r--keyboards/planck/keymaps/vxid/keymap.c2
-rwxr-xr-xkeyboards/planck/keymaps/winternebs/keymap.c11
-rw-r--r--keyboards/planck/light/light.c2
-rw-r--r--keyboards/planck/light/rules.mk1
-rw-r--r--keyboards/planck/planck.h2
-rw-r--r--keyboards/planck/rev1/rules.mk1
-rw-r--r--keyboards/planck/rev2/rules.mk1
-rw-r--r--keyboards/planck/rev3/rules.mk1
-rw-r--r--keyboards/planck/rev4/rules.mk1
-rw-r--r--keyboards/planck/rev5/rules.mk1
-rw-r--r--keyboards/planck/rev6/config.h4
-rw-r--r--keyboards/planck/rev6/rev6.c27
-rw-r--r--keyboards/planck/rev6/rules.mk1
-rw-r--r--keyboards/planck/thk/info.json42
-rw-r--r--keyboards/planck/thk/keymaps/thk/keymap.c3
-rw-r--r--keyboards/ploopyco/adns5050.c197
-rw-r--r--keyboards/ploopyco/adns5050.h79
-rw-r--r--keyboards/ploopyco/mouse/keymaps/drashna/config.h7
-rw-r--r--keyboards/ploopyco/mouse/keymaps/drashna/keymap.c4
-rw-r--r--keyboards/ploopyco/mouse/mouse.h2
-rw-r--r--keyboards/ploopyco/mouse/rules.mk2
-rw-r--r--keyboards/ploopyco/pmw3360.c218
-rw-r--r--keyboards/ploopyco/pmw3360.h103
-rw-r--r--keyboards/ploopyco/pmw3360_firmware.h300
-rw-r--r--keyboards/ploopyco/trackball/rules.mk2
-rw-r--r--keyboards/ploopyco/trackball/trackball.h2
-rw-r--r--keyboards/ploopyco/trackball_mini/rules.mk2
-rw-r--r--keyboards/ploopyco/trackball_mini/trackball_mini.h2
-rw-r--r--keyboards/ploopyco/trackball_nano/rules.mk2
-rw-r--r--keyboards/ploopyco/trackball_nano/trackball_nano.h2
-rw-r--r--keyboards/preonic/keymaps/AlexDaigre/keymap.c3
-rw-r--r--keyboards/preonic/keymaps/cranium/keymap.c3
-rw-r--r--keyboards/preonic/keymaps/default/keymap.c3
-rw-r--r--keyboards/preonic/keymaps/drasbeck/keymap.c3
-rw-r--r--keyboards/preonic/keymaps/egstad/keymap.c16
-rw-r--r--keyboards/preonic/keymaps/elisiano/keymap.c3
-rw-r--r--keyboards/preonic/keymaps/fsck/keymap.c3
-rw-r--r--keyboards/preonic/keymaps/keelhauler/keymap.c3
-rw-r--r--keyboards/preonic/keymaps/kjwon15/keymap.c3
-rw-r--r--keyboards/preonic/keymaps/laurentlaurent/keymap.c3
-rw-r--r--keyboards/preonic/keymaps/mguterl/keymap.c3
-rw-r--r--keyboards/preonic/keymaps/mikethetiger/keymap.c3
-rw-r--r--keyboards/preonic/keymaps/muzfuz/keymap.c5
-rw-r--r--keyboards/preonic/keymaps/mverteuil/keymap.c3
-rw-r--r--keyboards/preonic/keymaps/mverteuil_2x2u/keymap.c3
-rw-r--r--keyboards/preonic/keymaps/pezhore/keymap.c3
-rw-r--r--keyboards/preonic/keymaps/pitty/keymap.c12
-rw-r--r--keyboards/preonic/keymaps/senseored/keymap.c5
-rw-r--r--keyboards/preonic/keymaps/via/keymap.c3
-rw-r--r--keyboards/preonic/keymaps/xulkal/keymap.c3
-rw-r--r--keyboards/preonic/rev1/rules.mk1
-rw-r--r--keyboards/preonic/rev2/rules.mk1
-rw-r--r--keyboards/preonic/rev3/rev3.c17
-rw-r--r--keyboards/preonic/rev3/rules.mk1
-rw-r--r--keyboards/primekb/prime_e/keymaps/via/keymap.c2
-rw-r--r--keyboards/primekb/prime_m/rules.mk2
-rw-r--r--keyboards/primekb/prime_o/keymaps/spacebarracecar/keymap.c2
-rw-r--r--keyboards/ramonimbao/wete/keymaps/jis/keymap.c2
-rw-r--r--keyboards/redox/keymaps/german/keymap.c4
-rw-r--r--keyboards/redox/keymaps/italian/keymap.c14
-rw-r--r--keyboards/redox/keymaps/tw1t611/keymap.c12
-rw-r--r--keyboards/redox_w/keymaps/italian/keymap.c14
-rw-r--r--keyboards/reviung39/keymaps/default_s/keymap.c8
-rw-r--r--keyboards/rgbkb/common/common_oled.c101
-rw-r--r--keyboards/rgbkb/common/common_oled.h21
-rw-r--r--keyboards/rgbkb/common/glcdfont.c240
-rw-r--r--keyboards/rgbkb/common/touch_encoder.c310
-rw-r--r--keyboards/rgbkb/common/touch_encoder.h54
-rw-r--r--keyboards/rgbkb/mun/.noci (renamed from keyboards/converter/ibm_5291/.noci)0
-rw-r--r--keyboards/rgbkb/mun/config.h106
-rw-r--r--keyboards/rgbkb/mun/halconf.h24
-rw-r--r--keyboards/rgbkb/mun/keymaps/default/config.h30
-rw-r--r--keyboards/rgbkb/mun/keymaps/default/keymap.c252
-rw-r--r--keyboards/rgbkb/mun/keymaps/default/rules.mk1
-rw-r--r--keyboards/rgbkb/mun/keymaps/xulkal2/config.h42
-rw-r--r--keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c246
-rw-r--r--keyboards/rgbkb/mun/keymaps/xulkal2/rules.mk4
-rw-r--r--keyboards/rgbkb/mun/matrix.c156
-rw-r--r--keyboards/rgbkb/mun/mcuconf.h42
-rw-r--r--keyboards/rgbkb/mun/mun.c33
-rw-r--r--keyboards/rgbkb/mun/mun.h16
-rw-r--r--keyboards/rgbkb/mun/readme.md15
-rw-r--r--keyboards/rgbkb/mun/rev1/config.h12
-rw-r--r--keyboards/rgbkb/mun/rev1/info.json101
-rw-r--r--keyboards/rgbkb/mun/rev1/readme.md15
-rw-r--r--keyboards/rgbkb/mun/rev1/rev1.c122
-rw-r--r--keyboards/rgbkb/mun/rev1/rev1.h43
-rw-r--r--keyboards/rgbkb/mun/rev1/rgbkb_mun_rev1_default.json13
-rw-r--r--keyboards/rgbkb/mun/rev1/rules.mk (renamed from keyboards/kyria/.noci)0
-rw-r--r--keyboards/rgbkb/mun/rules.mk (renamed from keyboards/converter/ibm_5291/rules.mk)50
-rw-r--r--keyboards/rgbkb/sol/rev2/config.h36
-rw-r--r--keyboards/runner3680/5x8/keymaps/JIS/keymap.c2
-rw-r--r--keyboards/satt/vision/keymaps/satt/keymap.c2
-rw-r--r--keyboards/satt/vision/keymaps/satt/keymap_jis2us.h6
-rw-r--r--keyboards/sawnsprojects/satxri6key/config.h4
-rw-r--r--keyboards/sekigon/grs_70ec/matrix.c22
-rw-r--r--keyboards/sendyyeah/75pixels/info.json62
-rw-r--r--keyboards/sentraq/s60_x/keymaps/dbroqua/keymap.c131
-rw-r--r--keyboards/sergiopoverony/creator_pro/config.h49
-rw-r--r--keyboards/sergiopoverony/creator_pro/creator_pro.c33
-rw-r--r--keyboards/sergiopoverony/creator_pro/creator_pro.h33
-rw-r--r--keyboards/sergiopoverony/creator_pro/info.json22
-rw-r--r--keyboards/sergiopoverony/creator_pro/keymaps/default/keymap.c123
-rw-r--r--keyboards/sergiopoverony/creator_pro/keymaps/default/readme.md5
-rw-r--r--keyboards/sergiopoverony/creator_pro/keymaps/via/keymap.c123
-rw-r--r--keyboards/sergiopoverony/creator_pro/keymaps/via/rules.mk1
-rw-r--r--keyboards/sergiopoverony/creator_pro/readme.md27
-rw-r--r--keyboards/sergiopoverony/creator_pro/rules.mk (renamed from keyboards/tronguylabs/m122_3270/rules.mk)9
-rw-r--r--keyboards/setta21/keymaps/salicylic/config.h3
-rw-r--r--keyboards/shk9/rules.mk2
-rw-r--r--keyboards/sofle/keymaps/devdev/config.h44
-rw-r--r--keyboards/sofle/keymaps/helltm/keymap.c329
-rw-r--r--keyboards/sofle/keymaps/killmaster/config.h64
-rw-r--r--keyboards/sofle/keymaps/killmaster/keymap.c403
-rw-r--r--keyboards/sofle/keymaps/killmaster/readme.md19
-rw-r--r--keyboards/sofle/keymaps/killmaster/rules.mk4
-rw-r--r--keyboards/sofle/keymaps/rgb_default/config.h44
-rw-r--r--keyboards/sofle/rev1/readme.md27
-rw-r--r--keyboards/sofle/rev1/rev1.c86
-rw-r--r--keyboards/sowbug/68keys/config.h4
-rw-r--r--keyboards/sowbug/ansi_tkl/config.h4
-rw-r--r--keyboards/spacetime/keymaps/kyleterry/keymap.c2
-rw-r--r--keyboards/splitkb/kyria/.noci0
-rw-r--r--keyboards/splitkb/kyria/config.h (renamed from keyboards/kyria/config.h)0
-rw-r--r--keyboards/splitkb/kyria/info.json (renamed from keyboards/kyria/info.json)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/asapjockey/config.h (renamed from keyboards/kyria/keymaps/asapjockey/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/asapjockey/keymap.c (renamed from keyboards/kyria/keymaps/asapjockey/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/asapjockey/rules.mk (renamed from keyboards/kyria/keymaps/asapjockey/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/benji/config.h (renamed from keyboards/kyria/keymaps/default/config.h)1
-rw-r--r--keyboards/splitkb/kyria/keymaps/benji/glcdfont.c (renamed from keyboards/kyria/keymaps/benji/glcdfont.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/benji/keymap.c (renamed from keyboards/kyria/keymaps/benji/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/benji/readme.md246
-rw-r--r--keyboards/splitkb/kyria/keymaps/benji/rules.mk (renamed from keyboards/kyria/keymaps/benji/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/cjuniet/config.h (renamed from keyboards/kyria/keymaps/cjuniet/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/cjuniet/default.json (renamed from keyboards/kyria/keymaps/cjuniet/default.json)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/cjuniet/keymap.c (renamed from keyboards/kyria/keymaps/cjuniet/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/cjuniet/rules.mk (renamed from keyboards/kyria/keymaps/cjuniet/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/corodiak/config.h (renamed from keyboards/kyria/keymaps/corodiak/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/corodiak/keymap.c (renamed from keyboards/kyria/keymaps/corodiak/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/corodiak/rules.mk (renamed from keyboards/kyria/keymaps/corodiak/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/cwebster2/config.h (renamed from keyboards/kyria/keymaps/cwebster2/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/cwebster2/keymap.c (renamed from keyboards/kyria/keymaps/cwebster2/keymap.c)8
-rw-r--r--keyboards/splitkb/kyria/keymaps/cwebster2/rules.mk (renamed from keyboards/kyria/keymaps/cwebster2/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/default/config.h (renamed from keyboards/kyria/keymaps/benji/config.h)18
-rw-r--r--keyboards/splitkb/kyria/keymaps/default/keymap.c172
-rw-r--r--keyboards/splitkb/kyria/keymaps/default/rules.mk (renamed from keyboards/kyria/keymaps/shinze/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/drashna/config.h (renamed from keyboards/kyria/keymaps/drashna/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/drashna/keymap.c (renamed from keyboards/kyria/keymaps/drashna/keymap.c)103
-rw-r--r--keyboards/splitkb/kyria/keymaps/drashna/rules.mk (renamed from keyboards/kyria/keymaps/drashna/rules.mk)14
-rw-r--r--keyboards/splitkb/kyria/keymaps/ghidalgo93/config.h (renamed from keyboards/kyria/keymaps/ghidalgo93/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/ghidalgo93/keymap.c (renamed from keyboards/kyria/keymaps/ghidalgo93/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/ghidalgo93/rules.mk (renamed from keyboards/kyria/keymaps/ghidalgo93/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/gotham/README.md (renamed from keyboards/kyria/keymaps/gotham/README.md)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/gotham/config.h (renamed from keyboards/kyria/keymaps/gotham/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/gotham/encoder_utils.c (renamed from keyboards/kyria/keymaps/gotham/encoder_utils.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/gotham/encoder_utils.h (renamed from keyboards/kyria/keymaps/gotham/encoder_utils.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/gotham/keycodes.h (renamed from keyboards/kyria/keymaps/gotham/keycodes.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/gotham/keymap.c (renamed from keyboards/kyria/keymaps/gotham/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/gotham/oled_utils.c (renamed from keyboards/kyria/keymaps/gotham/oled_utils.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/gotham/oled_utils.h (renamed from keyboards/kyria/keymaps/gotham/oled_utils.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/gotham/rules.mk (renamed from keyboards/kyria/keymaps/gotham/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/gotham/thumbstick.c (renamed from keyboards/kyria/keymaps/gotham/thumbstick.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/gotham/thumbstick.h (renamed from keyboards/kyria/keymaps/gotham/thumbstick.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/j-inc/config.h (renamed from keyboards/kyria/keymaps/j-inc/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/j-inc/keymap.c (renamed from keyboards/kyria/keymaps/j-inc/keymap.c)7
-rw-r--r--keyboards/splitkb/kyria/keymaps/j-inc/rules.mk (renamed from keyboards/kyria/keymaps/j-inc/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/jhelvy/config.h (renamed from keyboards/kyria/keymaps/jhelvy/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/jhelvy/keymap.c (renamed from keyboards/kyria/keymaps/jhelvy/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/jhelvy/rules.mk (renamed from keyboards/kyria/keymaps/jhelvy/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/kejadlen/config.h (renamed from keyboards/kyria/keymaps/kejadlen/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/kejadlen/keymap.c (renamed from keyboards/kyria/keymaps/kejadlen/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/kejadlen/rules.mk (renamed from keyboards/kyria/keymaps/kejadlen/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/config.h (renamed from keyboards/kyria/keymaps/manna-harbour_miryoku/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/keymap.c (renamed from keyboards/kyria/keymaps/manna-harbour_miryoku/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/mattir/config.h (renamed from keyboards/kyria/keymaps/mattir/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/mattir/keymap.c (renamed from keyboards/kyria/keymaps/mattir/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/mattir/readme.md (renamed from keyboards/kyria/keymaps/mattir/readme.md)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/mattir/rules.mk (renamed from keyboards/kyria/keymaps/mattir/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/mattir2/config.h (renamed from keyboards/kyria/keymaps/mattir2/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/mattir2/keymap.c (renamed from keyboards/kyria/keymaps/mattir2/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/mattir2/readme.md (renamed from keyboards/kyria/keymaps/mattir2/readme.md)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/mattir2/rules.mk (renamed from keyboards/kyria/keymaps/mattir2/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/ninjonas/README.md (renamed from keyboards/kyria/keymaps/ninjonas/README.md)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/ninjonas/config.h (renamed from keyboards/kyria/keymaps/ninjonas/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/ninjonas/keymap.c (renamed from keyboards/kyria/keymaps/ninjonas/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/ninjonas/oled.c (renamed from keyboards/kyria/keymaps/ninjonas/oled.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/ninjonas/rules.mk (renamed from keyboards/kyria/keymaps/ninjonas/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/pierrec83/config.h (renamed from keyboards/kyria/keymaps/pierrec83/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/pierrec83/encoders.c (renamed from keyboards/kyria/keymaps/pierrec83/encoders.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/pierrec83/keymap.c (renamed from keyboards/kyria/keymaps/pierrec83/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/pierrec83/keymap.json (renamed from keyboards/kyria/keymaps/pierrec83/keymap.json)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/pierrec83/layers.h (renamed from keyboards/kyria/keymaps/pierrec83/layers.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/pierrec83/readme.md (renamed from keyboards/kyria/keymaps/pierrec83/readme.md)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/pierrec83/rules.mk (renamed from keyboards/kyria/keymaps/pierrec83/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/plattfot/README.md (renamed from keyboards/kyria/keymaps/plattfot/README.md)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/plattfot/config.h (renamed from keyboards/kyria/keymaps/plattfot/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/plattfot/keymap.c (renamed from keyboards/kyria/keymaps/plattfot/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/plattfot/rules.mk (renamed from keyboards/kyria/keymaps/plattfot/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/rmw/config.h (renamed from keyboards/kyria/keymaps/rmw/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/rmw/keymap.c (renamed from keyboards/kyria/keymaps/rmw/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/rmw/readme.md (renamed from keyboards/kyria/keymaps/rmw/readme.md)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/rmw/rules.mk (renamed from keyboards/kyria/keymaps/rmw/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/shinze/config.h (renamed from keyboards/kyria/keymaps/shinze/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/shinze/keymap.c (renamed from keyboards/kyria/keymaps/shinze/keymap.c)14
-rw-r--r--keyboards/splitkb/kyria/keymaps/shinze/rules.mk3
-rw-r--r--keyboards/splitkb/kyria/keymaps/tessachka/config.h (renamed from keyboards/kyria/keymaps/tessachka/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/tessachka/keymap.c (renamed from keyboards/kyria/keymaps/tessachka/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/tessachka/rules.mk (renamed from keyboards/kyria/keymaps/tessachka/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/thomasbaart/config.h (renamed from keyboards/kyria/keymaps/thomasbaart/config.h)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c (renamed from keyboards/kyria/keymaps/thomasbaart/keymap.c)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/thomasbaart/rules.mk (renamed from keyboards/kyria/keymaps/thomasbaart/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/keymaps/via/config.h40
-rw-r--r--keyboards/splitkb/kyria/keymaps/via/keymap.c248
-rw-r--r--keyboards/splitkb/kyria/keymaps/via/rules.mk9
-rwxr-xr-xkeyboards/splitkb/kyria/keymaps/winternebs/config.h (renamed from keyboards/kyria/keymaps/winternebs/config.h)2
-rwxr-xr-xkeyboards/splitkb/kyria/keymaps/winternebs/glcdfont.c (renamed from keyboards/kyria/keymaps/winternebs/glcdfont.c)0
-rwxr-xr-xkeyboards/splitkb/kyria/keymaps/winternebs/keymap.c (renamed from keyboards/kyria/keymaps/winternebs/keymap.c)12
-rwxr-xr-xkeyboards/splitkb/kyria/keymaps/winternebs/rules.mk (renamed from keyboards/kyria/keymaps/winternebs/rules.mk)0
-rw-r--r--keyboards/splitkb/kyria/kyria.c (renamed from keyboards/kyria/kyria.c)1
-rw-r--r--keyboards/splitkb/kyria/kyria.h (renamed from keyboards/kyria/kyria.h)2
-rw-r--r--keyboards/splitkb/kyria/readme.md (renamed from keyboards/kyria/readme.md)4
-rw-r--r--keyboards/splitkb/kyria/rev1/config.h (renamed from keyboards/kyria/rev1/config.h)53
-rw-r--r--keyboards/splitkb/kyria/rev1/rev1.c148
-rw-r--r--keyboards/splitkb/kyria/rev1/rev1.h (renamed from keyboards/kyria/rev1/rev1.h)17
-rw-r--r--keyboards/splitkb/kyria/rev1/rules.mk (renamed from keyboards/kyria/rev1/rules.mk)4
-rw-r--r--keyboards/splitkb/kyria/rules.mk (renamed from keyboards/kyria/rules.mk)2
-rw-r--r--keyboards/splitkb/zima/config.h41
-rw-r--r--keyboards/splitkb/zima/keymaps/drashna/keymap.c26
-rw-r--r--keyboards/splitkb/zima/keymaps/drashna/rules.mk1
-rw-r--r--keyboards/splitkb/zima/keymaps/via/config.h (renamed from keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/default/config.h)8
-rw-r--r--keyboards/splitkb/zima/keymaps/via/keymap.c68
-rw-r--r--keyboards/splitkb/zima/keymaps/via/rules.mk2
-rw-r--r--keyboards/subatomic/rules.mk1
-rwxr-xr-xkeyboards/tada68/keymaps/emdarcher/keymap.c4
-rw-r--r--keyboards/team0110/p1800fl/config.h (renamed from keyboards/handwired/p1800fl/config.h)20
-rw-r--r--keyboards/team0110/p1800fl/info.json (renamed from keyboards/handwired/p1800fl/info.json)4
-rw-r--r--keyboards/team0110/p1800fl/keymaps/default/keymap.c (renamed from keyboards/handwired/p1800fl/keymaps/default/keymap.c)21
-rw-r--r--keyboards/team0110/p1800fl/keymaps/default/readme.md (renamed from keyboards/handwired/p1800fl/keymaps/default/readme.md)0
-rw-r--r--keyboards/team0110/p1800fl/keymaps/via/keymap.c48
-rw-r--r--keyboards/team0110/p1800fl/keymaps/via/readme.md1
-rw-r--r--keyboards/team0110/p1800fl/keymaps/via/rules.mk1
-rw-r--r--keyboards/team0110/p1800fl/p1800fl.c (renamed from keyboards/handwired/p1800fl/p1800fl.c)0
-rw-r--r--keyboards/team0110/p1800fl/p1800fl.h (renamed from keyboards/handwired/p1800fl/p1800fl.h)0
-rw-r--r--keyboards/team0110/p1800fl/readme.md (renamed from keyboards/handwired/p1800fl/readme.md)12
-rw-r--r--keyboards/team0110/p1800fl/rules.mk22
-rw-r--r--keyboards/terrazzo/config.h4
-rw-r--r--keyboards/terrazzo/terrazzo.c2
-rw-r--r--keyboards/themadnoodle/ncc1701kb/v2/rules.mk1
-rw-r--r--keyboards/themadnoodle/noodlepad/rules.mk1
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/keymap.c2
-rw-r--r--keyboards/tkc/portico/config.h2
-rw-r--r--keyboards/tkc/portico/portico.c2
-rw-r--r--keyboards/tkc/portico/rules.mk2
-rw-r--r--keyboards/tokyokeyboard/tokyo60/config.h (renamed from keyboards/tokyo60/config.h)0
-rw-r--r--keyboards/tokyokeyboard/tokyo60/info.json (renamed from keyboards/tokyo60/info.json)0
-rw-r--r--keyboards/tokyokeyboard/tokyo60/keymaps/default/config.h (renamed from keyboards/tokyo60/keymaps/default/config.h)0
-rw-r--r--keyboards/tokyokeyboard/tokyo60/keymaps/default/keymap.c (renamed from keyboards/tokyo60/keymaps/default/keymap.c)0
-rw-r--r--keyboards/tokyokeyboard/tokyo60/keymaps/swappedBottomRow/config.h (renamed from keyboards/tokyo60/keymaps/swappedBottomRow/config.h)0
-rw-r--r--keyboards/tokyokeyboard/tokyo60/keymaps/swappedBottomRow/keymap.c (renamed from keyboards/tokyo60/keymaps/swappedBottomRow/keymap.c)0
-rw-r--r--keyboards/tokyokeyboard/tokyo60/keymaps/via/keymap.c (renamed from keyboards/tokyo60/keymaps/via/keymap.c)0
-rw-r--r--keyboards/tokyokeyboard/tokyo60/keymaps/via/rules.mk1
-rw-r--r--keyboards/tokyokeyboard/tokyo60/readme.md (renamed from keyboards/tokyo60/readme.md)8
-rw-r--r--keyboards/tokyokeyboard/tokyo60/rules.mk (renamed from keyboards/tokyo60/rules.mk)0
-rw-r--r--keyboards/tokyokeyboard/tokyo60/tokyo60.c (renamed from keyboards/tokyo60/tokyo60.c)0
-rw-r--r--keyboards/tokyokeyboard/tokyo60/tokyo60.h (renamed from keyboards/tokyo60/tokyo60.h)0
-rw-r--r--keyboards/torn/rules.mk2
-rw-r--r--keyboards/touchpad/rules.mk1
-rw-r--r--keyboards/tronguylabs/m122_3270/blackpill/config.h4
-rw-r--r--keyboards/tronguylabs/m122_3270/blackpill/readme.md1
-rw-r--r--keyboards/tronguylabs/m122_3270/blackpill/rules.mk19
-rw-r--r--keyboards/tronguylabs/m122_3270/config.h42
-rw-r--r--keyboards/tronguylabs/m122_3270/info.json285
-rw-r--r--keyboards/tronguylabs/m122_3270/keymaps/default/keymap.c227
-rw-r--r--keyboards/tronguylabs/m122_3270/keymaps/default/readme.md1
-rw-r--r--keyboards/tronguylabs/m122_3270/m122_3270.c1
-rw-r--r--keyboards/tronguylabs/m122_3270/m122_3270.h32
-rw-r--r--keyboards/tronguylabs/m122_3270/readme.md13
-rw-r--r--keyboards/tronguylabs/m122_3270/teensy/config.h4
-rw-r--r--keyboards/tronguylabs/m122_3270/teensy/readme.md1
-rw-r--r--keyboards/tronguylabs/m122_3270/teensy/rules.mk19
-rw-r--r--keyboards/ungodly/launch_pad/config.h16
-rw-r--r--keyboards/vision_division/Potential Layouts.txt84
-rw-r--r--keyboards/vision_division/config.h141
-rw-r--r--keyboards/vision_division/keymaps/default/config.h77
-rw-r--r--keyboards/vision_division/keymaps/default/keymap.c367
-rw-r--r--keyboards/vision_division/keymaps/default/readme.md1
-rw-r--r--keyboards/vision_division/matrix_types.h168
-rw-r--r--keyboards/vision_division/readme.md14
-rw-r--r--keyboards/vision_division/rules.mk30
-rw-r--r--keyboards/vision_division/vision_division.c68
-rw-r--r--keyboards/vision_division/vision_division.h6
-rw-r--r--keyboards/vitamins_included/config.h13
-rw-r--r--keyboards/vitamins_included/keymaps/via/config.h (renamed from keyboards/ergodox_infinity/led.c)12
-rw-r--r--keyboards/vitamins_included/keymaps/via/rules.mk2
-rw-r--r--keyboards/vitamins_included/rev2/config.h7
-rw-r--r--keyboards/waldo/rules.mk1
-rw-r--r--keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/keymap.c8
-rw-r--r--keyboards/whitefox/config.h14
-rw-r--r--keyboards/whitefox/keymaps/kim-kim/keymap.c15
-rw-r--r--keyboards/whitefox/keymaps/matt3o/keymap.c60
-rw-r--r--keyboards/whitefox/rules.mk8
-rw-r--r--keyboards/whitefox/whitefox.c76
-rw-r--r--keyboards/wilba_tech/rama_works_kara/rules.mk2
-rw-r--r--keyboards/wilba_tech/rama_works_koyu/rules.mk2
-rw-r--r--keyboards/wilba_tech/rama_works_m10_c/rules.mk2
-rw-r--r--keyboards/wilba_tech/rama_works_m50_a/rules.mk2
-rw-r--r--keyboards/wilba_tech/rama_works_m60_a/rules.mk2
-rw-r--r--keyboards/wilba_tech/rama_works_m65_b/rules.mk2
-rw-r--r--keyboards/wilba_tech/rama_works_m65_bx/rules.mk2
-rw-r--r--keyboards/wilba_tech/rama_works_m6_b/rules.mk2
-rw-r--r--keyboards/wilba_tech/rama_works_u80_a/rules.mk2
-rw-r--r--keyboards/wilba_tech/wt60_a/rules.mk2
-rw-r--r--keyboards/wilba_tech/wt60_b/rules.mk2
-rw-r--r--keyboards/wilba_tech/wt60_bx/rules.mk2
-rw-r--r--keyboards/wilba_tech/wt60_c/rules.mk2
-rw-r--r--keyboards/wilba_tech/wt65_a/rules.mk2
-rw-r--r--keyboards/wilba_tech/wt65_b/rules.mk2
-rw-r--r--keyboards/wilba_tech/wt75_a/rules.mk2
-rw-r--r--keyboards/wilba_tech/wt75_b/rules.mk2
-rw-r--r--keyboards/wilba_tech/wt75_c/rules.mk2
-rw-r--r--keyboards/wilba_tech/wt80_a/rules.mk2
-rw-r--r--keyboards/wilba_tech/wt_mono_backlight.c2
-rw-r--r--keyboards/wilba_tech/wt_rgb_backlight.c26
-rw-r--r--keyboards/wilba_tech/zeal60/rules.mk2
-rw-r--r--keyboards/wilba_tech/zeal65/rules.mk2
-rw-r--r--keyboards/work_louder/loop/keymaps/default/keymap.c9
-rw-r--r--keyboards/work_louder/nano/keymaps/default/keymap.c15
-rw-r--r--keyboards/xbows/knight/config.h5
-rw-r--r--keyboards/xbows/knight/knight.c2
-rw-r--r--keyboards/xbows/knight_plus/config.h5
-rw-r--r--keyboards/xbows/knight_plus/knight_plus.c2
-rw-r--r--keyboards/xbows/nature/config.h2
-rw-r--r--keyboards/xbows/nature/nature.c2
-rw-r--r--keyboards/xbows/numpad/config.h5
-rw-r--r--keyboards/xbows/numpad/numpad.c2
-rw-r--r--keyboards/xbows/ranger/ranger.c229
-rw-r--r--keyboards/xbows/woody/config.h6
-rw-r--r--keyboards/xbows/woody/woody.c2
-rw-r--r--keyboards/xd002/keymaps/multilayer_rgb/keymap.c6
-rw-r--r--keyboards/xd002/keymaps/multilayer_rgb/rgblite.h4
-rw-r--r--keyboards/xd002/keymaps/rgb_lite/keymap.c4
-rw-r--r--keyboards/xd002/keymaps/rgb_lite/rgblite.h12
-rw-r--r--keyboards/xd60/keymaps/birkir/keymap.c2
-rw-r--r--keyboards/xd75/keymaps/arpinfidel/keymap.c18
-rw-r--r--keyboards/xd75/keymaps/c4software_bepo/keymap.c8
-rw-r--r--keyboards/xd75/keymaps/cbbrowne/keymap.c30
-rw-r--r--keyboards/xd75/keymaps/cbbrowne/rules.mk1
-rw-r--r--keyboards/xd75/keymaps/developper_bepo/keymap.c12
-rw-r--r--keyboards/xd75/keymaps/french/keymap.c4
-rw-r--r--keyboards/xd75/keymaps/french/keymap_french.c8
-rw-r--r--keyboards/xd75/keymaps/germanized/config.h24
-rw-r--r--keyboards/xd75/keymaps/germanized/keymap.c6
-rw-r--r--keyboards/xd75/keymaps/markus/keymap.c22
-rw-r--r--keyboards/xd75/keymaps/pitty/keymap.c12
-rw-r--r--keyboards/xd75/keymaps/skewwhiffy/keymap.c38
-rw-r--r--keyboards/xd75/keymaps/tdl-jturner/keymap.c2
-rw-r--r--keyboards/xelus/dawn60/rev1/rules.mk2
-rw-r--r--keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c4
-rw-r--r--keyboards/xelus/dawn60/rev1_qmk/rules.mk2
-rw-r--r--keyboards/xelus/pachi/rgb/config.h2
-rw-r--r--keyboards/xelus/pachi/rgb/rgb.c4
-rw-r--r--keyboards/xelus/pachi/rgb/rules.mk7
-rw-r--r--keyboards/xelus/valor/rev2/config.h88
-rw-r--r--keyboards/xelus/valor/rev2/halconf.h23
-rw-r--r--keyboards/xelus/valor/rev2/info.json83
-rw-r--r--keyboards/xelus/valor/rev2/keymaps/default/config.h18
-rw-r--r--keyboards/xelus/valor/rev2/keymaps/default/keymap.c79
-rw-r--r--keyboards/xelus/valor/rev2/keymaps/default/readme.md2
-rw-r--r--keyboards/xelus/valor/rev2/keymaps/via/config.h24
-rw-r--r--keyboards/xelus/valor/rev2/keymaps/via/keymap.c127
-rw-r--r--keyboards/xelus/valor/rev2/keymaps/via/readme.md2
-rw-r--r--keyboards/xelus/valor/rev2/keymaps/via/rules.mk1
-rw-r--r--keyboards/xelus/valor/rev2/mcuconf.h30
-rw-r--r--keyboards/xelus/valor/rev2/readme.md20
-rw-r--r--keyboards/xelus/valor/rev2/rev2.c72
-rw-r--r--keyboards/xelus/valor/rev2/rev2.h37
-rw-r--r--keyboards/xelus/valor/rev2/rgb_matrix_kb.inc34
-rw-r--r--keyboards/xelus/valor/rev2/rules.mk32
-rw-r--r--keyboards/xw60/rules.mk1
-rw-r--r--keyboards/ymdk/np24/u4rgb6/rules.mk2
-rw-r--r--keyboards/yncognito/batpad/config.h14
-rw-r--r--keyboards/yncognito/batpad/keymaps/via/rules.mk1
1159 files changed, 17256 insertions, 15566 deletions
diff --git a/keyboards/0xcb/1337/keymaps/default/keymap.c b/keyboards/0xcb/1337/keymaps/default/keymap.c
index 5c231298cd..54413458f7 100644
--- a/keyboards/0xcb/1337/keymaps/default/keymap.c
+++ b/keyboards/0xcb/1337/keymaps/default/keymap.c
@@ -51,13 +51,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#ifdef ENCODER_ENABLE
bool encoder_update_user(uint8_t index, bool clockwise) {
if (IS_LAYER_ON(_RGB)) {
- #ifdef RGBLIGHT_ENABLE
- if (clockwise) {
- rgblight_increase_val();
- } else {
- rgblight_decrease_val();
- }
- #endif
+# ifdef RGBLIGHT_ENABLE
+ if (clockwise) {
+ rgblight_increase_val();
+ } else {
+ rgblight_decrease_val();
+ }
+# endif
} else if (IS_LAYER_ON(_BLED)) {
if (clockwise) {
backlight_increase();
@@ -86,24 +86,15 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) {
static void render_logo(void) {
static const char PROGMEM raw_logo[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 1, 2, 4, 2, 1, 1, 1, 1, 1, 1,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 1, 1, 1, 1, 1, 1, 2, 4, 2, 1, 0, 0, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5,248, 5, 2, 0, 0, 0, 0, 0, 0,128,192,192,224,224,112,120, 56, 63, 28, 14, 14, 14,254, 14, 14, 30, 28, 63, 56,120,112,224,224,192,128, 0, 0, 0, 0, 0, 0, 0, 2, 5,248, 5, 2, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,160, 19,162, 66, 66, 66, 66, 66, 66, 66,255,255,255, 0, 0, 0,252,254,254,192,192,192,192,255, 0, 0, 0, 62, 62, 60, 60, 0, 0, 1,255,255,255, 66, 66, 66, 66, 66, 66, 66,162, 19,160, 64, 0,
- 0, 0, 0,128, 64, 64, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 64, 64,192,128, 0, 0,192, 64, 64,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 64,192, 0, 0, 0, 0, 0,128,192, 64, 64,192,128, 0, 0,128,192, 64, 64,192,128, 0, 0, 64, 64, 64, 64, 64,192, 0, 0, 0, 0, 0,249, 8, 8, 8, 8, 8, 8, 8, 8,127,255,255,192,128,128, 15, 31, 31, 1, 1, 1, 1,255, 0, 0, 0, 30, 30, 14, 14,128,192,192,255,255,127, 8, 8, 8, 8, 8, 8, 8, 8,249, 0, 0, 0,
- 0, 0, 31, 49, 64, 78, 64, 49, 31, 0, 0, 97, 22, 8, 22, 97, 0, 0, 31, 49, 96, 64, 64, 96, 32, 0, 0,127, 68, 68,100, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 64,127, 64, 64, 0, 0, 0, 32,100, 68, 68,110, 59, 0, 0, 32,100, 68, 68,110, 59, 0, 0, 0, 0, 0,126, 3, 1, 0, 0, 0, 8, 20, 35, 20, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 7, 15,254, 30, 28, 28, 28,255, 28, 28, 28, 30,254, 15, 7, 3, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 4, 10, 17, 10, 4, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 40, 68, 40, 16, 16, 16, 16, 16, 16, 31, 0, 0, 16, 40, 71, 40, 16, 0, 0, 31, 16, 16, 16, 16, 16, 16, 40, 68, 40, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 64, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 64, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 1, 2, 4, 2, 1, 1, 1, 1, 1, 1, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 1, 1, 1, 1, 1, 1, 2, 4, 2, 1, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5, 248, 5, 2, 0, 0, 0, 0, 0, 0, 128, 192, 192, 224, 224, 112, 120, 56, 63, 28, 14, 14, 14, 254, 14, 14, 30, 28, 63, 56, 120, 112, 224, 224, 192, 128, 0, 0, 0, 0, 0, 0, 0, 2, 5, 248, 5, 2, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 160, 19, 162, 66, 66, 66, 66, 66, 66, 66, 255, 255, 255, 0, 0, 0, 252, 254, 254, 192, 192, 192, 192, 255, 0, 0, 0, 62, 62, 60, 60, 0, 0, 1, 255, 255, 255, 66, 66, 66, 66, 66, 66, 66, 162, 19, 160, 64, 0, 0, 0, 0, 128, 64, 64, 64, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 192, 64, 64, 192, 128, 0, 0, 192, 64, 64, 192, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 64, 192, 0, 0, 0, 0, 0, 128, 192, 64, 64, 192, 128, 0, 0, 128, 192, 64, 64, 192, 128, 0, 0, 64, 64, 64, 64, 64, 192, 0, 0, 0, 0, 0, 249, 8, 8, 8, 8, 8, 8, 8, 8, 127, 255, 255, 192, 128, 128, 15, 31, 31, 1, 1, 1, 1, 255, 0, 0, 0, 30, 30, 14, 14, 128, 192, 192, 255, 255, 127, 8, 8, 8, 8, 8, 8, 8, 8, 249, 0, 0, 0,
+ 0, 0, 31, 49, 64, 78, 64, 49, 31, 0, 0, 97, 22, 8, 22, 97, 0, 0, 31, 49, 96, 64, 64, 96, 32, 0, 0, 127, 68, 68, 100, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 64, 127, 64, 64, 0, 0, 0, 32, 100, 68, 68, 110, 59, 0, 0, 32, 100, 68, 68, 110, 59, 0, 0, 0, 0, 0, 126, 3, 1, 0, 0, 0, 8, 20, 35, 20, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 7, 15, 254, 30, 28, 28, 28, 255, 28, 28, 28, 30, 254, 15, 7, 3, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 4, 10, 17, 10, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 40, 68, 40, 16, 16, 16, 16, 16, 16, 31, 0, 0, 16, 40, 71, 40, 16, 0, 0, 31, 16, 16, 16, 16, 16, 16, 40, 68, 40, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
};
oled_write_raw_P(raw_logo, sizeof(raw_logo));
}
static void render_logo_font(void) {
- static const char PROGMEM qmk_logo[] = {
- 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4,
- 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4,
- 0x88, 0x89, 0x8A, 0x8B, 0x8A, 0x8B, 0x8C, 0x8D, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0,
- 0xA8, 0xA9, 0xAA, 0xAB, 0xAA, 0xAB, 0xAC, 0xAD, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0x00
- };
+ static const char PROGMEM qmk_logo[] = {0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0x88, 0x89, 0x8A, 0x8B, 0x8A, 0x8B, 0x8C, 0x8D, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xA8, 0xA9, 0xAA, 0xAB, 0xAA, 0xAB, 0xAC, 0xAD, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0x00};
oled_write_P(qmk_logo, false);
}
@@ -132,35 +123,35 @@ static void render_info(void) {
oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
}
-static void render_rgbled_status(bool) {
+static void render_rgbled_status(void) {
char string[4];
if (RGBLIGHT_MODES > 1 && rgblight_is_enabled() && get_highest_layer(layer_state) == _RGB) {
uint16_t m = rgblight_get_mode();
- string[3] = '\0';
- string[2] = '0' + m % 10;
- string[1] = ( m /= 10) % 10 ? '0' + (m) % 10 : (m / 10) % 10 ? '0' : ' ';
- string[0] = m / 10 ? '0' + m / 10 : ' ';
+ string[3] = '\0';
+ string[2] = '0' + m % 10;
+ string[1] = (m /= 10) % 10 ? '0' + (m) % 10 : (m / 10) % 10 ? '0' : ' ';
+ string[0] = m / 10 ? '0' + m / 10 : ' ';
oled_write_P(PSTR("Conf:"), false);
oled_write(string, false);
- uint16_t h = rgblight_get_hue()/RGBLIGHT_HUE_STEP;
- string[3] = '\0';
- string[2] = '0' + h % 10;
- string[1] = ( h /= 10) % 10 ? '0' + (h) % 10 : (h / 10) % 10 ? '0' : ' ';
- string[0] = h / 10 ? '0' + h / 10 : ' ';
+ uint16_t h = rgblight_get_hue() / RGBLIGHT_HUE_STEP;
+ string[3] = '\0';
+ string[2] = '0' + h % 10;
+ string[1] = (h /= 10) % 10 ? '0' + (h) % 10 : (h / 10) % 10 ? '0' : ' ';
+ string[0] = h / 10 ? '0' + h / 10 : ' ';
oled_write_P(PSTR(","), false);
oled_write(string, false);
- uint16_t s = rgblight_get_sat()/RGBLIGHT_SAT_STEP;
- string[3] = '\0';
- string[2] = '0' + s % 10;
- string[1] = ( s /= 10) % 10 ? '0' + (s) % 10 : (s / 10) % 10 ? '0' : ' ';
- string[0] = s / 10 ? '0' + s / 10 : ' ';
+ uint16_t s = rgblight_get_sat() / RGBLIGHT_SAT_STEP;
+ string[3] = '\0';
+ string[2] = '0' + s % 10;
+ string[1] = (s /= 10) % 10 ? '0' + (s) % 10 : (s / 10) % 10 ? '0' : ' ';
+ string[0] = s / 10 ? '0' + s / 10 : ' ';
oled_write_P(PSTR(","), false);
oled_write(string, false);
- uint16_t v = rgblight_get_val()/RGBLIGHT_VAL_STEP;
- string[3] = '\0';
- string[2] = '0' + v % 10;
- string[1] = ( v /= 10) % 10 ? '0' + (v) % 10 : (v / 10) % 10 ? '0' : ' ';
- string[0] = v / 10 ? '0' + v / 10 : ' ';
+ uint16_t v = rgblight_get_val() / RGBLIGHT_VAL_STEP;
+ string[3] = '\0';
+ string[2] = '0' + v % 10;
+ string[1] = (v /= 10) % 10 ? '0' + (v) % 10 : (v / 10) % 10 ? '0' : ' ';
+ string[0] = v / 10 ? '0' + v / 10 : ' ';
oled_write_P(PSTR(","), false);
oled_write(string, false);
oled_write_ln_P(PSTR("\n MOD HUE SAT VAR"), false);
@@ -178,7 +169,7 @@ void oled_task_user(void) {
finished_timer = true;
}
render_info();
- render_rgbled_status(true);
+ render_rgbled_status();
render_logo_font();
}
}
diff --git a/keyboards/1upkeyboards/1up60rgb/keymaps/raffle/keymap.c b/keyboards/1upkeyboards/1up60rgb/keymaps/raffle/keymap.c
index cba9a205c5..c4d82a4766 100644
--- a/keyboards/1upkeyboards/1up60rgb/keymaps/raffle/keymap.c
+++ b/keyboards/1upkeyboards/1up60rgb/keymaps/raffle/keymap.c
@@ -67,7 +67,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//***************************** Function bodies *****************************//
// enable tri-layer state for _raise + _rgb = _adjust
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _raise, _rgb, _adjust);
}
diff --git a/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c b/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c
index 7e6d131307..6b7b36cbb2 100644
--- a/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c
+++ b/keyboards/1upkeyboards/sweet16/keymaps/ridingintraffic/keymap.c
@@ -39,17 +39,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+-------+-------+--------|
* |SHRUG |DISFACE| HRTFAC| HAPPYF |
* |------+-------+-------+--------|
- * | ENTER| |LEDCNTR| tapland|
+ * | ENTER| |LEDCNTR| tapland|
* `-------------------------------'
*/
//purple
[_EMOJI] = LAYOUT_ortho_4x4(
- TFLIP, TFLIP2, KC_NO, FU ,
- CLOUD, KC_NO, KC_NO, CMDCLEAR,
- SHRUG, DISFACE, HEARTFACE, HAPPYFACE,
+ TFLIP, TFLIP2, KC_NO, FU ,
+ CLOUD, KC_NO, KC_NO, CMDCLEAR,
+ SHRUG, DISFACE, HEARTFACE, HAPPYFACE,
KC_ENT, RGB_TOG, MO(_LEDCNTL), MO(_TAPLAND)
),
-
+
/* TapLand //
* ,-------------------------------.
* | str1 | str2 | str3 | str4 |
@@ -58,14 +58,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+-------+-------+--------|
* | | | | |
* |------+-------+-------+--------|
- * | | | | |
+ * | | | | |
* `-------------------------------'
*/
//blue
[_TAPLAND] = LAYOUT_ortho_4x4(
- TD(TD_EXAMPLE1), TD(TD_EXAMPLE2), TD(TD_EXAMPLE3), TD(TD_EXAMPLE4),
- KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO,
+ TD(TD_EXAMPLE1), TD(TD_EXAMPLE2), TD(TD_EXAMPLE3), TD(TD_EXAMPLE4),
+ KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO
),
/* LEDControl Pad
@@ -76,14 +76,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+-------+-------+--------|
* |kngrdr| Val- | Sat- | HUE- |
* |------+-------+-------+--------|
- * | swirl| PLAIN | | ON/OFF |
+ * | swirl| PLAIN | | ON/OFF |
* `-------------------------------'
*/
//blue
[_LEDCNTL] = LAYOUT_ortho_4x4(
- RGB_M_SN, RGB_M_B, RGB_M_R, RGB_M_G,
- RGB_M_X, RGB_VAI, RGB_SAI, RGB_HUI,
- RGB_M_K, RGB_VAD, RGB_SAD, RGB_HUD,
+ RGB_M_SN, RGB_M_B, RGB_M_R, RGB_M_G,
+ RGB_M_X, RGB_VAI, RGB_SAI, RGB_HUI,
+ RGB_M_K, RGB_VAD, RGB_SAD, RGB_HUD,
RGB_M_SW, RGB_M_P, KC_NO, RGB_TOG
),
};
@@ -102,34 +102,34 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING("t(-_-t)");
}
return false;
- break;
+ break;
case HAPPYFACE:
if(record->event.pressed){
send_unicode_string("ʘ‿ʘ");
}
return false;
- break;
+ break;
case CMDCLEAR:
if (record->event.pressed) {
register_code(KC_LGUI);
- tap_code(KC_A);
+ tap_code(KC_A);
unregister_code(KC_LGUI);
- tap_code(KC_DEL);
+ tap_code(KC_DEL);
}
return false;
- break;
+ break;
case SHRUG:
if (record->event.pressed) {
send_unicode_string("¯\\_(ツ)_/¯");
}
- return false;
+ return false;
break;
case HEARTFACE:
if(record->event.pressed){
send_unicode_string("♥‿♥");
}
return false;
- break;
+ break;
case DISFACE:
if(record->event.pressed){
send_unicode_string("ಠ_ಠ");
@@ -148,7 +148,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
return false;
break;
- }
+ }
}
return true;
}
@@ -195,7 +195,7 @@ void matrix_scan_user(void) {
rgblight_setrgb (16, 0, 16);
}
}
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
switch (biton32(state)) {
case _TAPLAND:
rgblight_setrgb(0, 16, 0); //green
diff --git a/keyboards/40percentclub/25/rules.mk b/keyboards/40percentclub/25/rules.mk
index d018039571..8d32d2c3fb 100644
--- a/keyboards/40percentclub/25/rules.mk
+++ b/keyboards/40percentclub/25/rules.mk
@@ -32,5 +32,3 @@ AUDIO_ENABLE = no # Audio output on port C6
# Enable generic behavior for split boards
SPLIT_KEYBOARD = yes
-
-LAYOUTS = ortho_5x5 ortho_5x10
diff --git a/keyboards/40percentclub/4x4/rules.mk b/keyboards/40percentclub/4x4/rules.mk
index 91b609103e..f51e98ff3b 100644
--- a/keyboards/40percentclub/4x4/rules.mk
+++ b/keyboards/40percentclub/4x4/rules.mk
@@ -29,7 +29,7 @@ UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
-LAYOUTS = ortho_4x4 ortho_4x8 ortho_4x12 ortho_4x16
+LAYOUTS = ortho_4x4 ortho_4x12
# Disable unsupported hardware
RGBLIGHT_SUPPORTED = no
diff --git a/keyboards/40percentclub/5x5/rules.mk b/keyboards/40percentclub/5x5/rules.mk
index ae36f660e9..97c63a856b 100644
--- a/keyboards/40percentclub/5x5/rules.mk
+++ b/keyboards/40percentclub/5x5/rules.mk
@@ -29,4 +29,4 @@ UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
-LAYOUTS = ortho_5x5 ortho_5x10 ortho_5x15
+LAYOUTS = ortho_5x15
diff --git a/keyboards/40percentclub/nano/keymaps/drashna/keymap.c b/keyboards/40percentclub/nano/keymaps/drashna/keymap.c
index b8947cce78..13f89dd53d 100644
--- a/keyboards/40percentclub/nano/keymaps/drashna/keymap.c
+++ b/keyboards/40percentclub/nano/keymaps/drashna/keymap.c
@@ -85,15 +85,15 @@ int16_t axisCoordinate(uint8_t pin, uint16_t origin) {
int8_t axisToMouseComponent(uint8_t pin, int16_t origin, uint8_t maxSpeed, int8_t polarity) {
int coordinate = axisCoordinate(pin, origin);
- if (coordinate == 0) {
- return 0;
- } else {
+ if (coordinate != 0) {
float percent = (float)coordinate / 100;
- if (keyboard_report->mods & MOD_BIT(KC_LSFT)) {
+ if (get_mods() & MOD_BIT(KC_LSFT)) {
return percent * precisionSpeed * polarity * (abs(coordinate) / speedRegulator);
} else {
return percent * maxCursorSpeed * polarity * (abs(coordinate) / speedRegulator);
}
+ } else {
+ return 0;
}
}
diff --git a/keyboards/40percentclub/ut47/keymaps/nordic/keymap.c b/keyboards/40percentclub/ut47/keymaps/nordic/keymap.c
index f3e297ec03..52372e2857 100644
--- a/keyboards/40percentclub/ut47/keymaps/nordic/keymap.c
+++ b/keyboards/40percentclub/ut47/keymaps/nordic/keymap.c
@@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
LAYOUT( /* Base - L0 */
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- LT3_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, NO_APOS, MT_RSFT_ENT,
+ LT3_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, NO_QUOT, MT_RSFT_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, MO(4),
KC_LCTL, KC_LGUI, MO(4), KC_LALT, MO(2), KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
@@ -84,7 +84,7 @@ LAYOUT( /* Right modifier - L1 */
*/
LAYOUT( /* Left modifier - L2 */
- NO_SECT, KC_EXCLAIM, NO_QUO2, KC_HASH, NO_BULT, KC_PERCENT, NO_AMPR, NO_SLSH, NO_EQL, NO_PLUS, NO_BSLS, KC_DELETE,
+ NO_SECT, KC_EXCLAIM, NO_DQUO, KC_HASH, NO_CURR, KC_PERCENT, NO_AMPR, NO_SLSH, NO_EQL, NO_PLUS, NO_BSLS, KC_DELETE,
_______, _______, NO_QUES, NO_LCBR, NO_LBRC, NO_LPRN, NO_RPRN, NO_RBRC, NO_RCBR, KC_F10, KC_F11, KC_F12,
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_PGUP, _______,
_______, _______, _______, KC_CAPS, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
@@ -122,9 +122,9 @@ LAYOUT( /* Hold Tab down - L3 */
*/
LAYOUT( /* Norsk - L4 */
- _______, _______, NO_AT, NO_PND, NO_DLR, NO_TILD, _______, NO_QUOT, NO_ACUT, NO_GRV, NO_AA, _______,
- _______, _______, _______, NO_EURO, _______, _______, _______, _______, NO_CIRC, NO_OSLH, NO_AE, _______,
- _______, NO_LESS, _______, _______, _______, _______, _______, NO_MU, _______, _______, _______, _______,
+ _______, _______, NO_AT, NO_PND, NO_DLR, NO_TILD, _______, NO_QUOT, NO_ACUT, NO_GRV, NO_ARNG, _______,
+ _______, _______, _______, NO_EURO, _______, _______, _______, _______, NO_CIRC, NO_OSTR, NO_AE, _______,
+ _______, NO_LABK, _______, _______, _______, _______, _______, NO_MICR, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, TO(5), _______, _______, _______
),
diff --git a/keyboards/7skb/keymaps/salicylic/keymap.c b/keyboards/7skb/keymaps/salicylic/keymap.c
index bf3433b17c..ad12f49d5b 100644
--- a/keyboards/7skb/keymaps/salicylic/keymap.c
+++ b/keyboards/7skb/keymaps/salicylic/keymap.c
@@ -85,7 +85,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
JP_QUOT, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_P6, KC_P7, KC_P8, KC_P9, JP_ASTR, JP_SLSH, _______, KC_BSPC,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------|
- JP_QUOT, JP_HASH, JP_DQT, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, _______,
+ JP_QUOT, JP_HASH, JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, _______,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_P0, KC_P1, KC_P2, KC_P3, JP_PLUS, _______, _______,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
diff --git a/keyboards/7splus/keymaps/salicylic/keymap.c b/keyboards/7splus/keymaps/salicylic/keymap.c
index 4435bf98cb..cbe4e57dcf 100644
--- a/keyboards/7splus/keymaps/salicylic/keymap.c
+++ b/keyboards/7splus/keymaps/salicylic/keymap.c
@@ -84,7 +84,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
JP_QUOT, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_P6, KC_P7, KC_P8, KC_P9, JP_ASTR, JP_SLSH, _______, _______, KC_HOME,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
-LCTL_T(JP_QUOT),JP_HASH, JP_DQT, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, _______, KC_END,
+LCTL_T(JP_QUOT),JP_HASH,JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, _______, KC_END,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
SFT_T(JP_CIRC),JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_P0, KC_P1, KC_P2, KC_P3, JP_PLUS, _______, KC_UP, KC_PGUP,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
diff --git a/keyboards/9key/rules.mk b/keyboards/9key/rules.mk
index b6c0c73be9..d16c096768 100644
--- a/keyboards/9key/rules.mk
+++ b/keyboards/9key/rules.mk
@@ -27,7 +27,6 @@ AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = yes # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = yes
TAP_DANCE_ENABLE = no
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
diff --git a/keyboards/abacus/keymaps/unicodemap/keymap.c b/keyboards/abacus/keymaps/unicodemap/keymap.c
index 8a2a33889b..c31b268ca2 100644
--- a/keyboards/abacus/keymaps/unicodemap/keymap.c
+++ b/keyboards/abacus/keymaps/unicodemap/keymap.c
@@ -108,7 +108,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if(active) {
@@ -125,6 +125,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
}
}
}
+ return true;
}
diff --git a/keyboards/acr60/keymaps/mitch/keymap.c b/keyboards/acr60/keymaps/mitch/keymap.c
index b7fcb5a04a..1567b14813 100644
--- a/keyboards/acr60/keymaps/mitch/keymap.c
+++ b/keyboards/acr60/keymaps/mitch/keymap.c
@@ -11,8 +11,6 @@
#define GUIOFF MAGIC_NO_GUI
#define GUION MAGIC_UNNO_GUI
-#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
-
/* TODO: create handy quick-ref list here for easy grokking of the actual shortcuts in place */
/*
@@ -64,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* Hit MO(_FN) and Alt in that order to lock into the _FN layer.
*/
[_DFT] = LAYOUT_mitchsplit( /* Basic QWERTY */
- F(0), 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_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \
MO(_FN), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), \
@@ -169,37 +167,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
)
};
-
-enum function_id {
- SHIFT_ESC,
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [0] = ACTION_FUNCTION(SHIFT_ESC),
-};
-
-void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
- static uint8_t shift_esc_shift_mask;
- switch (id) {
- case SHIFT_ESC:
- shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
- if (record->event.pressed) {
- if (shift_esc_shift_mask) {
- add_key(KC_GRV);
- send_keyboard_report();
- } else {
- add_key(KC_ESC);
- send_keyboard_report();
- }
- } else {
- if (shift_esc_shift_mask) {
- del_key(KC_GRV);
- send_keyboard_report();
- } else {
- del_key(KC_ESC);
- send_keyboard_report();
- }
- }
- break;
- }
-}
diff --git a/keyboards/aeboards/constellation/rev2/rules.mk b/keyboards/aeboards/constellation/rev2/rules.mk
index c79b49dbf9..4715678930 100755
--- a/keyboards/aeboards/constellation/rev2/rules.mk
+++ b/keyboards/aeboards/constellation/rev2/rules.mk
@@ -1,5 +1,8 @@
# MCU name
-MCU = STM32L433
+MCU = STM32L422
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
# Build Options
# change yes to no to disable
diff --git a/keyboards/ai03/voyager60_alps/config.h b/keyboards/ai03/voyager60_alps/config.h
index 98f37e8cfe..cd749cc505 100644
--- a/keyboards/ai03/voyager60_alps/config.h
+++ b/keyboards/ai03/voyager60_alps/config.h
@@ -23,7 +23,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define PRODUCT Voyager60-Alps
#define MATRIX_ROWS 5
-#define MATRIX_COLS 15
+#define MATRIX_COLS 14
#define MATRIX_ROW_PINS { B1, B2, B3, F0, F1 }
#define MATRIX_COL_PINS { F4, F7, F5, F6, C7, C6, B6, B5, B4, D7, D6, D4, D5, D3}
diff --git a/keyboards/ajisai74/keymaps/salicylic/keymap.c b/keyboards/ajisai74/keymaps/salicylic/keymap.c
index 03cecb7a0d..f8b430af1c 100644
--- a/keyboards/ajisai74/keymaps/salicylic/keymap.c
+++ b/keyboards/ajisai74/keymaps/salicylic/keymap.c
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
JP_DQUO, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_P6, KC_P7, KC_P8, KC_P9, JP_ASTR, JP_SLSH, _______, _______, _______,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- JP_QUOT, JP_HASH, JP_DQT, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, _______, _______, _______,
+ JP_QUOT, JP_HASH, JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, _______, _______, _______,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
_______,JP_CIRC,JP_PERC,JP_AMPR,JP_SCLN, JP_COLN, JP_PIPE, KC_P0, KC_P1, KC_P2, KC_P3, JP_PLUS, _______, _______, _______,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
diff --git a/keyboards/amjpad/keymaps/max/keymap.c b/keyboards/amjpad/keymaps/max/keymap.c
index eb50567e98..7bfaed5999 100644
--- a/keyboards/amjpad/keymaps/max/keymap.c
+++ b/keyboards/amjpad/keymaps/max/keymap.c
@@ -4,9 +4,6 @@
#include "rgblight.h"
#endif
-// Used for SHIFT_ESC
-#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
-
// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
@@ -64,37 +61,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
),
};
-
-enum function_id {
- SHIFT_ESC,
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [0] = ACTION_FUNCTION(SHIFT_ESC),
-};
-
-void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
- static uint8_t shift_esc_shift_mask;
- switch (id) {
- case SHIFT_ESC:
- shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
- if (record->event.pressed) {
- if (shift_esc_shift_mask) {
- add_key(KC_GRV);
- send_keyboard_report();
- } else {
- add_key(KC_ESC);
- send_keyboard_report();
- }
- } else {
- if (shift_esc_shift_mask) {
- del_key(KC_GRV);
- send_keyboard_report();
- } else {
- del_key(KC_ESC);
- send_keyboard_report();
- }
- }
- break;
- }
-}
diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/default/keymap.c b/keyboards/anavi/macropad8/keymaps/default/config.h
index 037f59af85..dd687cad58 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/default/keymap.c
+++ b/keyboards/anavi/macropad8/keymaps/default/config.h
@@ -1,4 +1,4 @@
-/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+/* Copyright 2021 QMK
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -14,4 +14,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-// placeholder
+#pragma once
+
+#define LAYER_STATE_8BIT
diff --git a/keyboards/atreus/keymaps/erlandsona/keymap.c b/keyboards/atreus/keymaps/erlandsona/keymap.c
index 151288edc2..c261e892d4 100644
--- a/keyboards/atreus/keymaps/erlandsona/keymap.c
+++ b/keyboards/atreus/keymaps/erlandsona/keymap.c
@@ -1,6 +1,3 @@
-// this is the style you want to emulate.
-// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
-
#include QMK_KEYBOARD_H
// Each layer gets a name for readability, which is then used in the keymap matrix below.
@@ -23,21 +20,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_LPRN, KC_RPRN, KC_MINS, KC_EQL , KC_LBRC,
KC_TAB , KC_5 , KC_6 , KC_7 , KC_8 , KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_RBRC,
_______, KC_9 , KC_0 , KC_DOT , KC_COMM, KC_HOME, KC_PGDN, KC_PGUP, KC_END , _______,
- _______, _______, _______, _______, KC_DEL , F(MOUS), _______, _______, _______, _______, _______, _______
+ _______, _______, _______, _______, KC_DEL , TG(MOUS), _______, _______, _______, _______, _______, _______
),
[MOUS] = LAYOUT( /* Mouse and Media Keys */
KC_SLCK, KC_PAUSE, KC_F11 , KC_F10 , KC_F9 , KC_F8 , KC_F7 , KC_F6 , KC_F5 , KC_F4,
KC_VOLD, KC_ACL0 , KC_ACL1, KC_ACL2, KC_VOLU, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_F3,
KC_MUTE, KC_MPRV , KC_MPLY, KC_MNXT, KC_MUTE, KC_WH_R, KC_WH_U, KC_WH_D, KC_WH_L, KC_F2,
- _______, _______ , _______, _______, _______, _______, _______, KC_BTN1, F(BASE), RESET , KC_F12 , KC_F1
+ _______, _______ , _______, _______, _______, _______, _______, KC_BTN1, TO(BASE), RESET , KC_F12 , KC_F1
),
};
-
-
-// I prefer this layer switching strategy to the TG and MO functions.
-// so that I can get out of mouse mode just by tapping/holding my base layer FN key.
-const uint16_t PROGMEM fn_actions[] = {
- [BASE] = ACTION_LAYER_OFF(2, 1), // switch back to layer 0
- [MOUS] = ACTION_LAYER_ON(2, 1) // switch to layer 2
-};
diff --git a/keyboards/atreus/keymaps/khitsule/keymap.c b/keyboards/atreus/keymaps/khitsule/keymap.c
index e6a5366916..1190efa3cb 100644
--- a/keyboards/atreus/keymaps/khitsule/keymap.c
+++ b/keyboards/atreus/keymaps/khitsule/keymap.c
@@ -16,12 +16,6 @@ enum layers {
#define KM_DRIGHT LGUI(LCTL(KC_RIGHT))
#define TSKMGR LCTL(LSFT(KC_ESC))
-#define tap_mod_macro(record, mod, macro) ( ((record)->event.pressed) ? \
- ( ((record)->tap.count <= 0 || (record)->tap.interrupted) ? MACRO(D(mod), END) : MACRO_NONE ) : \
- ( ((record)->tap.count > 0 && !((record)->tap.interrupted)) ? (macro) : MACRO(U(mod), END) ) )
-
-
-
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[ALPH] = LAYOUT(
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
@@ -54,21 +48,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
-
-const uint16_t PROGMEM fn_actions[] = {
- [1] = ACTION_MACRO_TAP(1),
- [2] = ACTION_MACRO_TAP(2)
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
- switch(id) {
- case 1:
- return tap_mod_macro(record, LGUI, MACRO( D(LSFT), T(9), U(LSFT), END));
- break;
- case 2:
- return tap_mod_macro(record, LALT, MACRO( D(LSFT), T(0), U(LSFT), END));
- break;
-
- }
- return MACRO_NONE;
-};
diff --git a/keyboards/atreus62/keymaps/194h/keymap.c b/keyboards/atreus62/keymaps/194h/keymap.c
index 1d069e9d42..b9587b03e8 100644
--- a/keyboards/atreus62/keymaps/194h/keymap.c
+++ b/keyboards/atreus62/keymaps/194h/keymap.c
@@ -31,7 +31,7 @@
#define NO_RCBR RALT(KC_0) // }
#define NO_COLN LSFT(KC_DOT) // :
#define NO_SCLN LSFT(KC_COMM) // ;
-#define NO_MU RALT(KC_M) // µ
+#define NO_MICR RALT(KC_M) // µ
#define NO_EURO RALT(KC_E) // €
#define NO_SECT LSFT(KC_GRV) // §
#define NO_GERC RALT(KC_COMM) // ¸
diff --git a/keyboards/bakeneko65/keymaps/default/readme.md b/keyboards/bakeneko65/keymaps/default/readme.md
deleted file mode 100644
index 34d1b4e931..0000000000
--- a/keyboards/bakeneko65/keymaps/default/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for Bakeneko 65
diff --git a/keyboards/bakeneko65/config.h b/keyboards/bakeneko65/rev2/config.h
index 65b3ff88e2..6639e82395 100644
--- a/keyboards/bakeneko65/config.h
+++ b/keyboards/bakeneko65/rev2/config.h
@@ -24,7 +24,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define PRODUCT_ID 0x4C82
#define DEVICE_VER 0x0001
#define MANUFACTURER kkatano
-#define PRODUCT Bakeneko 65
+#define PRODUCT Bakeneko 65 V2
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/bakeneko65/info.json b/keyboards/bakeneko65/rev2/info.json
index 25b438c297..cbaadc3c34 100644
--- a/keyboards/bakeneko65/info.json
+++ b/keyboards/bakeneko65/rev2/info.json
@@ -1,6 +1,6 @@
{
- "keyboard_name": "Bakeneko 65",
- "url": "https://github.com/kkatano/bakeneko-65-pcb",
+ "keyboard_name": "Bakeneko 65 V2",
+ "url": "https://github.com/kkatano/bakeneko-65",
"maintainer": "kkatano",
"width": 16,
"height": 5,
diff --git a/keyboards/bakeneko65/keymaps/default/keymap.c b/keyboards/bakeneko65/rev2/keymaps/default/keymap.c
index 4d6d297d94..4d6d297d94 100644
--- a/keyboards/bakeneko65/keymaps/default/keymap.c
+++ b/keyboards/bakeneko65/rev2/keymaps/default/keymap.c
diff --git a/keyboards/bakeneko65/rev2/keymaps/default/readme.md b/keyboards/bakeneko65/rev2/keymaps/default/readme.md
new file mode 100644
index 0000000000..71ad76773f
--- /dev/null
+++ b/keyboards/bakeneko65/rev2/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for Bakeneko 65 V2
diff --git a/keyboards/bakeneko65/keymaps/via/keymap.c b/keyboards/bakeneko65/rev2/keymaps/via/keymap.c
index a4cc2d8e8a..a4cc2d8e8a 100644
--- a/keyboards/bakeneko65/keymaps/via/keymap.c
+++ b/keyboards/bakeneko65/rev2/keymaps/via/keymap.c
diff --git a/keyboards/bakeneko65/keymaps/via/rules.mk b/keyboards/bakeneko65/rev2/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100644
--- a/keyboards/bakeneko65/keymaps/via/rules.mk
+++ b/keyboards/bakeneko65/rev2/keymaps/via/rules.mk
diff --git a/keyboards/bakeneko65/readme.md b/keyboards/bakeneko65/rev2/readme.md
index 87960d2f15..8d2fa6bc58 100644
--- a/keyboards/bakeneko65/readme.md
+++ b/keyboards/bakeneko65/rev2/readme.md
@@ -1,17 +1,17 @@
-# Bakeneko 65
+# Bakeneko 65 V2
A simple 65% keyboard
* Keyboard Maintainer: [kkatano](https://github.com/kkatano)
-* Hardware Supported: Bakeneko 65
+* Hardware Supported: Bakeneko 65 V2
* Hardware Availability: [Open source on GitHub](https://github.com/kkatano/bakeneko-65)
Make example for this keyboard (after setting up your build environment):
- make bakeneko65:default
+ make bakeneko65/rev2:default
Flashing example for this keyboard:
- make bakeneko65:default:flash
+ make bakeneko65/rev2: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/bakeneko65/bakeneko65.c b/keyboards/bakeneko65/rev2/rev2.c
index aa1ba8e661..a486650790 100644
--- a/keyboards/bakeneko65/bakeneko65.c
+++ b/keyboards/bakeneko65/rev2/rev2.c
@@ -14,4 +14,4 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "bakeneko65.h"
+#include "rev2.h"
diff --git a/keyboards/bakeneko65/bakeneko65.h b/keyboards/bakeneko65/rev2/rev2.h
index db2d5c14a6..db2d5c14a6 100644
--- a/keyboards/bakeneko65/bakeneko65.h
+++ b/keyboards/bakeneko65/rev2/rev2.h
diff --git a/keyboards/bakeneko65/rules.mk b/keyboards/bakeneko65/rev2/rules.mk
index f8a290cad5..f8a290cad5 100644
--- a/keyboards/bakeneko65/rules.mk
+++ b/keyboards/bakeneko65/rev2/rules.mk
diff --git a/keyboards/bakeneko65/rev3/config.h b/keyboards/bakeneko65/rev3/config.h
new file mode 100644
index 0000000000..6001ce3159
--- /dev/null
+++ b/keyboards/bakeneko65/rev3/config.h
@@ -0,0 +1,109 @@
+/*
+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/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0x3A0E
+#define PRODUCT_ID 0x4C83
+#define DEVICE_VER 0x0001
+#define MANUFACTURER kkatano
+#define PRODUCT Bakeneko 65 V3
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 16
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+ */
+#define MATRIX_ROW_PINS { E6, B7, F7, F4, F5 }
+#define MATRIX_COL_PINS { F6, B0, F1, C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, D1, D0 }
+#define UNUSED_PINS
+
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* define if matrix has ghost (lacks anti-ghosting diodes) */
+//#define MATRIX_HAS_GHOST
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
+ * This is useful for the Windows task manager shortcut (ctrl+shift+esc).
+ */
+//#define GRAVE_ESC_CTRL_OVERRIDE
+
+/*
+ * Force NKRO
+ *
+ * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
+ * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
+ * makefile for this to work.)
+ *
+ * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
+ * until the next keyboard reset.
+ *
+ * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
+ * fully operational during normal computer usage.
+ *
+ * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
+ * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
+ * bootmagic, NKRO mode will always be enabled until it is toggled again during a
+ * power-up.
+ *
+ */
+//#define FORCE_NKRO
+
+/*
+ * 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
+
+/* disable these deprecated features by default */
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
+
+/* Bootmagic Lite key configuration */
+//#define BOOTMAGIC_LITE_ROW 0
+//#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/bakeneko65/rev3/info.json b/keyboards/bakeneko65/rev3/info.json
new file mode 100644
index 0000000000..7e63af038c
--- /dev/null
+++ b/keyboards/bakeneko65/rev3/info.json
@@ -0,0 +1,12 @@
+{
+ "keyboard_name": "Bakeneko 65 V3",
+ "url": "https://github.com/kkatano/bakeneko-65",
+ "maintainer": "kkatano",
+ "width": 16,
+ "height": 5,
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [{"x":0, "y":0.25}, {"x":1, "y":0.25}, {"x":2, "y":0.25}, {"x":3, "y":0.25}, {"x":4, "y":0.25}, {"x":5, "y":0.25}, {"x":6, "y":0.25}, {"x":7, "y":0.25}, {"x":8, "y":0.25}, {"x":9, "y":0.25}, {"x":10, "y":0.25}, {"x":11, "y":0.25}, {"x":12, "y":0.25}, {"x":13, "y":0.25}, {"x":14, "y":0.25}, {"x":15, "y":0.25}, {"x":0, "y":1.25, "w":1.5}, {"x":1.5, "y":1.25}, {"x":2.5, "y":1.25}, {"x":3.5, "y":1.25}, {"x":4.5, "y":1.25}, {"x":5.5, "y":1.25}, {"x":6.5, "y":1.25}, {"x":7.5, "y":1.25}, {"x":8.5, "y":1.25}, {"x":9.5, "y":1.25}, {"x":10.5, "y":1.25}, {"x":11.5, "y":1.25}, {"x":12.5, "y":1.25}, {"x":13.5, "y":1.25, "w":1.5}, {"x":15, "y":1.25}, {"x":0, "y":2.25, "w":1.75}, {"x":1.75, "y":2.25}, {"x":2.75, "y":2.25}, {"x":3.75, "y":2.25}, {"x":4.75, "y":2.25}, {"x":5.75, "y":2.25}, {"x":6.75, "y":2.25}, {"x":7.75, "y":2.25}, {"x":8.75, "y":2.25}, {"x":9.75, "y":2.25}, {"x":10.75, "y":2.25}, {"x":11.75, "y":2.25}, {"x":12.75, "y":2.25, "w":2.25}, {"x":15, "y":2.25}, {"x":0, "y":3.25, "w":2.25}, {"x":2.25, "y":3.25}, {"x":3.25, "y":3.25}, {"x":4.25, "y":3.25}, {"x":5.25, "y":3.25}, {"x":6.25, "y":3.25}, {"x":7.25, "y":3.25}, {"x":8.25, "y":3.25}, {"x":9.25, "y":3.25}, {"x":10.25, "y":3.25}, {"x":11.25, "y":3.25}, {"x":12.25, "y":3.25, "w":1.75}, {"x":14, "y":3.25}, {"x":15, "y":3.25}, {"x":0, "y":4.25, "w":1.25}, {"x":1.25, "y":4.25, "w":1.25}, {"x":2.5, "y":4.25, "w":1.25}, {"x":3.75, "y":4.25, "w":6.25}, {"x":10, "y":4.25, "w":1.25}, {"x":11.25, "y":4.25, "w":1.25}, {"x":13, "y":4.25}, {"x":14, "y":4.25}, {"x":15, "y":4.25}]
+ }
+ }
+}
diff --git a/keyboards/bakeneko65/rev3/keymaps/default/keymap.c b/keyboards/bakeneko65/rev3/keymaps/default/keymap.c
new file mode 100644
index 0000000000..eb745e15ce
--- /dev/null
+++ b/keyboards/bakeneko65/rev3/keymaps/default/keymap.c
@@ -0,0 +1,38 @@
+/* Copyright 2020 kkatano
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+ _BASE,
+ _FN
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_all(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, 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_BSPC, KC_END,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [_FN] = LAYOUT_all(
+ RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_INS, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_DEL, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/bakeneko65/rev3/keymaps/default/readme.md b/keyboards/bakeneko65/rev3/keymaps/default/readme.md
new file mode 100644
index 0000000000..ecac9e3dff
--- /dev/null
+++ b/keyboards/bakeneko65/rev3/keymaps/default/readme.md
@@ -0,0 +1 @@
+# The default keymap for Bakeneko 65 V3
diff --git a/keyboards/bakeneko65/rev3/keymaps/via/keymap.c b/keyboards/bakeneko65/rev3/keymaps/via/keymap.c
new file mode 100644
index 0000000000..aed067bf10
--- /dev/null
+++ b/keyboards/bakeneko65/rev3/keymaps/via/keymap.c
@@ -0,0 +1,54 @@
+/* Copyright 2020 kkatano
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+ _L0,
+ _L1,
+ _L2,
+ _L3
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_L0] = LAYOUT_all(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_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_BSPC, KC_END,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_L1), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [_L1] = LAYOUT_all(
+ RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_INS, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_DEL, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [_L2] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [_L3] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/gmmk/pro/keymaps/via/rules.mk b/keyboards/bakeneko65/rev3/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100644
--- a/keyboards/gmmk/pro/keymaps/via/rules.mk
+++ b/keyboards/bakeneko65/rev3/keymaps/via/rules.mk
diff --git a/keyboards/bakeneko65/rev3/readme.md b/keyboards/bakeneko65/rev3/readme.md
new file mode 100644
index 0000000000..e147b11e6f
--- /dev/null
+++ b/keyboards/bakeneko65/rev3/readme.md
@@ -0,0 +1,17 @@
+# Bakeneko 65 V3
+
+A simple 65% keyboard
+
+* Keyboard Maintainer: [kkatano](https://github.com/kkatano)
+* Hardware Supported: Bakeneko 65 V3
+* Hardware Availability: [Open source on GitHub](https://github.com/kkatano/bakeneko-65)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make bakeneko65/rev3:default
+
+Flashing example for this keyboard:
+
+ make bakeneko65/rev3: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/bakeneko65/rev3/rev3.c b/keyboards/bakeneko65/rev3/rev3.c
new file mode 100644
index 0000000000..cf1084d495
--- /dev/null
+++ b/keyboards/bakeneko65/rev3/rev3.c
@@ -0,0 +1,17 @@
+/* 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 "rev3.h"
diff --git a/keyboards/bakeneko65/rev3/rev3.h b/keyboards/bakeneko65/rev3/rev3.h
new file mode 100644
index 0000000000..3e46097e39
--- /dev/null
+++ b/keyboards/bakeneko65/rev3/rev3.h
@@ -0,0 +1,33 @@
+/* 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/>.
+ */
+
+#pragma once
+
+#include "quantum.h"
+
+#define LAYOUT_all( \
+ k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015, \
+ k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, k115, \
+ k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k213, k215, \
+ k300, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, k313, k315, \
+ k400, k401, k402, k406, k409, k411, k412, k413, k415 \
+) { \
+ { k000, k001, k002, k003, k004, k005, k006, k007, k008, k009, k010, k011, k012, k013, k014, k015 }, \
+ { k100, k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, KC_NO, k115 }, \
+ { k200, k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, KC_NO, k213, KC_NO, k215 }, \
+ { k300, KC_NO, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, k313, KC_NO, k315 }, \
+ { k400, k401, k402, KC_NO, KC_NO, KC_NO, k406, KC_NO, KC_NO, k409, KC_NO, k411, k412, k413, KC_NO, k415 } \
+}
diff --git a/keyboards/bakeneko65/rev3/rules.mk b/keyboards/bakeneko65/rev3/rules.mk
new file mode 100644
index 0000000000..5c0d8f307c
--- /dev/null
+++ b/keyboards/bakeneko65/rev3/rules.mk
@@ -0,0 +1,22 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = no # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no # Enable Bluetooth
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/barracuda/rules.mk b/keyboards/barracuda/rules.mk
index 7233e7c00f..09a21e9e0b 100644
--- a/keyboards/barracuda/rules.mk
+++ b/keyboards/barracuda/rules.mk
@@ -20,5 +20,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
-
-LAYOUTS = ortho_3x11
diff --git a/keyboards/basekeys/trifecta/config.h b/keyboards/basekeys/trifecta/config.h
index 8a95291260..28c9c18fb2 100644
--- a/keyboards/basekeys/trifecta/config.h
+++ b/keyboards/basekeys/trifecta/config.h
@@ -80,11 +80,11 @@
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-//# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+//# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
# define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
# define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
+# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
# define RGB_MATRIX_HUE_STEP 8
# define RGB_MATRIX_SAT_STEP 8
# define RGB_MATRIX_VAL_STEP 8
diff --git a/keyboards/bastardkb/scylla/config.h b/keyboards/bastardkb/scylla/config.h
index 2a4972ea1e..d04dcb97fc 100644
--- a/keyboards/bastardkb/scylla/config.h
+++ b/keyboards/bastardkb/scylla/config.h
@@ -52,8 +52,6 @@
# define RGB_MATRIX_SPLIT { 29, 29 }
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
-# ifndef RGB_DISABLE_WHEN_USB_SUSPENDED
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true
-# endif
+# define RGB_DISABLE_WHEN_USB_SUSPENDED
# define RGB_MATRIX_KEYPRESSES
#endif
diff --git a/keyboards/bastardkb/scylla/rules.mk b/keyboards/bastardkb/scylla/rules.mk
index 70e6f13e0b..c39dd8fbee 100644
--- a/keyboards/bastardkb/scylla/rules.mk
+++ b/keyboards/bastardkb/scylla/rules.mk
@@ -23,3 +23,4 @@ RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
SPLIT_KEYBOARD = yes
+LTO_ENABLE = yes
diff --git a/keyboards/bastardkb/tbkmini/config.h b/keyboards/bastardkb/tbkmini/config.h
index adda761744..a09dafe488 100644
--- a/keyboards/bastardkb/tbkmini/config.h
+++ b/keyboards/bastardkb/tbkmini/config.h
@@ -53,8 +53,6 @@
# define RGB_MATRIX_SPLIT { 21, 21 }
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 50
# define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
-# ifndef RGB_DISABLE_WHEN_USB_SUSPENDED
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true
-# endif
+# define RGB_DISABLE_WHEN_USB_SUSPENDED
# define RGB_MATRIX_KEYPRESSES
#endif
diff --git a/keyboards/bm40hsrgb/config.h b/keyboards/bm40hsrgb/config.h
index 167a5667a4..8ef9a78c7d 100755
--- a/keyboards/bm40hsrgb/config.h
+++ b/keyboards/bm40hsrgb/config.h
@@ -50,6 +50,6 @@
#ifdef RGB_DI_PIN
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
#endif
-#ifndef RGB_DISABLE_WHEN_USB_SUSPENDED
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+#ifdef RGB_MATRIX_ENABLE
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#endif
diff --git a/keyboards/bm40hsrgb/keymaps/via/rules.mk b/keyboards/bm40hsrgb/keymaps/via/rules.mk
index 1e5b99807c..36b7ba9cbc 100644
--- a/keyboards/bm40hsrgb/keymaps/via/rules.mk
+++ b/keyboards/bm40hsrgb/keymaps/via/rules.mk
@@ -1 +1,2 @@
VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/bm68rgb/keymaps/peepeetee/config.h b/keyboards/bm68rgb/keymaps/peepeetee/config.h
index 53eebce7f2..aada255cd7 100644
--- a/keyboards/bm68rgb/keymaps/peepeetee/config.h
+++ b/keyboards/bm68rgb/keymaps/peepeetee/config.h
@@ -64,7 +64,7 @@
// #define RGBLIGHT_SAT_STEP 25 // Units to step when in/decreasing saturation
// #define RGBLIGHT_VAL_STEP 12 // Units to step when in/decreasing value (brightness)
// #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-// #define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended
+// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
// #define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
// #define RGBLIGHT_ANIMATIONS // Run RGB animations
diff --git a/keyboards/boardsource/3x4/config.h b/keyboards/boardsource/3x4/config.h
index c997f72a9d..32a0b3d290 100644
--- a/keyboards/boardsource/3x4/config.h
+++ b/keyboards/boardsource/3x4/config.h
@@ -15,7 +15,7 @@
#define MATRIX_ROWS 3
#define MATRIX_COLS 4
-#define MATRIX_ROW_PINS { F7, F6, F5,}
+#define MATRIX_ROW_PINS {F7, F6, F5}
#define MATRIX_COL_PINS {B6, B2, B3, B1}
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/boardsource/the_mark/config.h b/keyboards/boardsource/the_mark/config.h
index 5888452ce4..cbfe4cd510 100644
--- a/keyboards/boardsource/the_mark/config.h
+++ b/keyboards/boardsource/the_mark/config.h
@@ -41,8 +41,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
-#define MATRIX_ROW_PINS {B0, B1, B2, B3, B4,}
-#define MATRIX_COL_PINS { B5, B6, B7, F5, C7, D0, D1, D2, D3, D4, D5, D6, D7,F0, F1, F4}
+#define MATRIX_ROW_PINS {B0, B1, B2, B3, B4}
+#define MATRIX_COL_PINS {B5, B6, B7, F5, C7, D0, D1, D2, D3, D4, D5, D6, D7,F0, F1, F4}
#define UNUSED_PINS
/* COL2ROW, ROW2COL */
@@ -56,11 +56,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* RGB matrix support */
#ifdef RGB_MATRIX_ENABLE
-#define DRIVER_LED_TOTAL 24 // Number of LEDs
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-# ifndef RGB_DISABLE_WHEN_USB_SUSPENDED
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
-# endif
+# define DRIVER_LED_TOTAL 24 // Number of LEDs
+# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#endif
/*
diff --git a/keyboards/boardwalk/keymaps/mcallaster/keymap.c b/keyboards/boardwalk/keymaps/mcallaster/keymap.c
index 9ec6f92671..ac1df1b033 100644
--- a/keyboards/boardwalk/keymaps/mcallaster/keymap.c
+++ b/keyboards/boardwalk/keymaps/mcallaster/keymap.c
@@ -49,6 +49,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
)
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _FN);
}
diff --git a/keyboards/bpiphany/frosty_flake/frosty_flake.h b/keyboards/bpiphany/frosty_flake/frosty_flake.h
index cc870c277e..f4f69f1a3d 100644
--- a/keyboards/bpiphany/frosty_flake/frosty_flake.h
+++ b/keyboards/bpiphany/frosty_flake/frosty_flake.h
@@ -111,12 +111,26 @@
KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6, KB1, \
KN2, KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0, KN3, KO6, \
KA4, KP2, KC6, KK6, KC0, KM3, KD0, KA1, KO0, KK0, KL0 \
-) LAYOUT_tkl( \
- KJ6, KI4, KH4, KH2, KH6, KA7, KE6, KD2, KD4, KB4, KB7, KB6, KB0, KC7, KC5, KA5, \
- KJ4, KJ7, KI7, KH7, KG7, KG4, KF4, KF7, KE7, KD7, KR7, KR4, KE4, KB2, KL4, KO4, KQ4, \
- KJ2, KJ5, KI5, KH5, KG5, KG2, KF2, KF5, KE5, KD5, KR5, KR2, KE2, KB3, KK4, KO7, KQ7, \
- KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6, KB1, \
- KN2, KC_NO, KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0, KN3, KO6, \
- KA4, KP2, KC6, KK6, KC0, KM3, KD0, KA1, KO0, KK0, KL0 \
-)
+) \
+{ \
+/* 0 1 2 3 4 5 6 7 */ \
+/* A */ { KC_NO, KA1, KC_NO, KC_NO, KA4, KA5, KC_NO, KA7, }, \
+/* B */ { KB0, KB1, KB2, KB3, KB4, KC_NO, KB6, KB7, }, \
+/* C */ { KC0, KC_NO, KC_NO, KC_NO, KC_NO, KC5, KC6, KC7, }, \
+/* D */ { KD0, KD1, KD2, KD3, KD4, KD5, KC_NO, KD7, }, \
+/* E */ { KC_NO, KE1, KE2, KE3, KE4, KE5, KE6, KE7, }, \
+/* F */ { KF0, KF1, KF2, KF3, KF4, KF5, KF6, KF7, }, \
+/* G */ { KG0, KG1, KG2, KG3, KG4, KG5, KG6, KG7, }, \
+/* H */ { KC_NO, KH1, KH2, KH3, KH4, KH5, KH6, KH7, }, \
+/* I */ { KC_NO, KI1, KI2, KI3, KI4, KI5, KC_NO, KI7, }, \
+/* J */ { KC_NO, KJ1, KJ2, KJ3, KJ4, KJ5, KJ6, KJ7, }, \
+/* K */ { KK0, KC_NO, KC_NO, KC_NO, KK4, KC_NO, KK6, KC_NO, }, \
+/* L */ { KL0, KC_NO, KC_NO, KC_NO, KL4, KC_NO, KC_NO, KC_NO, }, \
+/* M */ { KC_NO, KC_NO, KC_NO, KM3, KC_NO, KC_NO, KC_NO, KC_NO, }, \
+/* N */ { KC_NO, KC_NO, KN2, KN3, KC_NO, KC_NO, KC_NO, KC_NO, }, \
+/* O */ { KO0, KC_NO, KC_NO, KC_NO, KO4, KC_NO, KO6, KO7, }, \
+/* P */ { KC_NO, KC_NO, KP2, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, }, \
+/* Q */ { KC_NO, KC_NO, KC_NO, KC_NO, KQ4, KC_NO, KC_NO, KQ7, }, \
+/* R */ { KR0, KC_NO, KR2, KR3, KR4, KR5, KR6, KR7, }, \
+}
diff --git a/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c b/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c
index e2b56132bf..cc4d0bca63 100644
--- a/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c
+++ b/keyboards/bpiphany/kitten_paw/keymaps/ickerwx/keymap.c
@@ -1,12 +1,6 @@
#include QMK_KEYBOARD_H
#include "mousekey.h"
-#undef C
-#undef S
-#define C(kc) LCTL(KC_##kc)
-#define S(kc) LSFT(KC_##kc)
-#define RA(kc) RALT(KC_##kc)
-#define KC_SLCT KC_SELECT
#define MEDAPP LT(MEDIA, KC_APP)
uint8_t current_layer_global = 255;
@@ -21,19 +15,16 @@ enum layers {
MISC,
};
-enum function_id {
- LSHFT_PAREN,
+enum custom_keycodes {
+ LSHFT_PAREN = SAFE_RANGE,
RSHFT_PAREN,
LCTRL_BRACKET,
RCTRL_BRACKET,
LALT_CURLY,
RALT_CURLY,
- CTRL_CLICK
-};
-
-enum macro_id {
- GRV,
- CFLEX
+ CTRL_CLICK,
+ M_GRV,
+ M_CFLEX
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -42,25 +33,25 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_NLCK,KC_PSLS,KC_PAST,KC_PMNS, \
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,KC_LBRC,KC_RBRC,KC_BSLS, KC_DEL, KC_END,KC_PGDN, KC_P7, KC_P8, KC_P9,KC_PPLS, \
TT(MOUSE1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L,KC_SCLN,KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, \
- F(8),KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M,KC_COMM, KC_DOT,KC_SLSH, F(9), KC_UP, KC_P1, KC_P2, KC_P3,KC_PENT, \
- F(1),KC_LGUI, F(3), LT(MISC, KC_SPC), F(4),TT(PROG1), MEDAPP, F(2), KC_LEFT,KC_DOWN,KC_RGHT, KC_P0,KC_PDOT),
+ LSHFT_PAREN,KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M,KC_COMM, KC_DOT,KC_SLSH, RSHFT_PAREN, KC_UP, KC_P1, KC_P2, KC_P3,KC_PENT, \
+ LCTRL_BRACKET,KC_LGUI, LALT_CURLY, LT(MISC, KC_SPC), RALT_CURLY,TT(PROG1), MEDAPP, RCTRL_BRACKET, KC_LEFT,KC_DOWN,KC_RGHT, KC_P0,KC_PDOT),
/* Layer 1: Programming Layer 1, emulating US l ayout */
[PROG1] = LAYOUT(\
KC_ESC,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, \
- M(GRV),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_SLSH, S(0),_______, _______,_______,_______, _______,_______,_______,_______, \
- _______,_______,_______,_______,_______,_______, KC_Z,_______,_______,_______,_______, RA(8), RA(9),RA(MINS), _______,_______,_______, _______,_______,_______,_______, \
- _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,S(COMM),S(BSLS), _______, _______,_______,_______, \
- MO(PROG2),_______, KC_Y,_______,_______,_______,_______,_______,_______,_______,_______, S(7), MO(PROG2), _______, _______,_______,_______,_______, \
+ M_GRV,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_SLSH,S(KC_0),_______, _______,_______,_______, _______,_______,_______,_______, \
+ _______,_______,_______,_______,_______,_______, KC_Z,_______,_______,_______,_______,ALGR(KC_8),ALGR(KC_9),ALGR(KC_MINS), _______,_______,_______, _______,_______,_______,_______, \
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,S(KC_COMM),S(KC_BSLS), _______, _______,_______,_______, \
+ MO(PROG2),_______, KC_Y,_______,_______,_______,_______,_______,_______,_______,_______, S(KC_7), MO(PROG2), _______, _______,_______,_______,_______, \
_______,_______,_______, _______, _______,_______,_______,_______, _______,_______,_______, _______,_______),
/* Layer 2: programming layer 2
all keys that are not FN keys are sent as LSFT+key on this layer
*/
[PROG2] = LAYOUT(\
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, \
- RA(RBRC),_______, RA(Q),KC_BSLS,_______,_______,M(CFLEX), S(6),S(RBRC), S(8), S(9),S(SLSH),KC_RBRC,_______, _______,_______,_______, _______,_______,_______,_______, \
- _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RA(7), RA(0),RA(NUBS), _______,_______,_______, _______,_______,_______,_______, \
- _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, S(DOT), S(2), _______, _______,_______,_______, \
- _______,S(NUBS),_______,_______,_______,_______,_______,_______,_______,KC_NUBS,S(NUBS),S(MINS), _______, _______, _______,_______,_______,_______, \
+ ALGR(KC_RBRC),_______, ALGR(KC_Q),KC_BSLS,_______,_______,M_CFLEX, S(KC_6),S(KC_RBRC), S(KC_8),S(KC_9),S(KC_SLSH),KC_RBRC,_______, _______,_______,_______, _______,_______,_______,_______, \
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, ALGR(KC_7),ALGR(KC_0),ALGR(KC_NUBS), _______,_______,_______, _______,_______,_______,_______, \
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, S(KC_DOT), S(KC_2), _______, _______,_______,_______, \
+ _______,S(KC_NUBS),_______,_______,_______,_______,_______,_______,_______,KC_NUBS,S(KC_NUBS),S(KC_MINS), _______, _______, _______,_______,_______,_______, \
_______,_______,_______, _______, _______,_______,_______,_______, _______,_______,_______, _______,_______),
/* Layer 3: media layer */
[MEDIA] = LAYOUT(\
@@ -72,11 +63,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX, XXXXXXX,XXXXXXX,_______,XXXXXXX, KC_MRWD,KC_MSTP,KC_MFFD, XXXXXXX,XXXXXXX),
/* Layer 4: Mouse layer */
[MOUSE1] = LAYOUT(\
- F(6),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, \
+ TO(DEFAULT),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, \
_______,KC_ACL0,KC_ACL1,KC_ACL2,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, \
- _______,KC_BTN4,KC_WH_D,KC_MS_U,KC_WH_U,_______, C(Z),_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, \
- _______,KC_BTN5,KC_MS_L,KC_MS_D,KC_MS_R, F(7),KC_WH_L,KC_WH_D,KC_WH_U,KC_WH_R,_______,_______, _______, _______,_______,_______, \
- MO(MOUSE2),_______, C(Y), C(X), C(C), C(V),_______,KC_BTN2,KC_BTN3,C(PGUP),C(PGDN),_______, KC_RSFT, _______, _______,_______,_______,_______, \
+ _______,KC_BTN4,KC_WH_D,KC_MS_U,KC_WH_U,_______, C(KC_Z),_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, \
+ _______,KC_BTN5,KC_MS_L,KC_MS_D,KC_MS_R, CTRL_CLICK,KC_WH_L,KC_WH_D,KC_WH_U,KC_WH_R,_______,_______, _______, _______,_______,_______, \
+ MO(MOUSE2),_______,C(KC_Y),C(KC_X),C(KC_C),C(KC_V),_______,KC_BTN2,KC_BTN3,C(KC_PGUP),C(KC_PGDN),_______, KC_RSFT, _______, _______,_______,_______,_______, \
KC_LCTL,_______,KC_LALT, KC_BTN1, KC_RALT,KC_RGUI, KC_APP,KC_RCTL, _______,_______,_______, _______,_______),
/* Layer 5: Mouse layer 2*/
[MOUSE2] = LAYOUT(\
@@ -90,44 +81,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[MISC] = LAYOUT(\
_______, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, _______,_______,_______, \
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, \
- _______,KC_SLCT, C(W), KC_UP,_______,_______,_______,_______,KC_BSPC, KC_DEL,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, \
+ _______,KC_SLCT, C(KC_W), KC_UP,_______,_______,_______,_______,KC_BSPC, KC_DEL,_______,_______,_______,_______, _______,_______,_______, _______,_______,_______,_______, \
_______,_______,KC_LEFT,KC_DOWN,KC_RGHT,_______,KC_HOME,KC_PGDN,KC_PGUP,_______,_______,_______, _______, _______,_______,_______, \
- KC_LSFT,_______, C(Y), C(X), C(C), C(V), KC_SPC, KC_END,_______,C(PGUP),C(PGDN),_______, _______, _______, _______,_______,_______,_______, \
+ KC_LSFT,_______,C(KC_Y),C(KC_X),C(KC_C),C(KC_V), KC_SPC, KC_END,_______,C(KC_PGUP),C(KC_PGDN),_______, _______, _______, _______,_______,_______,_______, \
_______,_______,_______, LT(MISC, KC_SPC), _______,_______,_______,_______, _______,_______,_______, _______,_______),
};
-const uint16_t PROGMEM fn_actions[] = {
- [1] = ACTION_FUNCTION_TAP(LCTRL_BRACKET), // tap to print [
- [2] = ACTION_FUNCTION_TAP(RCTRL_BRACKET), // tap to print ]
- [3] = ACTION_FUNCTION_TAP(LALT_CURLY), // tap to print {
- [4] = ACTION_FUNCTION_TAP(RALT_CURLY), // tap to print }
- [6] = ACTION_LAYER_SET_CLEAR(DEFAULT),
- [7] = ACTION_FUNCTION_TAP(CTRL_CLICK),
- [8] = ACTION_FUNCTION_TAP(LSHFT_PAREN), // tap to print (
- [9] = ACTION_FUNCTION_TAP(RSHFT_PAREN), // tap to print )
-};
-
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- // MACRODOWN only works in this function
- switch(id) {
- case GRV: // macro to print accent grave
- return (record->event.pressed ?
- MACRO( D(LSFT), T(EQL), U(RALT), T(SPC), END) :
- MACRO_NONE );
- case CFLEX: // print accent circonflex
- return (record->event.pressed ?
- MACRO( T(GRV), T(SPC), END ) :
- MACRO_NONE );
- }
- return MACRO_NONE;
-};
-
-
-void matrix_init_user(void) {
-
-}
-
void matrix_scan_user(void) {
uint8_t layer;
layer = biton32(layer_state);
@@ -147,10 +106,6 @@ void matrix_scan_user(void) {
}
}
-void led_set_user(uint8_t usb_led) {
-
-}
-
void tap_helper(keyrecord_t *record, uint16_t orig_mod, uint16_t macro_mod, uint16_t macro_kc ) {
if (record->event.pressed) {
if (record->tap.count > 0 && !record->tap.interrupted) {
@@ -175,28 +130,45 @@ void tap_helper(keyrecord_t *record, uint16_t orig_mod, uint16_t macro_mod, uint
}
}
-/* if LCTRL is tabbed, print (, or ) if RCTRL is tabbed, same for LALT/RALT and [/] */
-void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
- // The code is copied from keymap_hasu.c in the tmk keyboards hhkb folder
- switch (id) {
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ uint8_t layer;
+ layer = biton32(layer_state);
+ if (layer == PROG2) {
+ if (keycode >= KC_A && keycode <= KC_EXSEL && \
+ !( // do not send LSFT + these keycodes, they are needed for emulating the US layout
+ keycode == KC_NONUS_BSLASH ||
+ keycode == KC_RBRC ||
+ keycode == KC_BSLS ||
+ keycode == KC_GRV
+ )) {
+ // LSFT is the modifier for this layer, so we set LSFT for every key to get the expected behavior
+ if (record->event.pressed) {
+ register_mods(MOD_LSFT);
+ } else {
+ unregister_mods(MOD_LSFT);
+ }
+ }
+ }
+
+ switch (keycode) {
case LCTRL_BRACKET:
tap_helper(record, KC_LCTL, KC_RALT, KC_8);
- break;
+ return false;
case RCTRL_BRACKET:
tap_helper(record, KC_RCTL, KC_RALT, KC_9);
- break;
+ return false;
case LALT_CURLY:
tap_helper(record, KC_LALT, KC_RALT, KC_7);
- break;
+ return false;
case RALT_CURLY:
tap_helper(record, KC_RALT, KC_RALT, KC_0);
- break;
+ return false;
case LSHFT_PAREN:
tap_helper(record, KC_LSFT, KC_LSFT, KC_8);
- break;
+ return false;
case RSHFT_PAREN:
tap_helper(record, KC_RSFT, KC_LSFT, KC_9);
- break;
+ return false;
case CTRL_CLICK:
if (record->event.pressed) {
mousekey_clear();
@@ -212,28 +184,16 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
unregister_mods(MOD_BIT(KC_LCTL));
send_keyboard_report();
}
- break;
+ return false;
+ case M_GRV:
+ tap_code16(S(KC_EQL));
+ tap_code(KC_SPC);
+ return false;
+ case M_CFLEX:
+ tap_code(KC_GRV);
+ tap_code(KC_SPC);
+ return false;
}
-}
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- uint8_t layer;
- layer = biton32(layer_state);
- if (layer == PROG2) {
- if (keycode >= KC_A && keycode <= KC_EXSEL && \
- !( // do not send LSFT + these keycodes, they are needed for emulating the US layout
- keycode == KC_NONUS_BSLASH ||
- keycode == KC_RBRC ||
- keycode == KC_BSLS ||
- keycode == KC_GRV
- )) {
- // LSFT is the modifier for this layer, so we set LSFT for every key to get the expected behavior
- if (record->event.pressed) {
- register_mods(MOD_LSFT);
- } else {
- unregister_mods(MOD_LSFT);
- }
- }
- }
return true;
}
diff --git a/keyboards/bpiphany/pegasushoof/2013/2013.h b/keyboards/bpiphany/pegasushoof/2013/2013.h
index b3e911ab41..7a4d7f0b58 100644
--- a/keyboards/bpiphany/pegasushoof/2013/2013.h
+++ b/keyboards/bpiphany/pegasushoof/2013/2013.h
@@ -45,14 +45,16 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
KH2, KG3, KH3, KI3, KJ3, KJ6, KK6, KK3, KL3, KM3, KF3, KF6, KO1, \
KB2, KG1, KH1, KI1, KJ1, KJ0, KK0, KK1, KL1, KM1, KF0, KB3, KC6, \
KP4, KD2, KN6, KQ6, KN0, KA3, KM0, KP1, KC0, KQ0, KR0 \
- ) LAYOUT( \
- KG6, KH4, KI4, KI2, KI6, KP5, KL6, KM2, KM4, KO4, KO5, KO6, KO0, KN5, KN7, KP7, \
- KG4, KG5, KH5, KI5, KJ5, KJ4, KK4, KK5, KL5, KM5, KF5, KF4, KL4, KO2, KR4, KC4, KE4, \
- KG2, KG7, KH7, KI7, KJ7, KJ2, KK2, KK7, KL7, KM7, KF7, KF2, KL2, KO3, KQ4, KC5, KE5, \
- KH2, KG3, KH3, KI3, KJ3, KJ6, KK6, KK3, KL3, KM3, KF3, KF6, KO1, \
- KB2,KC_NO,KG1, KH1, KI1, KJ1, KJ0, KK0, KK1, KL1, KM1, KF0, KB3, KC6, \
- KP4, KD2, KN6, KQ6, KN0, KA3, KM0, KP1, KC0, KQ0, KR0 \
- )
+ ) { /* 00-A 01-B 02-C 03-D 04-E 05-F 06-G 07-H 08-I 09-J 10-K 11-L 12-M 13-N 14-O 15-P 16-Q 17-R */ \
+ /* 0 */ { KC_NO , KC_NO , KC0 , KC_NO , KC_NO , KF0 , KC_NO , KC_NO , KC_NO , KJ0 , KK0 , KC_NO , KM0 , KN0 , KO0 , KC_NO , KQ0 , KR0 }, \
+ /* 1 */ { KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KG1 , KH1 , KI1 , KJ1 , KK1 , KL1 , KM1 , KC_NO , KO1 , KP1 , KC_NO , KC_NO }, \
+ /* 2 */ { KC_NO , KB2 , KC_NO , KD2 , KC_NO , KF2 , KG2 , KH2 , KI2 , KJ2 , KK2 , KL2 , KM2 , KC_NO , KO2 , KC_NO , KC_NO , KC_NO }, \
+ /* 3 */ { KA3 , KB3 , KC_NO , KC_NO , KC_NO , KF3 , KG3 , KH3 , KI3 , KJ3 , KK3 , KL3 , KM3 , KC_NO , KO3 , KC_NO , KC_NO , KC_NO }, \
+ /* 4 */ { KC_NO , KC_NO , KC4 , KC_NO , KE4 , KF4 , KG4 , KH4 , KI4 , KJ4 , KK4 , KL4 , KM4 , KC_NO , KO4 , KP4 , KQ4 , KR4 }, \
+ /* 5 */ { KC_NO , KC_NO , KC5 , KC_NO , KE5 , KF5 , KG5 , KH5 , KI5 , KJ5 , KK5 , KL5 , KM5 , KN5 , KO5 , KP5 , KC_NO , KC_NO }, \
+ /* 6 */ { KC_NO , KC_NO , KC6 , KC_NO , KC_NO , KF6 , KG6 , KC_NO , KI6 , KJ6 , KK6 , KL6 , KC_NO , KN6 , KO6 , KC_NO , KQ6 , KC_NO }, \
+ /* 7 */ { KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KF7 , KG7 , KH7 , KI7 , KJ7 , KK7 , KL7 , KM7 , KN7 , KC_NO , KP7 , KC_NO , KC_NO } \
+ }
#define LAYOUT_tkl_jis( \
KG6, KH4, KI4, KI2, KI6, KP5, KL6, KM2, KM4, KO4, KO5, KO6, KO0, KN5, KN7, KP7, \
diff --git a/keyboards/bpiphany/pegasushoof/2015/2015.h b/keyboards/bpiphany/pegasushoof/2015/2015.h
index 8a0084d405..418772aa28 100644
--- a/keyboards/bpiphany/pegasushoof/2015/2015.h
+++ b/keyboards/bpiphany/pegasushoof/2015/2015.h
@@ -47,14 +47,16 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6, KB1, \
KN2, KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0, KN3, KO6, \
KA4, KP2, KC6, KK6, KC0, KM3, KD0, KA1, KO0, KK0, KL0 \
- ) LAYOUT( \
- KJ6, KI4, KH4, KH2, KH6, KA7, KE6, KD2, KD4, KB4, KB7, KB6, KB0, KC7, KC5, KA5, \
- KJ4, KJ7, KI7, KH7, KG7, KG4, KF4, KF7, KE7, KD7, KR7, KR4, KE4, KB2, KL4, KO4, KQ4, \
- KJ2, KJ5, KI5, KH5, KG5, KG2, KF2, KF5, KE5, KD5, KR5, KR2, KE2, KB3, KK4, KO7, KQ7, \
- KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6, KB1, \
- KN2,KC_NO,KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0, KN3, KO6, \
- KA4, KP2, KC6, KK6, KC0, KM3, KD0, KA1, KO0, KK0, KL0 \
- )
+ ) { /* 00-A 01-B 02-C 03-D 04-E 05-F 06-G 07-H 08-I 09-J 10-K 11-L 12-M 13-N 14-O 15-P 16-Q 17-R */ \
+ /* 0 */ { ___ , KB0 , KC0 , KD0 , ___ , KF0 , KG0 , ___ , ___ , ___ , KK0 , KL0 , ___ , ___ , KO0 , ___ , ___ , KR0 }, \
+ /* 1 */ { KA1 , KB1 , ___ , KD1 , KE1 , KF1 , KG1 , KH1 , KI1 , KJ1 , ___ , ___ , ___ , ___ , ___ , ___ , ___ , ___ }, \
+ /* 2 */ { ___ , KB2 , ___ , KD2 , KE2 , KF2 , KG2 , KH2 , KI2 , KJ2 , ___ , ___ , ___ , KN2 , ___ , KP2 , ___ , KR2 }, \
+ /* 3 */ { ___ , KB3 , ___ , KD3 , KE3 , KF3 , KG3 , KH3 , KI3 , KJ3 , ___ , ___ , KM3 , KN3 , ___ , ___ , ___ , KR3 }, \
+ /* 4 */ { KA4 , KB4 , ___ , KD4 , KE4 , KF4 , KG4 , KH4 , KI4 , KJ4 , KK4 , KL4 , ___ , ___ , KO4 , ___ , KQ4 , KR4 }, \
+ /* 5 */ { KA5 , ___ , KC5 , KD5 , KE5 , KF5 , KG5 , KH5 , KI5 , KJ5 , ___ , ___ , ___ , ___ , ___ , ___ , ___ , KR5 }, \
+ /* 6 */ { ___ , KB6 , KC6 , ___ , KE6 , KF6 , KG6 , KH6 , ___ , KJ6 , KK6 , ___ , ___ , ___ , KO6 , ___ , ___ , KR6 }, \
+ /* 7 */ { KA7 , KB7 , KC7 , KD7 , KE7 , KF7 , KG7 , KH7 , KI7 , KJ7 , ___ , ___ , ___ , ___ , KO7 , ___ , KQ7 , KR7 } \
+ }
#define LAYOUT_tkl_iso( \
KJ6, KI4, KH4, KH2, KH6, KA7, KE6, KD2, KD4, KB4, KB7, KB6, KB0, KC7, KC5, KA5, \
@@ -63,14 +65,16 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6, KB3, KB1, \
KN2, KI6, KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0, KN3, KO6, \
KA4, KP2, KC6, KK6, KC0, KM3, KD0, KA1, KO0, KK0, KL0 \
- ) LAYOUT( \
- KJ6, KI4, KH4, KH2, KH6, KA7, KE6, KD2, KD4, KB4, KB7, KB6, KB0, KC7, KC5, KA5, \
- KJ4, KJ7, KI7, KH7, KG7, KG4, KF4, KF7, KE7, KD7, KR7, KR4, KE4, KB2, KL4, KO4, KQ4, \
- KJ2, KJ5, KI5, KH5, KG5, KG2, KF2, KF5, KE5, KD5, KR5, KR2, KE2, KB3, KK4, KO7, KQ7, \
- KI2, KJ3, KI3, KH3, KG3, KG6, KF6, KF3, KE3, KD3, KR3, KR6, KB1, \
- KN2, KI6 ,KJ1, KI1, KH1, KG1, KG0, KF0, KF1, KE1, KD1, KR0, KN3, KO6, \
- KA4, KP2, KC6, KK6, KC0, KM3, KD0, KA1, KO0, KK0, KL0 \
- )
+ ) { /* 00-A 01-B 02-C 03-D 04-E 05-F 06-G 07-H 08-I 09-J 10-K 11-L 12-M 13-N 14-O 15-P 16-Q 17-R */ \
+ /* 0 */ { ___ , KB0 , KC0 , KD0 , ___ , KF0 , KG0 , ___ , ___ , ___ , KK0 , KL0 , ___ , ___ , KO0 , ___ , ___ , KR0 }, \
+ /* 1 */ { KA1 , KB1 , ___ , KD1 , KE1 , KF1 , KG1 , KH1 , KI1 , KJ1 , ___ , ___ , ___ , ___ , ___ , ___ , ___ , ___ }, \
+ /* 2 */ { ___ , KB2 , ___ , KD2 , KE2 , KF2 , KG2 , KH2 , KI2 , KJ2 , ___ , ___ , ___ , KN2 , ___ , KP2 , ___ , KR2 }, \
+ /* 3 */ { ___ , KB3 , ___ , KD3 , KE3 , KF3 , KG3 , KH3 , KI3 , KJ3 , ___ , ___ , KM3 , KN3 , ___ , ___ , ___ , KR3 }, \
+ /* 4 */ { KA4 , KB4 , ___ , KD4 , KE4 , KF4 , KG4 , KH4 , KI4 , KJ4 , KK4 , KL4 , ___ , ___ , KO4 , ___ , KQ4 , KR4 }, \
+ /* 5 */ { KA5 , ___ , KC5 , KD5 , KE5 , KF5 , KG5 , KH5 , KI5 , KJ5 , ___ , ___ , ___ , ___ , ___ , ___ , ___ , KR5 }, \
+ /* 6 */ { ___ , KB6 , KC6 , ___ , KE6 , KF6 , KG6 , KH6 , KI6 , KJ6 , KK6 , ___ , ___ , ___ , KO6 , ___ , ___ , KR6 }, \
+ /* 7 */ { KA7 , KB7 , KC7 , KD7 , KE7 , KF7 , KG7 , KH7 , KI7 , KJ7 , ___ , ___ , ___ , ___ , KO7 , ___ , KQ7 , KR7 } \
+ }
#define LAYOUT_tkl_jis( \
KJ6, KI4, KH4, KH2, KH6, KA7, KE6, KD2, KD4, KB4, KB7, KB6, KB0, KC7, KC5, KA5, \
diff --git a/keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c b/keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c
index f9234a7b2f..7884462021 100644
--- a/keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c
+++ b/keyboards/bpiphany/pegasushoof/keymaps/blowrak/keymap.c
@@ -24,8 +24,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define SE_AO KC_LBRC
#define SE_CIRC KC_RBRC
#define SE_QUOT KC_BSLS
-#define SE_OE KC_SCLN
-#define SE_AE KC_QUOT
+#define SE_ODIA KC_SCLN
+#define SE_ADIA KC_QUOT
#define SE_MINS KC_SLSH
#define SE_LTGT KC_NUBS
#define SE_LCBR RALT(KC_7)
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[KM_BLOWRAK] = 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_PSCR,KC_SLCK,KC_PAUS, \
SE_HALF, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS,SE_ACUT,KC_BSPC, KC_INS, KC_HOME,KC_PGUP, \
- KC_TAB, SE_AO, SE_AE, SE_OE, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_COMM,SE_CIRC,SE_QUOT, KC_DEL, KC_END, KC_PGDN, \
+ KC_TAB, SE_AO, SE_ADIA,SE_ODIA,KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_COMM,SE_CIRC,SE_QUOT, KC_DEL, KC_END, KC_PGDN, \
KC_LCTRL,KC_A, KC_O, KC_E, KC_U, KC_I, KC_H, KC_D, KC_T, KC_N, KC_S, SE_MINS, KC_ENT, \
KC_LSFT, SE_LTGT,KC_DOT, KC_Q, KC_J, KC_K, KC_B, KC_X, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_UP, \
MO(KM_MEDIA),KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI,KC_MENU,TG(KM_QWERTY), KC_LEFT,KC_DOWN,KC_RGHT),
@@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_SLCK,KC_PAUS, \
SE_HALF, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS,SE_ACUT,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, SE_AO, SE_CIRC,SE_QUOT, KC_DEL, KC_END, KC_PGDN, \
- KC_LCTRL,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SE_OE, SE_AE, KC_ENT, \
+ KC_LCTRL,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SE_ODIA,SE_ADIA, KC_ENT, \
KC_LSFT, SE_LTGT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, SE_MINS, KC_RSFT, KC_UP, \
MO(KM_MEDIA),KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI,KC_MENU,TG(KM_QWERTY), KC_LEFT,KC_DOWN,KC_RGHT),
/* Layer 2: Media layer */
diff --git a/keyboards/c39/keymaps/drashna/keymap.c b/keyboards/c39/keymaps/drashna/keymap.c
index 88065263cf..6fd1f12984 100755
--- a/keyboards/c39/keymaps/drashna/keymap.c
+++ b/keyboards/c39/keymaps/drashna/keymap.c
@@ -39,54 +39,29 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT_base_wrapper(
+ [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper(
_________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
_________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
_________________QWERTY_L3_________________, _________________QWERTY_R3_________________
),
- [_COLEMAK] = LAYOUT_base_wrapper(
+ [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper(
+ ______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________,
+ ______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________,
+ ______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________
+ ),
+ [_DEFAULT_LAYER_3] = LAYOUT_base_wrapper(
_________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
_________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
_________________COLEMAK_L3________________, _________________COLEMAK_R3________________
),
- [_DVORAK] = LAYOUT_base_wrapper(
+ [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper(
_________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
_________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
_________________DVORAK_L3_________________, _________________DVORAK_R3_________________
),
- [_WORKMAN] = LAYOUT_base_wrapper(
- _________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
- _________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
- _________________WORKMAN_L3________________, _________________WORKMAN_R3________________
- ),
-
- [_NORMAN] = LAYOUT_base_wrapper(
- _________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
- _________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
- _________________NORMAN_L3_________________, _________________NORMAN_R3_________________
- ),
-
- [_MALTRON] = LAYOUT_base_wrapper(
- _________________MALTRON_L1________________, _________________MALTRON_R1________________,
- _________________MALTRON_L2________________, _________________MALTRON_R2________________,
- _________________MALTRON_L3________________, _________________MALTRON_R3________________
- ),
-
- [_EUCALYN] = LAYOUT_base_wrapper(
- _________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
- _________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
- _________________EUCALYN_L3________________, _________________EUCALYN_R3________________
- ),
-
- [_CARPLAX] = LAYOUT_base_wrapper(
- _____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
- _____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
- _____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
- ),
-
[_LOWER] = LAYOUT_wrapper(
KC_TILD, _________________LOWER_L1__________________, _______, _________________LOWER_R1__________________, KC_BSPC,
KC_DEL, _________________LOWER_L2__________________, _______, _________________LOWER_R2__________________, KC_PIPE,
diff --git a/keyboards/cannonkeys/bluepill/keyboard.c b/keyboards/cannonkeys/bluepill/keyboard.c
deleted file mode 100644
index 6a8edd4a93..0000000000
--- a/keyboards/cannonkeys/bluepill/keyboard.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <ch.h>
-#include <hal.h>
-#include "util.h"
-#include "quantum.h"
-
-#ifdef BOARD_STM32_F103_STM32DUINO
-#define LED_ON() do { palClearPad(GPIOC, 13) ;} while (0)
-#define LED_OFF() do { palSetPad(GPIOC, 13); } while (0)
-#define LED_TGL() do { palTogglePad(GPIOC, 13); } while (0)
-#else
-#define LED_ON()
-#define LED_OFF()
-#define LED_TGL()
-#endif
-
-void matrix_init_kb(void){
- LED_ON();
- wait_ms(500);
- LED_OFF();
-}
diff --git a/keyboards/cannonkeys/bluepill/ws2812.c b/keyboards/cannonkeys/bluepill/ws2812.c
deleted file mode 100644
index 779e905198..0000000000
--- a/keyboards/cannonkeys/bluepill/ws2812.c
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * LEDDriver.c
- *
- * Created on: Aug 26, 2013
- * Author: Omri Iluz
- */
-
-#include "ws2812.h"
-#include <stdlib.h>
-
-#define BYTES_FOR_LED_BYTE 4
-#define NB_COLORS 3
-#define BYTES_FOR_LED BYTES_FOR_LED_BYTE*NB_COLORS
-#define DATA_SIZE BYTES_FOR_LED*NB_LEDS
-#define RESET_SIZE 200
-#define PREAMBLE_SIZE 4
-// Define the spi your LEDs are plugged to here
-#define WS2812_SPI SPID2
-// Define the number of LEDs you wish to control in your LED strip
-#define NB_LEDS RGBLED_NUM
-
- #define LED_SPIRAL 1
-
- static uint8_t txbuf[PREAMBLE_SIZE + DATA_SIZE + RESET_SIZE];
-static uint8_t get_protocol_eq(uint8_t data, int pos);
-
- /*
- * This lib is meant to be used asynchronously, thus the colors contained in
- * the txbuf will be sent in loop, so that the colors are always the ones you
- * put in the table (the user thus have less to worry about)
- *
- * Since the data are sent via DMA, and the call to spiSend is a blocking one,
- * the processor ressources are not used to much, if you see your program being
- * too slow, simply add a:
- * chThdSleepMilliseconds(x);
- * after the spiSend, where you increment x untill you are satisfied with your
- * program speed, another trick may be to lower this thread priority : your call
- */
-static THD_WORKING_AREA(LEDS_THREAD_WA, 128);
-static THD_FUNCTION(ledsThread, arg) {
- (void) arg;
- while(1){
- spiSend(&WS2812_SPI, PREAMBLE_SIZE + DATA_SIZE + RESET_SIZE, txbuf);
- }
-}
-
- static const SPIConfig spicfg = {
- false,
- NULL,
- PORT_WS2812,
- PIN_WS2812,
- SPI_CR1_BR_1|SPI_CR1_BR_0 // baudrate : fpclk / 8 => 1tick is 0.32us (2.25 MHz)
-};
-
- /*
- * Function used to initialize the driver.
- *
- * Starts by shutting off all the LEDs.
- * Then gets access on the LED_SPI driver.
- * May eventually launch an animation on the LEDs (e.g. a thread setting the
- * txbuff values)
- */
-void leds_init(void){
- /* MOSI pin*/
- palSetPadMode(PORT_WS2812, PIN_WS2812, PAL_MODE_STM32_ALTERNATE_PUSHPULL);
- for(int i = 0; i < RESET_SIZE; i++)
- txbuf[DATA_SIZE+i] = 0x00;
- for (int i=0; i<PREAMBLE_SIZE; i++)
- txbuf[i] = 0x00;
- spiAcquireBus(&WS2812_SPI); /* Acquire ownership of the bus. */
- spiStart(&WS2812_SPI, &spicfg); /* Setup transfer parameters. */
- spiSelect(&WS2812_SPI); /* Slave Select assertion. */
- chThdCreateStatic(LEDS_THREAD_WA, sizeof(LEDS_THREAD_WA),NORMALPRIO, ledsThread, NULL);
-}
-
- /*
- * As the trick here is to use the SPI to send a huge pattern of 0 and 1 to
- * the ws2812b protocol, we use this helper function to translate bytes into
- * 0s and 1s for the LED (with the appropriate timing).
- */
-static uint8_t get_protocol_eq(uint8_t data, int pos){
- uint8_t eq = 0;
- if (data & (1 << (2*(3-pos))))
- eq = 0b1110;
- else
- eq = 0b1000;
- if (data & (2 << (2*(3-pos))))
- eq += 0b11100000;
- else
- eq += 0b10000000;
- return eq;
-}
-
-
- void WS2812_init(void) {
- leds_init();
-}
-
- void ws2812_setleds(LED_TYPE *ledarray, uint16_t number_of_leds) {
- uint8_t i = 0;
- while (i < number_of_leds) {
- set_led_color_rgb(ledarray[i], i);
- i++;
- }
-}
-
- /*
- * If you want to set a LED's color in the RGB color space, simply call this
- * function with a hsv_color containing the desired color and the index of the
- * led on the LED strip (starting from 0, the first one being the closest the
- * first plugged to the board)
- *
- * Only set the color of the LEDs through the functions given by this API
- * (unless you really know what you are doing)
- */
-void set_led_color_rgb(LED_TYPE color, int pos){
- for(int j = 0; j < 4; j++)
- txbuf[PREAMBLE_SIZE + BYTES_FOR_LED*pos + j] = get_protocol_eq(color.g, j);
- for(int j = 0; j < 4; j++)
- txbuf[PREAMBLE_SIZE + BYTES_FOR_LED*pos + BYTES_FOR_LED_BYTE+j] = get_protocol_eq(color.r, j);
- for(int j = 0; j < 4; j++)
- txbuf[PREAMBLE_SIZE + BYTES_FOR_LED*pos + BYTES_FOR_LED_BYTE*2+j] = get_protocol_eq(color.b, j);
-}
-
- void set_leds_color_rgb(LED_TYPE color){
- for(int i = 0; i < NB_LEDS; i++)
- set_led_color_rgb(color, i);
-}
-
-
- void ws2812_setleds_rgbw(LED_TYPE *ledarray, uint16_t number_of_leds) {
-
- }
diff --git a/keyboards/cannonkeys/ortho48/rules.mk b/keyboards/cannonkeys/ortho48/rules.mk
index ac927481f2..7deab75816 100644
--- a/keyboards/cannonkeys/ortho48/rules.mk
+++ b/keyboards/cannonkeys/ortho48/rules.mk
@@ -4,10 +4,6 @@ MCU = STM32F103
# Bootloader selection
BOOTLOADER = stm32duino
-# project specific files
-VPATH += keyboards/cannonkeys/bluepill
-SRC = keyboard.c
-
#BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
diff --git a/keyboards/cannonkeys/ortho60/rules.mk b/keyboards/cannonkeys/ortho60/rules.mk
index ec91d3b81d..7a642a2f5e 100644
--- a/keyboards/cannonkeys/ortho60/rules.mk
+++ b/keyboards/cannonkeys/ortho60/rules.mk
@@ -4,10 +4,6 @@ MCU = STM32F103
# Bootloader selection
BOOTLOADER = stm32duino
-# project specific files
-VPATH += keyboards/cannonkeys/bluepill
-SRC = keyboard.c
-
#BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
diff --git a/keyboards/cannonkeys/ortho75/rules.mk b/keyboards/cannonkeys/ortho75/rules.mk
index 9d6004656f..a476836aed 100644
--- a/keyboards/cannonkeys/ortho75/rules.mk
+++ b/keyboards/cannonkeys/ortho75/rules.mk
@@ -4,10 +4,6 @@ MCU = STM32F103
# Bootloader selection
BOOTLOADER = stm32duino
-# project specific files
-VPATH += keyboards/cannonkeys/bluepill
-SRC = keyboard.c
-
#BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
diff --git a/keyboards/cannonkeys/practice60/rules.mk b/keyboards/cannonkeys/practice60/rules.mk
index 80bde01cf4..e1a981c37d 100644
--- a/keyboards/cannonkeys/practice60/rules.mk
+++ b/keyboards/cannonkeys/practice60/rules.mk
@@ -4,10 +4,6 @@ MCU = STM32F103
# Bootloader selection
BOOTLOADER = stm32duino
-# project specific files
-VPATH += keyboards/cannonkeys/bluepill
-SRC = keyboard.c
-
#BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
diff --git a/keyboards/cannonkeys/practice65/rules.mk b/keyboards/cannonkeys/practice65/rules.mk
index 130f9b98e3..0d43570c52 100644
--- a/keyboards/cannonkeys/practice65/rules.mk
+++ b/keyboards/cannonkeys/practice65/rules.mk
@@ -4,10 +4,6 @@ MCU = STM32F103
# Bootloader selection
BOOTLOADER = stm32duino
-# project specific files
-VPATH += keyboards/cannonkeys/bluepill
-SRC = keyboard.c
-
#BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
diff --git a/keyboards/cannonkeys/satisfaction75/satisfaction75.c b/keyboards/cannonkeys/satisfaction75/satisfaction75.c
index d3853c2292..682805f321 100644
--- a/keyboards/cannonkeys/satisfaction75/satisfaction75.c
+++ b/keyboards/cannonkeys/satisfaction75/satisfaction75.c
@@ -244,7 +244,7 @@ void read_host_led_state(void) {
}
}
-uint32_t layer_state_set_kb(uint32_t state) {
+layer_state_t layer_state_set_kb(layer_state_t state) {
state = layer_state_set_user(state);
layer = biton32(state);
queue_for_send = true;
diff --git a/keyboards/checkerboards/nop60/info.json b/keyboards/checkerboards/nop60/info.json
index ab68c0cdac..b8d081c262 100644
--- a/keyboards/checkerboards/nop60/info.json
+++ b/keyboards/checkerboards/nop60/info.json
@@ -1,9 +1,9 @@
{
"keyboard_name": "nop60",
- "url": "",
"maintainer": "nasp",
- "width": 15,
"height": 5,
+ "width": 15,
+ "url": "",
"layout_aliases": {
"LAYOUT_2x3u": "LAYOUT_60_tsangan_hhkb_split_space",
"LAYOUT_7u": "LAYOUT_60_tsangan_hhkb"
diff --git a/keyboards/christmas_tree/rules.mk b/keyboards/christmas_tree/rules.mk
index da85eb3728..5e8cf32552 100644
--- a/keyboards/christmas_tree/rules.mk
+++ b/keyboards/christmas_tree/rules.mk
@@ -27,7 +27,6 @@ AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/clawsome/gamebuddy/config.h b/keyboards/clawsome/gamebuddy/v1_0/config.h
index d5fad415f9..91b6fc6374 100644
--- a/keyboards/clawsome/gamebuddy/config.h
+++ b/keyboards/clawsome/gamebuddy/v1_0/config.h
@@ -24,7 +24,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define PRODUCT_ID 0x17B9
#define DEVICE_VER 0x0001
#define MANUFACTURER AlisGraveNil
-#define PRODUCT GameBuddy
+#define PRODUCT GameBuddy1_0
/* key matrix size */
#define MATRIX_ROWS 5
diff --git a/keyboards/clawsome/gamebuddy/info.json b/keyboards/clawsome/gamebuddy/v1_0/info.json
index 5562f0615e..59c4d93486 100644
--- a/keyboards/clawsome/gamebuddy/info.json
+++ b/keyboards/clawsome/gamebuddy/v1_0/info.json
@@ -1,7 +1,7 @@
{
- "keyboard_name": "GameBuddy",
- "url": "",
- "maintainer": "qmk",
+ "keyboard_name": "GameBuddy1_0",
+ "url": "www.clawboards.xyz",
+ "maintainer": "AA Clawson (AlisGraveNil)",
"width": 7,
"height": 5,
"layouts": {
diff --git a/keyboards/clawsome/gamebuddy/keymaps/default/keymap.c b/keyboards/clawsome/gamebuddy/v1_0/keymaps/default/keymap.c
index 2a5794adfd..2a5794adfd 100644
--- a/keyboards/clawsome/gamebuddy/keymaps/default/keymap.c
+++ b/keyboards/clawsome/gamebuddy/v1_0/keymaps/default/keymap.c
diff --git a/keyboards/clawsome/gamebuddy/readme.md b/keyboards/clawsome/gamebuddy/v1_0/readme.md
index 62e28dcbca..62e28dcbca 100644
--- a/keyboards/clawsome/gamebuddy/readme.md
+++ b/keyboards/clawsome/gamebuddy/v1_0/readme.md
diff --git a/keyboards/clawsome/gamebuddy/rules.mk b/keyboards/clawsome/gamebuddy/v1_0/rules.mk
index a3a91009b0..a3a91009b0 100644
--- a/keyboards/clawsome/gamebuddy/rules.mk
+++ b/keyboards/clawsome/gamebuddy/v1_0/rules.mk
diff --git a/keyboards/clawsome/gamebuddy/gamebuddy.c b/keyboards/clawsome/gamebuddy/v1_0/v1_0.c
index 464bdef892..b63474c28a 100644
--- a/keyboards/clawsome/gamebuddy/gamebuddy.c
+++ b/keyboards/clawsome/gamebuddy/v1_0/v1_0.c
@@ -13,4 +13,4 @@
* 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 "gamebuddy.h" \ No newline at end of file
+#include "v1_0.h"
diff --git a/keyboards/clawsome/gamebuddy/gamebuddy.h b/keyboards/clawsome/gamebuddy/v1_0/v1_0.h
index f1ee9ab357..f1ee9ab357 100644
--- a/keyboards/clawsome/gamebuddy/gamebuddy.h
+++ b/keyboards/clawsome/gamebuddy/v1_0/v1_0.h
diff --git a/keyboards/clawsome/gamebuddy/v1_m/config.h b/keyboards/clawsome/gamebuddy/v1_m/config.h
new file mode 100644
index 0000000000..748e35237a
--- /dev/null
+++ b/keyboards/clawsome/gamebuddy/v1_m/config.h
@@ -0,0 +1,45 @@
+/* Copyright 2021 AAClawson (AlisGraveNil)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0x7767
+#define PRODUCT_ID 0x0000
+#define DEVICE_VER 0x0001
+#define MANUFACTURER AlisGraveNil
+#define PRODUCT GameBuddy1_M
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 7
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+ */
+#define MATRIX_ROW_PINS { C6, D7, B5, B3, B2 }
+#define MATRIX_COL_PINS { B1, F7, F6, F5, E6, B4, B6 }
+
+#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/clawsome/gamebuddy/v1_m/info.json b/keyboards/clawsome/gamebuddy/v1_m/info.json
new file mode 100644
index 0000000000..411e19c679
--- /dev/null
+++ b/keyboards/clawsome/gamebuddy/v1_m/info.json
@@ -0,0 +1,41 @@
+{
+ "keyboard_name": "GameBuddy1_M",
+ "url": "www.clawboards.xyz",
+ "maintainer": "AAClawson (AlisGraveNil)",
+ "width": 7,
+ "height": 5,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"K00 (C6,B1)", "x":0, "y":0},
+ {"label":"K01 (C6,F7)", "x":1, "y":0},
+ {"label":"K02 (C6,F6)", "x":2, "y":0},
+ {"label":"K03 (C6,F5)", "x":3, "y":0},
+ {"label":"K04 (C6,E6)", "x":4, "y":0},
+ {"label":"K05 (C6,B4)", "x":5, "y":0},
+ {"label":"K10 (D7,B1)", "x":0, "y":1},
+ {"label":"K11 (D7,F7)", "x":1, "y":1},
+ {"label":"K12 (D7,F6)", "x":2, "y":1},
+ {"label":"K13 (D7,F5)", "x":3, "y":1},
+ {"label":"K14 (D7,E6)", "x":4, "y":1},
+ {"label":"K15 (D7,B4)", "x":5, "y":1},
+ {"label":"K20 (B5,B1)", "x":0, "y":2},
+ {"label":"K21 (B5,F7)", "x":1, "y":2},
+ {"label":"K22 (B5,F6)", "x":2, "y":2},
+ {"label":"K23 (B5,F5)", "x":3, "y":2},
+ {"label":"K24 (B5,E6)", "x":4, "y":2},
+ {"label":"K25 (B5,B4)", "x":5, "y":2},
+ {"label":"K30 (B3,B1)", "x":0, "y":3},
+ {"label":"K31 (B3,F7)", "x":1, "y":3},
+ {"label":"K32 (B3,F6)", "x":2, "y":3},
+ {"label":"K33 (B3,F5)", "x":3, "y":3},
+ {"label":"K34 (B3,E6)", "x":4, "y":3},
+ {"label":"K35 (B3,B4)", "x":5, "y":3},
+ {"label":"K46 (B2,B6)", "x":6, "y":3, "h":2},
+ {"label":"K44 (B2,E6)", "x":4, "y":4},
+ {"label":"K45 (B2,B4)", "x":5, "y":4}
+ ]
+ }
+ }
+}
+
diff --git a/keyboards/clawsome/gamebuddy/v1_m/keymaps/default/keymap.c b/keyboards/clawsome/gamebuddy/v1_m/keymaps/default/keymap.c
new file mode 100644
index 0000000000..88f40733d5
--- /dev/null
+++ b/keyboards/clawsome/gamebuddy/v1_m/keymaps/default/keymap.c
@@ -0,0 +1,29 @@
+/* Copyright 2021 AAClawson (AlisGraveNil)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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_TAB, KC_V, KC_Q, KC_W, KC_E, KC_R,
+ KC_LSFT, KC_LSFT, KC_A, KC_S, KC_D, KC_G,
+ KC_LCTL, KC_N, KC_X, KC_F, KC_C, KC_M, KC_SPC,
+ KC_LALT, KC_LGUI
+ ),
+
+};
+
diff --git a/keyboards/clawsome/gamebuddy/v1_m/readme.md b/keyboards/clawsome/gamebuddy/v1_m/readme.md
new file mode 100644
index 0000000000..add8b04ea0
--- /dev/null
+++ b/keyboards/clawsome/gamebuddy/v1_m/readme.md
@@ -0,0 +1,13 @@
+# GameBuddy
+
+This is a 5x7 macropad designed for left OR right hand usage in videogames, with special focus on FPS layouts!
+
+* Keyboard Maintainer: [AAClawson](https://github.com/AlisGraveNil)
+* Hardware Supported: GameBuddy, Pro Micro, Elite-C, nice!nano
+* Hardware Availability: www.clawboards.xyz
+
+Make example for this keyboard (after setting up your build environment):
+
+ make clawsome/gamebuddy/v1_m:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/clawsome/gamebuddy/v1_m/rules.mk b/keyboards/clawsome/gamebuddy/v1_m/rules.mk
new file mode 100644
index 0000000000..64d67049f9
--- /dev/null
+++ b/keyboards/clawsome/gamebuddy/v1_m/rules.mk
@@ -0,0 +1,22 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = no # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no # Enable Bluetooth
+AUDIO_ENABLE = no # Audio output \ No newline at end of file
diff --git a/keyboards/clawsome/gamebuddy/v1_m/v1_m.c b/keyboards/clawsome/gamebuddy/v1_m/v1_m.c
new file mode 100644
index 0000000000..88db72d27b
--- /dev/null
+++ b/keyboards/clawsome/gamebuddy/v1_m/v1_m.c
@@ -0,0 +1,16 @@
+/* Copyright 2021 AAClawson (AlisGraveNil)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 "v1_m.h"
diff --git a/keyboards/clawsome/gamebuddy/v1_m/v1_m.h b/keyboards/clawsome/gamebuddy/v1_m/v1_m.h
new file mode 100644
index 0000000000..23e4d03bbc
--- /dev/null
+++ b/keyboards/clawsome/gamebuddy/v1_m/v1_m.h
@@ -0,0 +1,33 @@
+/* Copyright 2021 AAClawson (AlisGraveNil)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 LAYOUT( \
+ K00, K01, K02, K03, K04, K05, \
+ K10, K11, K12, K13, K14, K15, \
+ K20, K21, K22, K23, K24, K25, \
+ K30, K31, K32, K33, K34, K35, K46, \
+ K44, K45 \
+) { \
+ { K00, K01, K02, K03, K04, K05, KC_NO }, \
+ { K10, K11, K12, K13, K14, K15, KC_NO }, \
+ { K20, K21, K22, K23, K24, K25, KC_NO }, \
+ { K30, K31, K32, K33, K34, K35, KC_NO }, \
+ { KC_NO, KC_NO, KC_NO, KC_NO, K44, K45, K46 }, \
+}
diff --git a/keyboards/clueboard/66/keymaps/magicmonty/keymap.c b/keyboards/clueboard/66/keymaps/magicmonty/keymap.c
index 54420d31b6..56d4c47071 100644
--- a/keyboards/clueboard/66/keymaps/magicmonty/keymap.c
+++ b/keyboards/clueboard/66/keymaps/magicmonty/keymap.c
@@ -40,8 +40,9 @@
// CTRL when held, ESC when tapped
#define CTL_ESC CTL_T(KC_ESC)
-// Reset RGB mode to layer signalling
-#define RGB_RST F(0)
+enum custom_keycodes {
+ RGB_RST = SAFE_RANGE
+};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap _BL: Base Layer (Default Layer) */
@@ -103,21 +104,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#endif
};
-/* This is a list of user defined functions. F(N) corresponds to item N
- of this list.
- */
-const uint16_t PROGMEM fn_actions[] = {
- [0] = ACTION_FUNCTION(0), // Calls action_function()
-};
-
-void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
- switch (id) {
- case 0:
- if (record->event.pressed) {
- rgblight_mode(1);
- rgblight_sethsv(206, 255, 255);
- }
- }
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case RGB_RST:
+ if (record->event.pressed) {
+ rgblight_mode(1);
+ rgblight_sethsv(206, 255, 255);
+ }
+ return false;
+ }
+ return true;
}
enum layer_id {
diff --git a/keyboards/clueboard/66/keymaps/tetris/keymap.c b/keyboards/clueboard/66/keymaps/tetris/keymap.c
index ef3abd6672..26dd97feec 100644
--- a/keyboards/clueboard/66/keymaps/tetris/keymap.c
+++ b/keyboards/clueboard/66/keymaps/tetris/keymap.c
@@ -1,9 +1,6 @@
#include QMK_KEYBOARD_H
#include "tetris_text.h"
-// Helpful defines
-#define GRAVE_MODS (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)|MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT))
-
// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
@@ -12,11 +9,15 @@
#define _FL 1
#define _CL 2
+enum custom_keycodes {
+ TETRIS_START = SAFE_RANGE
+};
+
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap _BL: Base Layer (Default Layer)
*/
[_BL] = LAYOUT(
- F(0), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC, KC_PGUP,
+ KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC, KC_PGUP,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP,
@@ -41,71 +42,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
};
-/* This is a list of user defined functions. F(N) corresponds to item N
- of this list.
- */
-const uint16_t PROGMEM fn_actions[] = {
- [0] = ACTION_FUNCTION(0), // Calls action_function()
- [1] = ACTION_FUNCTION(1)
-};
-
static uint8_t tetris_key_presses = 0;
static uint16_t tetris_timer = 0;
static uint8_t tetris_running = 0;
static int tetris_keypress = 0;
-void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
- static uint8_t mods_pressed;
- static bool mod_flag;
-
- switch (id) {
- case 0:
- // clueboard specific hook to make escape quite tetris
- if (tetris_running) {
- tetris_running = 0;
- return;
- }
-
- /* Handle the combined Grave/Esc key
- */
- mods_pressed = get_mods()&GRAVE_MODS; // Check to see what mods are pressed
-
- if (record->event.pressed) {
- /* The key is being pressed.
- */
- if (mods_pressed) {
- mod_flag = true;
- add_key(KC_GRV);
- send_keyboard_report();
- } else {
- add_key(KC_ESC);
- send_keyboard_report();
- }
- } else {
- /* The key is being released.
- */
- if (mod_flag) {
- mod_flag = false;
- del_key(KC_GRV);
- send_keyboard_report();
- } else {
- del_key(KC_ESC);
- send_keyboard_report();
- }
- }
- break;
- case 1:
- if (record->event.pressed) {
- tetris_running = 1;
- tetris_timer = 0;
- tetris_keypress = 0;
- // set randomness using total number of key presses
- tetris_start(tetris_key_presses);
- }
- break;
- }
-}
-
/*
* Set up tetris
*/
@@ -130,6 +71,25 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
}
+ switch (keycode) {
+ case KC_GESC:
+ // clueboard specific hook to make escape quite tetris
+ if (tetris_running) {
+ tetris_running = 0;
+ return false;
+ }
+ break;
+ case TETRIS_START:
+ if (record->event.pressed) {
+ tetris_running = 1;
+ tetris_timer = 0;
+ tetris_keypress = 0;
+ // set randomness using total number of key presses
+ tetris_start(tetris_key_presses);
+ }
+ return false;
+ }
+
return true;
}
@@ -148,57 +108,45 @@ void matrix_scan_user(void) {
}
}
-void send_keycode(uint16_t keycode) {
- register_code(keycode);
- unregister_code(keycode);
-}
-
-void send_keycode_shift(uint16_t keycode) {
- register_code(KC_LSFT);
- register_code(keycode);
- unregister_code(keycode);
- unregister_code(KC_LSFT);
-}
-
void tetris_send_up(void) {
- send_keycode(KC_UP);
+ tap_code(KC_UP);
}
void tetris_send_left(void) {
- send_keycode(KC_LEFT);
+ tap_code(KC_LEFT);
}
void tetris_send_down(void) {
- send_keycode(KC_DOWN);
+ tap_code(KC_DOWN);
}
void tetris_send_right(void) {
- send_keycode(KC_RGHT);
+ tap_code(KC_RGHT);
}
void tetris_send_backspace(void) {
- send_keycode(KC_BSPC);
+ tap_code(KC_BSPC);
}
void tetris_send_delete(void) {
- send_keycode(KC_DEL);
+ tap_code(KC_DEL);
}
void tetris_send_string(const char *s) {
for (int i = 0; s[i] != 0; i++) {
if (s[i] >= 'a' && s[i] <= 'z') {
- send_keycode(KC_A + (s[i] - 'a'));
+ tap_code(KC_A + (s[i] - 'a'));
} else if (s[i] >= 'A' && s[i] <= 'Z') {
- send_keycode_shift(KC_A + (s[i] - 'A'));
+ tap_code16(S(KC_A + (s[i] - 'A')));
} else if (s[i] >= '1' && s[i] <= '9') {
- send_keycode(KC_1 + (s[i] - '1'));
+ tap_code(KC_1 + (s[i] - '1'));
} else {
switch (s[i]) {
- case ' ': send_keycode(KC_SPACE); break;
- case '.': send_keycode(KC_DOT); break;
- case '0': send_keycode(KC_0); break;
+ case ' ': tap_code(KC_SPACE); break;
+ case '.': tap_code(KC_DOT); break;
+ case '0': tap_code(KC_0); break;
}
}
}
}
void tetris_send_newline(void) {
- send_keycode(KC_ENT);
+ tap_code(KC_ENT);
}
int tetris_get_keypress(void) {
diff --git a/keyboards/clueboard/66_hotswap/gen1/gen1.c b/keyboards/clueboard/66_hotswap/gen1/gen1.c
index 339bd78d5a..8e3db70d07 100644
--- a/keyboards/clueboard/66_hotswap/gen1/gen1.c
+++ b/keyboards/clueboard/66_hotswap/gen1/gen1.c
@@ -16,7 +16,7 @@
#include "gen1.h"
#ifdef LED_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | LED address
diff --git a/keyboards/comet46/keymaps/default-rgbled/keymap.c b/keyboards/comet46/keymaps/default-rgbled/keymap.c
index a576cc36b1..d1e5b663dc 100644
--- a/keyboards/comet46/keymaps/default-rgbled/keymap.c
+++ b/keyboards/comet46/keymaps/default-rgbled/keymap.c
@@ -140,7 +140,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
}
diff --git a/keyboards/comet46/keymaps/satt/keymap.c b/keyboards/comet46/keymaps/satt/keymap.c
index 98c3c175be..57aa635934 100644
--- a/keyboards/comet46/keymaps/satt/keymap.c
+++ b/keyboards/comet46/keymaps/satt/keymap.c
@@ -30,7 +30,7 @@ enum custom_keycodes {
};
// JIS keycodes
-#define KC_JZHT JP_ZHTG // hankaku/zenkaku|kanzi
+#define KC_JZHT JP_ZKHK // hankaku/zenkaku|kanzi
#define KC_JCIR JP_CIRC // ^, ~
#define KC_JAT JP_AT // @, `
#define KC_JLBR JP_LBRC // [, {
@@ -40,8 +40,8 @@ enum custom_keycodes {
#define KC_JMHE JP_MHEN // muhenkan
#define KC_JHEN JP_HENK // henkan
#define KC_JKAN JP_KANA // katakana/hiragana|ro-mazi
-#define KC_JMKA JP_MKANA //kana on MacOSX
-#define KC_JMEI JP_MEISU //eisu on MacOSX
+#define KC_JMKA JP_LANG1 //kana on MacOSX
+#define KC_JMEI KC_LANG2 //eisu on MacOSX
#define KC_JAMP JP_AMPR // &
#define KC_JQUO JP_QUOT // '
#define KC_JLPR JP_LPRN // (
@@ -164,7 +164,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
switch (biton32(state)) {
case _PSEUDO_US_LOWER:
case _PSEUDO_US_RAISE:
diff --git a/keyboards/contra/keymaps/deastiny/keymap.c b/keyboards/contra/keymaps/deastiny/keymap.c
index 846cbe9c7b..026db263ed 100644
--- a/keyboards/contra/keymaps/deastiny/keymap.c
+++ b/keyboards/contra/keymaps/deastiny/keymap.c
@@ -46,9 +46,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
`-----------------------------------------------------------------------------------'
**/
[_DVORAK] = LAYOUT_planck_mit(
- KC_ESC, DE_UE, DE_COMM, DE_DOT, DE_P, DE_Y, DE_F, DE_G, DE_C, DE_T, DE_Z, KC_BSPC,
+ KC_ESC, DE_UDIA, DE_COMM, DE_DOT, DE_P, DE_Y, DE_F, DE_G, DE_C, DE_T, DE_Z, KC_BSPC,
KC_TAB, DE_A, DE_O, DE_E, DE_I, DE_U, DE_H, DE_D, DE_R, DE_N, DE_S, DE_L,
- KC_LSFT, DE_AE, DE_OE, DE_Q, DE_J, DE_K, DE_X, DE_B, DE_M, DE_W, DE_V, KC_ENT ,
+ KC_LSFT, DE_ADIA, DE_ODIA, DE_Q, DE_J, DE_K, DE_X, DE_B, DE_M, DE_W, DE_V, KC_ENT ,
KC_LCTL, KC_LGUI, KC_LALT, MO(3), LOWER, KC_SPC, RAISE, KC_LEFT, KC_RIGHT, KC_UP, KC_DOWN
),
@@ -66,7 +66,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LOWER] = LAYOUT_planck_mit(
DE_TILD, DE_EXLM, DE_AT, DE_HASH, DE_DLR, DE_PERC, DE_CIRC, DE_AMPR, DE_ASTR, DE_LPRN, DE_RPRN, KC_DEL,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, DE_UNDS, DE_PLUS, DE_LCBR, DE_RCBR, DE_PIPE,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, DE_QST,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, DE_QUES,
_______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
diff --git a/keyboards/contra/keymaps/maxr1998/keymap.c b/keyboards/contra/keymaps/maxr1998/keymap.c
index c32a856611..044ed0c0cb 100644
--- a/keyboards/contra/keymaps/maxr1998/keymap.c
+++ b/keyboards/contra/keymaps/maxr1998/keymap.c
@@ -65,8 +65,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_FN] = {
- {_______, _______, _______, _______, _______, _______, _______, DE_UE, _______, DE_OE, _______, KC_DEL },
- {KC_LOCK, DE_AE, DE_SS, _______, _______, G_1, _______, RGB_M_P, RGB_M_B, RGB_M_SW,_______, _______},
+ {_______, _______, _______, _______, _______, _______, _______, DE_UDIA, _______, DE_ODIA, _______, KC_DEL },
+ {KC_LOCK, DE_ADIA, DE_SS, _______, _______, G_1, _______, RGB_M_P, RGB_M_B, RGB_M_SW,_______, _______},
{_______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_TOG, RGB_HUI, KC_PGUP, _______},
{_______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, KC_HOME, KC_PGDN, KC_END }
},
@@ -85,13 +85,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_NR] = {
{_______, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, _______},
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DE_HASH, _______},
- {_______, DE_LESS, _______, _______, _______, _______, _______, _______, _______, _______, DE_MINS, _______},
+ {_______, DE_LABK, _______, _______, _______, _______, _______, _______, _______, _______, DE_MINS, _______},
{_______, _______, _______, XXXXXXX, _______, _______, _______, _______, XXXXXXX, _______, _______, _______}
},
[_NR_L3] = {
{_______, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS },
{_______, DE_Q, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______},
- {_______, DE_LESS, _______, _______, _______, _______, _______, _______, _______, _______, DE_MINS, _______},
+ {_______, DE_LABK, _______, _______, _______, _______, _______, _______, _______, _______, DE_MINS, _______},
{_______, _______, _______, XXXXXXX, _______, _______, _______, _______, XXXXXXX, _______, _______, _______}
},
diff --git a/keyboards/converter/hp_46010a/rules.mk b/keyboards/converter/hp_46010a/rules.mk
index b7199d7f90..e154e380bc 100644
--- a/keyboards/converter/hp_46010a/rules.mk
+++ b/keyboards/converter/hp_46010a/rules.mk
@@ -27,7 +27,6 @@ AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
SPLIT_KEYBOARD = no
WAIT_FOR_USB = yes
LAYOUTS_HAS_RGB = no
diff --git a/keyboards/converter/ibm_5291/ibm_5291.c b/keyboards/converter/ibm_5291/ibm_5291.c
deleted file mode 100644
index 9b937a545a..0000000000
--- a/keyboards/converter/ibm_5291/ibm_5291.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "ibm_5291.h"
-#include <avr/io.h>
-#include "quantum.h" \ No newline at end of file
diff --git a/keyboards/converter/ibm_5291/ibm_5291.h b/keyboards/converter/ibm_5291/ibm_5291.h
deleted file mode 100644
index aa1b403242..0000000000
--- a/keyboards/converter/ibm_5291/ibm_5291.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-Copyright 2018 listofoptions <listofoptions@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#include "quantum.h"
-
-/*
- * ,-------. ,--------------------------------------------------------------------------.
- * | F1| F2| |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| BS |NumLck |ScrLck |
- * |-------| |--------------------------------------------------------------------------|
- * | F3| F4| | Tab | Q| W| E| R| T| Y| U| I| O| P| [| ] | | 7| 8| 9| -|
- * |-------| |------------------------------------------------------|Ent|---------------|
- * | F5| F6| | Ctrl | A| S| D| F| G| H| J| K| L| ;| '| `| | 4| 5| 6| |
- * |-------| |----------------------------------------------------------------------| |
- * | F7| F8| |Shif| \| Z| X| C| V| B| N| M| ,| .| /|Shift|PrS| 1| 2| 3| +|
- * |-------| |----------------------------------------------------------------------| |
- * | F9|F10| | Alt | Space |CapsLck| 0 | . | |
- * `-------' `--------------------------------------------------------------------------'
-*/
-
-#define LAYOUT_5291( \
- KEY_F1,KEY_F2, KEY_ESC, KEY_1, KEY_2,KEY_3,KEY_4,KEY_5,KEY_6,KEY_7,KEY_8,KEY_9, KEY_0, KEY_MIN, KEY_EQU, KEY_BACK, KEY_NLOCK, KEY_SLOCK, \
- KEY_F3,KEY_F4, KEY_TAB, KEY_Q, KEY_W,KEY_E,KEY_R,KEY_T,KEY_Y,KEY_U,KEY_I,KEY_O, KEY_P, KEY_LBRC,KEY_RBRC, KEY_PAD7,KEY_PAD8, KEY_PAD9,KEY_PMIN, \
- KEY_F5,KEY_F6, KEY_LCTR,KEY_A, KEY_S,KEY_D,KEY_F,KEY_G,KEY_H,KEY_J,KEY_K,KEY_L, KEY_SEMI,KEY_QUOT,KEY_TICK, KEY_ENTR,KEY_PAD4,KEY_PAD5, KEY_PAD6, \
- KEY_F7,KEY_F8, KEY_LSFS,KEY_BSLS,KEY_Z,KEY_X,KEY_C,KEY_V,KEY_B,KEY_N,KEY_M,KEY_COMM,KEY_DOT, KEY_SLS,KEY_RSFS, KEY_PAST,KEY_PAD1,KEY_PAD2, KEY_PAD3,KEY_PPLS, \
- KEY_F9,KEY_F10, KEY_LALT, KEY_SPACE, KEY_CLOCK, KEY_PAD0, KEY_PDOT \
-) \
-{ {KEY_Z, KEY_S, KEY_W, KEY_3 }\
-, {KEY_X, KEY_D, KEY_E, KEY_4 }\
-, {KEY_C, KEY_F, KEY_R, KEY_5 }\
-, {KEY_V, KEY_G, KEY_T, KEY_6 }\
-, {KEY_B, KEY_H, KEY_Y, KEY_7 }\
-, {KEY_N, KEY_J, KEY_U, KEY_8 }\
-, {KEY_PAD2, KEY_PAD5,KEY_PAD8,KEY_NLOCK }\
-, {KEY_M, KEY_K, KEY_I, KEY_9 }\
-, {KEY_COMM, KEY_L, KEY_O, KEY_0 }\
-, {KEY_DOT, KEY_SEMI,KEY_P, KEY_MIN }\
-, {KEY_SLS, KEY_QUOT,KEY_LBRC,KEY_EQU }\
-, {KEY_SPACE, KEY_RSFS,KEY_TICK,KEY_RBRC }\
-, {KEY_CLOCK, KEY_PAST,KEY_ENTR,KEY_BACK }\
-, {KEY_PAD0, KEY_PAD1,KEY_PAD4,KEY_PAD7 }\
-, {KEY_PPLS, KC_NO, KEY_PMIN,KEY_SLOCK }\
-, {KEY_PDOT, KEY_PAD3,KEY_PAD6,KEY_PAD9 }\
-, {KEY_BSLS, KEY_A, KEY_Q, KEY_2 }\
-, {KEY_LALT, KC_NO, KC_NO, KEY_1 }\
-, {KEY_F7, KEY_F5, KEY_F3, KEY_F1 }\
-, {KEY_F8, KEY_F6, KEY_F4, KEY_F2 }\
-, {KC_F10, KC_NO, KC_NO, KC_NO }\
-, {KC_F9, KC_NO, KC_NO, KC_NO }\
-, {KEY_LSFS, KEY_LCTR,KEY_TAB, KEY_ESC }\
-, {KC_NO, KC_NO, KC_NO, KC_NO }\
-}
-
-#define LAYOUT LAYOUT_5291 \ No newline at end of file
diff --git a/keyboards/converter/ibm_5291/info.json b/keyboards/converter/ibm_5291/info.json
deleted file mode 100644
index dca1ca6f0d..0000000000
--- a/keyboards/converter/ibm_5291/info.json
+++ /dev/null
@@ -1,96 +0,0 @@
-{
- "keyboard_name": "IBM 5291",
- "url": "https://deskthority.net/wiki/IBM_Model_F#IBM_5291_Keyboard",
- "maintainer": "listofoptions",
- "width": 21,
- "height": 5,
- "layouts": {
- "LAYOUT_5291": {
- "layout": [
- {"label":"Sys Req", "x":0, "y":0},
- {"label":"Cmd", "x":1, "y":0},
- {"label":"`", "x":2.25, "y":0},
- {"label":"1", "x":3.25, "y":0},
- {"label":"2", "x":4.25, "y":0},
- {"label":"3", "x":5.25, "y":0},
- {"label":"4", "x":6.25, "y":0},
- {"label":"5", "x":7.25, "y":0},
- {"label":"6", "x":8.25, "y":0},
- {"label":"7", "x":9.25, "y":0},
- {"label":"8", "x":10.25, "y":0},
- {"label":"9", "x":11.25, "y":0},
- {"label":"0", "x":12.25, "y":0},
- {"label":"-", "x":13.25, "y":0},
- {"label":"=", "x":14.25, "y":0},
- {"label":"Backspace", "x":15.25, "y":0, "w":1.75},
- {"label":"Reverse Tab", "x":17, "y":0, "w":2},
- {"label":"Dup", "x":19, "y":0, "w":2},
- {"label":"Del", "x":0, "y":1},
- {"label":"Erase Input", "x":1, "y":1},
- {"label":"Tab", "x":2.25, "y":1, "w":1.5},
- {"label":"Q", "x":3.75, "y":1},
- {"label":"W", "x":4.75, "y":1},
- {"label":"E", "x":5.75, "y":1},
- {"label":"R", "x":6.75, "y":1},
- {"label":"T", "x":7.75, "y":1},
- {"label":"Y", "x":8.75, "y":1},
- {"label":"U", "x":9.75, "y":1},
- {"label":"I", "x":10.75, "y":1},
- {"label":"O", "x":11.75, "y":1},
- {"label":"P", "x":12.75, "y":1},
- {"label":"&cent;", "x":13.75, "y":1},
- {"label":"\\", "x":14.75, "y":1, "w":1.25},
- {"label":"7", "x":17, "y":1},
- {"label":"8", "x":18, "y":1},
- {"label":"9", "x":19, "y":1},
- {"label":"Field -", "x":20, "y":1},
- {"label":"Print", "x":0, "y":2},
- {"label":"Help", "x":1, "y":2},
- {"label":"Caps Lock", "x":2.25, "y":2, "w":1.75},
- {"label":"A", "x":4, "y":2},
- {"label":"S", "x":5, "y":2},
- {"label":"D", "x":6, "y":2},
- {"label":"F", "x":7, "y":2},
- {"label":"G", "x":8, "y":2},
- {"label":"H", "x":9, "y":2},
- {"label":"J", "x":10, "y":2},
- {"label":"K", "x":11, "y":2},
- {"label":"L", "x":12, "y":2},
- {"label":";", "x":13, "y":2},
- {"label":"'", "x":14, "y":2},
- {"label":"{", "x":15, "y":2},
- {"label":"Field Exit", "x":16, "y":1, "h":2},
- {"label":"4", "x":17, "y":2},
- {"label":"5", "x":18, "y":2},
- {"label":"6", "x":19, "y":2},
- {"label":"Roll Up", "x":0, "y":3},
- {"label":"Roll Down", "x":1, "y":3},
- {"label":"Shift", "x":2.25, "y":3, "w":1.25},
- {"label":"<", "x":3.5, "y":3},
- {"label":"Z", "x":4.5, "y":3},
- {"label":"X", "x":5.5, "y":3},
- {"label":"C", "x":6.5, "y":3},
- {"label":"V", "x":7.5, "y":3},
- {"label":"B", "x":8.5, "y":3},
- {"label":"N", "x":9.5, "y":3},
- {"label":"M", "x":10.5, "y":3},
- {"label":",", "x":11.5, "y":3},
- {"label":".", "x":12.5, "y":3},
- {"label":"/", "x":13.5, "y":3},
- {"label":"Shift", "x":14.5, "y":3, "w":1.5},
- {"label":"Return", "x":16, "y":3},
- {"label":"1", "x":17, "y":3},
- {"label":"2", "x":18, "y":3},
- {"label":"3", "x":19, "y":3},
- {"label":"Field +", "x":20, "y":2, "h":3},
- {"label":"Left", "x":0, "y":4},
- {"label":"Right", "x":1, "y":4},
- {"label":"Error Reset", "x":2.25, "y":4, "w":2},
- {"label":"Space", "x":4.25, "y":4, "w":9.75},
- {"label":"Enter Rec Adv", "x":14, "y":4, "w":2},
- {"label":"0", "x":16, "y":4, "w":2},
- {"label":".", "x":18, "y":4, "w":2}
- ]
- }
- }
-}
diff --git a/keyboards/converter/ibm_5291/keymaps/default/keymap.c b/keyboards/converter/ibm_5291/keymaps/default/keymap.c
deleted file mode 100644
index 9b286c887d..0000000000
--- a/keyboards/converter/ibm_5291/keymaps/default/keymap.c
+++ /dev/null
@@ -1,233 +0,0 @@
-/*
-Copyright 2018 listofoptions <listofoptions@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-/*
-enum xt_keycodes
- { XT_PAST = SAFE_RANGE // XT pad asterisk / print screen
- , XT_SLCK // XT scroll lock / break
- , XT_F6 // F6 / app key
- , XT_F5 // F5 / gui
- , XT_F9 // F9 / F11
- , XT_F10 // F10 / F12
- } ;
-
-static bool shift_pressed = false ,
- alt_pressed = false ,
- ctrl_pressed = false ,
- xt_pscr_pressed = false ,
- xt_brk_pressed = false ,
- xt_app_pressed = false ,
- xt_gui_pressed = false ,
- xt_lout_pressed = false ,
- xt_f11_pressed = false ,
- xt_f12_pressed = false ;
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_LSFT:
- case KC_RSFT:
- if (record->event.pressed) {
- shift_pressed = true ;
- } else {
- shift_pressed = false ;
- }
- return true;
- break;
-
- case KC_LALT:
- if (record->event.pressed) {
- alt_pressed = true ;
- } else {
- alt_pressed = false ;
- }
- return true;
- break;
-
- case KC_LCTL:
- if (record->event.pressed) {
- ctrl_pressed = true ;
- } else {
- ctrl_pressed = false ;
- }
- return true;
- break;
-
- case XT_PAST:
- if (record->event.pressed) {
- if (shift_pressed) {
- xt_pscr_pressed = true ;
- register_code(KC_PSCR);
- } else {
- register_code(KC_PAST);
- }
- } else {
- if (xt_pscr_pressed) {
- xt_pscr_pressed = false ;
- unregister_code(KC_PSCR);
- } else {
- unregister_code(KC_PAST);
- }
- }
- return false;
- break;
-
- case XT_SLCK:
- if (record->event.pressed) {
- if (ctrl_pressed) {
- xt_brk_pressed = true ;
- register_code(KC_BRK);
- } else {
- register_code(KC_SLCK);
- }
- } else {
- if (xt_brk_pressed) {
- xt_brk_pressed = false ;
- unregister_code(KC_BRK);
- } else {
- unregister_code(KC_SLCK);
- }
- }
- return false;
- break;
-
- case XT_F6:
- if (record->event.pressed) {
- if (shift_pressed) {
- xt_app_pressed = true ;
- register_code(KC_APP);
- } else {
- register_code(KC_F6);
- }
- } else {
- if (xt_app_pressed) {
- xt_app_pressed = false ;
- unregister_code(KC_APP);
- } else {
- unregister_code(KC_F6);
- }
- }
- return false;
- break;
-
- case XT_F5:
- if (record->event.pressed) {
- if (shift_pressed) {
- xt_gui_pressed = true ;
- register_code(KC_LGUI);
- } else if (ctrl_pressed) {
- xt_lout_pressed = true ;
- register_code (KC_LGUI) ;
- register_code (KC_L) ;
- } else {
- register_code(KC_F5);
- }
- } else {
- if (xt_gui_pressed) {
- xt_gui_pressed = false ;
- unregister_code(KC_LGUI);
- } else if (xt_lout_pressed) {
- xt_lout_pressed = false ;
- unregister_code (KC_LGUI) ;
- unregister_code (KC_L) ;
- } else {
- unregister_code(KC_F5);
- }
- }
- return false;
- break;
-
- case XT_F9:
- if (record->event.pressed) {
- if (shift_pressed) {
- xt_f11_pressed = true ;
- register_code(KC_F11);
- } else {
- register_code(KC_F9);
- }
- } else {
- if (xt_f11_pressed) {
- xt_f11_pressed = false ;
- unregister_code(KC_F11);
- } else {
- unregister_code(KC_F9);
- }
- }
- return false;
- break;
-
- case XT_F10:
- if (record->event.pressed) {
- if (shift_pressed) {
- xt_f12_pressed = true ;
- register_code(KC_F12);
- } else {
- register_code(KC_F10);
- }
- } else {
- if (xt_f12_pressed) {
- xt_f12_pressed = false ;
- unregister_code(KC_F12);
- } else {
- unregister_code(KC_F10);
- }
- }
- return false;
- break;
-
- default:
- return true;
- break;
- }
-
- return true;
-}
-*/
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-// default layout is the standard XT layout
-/*
- * ,-------. ,--------------------------------------------------------------------------.
- * | F1| F2| |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| BS |NumLck |ScrLck |
- * |-------| |--------------------------------------------------------------------------|
- * | F3| F4| | Tab | Q| W| E| R| T| Y| U| I| O| P| [| ] | | 7| 8| 9| -|
- * |-------| |------------------------------------------------------|Ent|---------------|
- * | F5| F6| | Ctrl | A| S| D| F| G| H| J| K| L| ;| '| `| | 4| 5| 6| |
- * |-------| |----------------------------------------------------------------------| |
- * | F7| F8| |Shif| \| Z| X| C| V| B| N| M| ,| .| /|Shift| *| 1| 2| 3| +|
- * |-------| |----------------------------------------------------------------------| |
- * | F9|F10| | Alt | Space |CapsLck| 0 | . | |
- * `-------' `--------------------------------------------------------------------------'
-*/
-/*
- [0] = LAYOUT (
- KC_F1,KC_F2, KC_ESC, KC_1, KC_2,KC_3,KC_4,KC_5,KC_6,KC_7,KC_8,KC_9, KC_0, KC_MINS,KC_EQL, KC_BSPC, KC_NLCK, XT_SLCK,
- KC_F3,KC_F4, KC_TAB, KC_Q, KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_O, KC_P, KC_LBRC,KC_RBRC, KC_P7,KC_P8, KC_P9, KC_PMNS,
- XT_F5,XT_F6, 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_GRV, KC_ENT, KC_P4,KC_P5, KC_P6,
- KC_F7,KC_F8, KC_LSFT,KC_BSLS,KC_Z,KC_X,KC_C,KC_V,KC_B,KC_N,KC_M,KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,XT_PAST,KC_P1,KC_P2, KC_P3, KC_PPLS,
- XT_F9,XT_F10,KC_LALT, KC_SPACE, KC_CAPS, KC_P0, KC_PDOT
- )
-*/
- [0] = LAYOUT (
- KC_F1,KC_F2, KC_ESC, KC_1, KC_2,KC_3,KC_4,KC_5,KC_6,KC_7,KC_8,KC_9, KC_0, KC_MINS,KC_EQL, KC_BSPC, KC_NLCK, KC_SLCK,
- KC_F3,KC_F4, KC_TAB, KC_Q, KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_O, KC_P, KC_LBRC,KC_RBRC, KC_P7,KC_P8, KC_P9, KC_PMNS,
- KC_F5,KC_F6, 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_GRV, KC_ENT, KC_P4,KC_P5, KC_P6,
- KC_F7,KC_F8, KC_LSFT,KC_BSLS,KC_Z,KC_X,KC_C,KC_V,KC_B,KC_N,KC_M,KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,KC_PAST,KC_P1,KC_P2, KC_P3, KC_PPLS,
- KC_F9,KC_F10,KC_LALT, KC_SPACE, KC_CAPS, KC_P0, KC_PDOT
- )
-} ;
-
diff --git a/keyboards/converter/ibm_5291/keymaps/kbdbabel_doc_ibm5291_kbd.pdf b/keyboards/converter/ibm_5291/keymaps/kbdbabel_doc_ibm5291_kbd.pdf
deleted file mode 100644
index 3560598f02..0000000000
--- a/keyboards/converter/ibm_5291/keymaps/kbdbabel_doc_ibm5291_kbd.pdf
+++ /dev/null
Binary files differ
diff --git a/keyboards/converter/ibm_5291/matrix.c b/keyboards/converter/ibm_5291/matrix.c
deleted file mode 100644
index 3946d02e51..0000000000
--- a/keyboards/converter/ibm_5291/matrix.c
+++ /dev/null
@@ -1,284 +0,0 @@
-/*
-Copyright 2018 listofoptions <listofoptions@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#include <stdint.h>
-#include <stdbool.h>
-#include <string.h>
-#if defined(__AVR__)
-#include <avr/io.h>
-#endif
-#include <util/delay.h>
-
-#include "wait.h"
-#include "print.h"
-#include "debug.h"
-#include "util.h"
-#include "matrix.h"
-#include "timer.h"
-
-#include "config.h"
-
-
-#ifndef DEBOUNCE
-# define DEBOUNCE 5
-#endif
-
-#define print_matrix_header() print("\nr/c 01234567\n")
-#define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
-#define matrix_bitpop(i) bitpop(matrix[i])
-#define ROW_SHIFTER ((uint8_t)1)
-#define check_bit(var,pos) ((var) & (1<<(pos)))
-
-#define NUM_ROW_PINS 5
-#define NUM_COL_PINS 2
-
-static const uint8_t row_pins [NUM_ROW_PINS] = MATRIX_ROW_PINS ;
-static const uint8_t col_pins [NUM_ROW_PINS] = MATRIX_COL_PINS ;
-
-#if ( DEBOUNCE > 0 )
-static uint16_t debouncing_time ;
-static bool debouncing = false ;
-#endif
-
-static uint8_t matrix [MATRIX_ROWS] = {0};
-
-#if ( DEBOUNCE > 0 )
-static uint8_t matrix_debounce [MATRIX_ROWS] = {0};
-#endif
-
-static
-inline
-void toggle_led(void) {
- uint8_t pin = LED_PIN ;
- _SFR_IO8((pin >> 4) + 2) ^= _BV(pin & 0xF);
-}
-
-static
-inline
-void init_led(void) {
- uint8_t pin = LED_PIN ;
- _SFR_IO8((pin >> 4) + 1) |= _BV(pin & 0xF); // OUT
- _SFR_IO8((pin >> 4) + 2) &= ~_BV(pin & 0xF); // LOW
-}
-
-static
-inline
-void init_data(void) {
- uint8_t pin = MATRIX_DATA_PIN ;
- _SFR_IO8((pin >> 4) + 1) &= ~_BV(pin & 0xF); // IN
- _SFR_IO8((pin >> 4) + 2) |= _BV(pin & 0xF); // LO
-}
-
-static
-inline
-void init_strobe(void) {
- uint8_t pin = MATRIX_STROBE_PIN ;
- _SFR_IO8((pin >> 4) + 1) |= _BV(pin & 0xF); // OUT
- _SFR_IO8((pin >> 4) + 2) |= _BV(pin & 0xF); // HI
-}
-
-static
-inline
-void init_rows(void) {
- for ( uint8_t i = 0 ; i < NUM_ROW_PINS; ++i ) {
- uint8_t pin = row_pins[i];
- _SFR_IO8((pin >> 4) + 1) |= _BV(pin & 0xF); // OUT
- _SFR_IO8((pin >> 4) + 2) &= ~_BV(pin & 0xF); // LOW
- }
-}
-
-static
-inline
-void init_cols(void) {
- for ( uint8_t i = 0 ; i < NUM_COL_PINS; ++i ) {
- uint8_t pin = col_pins[i];
- _SFR_IO8((pin >> 4) + 1) |= _BV(pin & 0xF); // OUT
- _SFR_IO8((pin >> 4) + 2) &= ~_BV(pin & 0xF); // LOW
- }
-}
-
-static
-inline
-void select_row(uint8_t current_row) {
- for ( uint8_t i = 0 ; i < NUM_ROW_PINS; ++i ) {
- uint8_t pin = row_pins[i] ;
- if ( check_bit( current_row, i ) ) {
- _SFR_IO8((pin >> 4) + 2) |= _BV(pin & 0xF); // HI
- } else {
- _SFR_IO8((pin >> 4) + 2) &= ~_BV(pin & 0xF); // LOW
- }
- }
- wait_us(30) ;
-}
-
-static
-inline
-void select_col(uint8_t current_col) {
- for ( uint8_t i = 0 ; i < NUM_COL_PINS; ++i ) {
- uint8_t pin = col_pins[i] ;
- if ( check_bit( current_col, i ) ) {
- _SFR_IO8((pin >> 4) + 2) |= _BV(pin & 0xF); // HI
- } else {
- _SFR_IO8((pin >> 4) + 2) &= ~_BV(pin & 0xF); // LOW
- }
- }
- wait_us(30) ;
-}
-
-static
-inline
-uint8_t matrix_strobe(uint8_t col_index) {
- uint8_t strobe_pin = MATRIX_STROBE_PIN ;
- uint8_t data_pin = MATRIX_DATA_PIN ;
-
- // set strobe pin low
- _SFR_IO8((strobe_pin >> 4) + 2) &= ~_BV(strobe_pin & 0xF);
-
- wait_us(30) ;
-
- // read data
- uint8_t data = (_SFR_IO8(data_pin >> 4) & _BV(data_pin & 0xF)) ;
-
- // set strobe pin hi
- _SFR_IO8((strobe_pin >> 4) + 2) |= _BV(strobe_pin & 0xF);
-
- uint8_t out = data ? (1 << col_index) : 0 ;
- return out ;
-}
-
-static
-bool matrix_read(uint8_t current_matrix[], uint8_t current_row) {
- // Store last value of row prior to reading
- uint8_t last_row_value = current_matrix[current_row];
-
- // Clear data in matrix row
- current_matrix[current_row] = 0;
-
- select_row(current_row);
-
- // For each col...
- for(uint8_t col_index = 0; col_index < MATRIX_COLS; ++col_index) {
-
- select_col(col_index) ;
-
- // strobe the matrix
- // Populate the matrix row with the state of the data pin
- current_matrix[current_row] |= matrix_strobe(col_index) ;
- }
-
- bool test = last_row_value != current_matrix[current_row] ;
- return test ;
-}
-
-__attribute__ ((weak))
-void matrix_init_quantum(void) {
- matrix_init_kb();
-}
-
-__attribute__ ((weak))
-void matrix_scan_quantum(void) {
- matrix_scan_kb();
-}
-
-__attribute__ ((weak))
-void matrix_init_kb(void) {
- matrix_init_user();
-}
-
-__attribute__ ((weak))
-void matrix_scan_kb(void) {
- matrix_scan_user();
-}
-
-__attribute__ ((weak))
-void matrix_init_user(void) {
-}
-
-__attribute__ ((weak))
-void matrix_scan_user(void) {
-}
-
-inline
-uint8_t matrix_rows(void) {
- return MATRIX_ROWS;
-}
-
-inline
-uint8_t matrix_cols(void) {
- return MATRIX_COLS;
-}
-
-inline
-uint8_t matrix_get_row(uint8_t row) {
- return matrix[row];
-}
-
-void matrix_init(void) {
- init_led() ;
- init_rows() ;
- init_cols() ;
- init_data() ;
- init_strobe() ;
-
- // initialize matrix state: all keys off
- for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
- matrix[i] = 0;
-# if (DEBOUNCE > 0)
- matrix_debounce [i] = 0;
-# endif
- }
-
- matrix_init_quantum() ;
-}
-
-uint8_t matrix_scan(void) {
- for ( uint8_t current_row = 0; current_row < MATRIX_ROWS; ++current_row ) {
-# if (DEBOUNCE > 0)
- bool matrix_changed = matrix_read(matrix_debounce, current_row);
-
- if (matrix_changed) {
- debouncing = true ;
- debouncing_time = timer_read();
- }
-
-# else
- matrix_read(matrix, current_row);
-# endif
- }
-
-# if (DEBOUNCE > 0)
- if (debouncing && (timer_elapsed(debouncing_time) > DEBOUNCE)) {
- for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
- matrix[i] = matrix_debounce[i];
- }
- debouncing = false;
- }
-# endif
-
- matrix_scan_quantum();
- return 1;
-}
-
-void matrix_print(void) {
- print_matrix_header();
-
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- print_hex8(row); print(": ");
- print_matrix_row(row);
- print("\n");
- }
-}
diff --git a/keyboards/converter/ibm_5291/matrix.csv b/keyboards/converter/ibm_5291/matrix.csv
deleted file mode 100644
index 40462c2143..0000000000
--- a/keyboards/converter/ibm_5291/matrix.csv
+++ /dev/null
@@ -1,96 +0,0 @@
-0,Z
-1,S
-2,W
-3,3
-4,X
-5,D
-6,E
-7,4
-8,C
-9,F
-10,R
-11,5
-12,V
-13,G
-14,T
-15,6
-16,B
-17,H
-18,Y
-19,7
-20,N
-21,J
-22,U
-23,8
-24,PAD_2
-25,PAD_5
-26,PAD_8
-27,NUM_LOCK
-28,M
-29,K
-30,I
-31,9
-32,COMMA
-33,L
-34,O
-35,0
-36,PERIOD
-37,SEMICOLON
-38,P
-39,MINUS
-40,SLASH
-41,QUOTE
-42,LEFT_BRACE
-43,EQUAL
-44,SPACE
-45,RSHIFT
-46,BACK_QUOTE
-47,RIGHT_BRACE
-48,CAPS_LOCK
-49,PAD_ASTERIX
-50,ENTER
-51,BACKSPACE
-52,PAD_0
-53,PAD_1
-54,PAD_4
-55,PAD_7
-56,PAD_PLUS
-57,UNASSIGNED
-58,PAD_MINUS
-59,SCROLL_LOCK
-60,PAD_PERIOD
-61,PAD_3
-62,PAD_6
-63,PAD_9
-64,BACKSLASH
-65,A
-66,Q
-67,2
-68,LALT
-69,UNASSIGNED
-70,UNASSIGNED
-71,1
-72,F7
-73,F5
-74,F3
-75,F1
-76,F8
-77,F6
-78,F4
-79,F2
-80,F10
-81,UNASSIGNED
-82,UNASSIGNED
-83,UNASSIGNED
-84,F9
-85,UNASSIGNED
-86,UNASSIGNED
-87,UNASSIGNED
-88,LSHIFT
-89,LCTRL
-90,TAB
-91,ESC
-92,UNASSIGNED
-93,UNASSIGNED
-94,UNASSIGNED
-95,UNASSIGNED
diff --git a/keyboards/converter/ibm_5291/readme.md b/keyboards/converter/ibm_5291/readme.md
deleted file mode 100644
index 03406d3f9d..0000000000
--- a/keyboards/converter/ibm_5291/readme.md
+++ /dev/null
@@ -1,72 +0,0 @@
-# IBM 5291 keyboard converter
-
-[IBM 5291](https://deskthority.net/wiki/IBM_Model_F#IBM_5291_Keyboard)
-
-A converter for the eponymous keyboard.
-
-Keyboard Maintainer: [Listofoptions](https://github.com/listofoptions)
-Hardware Supported: IBM 5291, Teensy 2.0
-
-Make example for this keyboard (after setting up your build environment):
-
- make converter/ibm_5291: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).
-
-
-The pinout is as follows:
-
-IBM−5291−Cable to Pinhead−14
-
-| pin | description
-----|------------------------
-1 | GND
-2 | NC
-3 | GND
-4 | GN)
-5 | +5V
-6 | D0
-7 | D1
-8 | D2
-9 | D3
-10| D4
-11| D5
-12| D6
-13| Strobe
-14| Out
-
-The pins on this connector are organized
-![here](https://geekhack.org/index.php?action=dlattach;topic=48950.0;attach=36759;image)
-
-IBM−5291−2 Cable with DB15M connector
-
-| pin | description
-----|-------------
-|1,2,3 | GND
-|4 | +5V
-|5 | D0
-|6 | D1
-|7 | D2
-|8 | D3
-|9 | D4
-|10 | D5
-|11 | D6
-|12 | Strobe
-|13 | Out
-|14 | PE
-|15 | NC
-
-The above connector is actually numbered so it should be easier to determine
-where the needed connections are.
-
-To connect to the teensy, the following are pins are needed (if you should choose not set your own):
-
-* PB0 -> PB6 are connected to D0 -> D6
-* +5V is connected to the corresponding teensy pin
-* gnd is as well, only one of the gnd pins needs to be connected though.
-* strobe is connected to pin PD1
-* data is connected to PD0
-* PE does not need to be connected to anything, but it could also be connected to gnd
-
-sources:
- http://www.retrocomputing.eu/documents/5291_MaintenanceLibrary.pdf
diff --git a/keyboards/converter/ibm_terminal/keymaps/default/rules.mk b/keyboards/converter/ibm_terminal/keymaps/default/rules.mk
index 749b93312c..01664a445b 100644
--- a/keyboards/converter/ibm_terminal/keymaps/default/rules.mk
+++ b/keyboards/converter/ibm_terminal/keymaps/default/rules.mk
@@ -15,7 +15,6 @@ UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
PS2_USE_USART = yes
-API_SYSEX_ENABLE = no
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/converter/ibm_terminal/keymaps/priyadi/rules.mk b/keyboards/converter/ibm_terminal/keymaps/priyadi/rules.mk
index 76d349920f..15ff28f350 100644
--- a/keyboards/converter/ibm_terminal/keymaps/priyadi/rules.mk
+++ b/keyboards/converter/ibm_terminal/keymaps/priyadi/rules.mk
@@ -16,7 +16,6 @@ UNICODEMAP_ENABLE = yes
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
PS2_USE_USART = yes
-API_SYSEX_ENABLE = no
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/converter/ibm_terminal/rules.mk b/keyboards/converter/ibm_terminal/rules.mk
index 059d7b303e..8e30f5be5b 100644
--- a/keyboards/converter/ibm_terminal/rules.mk
+++ b/keyboards/converter/ibm_terminal/rules.mk
@@ -28,7 +28,6 @@ UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
PS2_USE_USART = yes
-API_SYSEX_ENABLE = no
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
CUSTOM_MATRIX = yes
diff --git a/keyboards/converter/siemens_tastatur/config.h b/keyboards/converter/siemens_tastatur/config.h
index ae6f1a209a..cd54ed3d83 100644
--- a/keyboards/converter/siemens_tastatur/config.h
+++ b/keyboards/converter/siemens_tastatur/config.h
@@ -26,11 +26,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define PRODUCT Siemens Tastatur
/* key matrix size */
-#define MATRIX_ROWS 4
+#define MATRIX_ROWS 5
#define MATRIX_COLS 19
//This is all fake and not used
-#define MATRIX_COL_PINS { B11, B10, B1, B0, A7, A6, A5, A4, A3, A2, A1, A0, C15, C14 }
+#define MATRIX_COL_PINS { B11, B10, B1, B0, A7, A6, A5, A4, A3, A2, A1, A0, C15, C14, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN }
#define MATRIX_ROW_PINS { B3, B4, B5, B6, B7 }
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/converter/usb_usb/usb_usb.h b/keyboards/converter/usb_usb/usb_usb.h
index e0c7c9c0d4..1d1b6770d1 100644
--- a/keyboards/converter/usb_usb/usb_usb.h
+++ b/keyboards/converter/usb_usb/usb_usb.h
@@ -127,15 +127,40 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
K39,K04,K16,K07,K09,K0A,K0B,K0D,K0E,K0F,K33,K34, K28, K5C,K5D,K5E,K57, \
KE1,K1D,K1B,K06,K19,K05,K11,K10,K36,K37,K38, KE5, K52, K59,K5A,K5B, \
KE0,KE3,KE2, K2C, KE6,KE7,K65,KE4, K50,K51,K4F, K62, K63,K58 \
-) LAYOUT_all( \
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
- K29, K3A, K3B, K3C, K3D, K3E, K3F, K40, K41, K42, K43, K44, K45, K46, K47, K48, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
- K35, K1E, K1F, K20, K21, K22, K23, K24, K25, K26, K27, K2D, K2E, KC_NO, K2A, K49, K4A, K4B, K53, K54, K55, K56, KC_NO, KC_NO, \
- K2B, K14, K1A, K08, K15, K17, K1C, K18, K0C, K12, K13, K2F, K30, K31, K4C, K4D, K4E, K5F, K60, K61, K57, KC_NO, KC_NO, \
- K39, K04, K16, K07, K09, K0A, K0B, K0D, K0E, K0F, K33, K34, KC_NO, K28, K5C, K5D, K5E, KC_NO, KC_NO, KC_NO, \
- KE1, KC_NO, K1D, K1B, K06, K19, K05, K11, K10, K36, K37, K38, KC_NO, KE5, K52, K59, K5A, K5B, KC_NO, KC_NO, KC_NO, \
- KE0, KE3, KE2, KC_NO, KC_NO, K2C, KC_NO, KC_NO, KC_NO, KE6, KE7, K65, KE4, K50, K51, K4F, K62, K63, K58, KC_NO, KC_NO \
-)
+) { \
+ { KC_NO, KC_NO, KC_NO, KC_NO, K04, K05, K06, K07, /* 00-07 */ \
+ K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, /* 08-0F */ \
+ { K10, K11, K12, K13, K14, K15, K16, K17, /* 10-17 */ \
+ K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, /* 18-1F */ \
+ { K20, K21, K22, K23, K24, K25, K26, K27, /* 20-27 */ \
+ K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, /* 28-2F */ \
+ { K30, K31, KC_NO, K33, K34, K35, K36, K37, /* 30-37 */ \
+ K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, /* 38-3F */ \
+ { K40, K41, K42, K43, K44, K45, K46, K47, /* 40-47 */ \
+ K48, K49, K4A, K4B, K4C, K4D, K4E, K4F }, /* 48-4F */ \
+ { K50, K51, K52, K53, K54, K55, K56, K57, /* 50-57 */ \
+ K58, K59, K5A, K5B, K5C, K5D, K5E, K5F }, /* 58-5F */ \
+ { K60, K61, K62, K63, KC_NO, K65, KC_NO, KC_NO, /* 60-67 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, }, /* 68-6F */ \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* 70-77 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, }, /* 78-7F */ \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* 80-87 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* 88-8F */ \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* 90-97 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* 98-9F */ \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* A0-A7 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* A8-AF */ \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* B0-B7 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* B8-BF */ \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* C0-C7 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* C8-CF */ \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* D0-D7 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* D8-DF */ \
+ { KE0, KE1, KE2, KE3, KE4, KE5, KE6, KE7, /* E0-E7 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* E8-EF */ \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* F0-F7 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* F8-FF */ \
+}
/* ,---. ,---------------. ,---------------. ,---------------. ,-----------.
* |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau|
@@ -159,15 +184,40 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
K39,K04,K16,K07,K09,K0A,K0B,K0D,K0E,K0F,K33,K34,K32, K5C,K5D,K5E, \
KE1,K64,K1D,K1B,K06,K19,K05,K11,K10,K36,K37,K38, KE5, K52, K59,K5A,K5B,K58, \
KE0,KE3,KE2, K2C, KE6,KE7,K65,KE4, K50,K51,K4F, K62, K63 \
-) LAYOUT_all( \
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
- K29, K3A, K3B, K3C, K3D, K3E, K3F, K40, K41, K42, K43, K44, K45, K46, K47, K48, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
- K35, K1E, K1F, K20, K21, K22, K23, K24, K25, K26, K27, K2D, K2E, KC_NO, K2A, K49, K4A, K4B, K53, K54, K55, K56, KC_NO, KC_NO, \
- K2B, K14, K1A, K08, K15, K17, K1C, K18, K0C, K12, K13, K2F, K30, K32, K4C, K4D, K4E, K5F, K60, K61, K57, KC_NO, KC_NO, \
- K39, K04, K16, K07, K09, K0A, K0B, K0D, K0E, K0F, K33, K34, K32, K28, K5C, K5D, K5E, KC_NO, KC_NO, KC_NO, \
- KE1, K64, K1D, K1B, K06, K19, K05, K11, K10, K36, K37, K38, KC_NO, KE5, K52, K59, K5A, K5B, KC_NO, KC_NO, KC_NO, \
- KE0, KE3, KE2, KC_NO, KC_NO, K2C, KC_NO, KC_NO, KC_NO, KE6, KE7, K65, KE4, K50, K51, K4F, K62, K63, K58, KC_NO, KC_NO \
-)
+) { \
+ { KC_NO, KC_NO, KC_NO, KC_NO, K04, K05, K06, K07, /* 00-07 */ \
+ K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, /* 08-0F */ \
+ { K10, K11, K12, K13, K14, K15, K16, K17, /* 10-17 */ \
+ K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, /* 18-1F */ \
+ { K20, K21, K22, K23, K24, K25, K26, K27, /* 20-27 */ \
+ K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, /* 28-2F */ \
+ { K30, K31, K32, K33, K34, K35, K36, K37, /* 30-37 */ \
+ K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, /* 38-3F */ \
+ { K40, K41, K42, K43, K44, K45, K46, K47, /* 40-47 */ \
+ K48, K49, K4A, K4B, K4C, K4D, K4E, K4F }, /* 48-4F */ \
+ { K50, K51, K52, K53, K54, K55, K56, K57, /* 50-57 */ \
+ K58, K59, K5A, K5B, K5C, K5D, K5E, K5F }, /* 58-5F */ \
+ { K60, K61, K62, K63, K64, K65, KC_NO, KC_NO, /* 60-67 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, }, /* 68-6F */ \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* 70-77 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, }, /* 78-7F */ \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* 80-87 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* 88-8F */ \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* 90-97 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* 98-9F */ \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* A0-A7 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* A8-AF */ \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* B0-B7 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* B8-BF */ \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* C0-C7 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* C8-CF */ \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* D0-D7 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* D8-DF */ \
+ { KE0, KE1, KE2, KE3, KE4, KE5, KE6, KE7, /* E0-E7 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* E8-EF */ \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* F0-F7 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* F8-FF */ \
+}
/* ,---. ,---------------. ,---------------. ,---------------. ,-----------.
* |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau|
@@ -191,13 +241,38 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
K39,K04,K16,K07,K09,K0A,K0B,K0D,K0E,K0F,K33,K34,K32, K5C,K5D,K5E, \
KE1,K1D,K1B,K06,K19,K05,K11,K10,K36,K37,K38, K87,KE5, K52, K59,K5A,K5B,K58, \
KE0,KE3,KE2,K8B, K2C, K8A,K88,KE6,KE7,K65,KE4, K50,K51,K4F, K62, K63 \
-) LAYOUT_all( \
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
- K29, K3A, K3B, K3C, K3D, K3E, K3F, K40, K41, K42, K43, K44, K45, K46, K47, K48, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
- K35, K1E, K1F, K20, K21, K22, K23, K24, K25, K26, K27, K2D, K2E, K89, K2A, K49, K4A, K4B, K53, K54, K55, K56, KC_NO, KC_NO, \
- K2B, K14, K1A, K08, K15, K17, K1C, K18, K0C, K12, K13, K2F, K30, K32, K4C, K4D, K4E, K5F, K60, K61, K57, KC_NO, KC_NO, \
- K39, K04, K16, K07, K09, K0A, K0B, K0D, K0E, K0F, K33, K34, K32, K28, K5C, K5D, K5E, KC_NO, KC_NO, KC_NO, \
- KE1, KC_NO, K1D, K1B, K06, K19, K05, K11, K10, K36, K37, K38, K87, KE5, K52, K59, K5A, K5B, KC_NO, KC_NO, KC_NO, \
- KE0, KE3, KE2, K8B, KC_NO, K2C, KC_NO, K8A, K88, KE6, KE7, K65, KE4, K50, K51, K4F, K62, K63, K58, KC_NO, KC_NO \
-)
+) { \
+ { KC_NO, KC_NO, KC_NO, KC_NO, K04, K05, K06, K07, /* 00-07 */ \
+ K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, /* 08-0F */ \
+ { K10, K11, K12, K13, K14, K15, K16, K17, /* 10-17 */ \
+ K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, /* 18-1F */ \
+ { K20, K21, K22, K23, K24, K25, K26, K27, /* 20-27 */ \
+ K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, /* 28-2F */ \
+ { K30, K31, K32, K33, K34, K35, K36, K37, /* 30-37 */ \
+ K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, /* 38-3F */ \
+ { K40, K41, K42, K43, K44, K45, K46, K47, /* 40-47 */ \
+ K48, K49, K4A, K4B, K4C, K4D, K4E, K4F }, /* 48-4F */ \
+ { K50, K51, K52, K53, K54, K55, K56, K57, /* 50-57 */ \
+ K58, K59, K5A, K5B, K5C, K5D, K5E, K5F }, /* 58-5F */ \
+ { K60, K61, K62, K63, K64, K65, KC_NO, KC_NO, /* 60-67 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, }, /* 68-6F */ \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* 70-77 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, }, /* 78-7F */ \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K87, /* 80-87 */ \
+ K88, K89, K8A, K8B, KC_NO, KC_NO, KC_NO, KC_NO }, /* 88-8F */ \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* 90-97 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* 98-9F */ \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* A0-A7 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* A8-AF */ \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* B0-B7 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* B8-BF */ \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* C0-C7 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* C8-CF */ \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* D0-D7 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* D8-DF */ \
+ { KE0, KE1, KE2, KE3, KE4, KE5, KE6, KE7, /* E0-E7 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* E8-EF */ \
+ { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, /* F0-F7 */ \
+ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, /* F8-FF */ \
+}
#endif
diff --git a/keyboards/coseyfannitutti/mulletpad/config.h b/keyboards/coseyfannitutti/mulletpad/config.h
index 782bc16e76..92e2a747e3 100644
--- a/keyboards/coseyfannitutti/mulletpad/config.h
+++ b/keyboards/coseyfannitutti/mulletpad/config.h
@@ -41,7 +41,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#define MATRIX_ROW_PINS { F4, F1, F5, F6, F7 }
-#define MATRIX_COL_PINS { F0, C7, C6, B6, }
+#define MATRIX_COL_PINS { F0, C7, C6, B6 }
#define UNUSED_PINS
/* COL2ROW, ROW2COL */
diff --git a/keyboards/cospad/keymaps/detrus/keymap.c b/keyboards/cospad/keymaps/detrus/keymap.c
index 93f95bb01e..af56305e5c 100644
--- a/keyboards/cospad/keymaps/detrus/keymap.c
+++ b/keyboards/cospad/keymaps/detrus/keymap.c
@@ -270,7 +270,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
// Makes sure to update the good tri-layer if a layer changes
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
switch (biton32(default_layer_state)) {
case _QWERTY_LAYER:
state = update_tri_layer_state(state, _RAISE_LAYER, _QWERTY_LOWER_LAYER, _ALTER_LAYER);
diff --git a/keyboards/crkbd/keymaps/davidrambo/config.h b/keyboards/crkbd/keymaps/davidrambo/config.h
index 25f5f3b22f..82057151d3 100644
--- a/keyboards/crkbd/keymaps/davidrambo/config.h
+++ b/keyboards/crkbd/keymaps/davidrambo/config.h
@@ -41,8 +41,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGB_MATRIX_TYPING_MEATMAP_DECREASE_DELAY_MS 50
// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
- #define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
- #define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 100 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
diff --git a/keyboards/crkbd/keymaps/devdev/config.h b/keyboards/crkbd/keymaps/devdev/config.h
index 793c7b020b..c858f8f2d0 100644
--- a/keyboards/crkbd/keymaps/devdev/config.h
+++ b/keyboards/crkbd/keymaps/devdev/config.h
@@ -32,7 +32,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define CUSTOM_FONT
-#define CUSTOM_LAYER_READ //if you remove this it causes issues - needs better guarding
+#define CUSTOM_LAYER_READ //if you remove this it causes issues - needs better guarding
#define TAPPING_FORCE_HOLD
#define TAPPING_TERM 200
@@ -43,7 +43,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifdef RGBLIGHT_ENABLE
#undef RGBLED_NUM
-
+
//#define RGBLIGHT_ANIMATIONS
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
@@ -55,11 +55,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define RGBLIGHT_EFFECT_RGB_TEST
//#define RGBLIGHT_EFFECT_ALTERNATING
//#define RGBLIGHT_EFFECT_TWINKLE
-
+
//#define RGBLED_NUM 54
//#define RGBLED_SPLIT 27
- //#define RGBLED_SPLIT { 27, 27 } // haven't figured out how to use this yet
-
+ //#define RGBLED_SPLIT { 27, 27 } // haven't figured out how to use this yet
+
#define RGBLED_NUM 27
#define RGBLIGHT_LIMIT_VAL 120
#define RGBLIGHT_HUE_STEP 10
@@ -71,11 +71,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
+# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_GRADIENT_LEFT_RIGHT
diff --git a/keyboards/crkbd/keymaps/dsanchezseco/keymap.c b/keyboards/crkbd/keymaps/dsanchezseco/keymap.c
index 9a48ee2595..6cf593bc3d 100644
--- a/keyboards/crkbd/keymaps/dsanchezseco/keymap.c
+++ b/keyboards/crkbd/keymaps/dsanchezseco/keymap.c
@@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
)
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
diff --git a/keyboards/crkbd/keymaps/gotham/config.h b/keyboards/crkbd/keymaps/gotham/config.h
index dd58a0fe05..05b04e0aa3 100644
--- a/keyboards/crkbd/keymaps/gotham/config.h
+++ b/keyboards/crkbd/keymaps/gotham/config.h
@@ -39,7 +39,7 @@
#ifdef RGB_MATRIX_ENABLE
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
# define RGB_MATRIX_HUE_STEP 32
# define RGB_MATRIX_SAT_STEP 64
diff --git a/keyboards/crkbd/keymaps/kidbrazil/config.h b/keyboards/crkbd/keymaps/kidbrazil/config.h
index be1777e575..752ea862e0 100644
--- a/keyboards/crkbd/keymaps/kidbrazil/config.h
+++ b/keyboards/crkbd/keymaps/kidbrazil/config.h
@@ -56,7 +56,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
- #define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+ #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
diff --git a/keyboards/crkbd/keymaps/rpbaptist/config.h b/keyboards/crkbd/keymaps/rpbaptist/config.h
index 6bd16725f5..9e5f75c362 100644
--- a/keyboards/crkbd/keymaps/rpbaptist/config.h
+++ b/keyboards/crkbd/keymaps/rpbaptist/config.h
@@ -42,7 +42,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define NO_ACTION_ONESHOT
#ifdef RGB_MATRIX_ENABLE
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
# define RGB_MATRIX_HUE_STEP 8
diff --git a/keyboards/crkbd/keymaps/rs/oled.c b/keyboards/crkbd/keymaps/rs/oled.c
index c94dff9eda..bd8ae7d299 100644
--- a/keyboards/crkbd/keymaps/rs/oled.c
+++ b/keyboards/crkbd/keymaps/rs/oled.c
@@ -61,7 +61,7 @@ void keylog_set_keymap(uint16_t keycode, keyrecord_t *record) {
set_keylog(keycode, record);
}
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
for (layer_name_idx = 0; layer_name_idx < LAYER_DISPLAY_MAX; ++layer_name_idx) {
if (state == 0 && layer_display_name[layer_name_idx].state == default_layer_state) {
break;
diff --git a/keyboards/crkbd/keymaps/soundmonster/config.h b/keyboards/crkbd/keymaps/soundmonster/config.h
index 1e58af3abe..8235b48697 100644
--- a/keyboards/crkbd/keymaps/soundmonster/config.h
+++ b/keyboards/crkbd/keymaps/soundmonster/config.h
@@ -59,11 +59,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
# define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
# define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
+# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
# define RGB_MATRIX_HUE_STEP 8
# define RGB_MATRIX_SAT_STEP 8
# define RGB_MATRIX_VAL_STEP 8
diff --git a/keyboards/crkbd/readme.md b/keyboards/crkbd/readme.md
index 72d44fbbd5..f3bf152d20 100644
--- a/keyboards/crkbd/readme.md
+++ b/keyboards/crkbd/readme.md
@@ -44,7 +44,7 @@ And in your `config.h` file, add the following:
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
diff --git a/keyboards/dc01/left/config.h b/keyboards/dc01/left/config.h
index 57614e84ab..8a166a2655 100644
--- a/keyboards/dc01/left/config.h
+++ b/keyboards/dc01/left/config.h
@@ -42,7 +42,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#define MATRIX_ROW_PINS { B6, B5, B4, D7, D6 }
-#define MATRIX_COL_PINS { F4, F1, F0, F7, F6, F5 }
+#define MATRIX_COL_PINS { F4, F1, F0, F7, F6, F5, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN }
#define UNUSED_PINS
#define F_SCL 350000UL
diff --git a/keyboards/dc01/left/matrix.c b/keyboards/dc01/left/matrix.c
index c3b3b39a4f..bf5aba8497 100644
--- a/keyboards/dc01/left/matrix.c
+++ b/keyboards/dc01/left/matrix.c
@@ -26,6 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "wait.h"
#include "print.h"
#include "debug.h"
+#include "gpio.h"
#include "util.h"
#include "matrix.h"
#include "timer.h"
@@ -71,7 +72,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#if (DIODE_DIRECTION == ROW2COL) || (DIODE_DIRECTION == COL2ROW)
static const uint8_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
-static const uint8_t col_pins[MATRIX_COLS_SCANNED] = MATRIX_COL_PINS;
+static const uint8_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
#endif
/* matrix state(1:on, 0:off) */
@@ -451,4 +452,4 @@ error:
i2c_stop();
return (status < 0) ? status : I2C_STATUS_SUCCESS;
-} \ No newline at end of file
+}
diff --git a/keyboards/divergetm2/keymaps/xtonhasvim/keymap.c b/keyboards/divergetm2/keymaps/xtonhasvim/keymap.c
index 9d5135baa3..5f478c1df1 100644
--- a/keyboards/divergetm2/keymaps/xtonhasvim/keymap.c
+++ b/keyboards/divergetm2/keymaps/xtonhasvim/keymap.c
@@ -150,6 +150,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
}
diff --git a/keyboards/dm9records/plaid/keymaps/brickbots/keymap.c b/keyboards/dm9records/plaid/keymaps/brickbots/keymap.c
index 20b6eac682..646a942c58 100644
--- a/keyboards/dm9records/plaid/keymaps/brickbots/keymap.c
+++ b/keyboards/dm9records/plaid/keymaps/brickbots/keymap.c
@@ -227,7 +227,7 @@ void keyboard_post_init_user(void) {
}
}
-void eeconfig_init_user(void) { // EEPROM is getting reset!
+void eeconfig_init_user(void) { // EEPROM is getting reset!
led_config.raw = 0;
led_config.red_mode = LEDMODE_ON;
led_config.green_mode = LEDMODE_MODS;
@@ -235,7 +235,7 @@ void eeconfig_init_user(void) { // EEPROM is getting reset!
eeconfig_update_user(led_config.raw);
}
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
@@ -289,7 +289,7 @@ void led_keypress_update(uint8_t led, uint8_t led_mode, uint16_t keycode, keyrec
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
/* If the either led mode is keypressed based, call the led updater
- then let it fall through the keypress handlers. Just to keep
+ then let it fall through the keypress handlers. Just to keep
the logic out of this procedure */
if (led_config.red_mode >= LEDMODE_MODS && led_config.red_mode <= LEDMODE_ENTER) {
led_keypress_update(LED_RED, led_config.red_mode, keycode, record);
diff --git a/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/keymap.c b/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/keymap.c
index bdf6c54c31..6dcabb160e 100644
--- a/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/keymap.c
+++ b/keyboards/dm9records/plaid/keymaps/thehalfdeafchef/keymap.c
@@ -125,7 +125,7 @@ void eeconfig_init_user(void) { // EEPROM is getting reset!
}
// When LOWER and RAISE are held together, go to the FUNCTION layer
-uint32_t layer_state_set_user(uint32_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _FUNCTION); }
+layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LOWER, _RAISE, _FUNCTION); }
// Runs constantly in the background, in a loop.
void matrix_scan_user(void) {
diff --git a/keyboards/dp60/dp60.c b/keyboards/dp60/dp60.c
index 475084b049..87543b2a1c 100644
--- a/keyboards/dp60/dp60.c
+++ b/keyboards/dp60/dp60.c
@@ -17,7 +17,7 @@
#include "dp60.h"
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/draculad/config.h b/keyboards/draculad/config.h
index 8a27fdea4d..d8a9fbd37c 100644
--- a/keyboards/draculad/config.h
+++ b/keyboards/draculad/config.h
@@ -65,3 +65,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define UNUSED_PINS
#define EE_HANDS
+
+#define LAYER_STATE_8BIT \ No newline at end of file
diff --git a/keyboards/draculad/keymaps/pimoroni/keymap.c b/keyboards/draculad/keymaps/pimoroni/keymap.c
index 87cbe3cd3a..762ae26c70 100644
--- a/keyboards/draculad/keymaps/pimoroni/keymap.c
+++ b/keyboards/draculad/keymaps/pimoroni/keymap.c
@@ -16,7 +16,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
-#include "pimoroni_trackball.h"
+#include "drivers/sensors/pimoroni_trackball.h"
#include "pointing_device.h"
diff --git a/keyboards/draculad/keymaps/pimoroni/pimoroni_trackball.c b/keyboards/draculad/keymaps/pimoroni/pimoroni_trackball.c
deleted file mode 100644
index c4f4a0441a..0000000000
--- a/keyboards/draculad/keymaps/pimoroni/pimoroni_trackball.c
+++ /dev/null
@@ -1,177 +0,0 @@
-/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.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 "pimoroni_trackball.h"
-#include "i2c_master.h"
-
-static uint8_t scrolling = 0;
-static int16_t x_offset = 0;
-static int16_t y_offset = 0;
-static int16_t h_offset = 0;
-static int16_t v_offset = 0;
-static float precisionSpeed = 1;
-
-static uint16_t i2c_timeout_timer;
-
-#ifndef I2C_TIMEOUT
-# define I2C_TIMEOUT 100
-#endif
-#ifndef I2C_WAITCHECK
-# define I2C_WAITCHECK 1000
-#endif
-#ifndef MOUSE_DEBOUNCE
-# define MOUSE_DEBOUNCE 5
-#endif
-
-void trackball_set_rgbw(uint8_t red, uint8_t green, uint8_t blue, uint8_t white) {
- uint8_t data[] = {0x00, red, green, blue, white};
- i2c_transmit(TRACKBALL_WRITE, data, sizeof(data), I2C_TIMEOUT);
-}
-
-int16_t mouse_offset(uint8_t positive, uint8_t negative, int16_t scale) {
- int16_t offset = (int16_t)positive - (int16_t)negative;
- int16_t magnitude = (int16_t)(scale * offset * offset * precisionSpeed);
- return offset < 0 ? -magnitude : magnitude;
-}
-
-void update_member(int8_t* member, int16_t* offset) {
- if (*offset > 127) {
- *member = 127;
- *offset -= 127;
- } else if (*offset < -127) {
- *member = -127;
- *offset += 127;
- } else {
- *member = *offset;
- *offset = 0;
- }
-}
-
-__attribute__((weak)) void trackball_check_click(bool pressed, report_mouse_t* mouse) {
- if (pressed) {
- mouse->buttons |= MOUSE_BTN1;
- } else {
- mouse->buttons &= ~MOUSE_BTN1;
- }
-}
-
-bool process_record_kb(uint16_t keycode, keyrecord_t* record) {
- if (true) {
- xprintf("KL: kc: %u, col: %u, row: %u, pressed: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed);
- }
-
-
- if (!process_record_user(keycode, record)) { return false; }
-
-/* If Mousekeys is disabled, then use handle the mouse button
- * keycodes. This makes things simpler, and allows usage of
- * the keycodes in a consistent manner. But only do this if
- * Mousekeys is not enable, so it's not handled twice.
- */
-#ifndef MOUSEKEY_ENABLE
- if (IS_MOUSEKEY_BUTTON(keycode)) {
- report_mouse_t currentReport = pointing_device_get_report();
- if (record->event.pressed) {
- currentReport.buttons |= 1 << (keycode - KC_MS_BTN1);
- } else {
- currentReport.buttons &= ~(1 << (keycode - KC_MS_BTN1));
- }
- pointing_device_set_report(currentReport);
- pointing_device_send();
- }
-#endif
-
- return true;
-}
-
-void trackball_register_button(bool pressed, enum mouse_buttons button) {
- report_mouse_t currentReport = pointing_device_get_report();
- if (pressed) {
- currentReport.buttons |= button;
- } else {
- currentReport.buttons &= ~button;
- }
- pointing_device_set_report(currentReport);
-}
-
-float trackball_get_precision(void) { return precisionSpeed; }
-void trackball_set_precision(float precision) { precisionSpeed = precision; }
-bool trackball_is_scrolling(void) { return scrolling; }
-void trackball_set_scrolling(bool scroll) { scrolling = scroll; }
-
-
-__attribute__((weak)) void pointing_device_init(void) { trackball_set_rgbw(0x80, 0x00, 0x00, 0x00); }
-
-void pointing_device_task(void) {
- static bool debounce;
- static uint16_t debounce_timer;
- uint8_t state[5] = {};
- if (timer_elapsed(i2c_timeout_timer) > I2C_WAITCHECK) {
- if (i2c_readReg(TRACKBALL_WRITE, 0x04, state, 5, I2C_TIMEOUT) == I2C_STATUS_SUCCESS) {
- if (!state[4] && !debounce) {
- if (scrolling) {
-#ifdef PIMORONI_TRACKBALL_INVERT_X
- h_offset += mouse_offset(state[2], state[3], 1);
-#else
- h_offset -= mouse_offset(state[2], state[3], 1);
-#endif
-#ifdef PIMORONI_TRACKBALL_INVERT_Y
- v_offset += mouse_offset(state[1], state[0], 1);
-#else
- v_offset -= mouse_offset(state[1], state[0], 1);
-#endif
- } else {
-#ifdef PIMORONI_TRACKBALL_INVERT_X
- x_offset -= mouse_offset(state[2], state[3], 5);
-#else
- x_offset += mouse_offset(state[2], state[3], 5);
-#endif
-#ifdef PIMORONI_TRACKBALL_INVERT_Y
- y_offset -= mouse_offset(state[1], state[0], 5);
-#else
- y_offset += mouse_offset(state[1], state[0], 5);
-#endif
- }
- } else {
- if (state[4]) {
- debounce = true;
- debounce_timer = timer_read();
- }
- }
- } else {
- i2c_timeout_timer = timer_read();
- }
- }
-
- if (timer_elapsed(debounce_timer) > MOUSE_DEBOUNCE) debounce = false;
-
- report_mouse_t mouse = pointing_device_get_report();
- // trackball_check_click(state[4] & (1 << 7), &mouse);
-
-#ifndef PIMORONI_TRACKBALL_ROTATE
- update_member(&mouse.x, &x_offset);
- update_member(&mouse.y, &y_offset);
- update_member(&mouse.h, &h_offset);
- update_member(&mouse.v, &v_offset);
-#else
- update_member(&mouse.x, &y_offset);
- update_member(&mouse.y, &x_offset);
- update_member(&mouse.h, &v_offset);
- update_member(&mouse.v, &h_offset);
-#endif
- pointing_device_set_report(mouse);
- pointing_device_send();
-}
diff --git a/keyboards/draculad/keymaps/pimoroni/rules.mk b/keyboards/draculad/keymaps/pimoroni/rules.mk
index 547a02f26f..d8dc92fbfc 100644
--- a/keyboards/draculad/keymaps/pimoroni/rules.mk
+++ b/keyboards/draculad/keymaps/pimoroni/rules.mk
@@ -1,6 +1,6 @@
# only uncomment on the side you have your trackball on
POINTING_DEVICE_ENABLE = yes
-SRC += pimoroni_trackball.c
+SRC += drivers/sensors/pimoroni_trackball.c
QUANTUM_LIB_SRC += i2c_master.c
OLED_DRIVER_ENABLE = yes
MOUSEKEY_ENABLE = no
diff --git a/keyboards/durgod/dgk6x/config.h b/keyboards/durgod/dgk6x/config.h
new file mode 100644
index 0000000000..53f824b98e
--- /dev/null
+++ b/keyboards/durgod/dgk6x/config.h
@@ -0,0 +1,93 @@
+/* Copyright 2021 Jessica Sullivan and Don Kjer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xD60D
+#define MANUFACTURER Hoksi Technology
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION ROW2COL
+
+// Dynamic EEPROM
+// Something sensible or else VIA may crash
+// Users may enable more if they wish
+#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095
+
+// Increase VIA layer count
+#define DYNAMIC_KEYMAP_LAYER_COUNT 16
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* Bootmagic Lite key configuration */
+#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0
+
+/* LED indicator pins */
+#define LED_CAPS_LOCK_PIN C4
+#define LED_WIN_LOCK_PIN C5
+#define LED_SCROLL_LOCK_PIN A8
+#define LED_MR_LOCK_PIN LED_SCROLL_LOCK_PIN
+#define LED_PIN_ON_STATE 0
+
+#ifdef RGB_MATRIX_ENABLE
+// This is a 7-bit address, that gets left-shifted and bit 0
+// set to 0 for write, 1 for read (as per I2C protocol)
+// The address will vary depending on your wiring:
+// 00 <-> GND
+// 01 <-> SCL
+// 10 <-> SDA
+// 11 <-> VCC
+// ADDR1 represents A1:A0 of the 7-bit address.
+// ADDR2 represents A3:A2 of the 7-bit address.
+// The result is: 0b101(ADDR2)(ADDR1)
+
+#define DRIVER_ADDR_1 0b1010000
+#define DRIVER_ADDR_2 0b1010011
+
+#define DRIVER_COUNT 2
+#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
+
+/* I2C Alternate function settings */
+#define I2C1_SCL_PAL_MODE 1
+#define I2C1_SDA_PAL_MODE 1
+
+/* Set I2C speed to 400kHz, 300ns Tr, 14ns Tf */
+#define I2C1_TIMINGR_PRESC 0x1U
+#define I2C1_TIMINGR_SCLDEL 0x9U
+#define I2C1_TIMINGR_SDADEL 0x0U
+#define I2C1_TIMINGR_SCLH 0x0cU
+#define I2C1_TIMINGR_SCLL 0x22U
+
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+# define RGB_MATRIX_KEYPRESSES
+# define RGB_MATRIX_LED_PROCESS_LIMIT 4
+# define RGB_MATRIX_LED_FLUSH_LIMIT 26
+
+# define DISABLE_RGB_MATRIX_HUE_BREATHING
+# define DISABLE_RGB_MATRIX_HUE_PENDULUM
+# define DISABLE_RGB_MATRIX_HUE_WAVE
+
+// This allows VIA to control RGB Matrix settings in the 'Lighting' section.
+#define VIA_QMK_RGBLIGHT_ENABLE
+
+#endif /* RGB_MATRIX_ENABLE */
diff --git a/keyboards/durgod/k320/k320.c b/keyboards/durgod/dgk6x/dgk6x.c
index 42091f36cd..d7e871327a 100644
--- a/keyboards/durgod/k320/k320.c
+++ b/keyboards/durgod/dgk6x/dgk6x.c
@@ -1,4 +1,4 @@
-/* Copyright 2021 kuenhlee and Don Kjer
+/* Copyright 2021 Jessica Sullivan and Don Kjer
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -14,19 +14,17 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "k320.h"
+#include "dgk6x.h"
/* Private Functions */
void off_all_leds(void) {
writePinHigh(LED_CAPS_LOCK_PIN);
- writePinHigh(LED_SCROLL_LOCK_PIN);
writePinHigh(LED_WIN_LOCK_PIN);
writePinHigh(LED_MR_LOCK_PIN);
}
void on_all_leds(void) {
writePinLow(LED_CAPS_LOCK_PIN);
- writePinLow(LED_SCROLL_LOCK_PIN);
writePinLow(LED_WIN_LOCK_PIN);
writePinLow(LED_MR_LOCK_PIN);
}
@@ -34,7 +32,6 @@ void on_all_leds(void) {
/* WinLock and MR LEDs are non-standard. Need to override led init */
void led_init_ports(void) {
setPinOutput(LED_CAPS_LOCK_PIN);
- setPinOutput(LED_SCROLL_LOCK_PIN);
setPinOutput(LED_WIN_LOCK_PIN);
setPinOutput(LED_MR_LOCK_PIN);
off_all_leds();
@@ -60,3 +57,17 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
return process_record_user(keycode, record);
}
#endif /* WINLOCK_DISABLED */
+
+#ifdef RGB_MATRIX_ENABLE
+
+__attribute__ ((weak))
+void rgb_matrix_indicators_user(void)
+{
+ if (host_keyboard_led_state().caps_lock)
+ {
+ rgb_matrix_set_color(CAPS_LED, 0xFF, 0xFF, 0xFF);
+ }
+}
+#endif /* RGB_MATRIX_ENABLE */
+
+
diff --git a/keyboards/durgod/dgk6x/dgk6x.h b/keyboards/durgod/dgk6x/dgk6x.h
new file mode 100644
index 0000000000..e2c6d19c27
--- /dev/null
+++ b/keyboards/durgod/dgk6x/dgk6x.h
@@ -0,0 +1,47 @@
+/* Copyright 2021 Jessica Sullivan and Don Kjer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 KEYBOARD_durgod_dgk6x_hades
+# include "hades.h"
+#elif defined KEYBOARD_durgod_dgk6x_venus
+# include "venus.h"
+#elif defined KEYBOARD_durgod_dgk6x_galaxy
+# include "galaxy.h"
+#endif
+
+#ifndef WINLOCK_DISABLED
+// Define the TGUI key here so it is available in QMK configurator
+enum DGK6X_keycodes {
+#ifdef VIA_ENABLE
+ KC_TGUI = USER00, // Toggle between GUI Lock or Unlock
+ NEW_SAFE_RANGE = SAFE_RANGE
+#else
+ KC_TGUI = SAFE_RANGE, // Toggle between GUI Lock or Unlock
+ NEW_SAFE_RANGE
+#endif
+};
+
+#undef SAFE_RANGE
+#define SAFE_RANGE NEW_SAFE_RANGE
+#endif /* WINLOCK_DISABLED */
+
+/* Function Prototype */
+void off_all_leds(void);
+void on_all_leds(void);
+
diff --git a/keyboards/durgod/dgk6x/galaxy/config.h b/keyboards/durgod/dgk6x/galaxy/config.h
new file mode 100644
index 0000000000..e8108f7d11
--- /dev/null
+++ b/keyboards/durgod/dgk6x/galaxy/config.h
@@ -0,0 +1,37 @@
+/* Copyright 2021 Don Kjer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 "config_common.h"
+
+/* USB Device descriptor parameter */
+#define PRODUCT_ID 0x6A1A
+#define DEVICE_VER 0x0001
+#define PRODUCT Galaxy 84 HK gaming x DURGOD (QMK)
+
+/* key matrix rows */
+#define MATRIX_ROWS 6
+#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4, A5 }
+
+/* key matrix columns */
+#define MATRIX_COLS 16
+#define MATRIX_COL_PINS { B0, B1, B2, B10, B11, B12, B13, B14, B15, C6, C7, C8, C9, C10, C11, C12 }
+
+#ifdef RGB_MATRIX_ENABLE
+#define DRIVER_1_LED_TOTAL 58
+#define DRIVER_2_LED_TOTAL 26
+#endif
diff --git a/keyboards/durgod/dgk6x/galaxy/galaxy.c b/keyboards/durgod/dgk6x/galaxy/galaxy.c
new file mode 100644
index 0000000000..5f793ed85b
--- /dev/null
+++ b/keyboards/durgod/dgk6x/galaxy/galaxy.c
@@ -0,0 +1,142 @@
+/* Copyright 2021 Don Kjer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 "galaxy.h"
+
+#ifdef RGB_MATRIX_ENABLE
+
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
+/* Refer to IS31 manual for these locations
+ * driver
+ * | R location
+ * | | G location
+ * | | | B location
+ * | | | | */
+
+ {0, C_1, B_1, A_1}, // Esc
+ {0, C_2, B_2, A_2}, // F1
+ {0, C_3, B_3, A_3}, // F2
+ {0, C_4, B_4, A_4}, // F3
+ {0, C_5, B_5, A_5}, // F4
+ {0, C_6, B_6, A_6}, // F5
+ {0, C_7, B_7, A_7}, // F6
+ {0, C_8, B_8, A_8}, // F7
+ {0, C_9, B_9, A_9}, // F8
+ {0, C_10, B_10, A_10}, // F9
+ {0, C_11, B_11, A_11}, // F10
+ {0, C_12, B_12, A_12}, // F11
+ {0, C_13, B_13, A_13}, // F12
+ {0, C_14, B_14, A_14}, // PrtSc
+ {0, C_15, B_15, A_15}, // Pause
+ {0, C_16, B_16, A_16}, // Del
+
+ {0, F_1, E_1, D_1}, // `
+ {0, F_2, E_2, D_2}, // 1
+ {0, F_3, E_3, D_3}, // 2
+ {0, F_4, E_4, D_4}, // 3
+ {0, F_5, E_5, D_5}, // 4
+ {0, F_6, E_6, D_6}, // 5
+ {0, F_7, E_7, D_7}, // 6
+ {0, F_8, E_8, D_8}, // 7
+ {0, F_9, E_9, D_9}, // 8
+ {0, F_10, E_10, D_10}, // 9
+ {0, F_11, E_11, D_11}, // 0
+ {0, F_12, E_12, D_12}, // -
+ {0, F_13, E_13, D_13}, // =
+ {0, F_14, E_14, D_14}, // Bksp
+ {0, F_15, E_15, D_15}, // Home
+
+ {0, I_1, H_1, G_1}, // Tab
+ {0, I_2, H_2, G_2}, // Q
+ {0, I_3, H_3, G_3}, // W
+ {0, I_4, H_4, G_4}, // E
+ {0, I_5, H_5, G_5}, // R
+ {0, I_6, H_6, G_6}, // T
+ {0, I_7, H_7, G_7}, // Y
+ {0, I_8, H_8, G_8}, // U
+ {0, I_9, H_9, G_9}, // I
+ {0, I_10, H_10, G_10}, // O
+ {0, I_11, H_11, G_11}, // P
+ {0, I_12, H_12, G_12}, // [
+ {0, I_13, H_13, G_13}, // ]
+ {0, I_14, H_14, G_14}, // Pipe
+ {0, I_15, H_15, G_15}, // End
+
+ {0, L_1, K_1, J_1}, // Caps
+ {0, L_2, K_2, J_2}, // A
+ {0, L_3, K_3, J_3}, // S
+ {0, L_4, K_4, J_4}, // D
+ {0, L_5, K_5, J_5}, // F
+ {0, L_6, K_6, J_6}, // G
+ {0, L_7, K_7, J_7}, // H
+ {0, L_8, K_8, J_8}, // J
+ {0, L_9, K_9, J_9}, // K
+ {0, L_10, K_10, J_10}, // L
+ {0, L_11, K_11, J_11}, // :
+ {0, L_12, K_12, J_12}, // '
+ {0, L_14, K_14, J_14}, // Enter
+ {0, L_15, K_15, J_15}, // PgUp
+
+ {1, C_1, B_1, A_1}, // LShift
+ {1, C_3, B_3, A_3}, // Z
+ {1, C_4, B_4, A_4}, // X
+ {1, C_5, B_5, A_5}, // C
+ {1, C_6, B_6, A_6}, // V
+ {1, C_7, B_7, A_7}, // B
+ {1, C_8, B_8, A_8}, // N
+ {1, C_9, B_9, A_9}, // M
+ {1, C_10, B_10, A_10}, // <
+ {1, C_11, B_11, A_11}, // >
+ {1, C_12, B_12, A_12}, // ?
+ {1, C_13, B_13, A_13}, // RShift
+ {1, C_14, B_14, A_14}, // Up
+ {1, C_15, B_15, A_15}, // PgDn
+
+ {1, F_1, E_1, D_1}, // LCtrl
+ {1, F_2, E_2, D_2}, // LAlt
+ {1, F_3, E_3, D_3}, // LGUI
+ {1, F_7, E_7, D_7}, // Space
+ {1, F_10, E_10, D_10}, // RAlt
+ {1, F_11, E_11, D_11}, // Fn1
+ {1, F_12, E_12, D_12}, // Fn2
+ {1, F_13, E_13, D_13}, // Left
+ {1, F_14, E_14, D_14}, // Down
+ {1, F_15, E_15, D_15} // Right
+};
+
+led_config_t g_led_config = {{
+ { 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, NO_LED },
+ { 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, NO_LED },
+ { 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, NO_LED, 58, 59, NO_LED },
+ { 60, NO_LED, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, NO_LED },
+ { 74, 75, 76, NO_LED, NO_LED, NO_LED, 77, NO_LED, NO_LED, 78, 79, 80, 81, 82, 83, NO_LED }
+}, {
+ { 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 }, { 240, 0 },
+ { 0, 13 }, { 16, 13 }, { 32, 13 }, { 48, 13 }, { 64, 13 }, { 80, 13 }, { 96, 13 }, { 112, 13 }, { 128, 13 }, { 144, 13 }, { 160, 13 }, { 176, 13 }, { 192, 13 }, { 216, 13 }, { 240, 13 },
+ { 4, 26 }, { 24, 26 }, { 40, 26 }, { 56, 26 }, { 72, 26 }, { 88, 26 }, { 104, 26 }, { 120, 26 }, { 136, 26 }, { 152, 26 }, { 168, 26 }, { 184, 26 }, { 200, 26 }, { 220, 26 }, { 240, 26 },
+ { 6, 38 }, { 28, 38 }, { 44, 38 }, { 60, 38 }, { 76, 38 }, { 92, 38 }, { 108, 38 }, { 124, 38 }, { 140, 38 }, { 156, 38 }, { 172, 38 }, { 188, 38 }, { 214, 38 }, { 240, 38 },
+ { 10, 51 }, { 36, 51 }, { 52, 51 }, { 68, 51 }, { 84, 51 }, { 100, 51 }, { 116, 51 }, { 132, 51 }, { 148, 51 }, { 164, 51 }, { 180, 51 }, { 202, 51 }, { 224, 51 }, { 240, 51 },
+ { 2, 64 }, { 22, 64 }, { 42, 64 }, { 101, 64 }, { 160, 64 }, { 176, 64 }, { 192, 64 }, { 208, 64 }, { 224, 64 }, { 240, 64 }
+}, {
+ 1, 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, 1, 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, 1, 4,
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4,
+ 1, 1, 1, 4, 1, 1, 1, 4, 4, 4
+}};
+#endif /* RGB_MATRIX_ENABLE */
diff --git a/keyboards/durgod/dgk6x/galaxy/galaxy.h b/keyboards/durgod/dgk6x/galaxy/galaxy.h
new file mode 100644
index 0000000000..3ba96aaf7b
--- /dev/null
+++ b/keyboards/durgod/dgk6x/galaxy/galaxy.h
@@ -0,0 +1,40 @@
+/* Copyright 2021 Don Kjer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 CAPS_LED 46
+
+#define XXX KC_NO
+
+// This a shortcut to help you visually see your layout.
+#define LAYOUT_75_ansi( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, \
+ K50, K51, K52, K56, K59, K5A, K5B, K5C, K5D, K5E \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, XXX }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, XXX }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, K3E, XXX }, \
+ { K40, XXX, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, XXX }, \
+ { K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, K59, K5A, K5B, K5C, K5D, K5E, XXX }, \
+}
+
diff --git a/keyboards/durgod/dgk6x/galaxy/info.json b/keyboards/durgod/dgk6x/galaxy/info.json
new file mode 100644
index 0000000000..9d7ebc665b
--- /dev/null
+++ b/keyboards/durgod/dgk6x/galaxy/info.json
@@ -0,0 +1,102 @@
+{
+ "keyboard_name": "DURGOD Galaxy",
+ "url": "https://www.amazon.com/Galaxy-75-Modular-Mechanical-Keyboard/dp/B08PDRD8MP",
+ "maintainer": "dkjer",
+ "width": 16,
+ "height": 6,
+ "layouts": {
+ "LAYOUT_75_ansi": {
+ "layout": [
+ { "label": "Esc", "x": 0, "y": 1 },
+ { "label": "F1", "x": 1, "y": 1 },
+ { "label": "F2", "x": 2, "y": 1 },
+ { "label": "F3", "x": 3, "y": 1 },
+ { "label": "F4", "x": 4, "y": 1 },
+ { "label": "F5", "x": 5, "y": 1 },
+ { "label": "F6", "x": 6, "y": 1 },
+ { "label": "F7", "x": 7, "y": 1 },
+ { "label": "F8", "x": 8, "y": 1 },
+ { "label": "F9", "x": 9, "y": 1 },
+ { "label": "F10", "x": 10, "y": 1 },
+ { "label": "F11", "x": 11, "y": 1 },
+ { "label": "F12", "x": 12, "y": 1 },
+ { "label": "PrintScreen", "x": 13, "y": 1 },
+ { "label": "ScrollLock", "x": 14, "y": 1 },
+ { "label": "Delete", "x": 15, "y": 1 },
+
+ { "label": "~", "x": 0, "y": 1 },
+ { "label": "!", "x": 1, "y": 1 },
+ { "label": "@", "x": 2, "y": 1 },
+ { "label": "#", "x": 3, "y": 1 },
+ { "label": "$", "x": 4, "y": 1 },
+ { "label": "%", "x": 5, "y": 1 },
+ { "label": "^", "x": 6, "y": 1 },
+ { "label": "&", "x": 7, "y": 1 },
+ { "label": "*", "x": 8, "y": 1 },
+ { "label": "(", "x": 9, "y": 1 },
+ { "label": ")", "x": 10, "y": 1 },
+ { "label": "_", "x": 11, "y": 1 },
+ { "label": "+", "x": 12, "y": 1 },
+ { "label": "Backspace", "x": 13, "y": 1, "w": 2 },
+ { "label": "Home", "x": 15, "y": 1 },
+
+ { "label": "Tab", "x": 0, "y": 2, "w": 1.5 },
+ { "label": "Q", "x": 1.5, "y": 2 },
+ { "label": "W", "x": 2.5, "y": 2 },
+ { "label": "E", "x": 3.5, "y": 2 },
+ { "label": "R", "x": 4.5, "y": 2 },
+ { "label": "T", "x": 5.5, "y": 2 },
+ { "label": "Y", "x": 6.5, "y": 2 },
+ { "label": "U", "x": 7.5, "y": 2 },
+ { "label": "I", "x": 8.5, "y": 2 },
+ { "label": "O", "x": 9.5, "y": 2 },
+ { "label": "P", "x": 10.5, "y": 2 },
+ { "label": "{", "x": 11.5, "y": 2 },
+ { "label": "}", "x": 12.5, "y": 2 },
+ { "label": "|", "x": 13.5, "y": 2, "w": 1.5 },
+ { "label": "End", "x": 15, "y": 2 },
+
+ { "label": "CapsLock", "x": 0, "y": 3, "w": 1.75 },
+ { "label": "A", "x": 1.75, "y": 3 },
+ { "label": "S", "x": 2.75, "y": 3 },
+ { "label": "D", "x": 3.75, "y": 3 },
+ { "label": "F", "x": 4.75, "y": 3 },
+ { "label": "G", "x": 5.75, "y": 3 },
+ { "label": "H", "x": 6.75, "y": 3 },
+ { "label": "J", "x": 7.75, "y": 3 },
+ { "label": "K", "x": 8.75, "y": 3 },
+ { "label": "L", "x": 9.75, "y": 3 },
+ { "label": ":", "x": 10.75, "y": 3 },
+ { "label": "\"", "x": 11.75, "y": 3 },
+ { "label": "Enter", "x": 12.75, "y": 3, "w": 2.25 },
+ { "label": "PgUp", "x": 15, "y": 3 },
+
+ { "label": "Shift", "x": 0, "y": 4, "w": 2.25 },
+ { "label": "Z", "x": 2.25, "y": 4 },
+ { "label": "X", "x": 3.25, "y": 4 },
+ { "label": "C", "x": 4.25, "y": 4 },
+ { "label": "V", "x": 5.25, "y": 4 },
+ { "label": "B", "x": 6.25, "y": 4 },
+ { "label": "N", "x": 7.25, "y": 4 },
+ { "label": "M", "x": 8.25, "y": 4 },
+ { "label": "<", "x": 9.25, "y": 4 },
+ { "label": ">", "x": 10.25, "y": 4 },
+ { "label": "?", "x": 11.25, "y": 4 },
+ { "label": "Shift", "x": 12.25, "y": 4, "w": 1.75 },
+ { "label": "Up", "x": 14, "y": 4 },
+ { "label": "PgDn", "x": 15, "y": 4 },
+
+ { "label": "Ctrl", "x": 0, "y": 5, "w": 1.25 },
+ { "label": "Win", "x": 1.25, "y": 5, "w": 1.25 },
+ { "label": "Alt", "x": 2.5, "y": 5, "w": 1.25 },
+ { "x": 3.75, "y": 5, "w": 6.25 },
+ { "label": "Alt", "x": 10, "y": 5 },
+ { "label": "Fn1", "x": 11, "y": 5 },
+ { "label": "Fn2", "x": 12, "y": 5 },
+ { "label": "Left", "x": 13, "y": 5 },
+ { "label": "Down", "x": 14, "y": 5 },
+ { "label": "Right", "x": 15, "y": 5 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/durgod/dgk6x/galaxy/keymaps/default/keymap.json b/keyboards/durgod/dgk6x/galaxy/keymaps/default/keymap.json
new file mode 100644
index 0000000000..70e31cc5d0
--- /dev/null
+++ b/keyboards/durgod/dgk6x/galaxy/keymaps/default/keymap.json
@@ -0,0 +1,42 @@
+{
+ "keyboard": "durgod/dgk6x/galaxy",
+ "keymap": "default",
+ "layout": "LAYOUT_75_ansi",
+ "layers": [
+ [
+ "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_SLCK", "KC_DEL",
+ "KC_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_BSPC", "KC_HOME",
+ "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSLS", "KC_END",
+ "KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT", "KC_PGUP",
+ "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_UP", "KC_PGDN",
+ "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "MO(1)", "MO(2)", "KC_LEFT", "KC_DOWN", "KC_RIGHT"
+ ],
+ [
+ "KC_TRNS", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_MUTE", "KC_VOLD", "KC_VOLU", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TGUI", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_RMOD","RGB_MOD", "RGB_TOG",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_VAI", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS", "RGB_SPD", "RGB_VAD", "RGB_SPI"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_SAI", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_HUD", "RGB_SAD", "RGB_HUI"
+ ]
+ ],
+ "author":"dkjer",
+ "notes":"",
+ "version":1
+}
diff --git a/keyboards/durgod/dgk6x/galaxy/keymaps/default/readme.md b/keyboards/durgod/dgk6x/galaxy/keymaps/default/readme.md
new file mode 100644
index 0000000000..72ba9da6eb
--- /dev/null
+++ b/keyboards/durgod/dgk6x/galaxy/keymaps/default/readme.md
@@ -0,0 +1,14 @@
+![Durgod Galaxy Layout Image](https://i.imgur.com/KrcXUSK.png)
+
+# The default keymap for Durgod Galaxy.
+
+Currently only supports ANSI
+
+This keymap is intended to closely follow the stock Durgod Galaxy layout. RGB Hue and Saturation can be changed Fn1 + Fn2 + arrow keys.
+
+## Windows key lock
+
+You can hold down Fn1 + Windows key to disable the Windows key while in locked mode.
+The 'Lock' LED indicates if the Windows key is locked.
+
+This is similar to the stock Galaxy Windows key lock functionality.
diff --git a/keyboards/durgod/dgk6x/galaxy/keymaps/via/keymap.json b/keyboards/durgod/dgk6x/galaxy/keymaps/via/keymap.json
new file mode 100644
index 0000000000..5e472baad1
--- /dev/null
+++ b/keyboards/durgod/dgk6x/galaxy/keymaps/via/keymap.json
@@ -0,0 +1,138 @@
+{
+ "keyboard": "durgod/dgk6x/galaxy",
+ "keymap": "via",
+ "layout": "LAYOUT_75_ansi",
+ "layers": [
+ [
+ "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_SLCK", "KC_DEL",
+ "KC_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_BSPC", "KC_HOME",
+ "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSLS", "KC_END",
+ "KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT", "KC_PGUP",
+ "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_UP", "KC_PGDN",
+ "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "MO(1)", "MO(2)", "KC_LEFT", "KC_DOWN", "KC_RIGHT"
+ ],
+ [
+ "KC_TRNS", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_MUTE", "KC_VOLD", "KC_VOLU", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TGUI", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_RMOD","RGB_MOD", "RGB_TOG",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_VAI", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS", "RGB_SPD", "RGB_VAD", "RGB_SPI"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_SAI", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_HUD", "RGB_SAD", "RGB_HUI"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ]
+ ],
+ "author":"dkjer",
+ "notes":"",
+ "version":1
+}
diff --git a/keyboards/durgod/dgk6x/galaxy/keymaps/via/readme.md b/keyboards/durgod/dgk6x/galaxy/keymaps/via/readme.md
new file mode 100644
index 0000000000..1a9953a1d9
--- /dev/null
+++ b/keyboards/durgod/dgk6x/galaxy/keymaps/via/readme.md
@@ -0,0 +1,14 @@
+![Durgod Galaxy Layout Image](https://i.imgur.com/KrcXUSK.png)
+
+# The via keymap for Durgod Galaxy.
+
+Currently only supports ANSI
+
+This keymap is intended to closely follow the stock Durgod Galaxy layout. RGB Hue and Saturation can be changed Fn1 + Fn2 + arrow keys.
+
+## Windows key lock
+
+You can hold down Fn1 + Windows key to disable the Windows key while in locked mode.
+The 'Lock' LED indicates if the Windows key is locked.
+
+This is similar to the stock Galaxy Windows key lock functionality.
diff --git a/keyboards/tokyo60/keymaps/via/rules.mk b/keyboards/durgod/dgk6x/galaxy/keymaps/via/rules.mk
index 1e5b99807c..1e5b99807c 100644
--- a/keyboards/tokyo60/keymaps/via/rules.mk
+++ b/keyboards/durgod/dgk6x/galaxy/keymaps/via/rules.mk
diff --git a/keyboards/durgod/dgk6x/galaxy/readme.md b/keyboards/durgod/dgk6x/galaxy/readme.md
new file mode 100644
index 0000000000..9d1b3840cd
--- /dev/null
+++ b/keyboards/durgod/dgk6x/galaxy/readme.md
@@ -0,0 +1,26 @@
+# Galaxy
+
+This is a standard off-the-shelf Durgod Galaxy 75% ANSI layout keyboard with RGB matrix.
+
+* Keyboard Maintainer: [dkjer](https://github.com/dkjer)
+* Hardware Supported: Durgod Galaxy board with STM32F070RBT6
+* Hardware Availability: https://www.amazon.com/Galaxy-75-Modular-Mechanical-Keyboard/dp/B08PDRD8MP
+
+## Instructions
+
+### Build
+
+Make command example for this keyboard (after setting up your build environment):
+
+ make durgod/galaxy:default
+
+Flashing example for this keyboard:
+
+ make durgod/galaxy: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).
+
+### Initial Flash
+
+Instructions for Flashing from initial Stock Firmware:
+* [Initial Flashing](../readme.md#initial-flash)
diff --git a/keyboards/durgod/dgk6x/galaxy/rules.mk b/keyboards/durgod/dgk6x/galaxy/rules.mk
new file mode 100644
index 0000000000..255352f11a
--- /dev/null
+++ b/keyboards/durgod/dgk6x/galaxy/rules.mk
@@ -0,0 +1 @@
+LAYOUTS = 75_ansi
diff --git a/keyboards/durgod/dgk6x/hades/config.h b/keyboards/durgod/dgk6x/hades/config.h
new file mode 100644
index 0000000000..c148ae1b1f
--- /dev/null
+++ b/keyboards/durgod/dgk6x/hades/config.h
@@ -0,0 +1,37 @@
+/* Copyright 2021 Jessica Sullivan and Don Kjer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 "config_common.h"
+
+/* USB Device descriptor parameter */
+#define PRODUCT_ID 0x4AD3
+#define DEVICE_VER 0x0001
+#define PRODUCT DURGOD Hades (QMK)
+
+/* key matrix rows */
+#define MATRIX_ROWS 5
+#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4 }
+
+/* key matrix columns */
+#define MATRIX_COLS 15
+#define MATRIX_COL_PINS { B0, B1, B2, B10, B11, B12, B13, B14, B15, C6, C7, C8, C9, C10, C11 }
+
+#ifdef RGB_MATRIX_ENABLE
+#define DRIVER_1_LED_TOTAL 58
+#define DRIVER_2_LED_TOTAL 10
+#endif
diff --git a/keyboards/durgod/dgk6x/hades/hades.c b/keyboards/durgod/dgk6x/hades/hades.c
new file mode 100644
index 0000000000..3e235683f1
--- /dev/null
+++ b/keyboards/durgod/dgk6x/hades/hades.c
@@ -0,0 +1,123 @@
+/* Copyright 2021 Jessica Sullivan and Don Kjer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 "hades.h"
+
+#ifdef RGB_MATRIX_ENABLE
+
+
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
+/* Refer to IS31 manual for these locations
+ * driver
+ * | R location
+ * | | G location
+ * | | | B location
+ * | | | | */
+
+ {0, C_1, B_1, A_1}, // Esc
+ {0, C_2, B_2, A_2}, // 1
+ {0, C_3, B_3, A_3}, // 2
+ {0, C_4, B_4, A_4}, // 3
+ {0, C_5, B_5, A_5}, // 4
+ {0, C_6, B_6, A_6}, // 5
+ {0, C_7, B_7, A_7}, // 6
+ {0, C_8, B_8, A_8}, // 7
+ {0, C_9, B_9, A_9}, // 8
+ {0, C_10, B_10, A_10}, // 9
+ {0, C_11, B_11, A_11}, // 0
+ {0, C_12, B_12, A_12}, // -
+ {0, C_13, B_13, A_13}, // =
+ {0, C_14, B_14, A_14}, // Bksp
+ {0, C_15, B_15, A_15}, // Del
+
+ {0, F_1, E_1, D_1}, // Tab
+ {0, F_2, E_2, D_2}, // Q
+ {0, F_3, E_3, D_3}, // W
+ {0, F_4, E_4, D_4}, // E
+ {0, F_5, E_5, D_5}, // R
+ {0, F_6, E_6, D_6}, // T
+ {0, F_7, E_7, D_7}, // Y
+ {0, F_8, E_8, D_8}, // U
+ {0, F_9, E_9, D_9}, // I
+ {0, F_10, E_10, D_10}, // O
+ {0, F_11, E_11, D_11}, // P
+ {0, F_12, E_12, D_12}, // [
+ {0, F_13, E_13, D_13}, // ]
+ {0, F_14, E_14, D_14}, // Pipe
+ {0, F_15, E_15, D_15}, // Home
+
+ {0, I_1, H_1, G_1}, // Caps
+ {0, I_2, H_2, G_2}, // A
+ {0, I_3, H_3, G_3}, // S
+ {0, I_4, H_4, G_4}, // D
+ {0, I_5, H_5, G_5}, // F
+ {0, I_6, H_6, G_6}, // G
+ {0, I_7, H_7, G_7}, // H
+ {0, I_8, H_8, G_8}, // J
+ {0, I_9, H_9, G_9}, // K
+ {0, I_10, H_10, G_10}, // L
+ {0, I_11, H_11, G_11}, // :
+ {0, I_12, H_12, G_12}, // '
+ {0, I_14, H_14, G_14}, // Enter
+ {0, I_15, H_15, G_15}, // PgUp
+
+ {0, L_1, K_1, J_1}, // LShift
+ {0, L_2, K_2, J_2}, // Z
+ {0, L_3, K_3, J_3}, // X
+ {0, L_4, K_4, J_4}, // C
+ {0, L_5, K_5, J_5}, // V
+ {0, L_6, K_6, J_6}, // B
+ {0, L_7, K_7, J_7}, // N
+ {0, L_8, K_8, J_8}, // M
+ {0, L_9, K_9, J_9}, // <
+ {0, L_10, K_10, J_10}, // >
+ {0, L_11, K_11, J_11}, // ?
+ {0, L_12, K_12, J_12}, // RShift
+ {0, L_14, K_14, J_14}, // Up
+ {0, L_15, K_15, J_15}, // PgOn
+
+ {1, C_1, B_1, A_1}, // LCtrl
+ {1, C_2, B_2, A_2}, // LAlt
+ {1, C_3, B_3, A_3}, // Windows
+ {1, C_6, B_6, A_6}, // Space
+ {1, C_10, B_10, A_10}, // Fn1/RAlt hades/venus
+ {1, C_11, B_11, A_11}, // Fn2/Fn1
+ {1, C_12, B_12, A_12}, // RCtrl/Fn2
+ {1, C_13, B_13, A_13}, // LEFT/RCtrl
+ {1, C_14, B_14, A_14}, // DOWN
+ {1, C_15, B_15, A_15} // RIGHT
+};
+
+led_config_t g_led_config = {{
+ { 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, NO_LED, 42, 43 },
+ { 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, NO_LED, 56, 57 },
+ { 58, 59, 60, NO_LED, NO_LED, 61, NO_LED, NO_LED, NO_LED, 62, 63, 64, 65, 66, 67 }
+}, {
+ { 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 }, { 216, 0 }, { 240, 0 },
+ { 4, 16 }, { 24, 16 }, { 40, 16 }, { 56, 16 }, { 72, 16 }, { 88, 16 }, { 104, 16 }, { 120, 16 }, { 136, 16 }, { 152, 16 }, { 168, 16 }, { 184, 16 }, { 200, 16 }, { 220, 16 }, { 240, 16 },
+ { 6, 32 }, { 28, 32 }, { 44, 32 }, { 60, 32 }, { 76, 32 }, { 92, 32 }, { 108, 32 }, { 124, 32 }, { 140, 32 }, { 156, 32 }, { 172, 32 }, { 188, 32 }, { 214, 32 }, { 240, 32 },
+ { 10, 48 }, { 36, 48 }, { 52, 48 }, { 68, 48 }, { 84, 48 }, { 100, 48 }, { 116, 48 }, { 132, 48 }, { 148, 48 }, { 164, 48 }, { 180, 48 }, { 202, 48 }, { 224, 48 }, { 240, 48 },
+ { 2, 64 }, { 22, 64 }, { 42, 64 }, { 101, 64 }, { 160, 64 }, { 176, 64 }, { 192, 64 }, { 208, 64 }, { 224, 64 }, { 240, 64 }
+}, {
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 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, 1, 4,
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 4,
+ 1, 1, 1, 4, 1, 1, 1, 4, 4, 4
+}};
+#endif /* RGB_MATRIX_ENABLE */
diff --git a/keyboards/durgod/dgk6x/hades/hades.h b/keyboards/durgod/dgk6x/hades/hades.h
new file mode 100644
index 0000000000..630f7e92b5
--- /dev/null
+++ b/keyboards/durgod/dgk6x/hades/hades.h
@@ -0,0 +1,39 @@
+/* Copyright 2021 Jessica Sullivan and Don Kjer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 CAPS_LED 30
+
+#define XXX KC_NO
+
+// This a shortcut to help you visually see your layout.
+#define LAYOUT_65_ansi( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
+ K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D, K4E \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D, K2E }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, K3E }, \
+ { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, K4B, K4C, K4D, K4E }, \
+}
+
+
diff --git a/keyboards/durgod/dgk6x/hades/info.json b/keyboards/durgod/dgk6x/hades/info.json
new file mode 100644
index 0000000000..1666a1f02a
--- /dev/null
+++ b/keyboards/durgod/dgk6x/hades/info.json
@@ -0,0 +1,85 @@
+{
+ "keyboard_name": "DURGOD Hades",
+ "url": "https://www.amazon.com/gp/product/B08562392T",
+ "maintainer": "J-Sully",
+ "width": 16,
+ "height": 5,
+ "layouts": {
+ "LAYOUT_65_ansi": {
+ "layout": [
+ { "label": "Esc", "x": 0, "y": 0 },
+ { "label": "!", "x": 1, "y": 0 },
+ { "label": "@", "x": 2, "y": 0 },
+ { "label": "#", "x": 3, "y": 0 },
+ { "label": "$", "x": 4, "y": 0 },
+ { "label": "%", "x": 5, "y": 0 },
+ { "label": "^", "x": 6, "y": 0 },
+ { "label": "&", "x": 7, "y": 0 },
+ { "label": "*", "x": 8, "y": 0 },
+ { "label": "(", "x": 9, "y": 0 },
+ { "label": ")", "x": 10, "y": 0 },
+ { "label": "_", "x": 11, "y": 0 },
+ { "label": "+", "x": 12, "y": 0 },
+ { "label": "Backspace", "x": 13, "y": 0, "w": 2 },
+ { "label": "Delete", "x": 15, "y": 0 },
+
+ { "label": "Tab", "x": 0, "y": 1, "w": 1.5 },
+ { "label": "Q", "x": 1.5, "y": 1 },
+ { "label": "W", "x": 2.5, "y": 1 },
+ { "label": "E", "x": 3.5, "y": 1 },
+ { "label": "R", "x": 4.5, "y": 1 },
+ { "label": "T", "x": 5.5, "y": 1 },
+ { "label": "Y", "x": 6.5, "y": 1 },
+ { "label": "U", "x": 7.5, "y": 1 },
+ { "label": "I", "x": 8.5, "y": 1 },
+ { "label": "O", "x": 9.5, "y": 1 },
+ { "label": "P", "x": 10.5, "y": 1 },
+ { "label": "{", "x": 11.5, "y": 1 },
+ { "label": "}", "x": 12.5, "y": 1 },
+ { "label": "|", "x": 13.5, "y": 1, "w": 1.5 },
+ { "label": "Home", "x": 15, "y": 1 },
+
+ { "label": "CapsLock", "x": 0, "y": 2, "w": 1.75 },
+ { "label": "A", "x": 1.75, "y": 2 },
+ { "label": "S", "x": 2.75, "y": 2 },
+ { "label": "D", "x": 3.75, "y": 2 },
+ { "label": "F", "x": 4.75, "y": 2 },
+ { "label": "G", "x": 5.75, "y": 2 },
+ { "label": "H", "x": 6.75, "y": 2 },
+ { "label": "J", "x": 7.75, "y": 2 },
+ { "label": "K", "x": 8.75, "y": 2 },
+ { "label": "L", "x": 9.75, "y": 2 },
+ { "label": ":", "x": 10.75, "y": 2 },
+ { "label": "\"", "x": 11.75, "y": 2 },
+ { "label": "Enter", "x": 12.75, "y": 2, "w": 2.25 },
+ { "label": "PgUp", "x": 15, "y": 2 },
+
+ { "label": "Shift", "x": 0, "y": 3, "w": 2.25 },
+ { "label": "Z", "x": 2.25, "y": 3 },
+ { "label": "X", "x": 3.25, "y": 3 },
+ { "label": "C", "x": 4.25, "y": 3 },
+ { "label": "V", "x": 5.25, "y": 3 },
+ { "label": "B", "x": 6.25, "y": 3 },
+ { "label": "N", "x": 7.25, "y": 3 },
+ { "label": "M", "x": 8.25, "y": 3 },
+ { "label": "<", "x": 9.25, "y": 3 },
+ { "label": ">", "x": 10.25, "y": 3 },
+ { "label": "?", "x": 11.25, "y": 3 },
+ { "label": "Shift", "x": 12.25, "y": 3, "w": 1.75 },
+ { "label": "Up", "x": 14, "y": 3 },
+ { "label": "PgDn", "x": 15, "y": 3 },
+
+ { "label": "Ctrl", "x": 0, "y": 4, "w": 1.25 },
+ { "label": "Win", "x": 1.25, "y": 4, "w": 1.25 },
+ { "label": "Alt", "x": 2.5, "y": 4, "w": 1.25 },
+ { "x": 3.75, "y": 4, "w": 6.25 },
+ { "label": "Fn1", "x": 10, "y": 4 },
+ { "label": "Fn2", "x": 11, "y": 4 },
+ { "label": "Ctrl", "x": 12, "y": 4 },
+ { "label": "Left", "x": 13, "y": 4 },
+ { "label": "Down", "x": 14, "y": 4 },
+ { "label": "Right", "x": 15, "y": 4 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/durgod/dgk6x/hades/keymaps/default/keymap.json b/keyboards/durgod/dgk6x/hades/keymaps/default/keymap.json
new file mode 100644
index 0000000000..4794aa7d9f
--- /dev/null
+++ b/keyboards/durgod/dgk6x/hades/keymaps/default/keymap.json
@@ -0,0 +1,38 @@
+{
+ "keyboard": "durgod/dgk6x/hades",
+ "keymap": "default",
+ "layout": "LAYOUT_65_ansi",
+ "layers": [
+ [
+ "KC_GESC", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_BSPC", "KC_DEL",
+ "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSLS", "KC_HOME",
+ "KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT", "KC_PGUP",
+ "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_UP", "KC_PGDN",
+ "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "MO(1)", "MO(2)", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RIGHT"
+ ],
+ [
+ "KC_GRV", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_F12", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_UP", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PSCR", "KC_SLCK", "KC_PAUS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_LEFT", "KC_DOWN", "KC_RIGHT", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_INS", "KC_END", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TGUI", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS", "KC_APP", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_VOLD", "KC_VOLU", "KC_MUTE", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_TOG", "RGB_MOD", "RGB_RMOD", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_VAI", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS", "KC_TRNS", "RGB_SPD", "RGB_VAD", "RGB_SPI"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_SAI", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_HUD", "RGB_SAD", "RGB_HUI"
+ ]
+ ],
+ "author":"J-Sully",
+ "notes":"",
+ "version":1
+}
diff --git a/keyboards/durgod/dgk6x/hades/keymaps/default/readme.md b/keyboards/durgod/dgk6x/hades/keymaps/default/readme.md
new file mode 100644
index 0000000000..83bc679361
--- /dev/null
+++ b/keyboards/durgod/dgk6x/hades/keymaps/default/readme.md
@@ -0,0 +1,14 @@
+![Durgod Hades Layout Image](https://i.imgur.com/vsi6sdK.png)
+
+# The default keymap for Durgod Hades.
+
+Currently only supports ANSI
+
+This keymap is intended to closely follow the stock Durgod Hades layout. RGB Hue and Saturation can be changed Fn1 + Fn2 + arrow keys.
+
+## Windows key lock
+
+You can hold down Fn1 + Windows key to disable the Windows key while in locked mode.
+The 'Lock' LED indicates if the Windows key is locked.
+
+This is similar to the stock Hades Windows key lock functionality.
diff --git a/keyboards/durgod/dgk6x/hades/keymaps/via/keymap.json b/keyboards/durgod/dgk6x/hades/keymaps/via/keymap.json
new file mode 100644
index 0000000000..f1ed0ecef6
--- /dev/null
+++ b/keyboards/durgod/dgk6x/hades/keymaps/via/keymap.json
@@ -0,0 +1,122 @@
+{
+ "keyboard": "durgod/dgk6x/hades",
+ "keymap": "via",
+ "layout": "LAYOUT_65_ansi",
+ "layers": [
+ [
+ "KC_GESC", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_BSPC", "KC_DEL",
+ "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSLS", "KC_HOME",
+ "KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT", "KC_PGUP",
+ "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_UP", "KC_PGDN",
+ "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "MO(1)", "MO(2)", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RIGHT"
+ ],
+ [
+ "KC_GRV", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_F12", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_UP", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PSCR", "KC_SLCK", "KC_PAUS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_LEFT", "KC_DOWN", "KC_RIGHT", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_INS", "KC_END", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TGUI", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS", "KC_APP", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_VOLD", "KC_VOLU", "KC_MUTE", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_TOG", "RGB_MOD", "RGB_RMOD", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_VAI", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS", "KC_TRNS", "RGB_SPD", "RGB_VAD", "RGB_SPI"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_SAI", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_HUD", "RGB_SAD", "RGB_HUI"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ]
+ ],
+ "author":"J-Sully",
+ "notes":"",
+ "version":1
+}
diff --git a/keyboards/durgod/dgk6x/hades/keymaps/via/readme.md b/keyboards/durgod/dgk6x/hades/keymaps/via/readme.md
new file mode 100644
index 0000000000..4a1ff85a74
--- /dev/null
+++ b/keyboards/durgod/dgk6x/hades/keymaps/via/readme.md
@@ -0,0 +1,14 @@
+![Durgod Hades Layout Image](https://i.imgur.com/vsi6sdK.png)
+
+# The via keymap for Durgod Hades.
+
+Currently only supports ANSI
+
+This keymap is intended to closely follow the stock Durgod Hades layout. RGB Hue and Saturation can be changed Fn1 + Fn2 + arrow keys.
+
+## Windows key lock
+
+You can hold down Fn1 + Windows key to disable the Windows key while in locked mode.
+The 'Lock' LED indicates if the Windows key is locked.
+
+This is similar to the stock Hades Windows key lock functionality.
diff --git a/keyboards/durgod/dgk6x/hades/keymaps/via/rules.mk b/keyboards/durgod/dgk6x/hades/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/durgod/dgk6x/hades/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/durgod/dgk6x/hades/readme.md b/keyboards/durgod/dgk6x/hades/readme.md
new file mode 100644
index 0000000000..950696186f
--- /dev/null
+++ b/keyboards/durgod/dgk6x/hades/readme.md
@@ -0,0 +1,26 @@
+# Hades
+
+This is a standard off-the-shelf Durgod Hades 65% ANSI layout keyboard with RGB matrix.
+
+* Keyboard Maintainer: [J-Sully](https://github.com/J-Sully) and [dkjer](https://github.com/dkjer)
+* Hardware Supported: Durgod Hades board with STM32F070RBT6
+* Hardware Availability: https://www.amazon.com/gp/product/B08562392T
+
+## Instructions
+
+### Build
+
+Make command example for this keyboard (after setting up your build environment):
+
+ make durgod/hades:default
+
+Flashing example for this keyboard:
+
+ make durgod/hades: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).
+
+### Initial Flash
+
+Instructions for Flashing from initial Stock Firmware:
+* [Initial Flashing](../readme.md#initial-flash)
diff --git a/keyboards/durgod/dgk6x/hades/rules.mk b/keyboards/durgod/dgk6x/hades/rules.mk
new file mode 100644
index 0000000000..41f77628cd
--- /dev/null
+++ b/keyboards/durgod/dgk6x/hades/rules.mk
@@ -0,0 +1 @@
+LAYOUTS = 65_ansi
diff --git a/keyboards/durgod/dgk6x/halconf.h b/keyboards/durgod/dgk6x/halconf.h
new file mode 100644
index 0000000000..1772f8e410
--- /dev/null
+++ b/keyboards/durgod/dgk6x/halconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2021 Jessica Sullivan and Don Kjer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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
+
+#ifdef RGB_MATRIX_ENABLE
+#define HAL_USE_I2C TRUE
+#endif
+#include_next <halconf.h>
diff --git a/keyboards/durgod/dgk6x/mcuconf.h b/keyboards/durgod/dgk6x/mcuconf.h
new file mode 100644
index 0000000000..45c06a6f45
--- /dev/null
+++ b/keyboards/durgod/dgk6x/mcuconf.h
@@ -0,0 +1,28 @@
+/* Copyright 2021 Jessica Sullivan and Don Kjer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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_next <mcuconf.h>
+
+#ifdef RGB_MATRIX_ENABLE
+#undef STM32_I2C_USE_DMA
+#define STM32_I2C_USE_DMA FALSE
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
+#endif /* RGB_MATRIX_ENABLE */
diff --git a/keyboards/durgod/dgk6x/readme.md b/keyboards/durgod/dgk6x/readme.md
new file mode 100644
index 0000000000..06ce965690
--- /dev/null
+++ b/keyboards/durgod/dgk6x/readme.md
@@ -0,0 +1,55 @@
+# DGK6X = Venus, Hades, Galaxy, etc.
+
+This DGK6X code is shared between the ANSI variants of Venus, Hades and Galaxy keyboards.
+
+* Keyboard Maintainer: [J-Sully](https://github.com/J-Sully) and [dkjer](https://github.com/dkjer)
+* Hardware Supported: Durgod Venus, Hades or Galaxy board with STM32F070RBT6
+* Hardware Availability: [Venus](https://www.amazon.com/dp/B07XFP5MMZ), [Hades](https://www.amazon.com/gp/product/B08562392T) and [Galaxy](https://www.amazon.com/Galaxy-75-Modular-Mechanical-Keyboard/dp/B08PDRD8MP)
+
+## Instructions
+
+### Build
+
+Instructions for building the Venus, Hades and Galaxy firmware can be found here:
+* [Venus](venus/readme.md)
+* [Hades](hades/readme.md)
+* [Galaxy](galaxy/readme.md)
+
+### Initial Flash
+
+For first Flashing from initial Stock's Firmware
+
+1. Back up original Firmware Image:
+- Unplug
+- Short Boot0 to Vdd (See below)
+- Plug In USB
+- Make a Flash Image's Backup in case you wanted to restore the Keyboard to Stock's Image:
+ - Using dfu-util:
+
+ dfu-util --list
+ dfu-util --alt 0 --dfuse-address 0x08000000 --upload ${OLD_STOCK_BIN}
+
+2. Flash the QMK Firmware Image.
+- Put board into Bootloader mode, using the same method as when backing up the original Firmware (above)
+- Here are a few options for performing the initial Flash:
+ - Using [QMK Toolbox](https://github.com/qmk/qmk_toolbox)
+ - Using dfu-util:
+
+ dfu-util --alt 0 --dfuse-address 0x08000000 --download ${NEW_QMK_BIN}
+
+You can short Boot0 to Vdd by shorting R19 to C30 on the sides closest to the processor, as shown:
+
+* Hades & Venus:
+<img src="https://i.imgur.com/JwF7MeZ.jpg" width="520" height="571" alt="Shorting Boot0 to Vdd on Hades or Venus">
+
+* Galaxy 75
+<img src="https://i.imgur.com/b9eZG5T.jpg" width="520" height="571" alt="Shorting Boot0 to Vdd on Galaxy 75">
+
+### Subsequent Flashing
+
+For repeating Flashing you can use BootMagic:
+- BootMagic Lite has been enabled with Assigned "Esc" key
+- Unplug USB Cable
+- Holding Esc Button
+- Plug in USB Cable, Keyboard should be in ST-Bootloader state
+
diff --git a/keyboards/durgod/dgk6x/rules.mk b/keyboards/durgod/dgk6x/rules.mk
new file mode 100644
index 0000000000..a79a130d8b
--- /dev/null
+++ b/keyboards/durgod/dgk6x/rules.mk
@@ -0,0 +1,31 @@
+# MCU name
+# Actually F070, but close enough
+MCU = STM32F072
+
+BOARD = DURGOD_STM32_F070
+
+# Do not put the microcontroller into power saving mode
+NO_SUSPEND_POWER_DOWN = yes
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no # Enable Bluetooth
+AUDIO_ENABLE = no # Audio output
+LTO_ENABLE = yes
+
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = IS31FL3733
+
+DEFAULT_FOLDER=durgod/dgk6x/hades
diff --git a/keyboards/durgod/dgk6x/venus/config.h b/keyboards/durgod/dgk6x/venus/config.h
new file mode 100644
index 0000000000..3bef1ea7ed
--- /dev/null
+++ b/keyboards/durgod/dgk6x/venus/config.h
@@ -0,0 +1,37 @@
+/* Copyright 2021 Jessica Sullivan and Don Kjer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 "config_common.h"
+
+/* USB Device descriptor parameter */
+#define PRODUCT_ID 0x7EC5
+#define DEVICE_VER 0x0001
+#define PRODUCT DURGOD Venus (QMK)
+
+/* key matrix rows */
+#define MATRIX_ROWS 5
+#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4 }
+
+/* key matrix columns */
+#define MATRIX_COLS 14
+#define MATRIX_COL_PINS { B0, B1, B2, B10, B11, B12, B13, B14, B15, C6, C7, C8, C9, C10 }
+
+#ifdef RGB_MATRIX_ENABLE
+#define DRIVER_1_LED_TOTAL 53
+#define DRIVER_2_LED_TOTAL 8
+#endif
diff --git a/keyboards/durgod/dgk6x/venus/info.json b/keyboards/durgod/dgk6x/venus/info.json
new file mode 100644
index 0000000000..cd69623598
--- /dev/null
+++ b/keyboards/durgod/dgk6x/venus/info.json
@@ -0,0 +1,78 @@
+{
+ "keyboard_name": "DURGOD Venus",
+ "url": "https://www.amazon.com/dp/B07XFP5MMZ",
+ "maintainer": "J-Sully",
+ "width": 15,
+ "height": 5,
+ "layouts": {
+ "LAYOUT_60_ansi": {
+ "layout": [
+ {"label":"Esc", "x":0, "y":0},
+ {"label":"!", "x":1, "y":0},
+ {"label":"@", "x":2, "y":0},
+ {"label":"#", "x":3, "y":0},
+ {"label":"$", "x":4, "y":0},
+ {"label":"%", "x":5, "y":0},
+ {"label":"^", "x":6, "y":0},
+ {"label":"&", "x":7, "y":0},
+ {"label":"*", "x":8, "y":0},
+ {"label":"(", "x":9, "y":0},
+ {"label":")", "x":10, "y":0},
+ {"label":"_", "x":11, "y":0},
+ {"label":"+", "x":12, "y":0},
+ {"label":"Backspace", "x":13, "y":0, "w":2},
+
+ {"label":"Tab", "x":0, "y":1, "w":1.5},
+ {"label":"Q", "x":1.5, "y":1},
+ {"label":"W", "x":2.5, "y":1},
+ {"label":"E", "x":3.5, "y":1},
+ {"label":"R", "x":4.5, "y":1},
+ {"label":"T", "x":5.5, "y":1},
+ {"label":"Y", "x":6.5, "y":1},
+ {"label":"U", "x":7.5, "y":1},
+ {"label":"I", "x":8.5, "y":1},
+ {"label":"O", "x":9.5, "y":1},
+ {"label":"P", "x":10.5, "y":1},
+ {"label":"{", "x":11.5, "y":1},
+ {"label":"}", "x":12.5, "y":1},
+ {"label":"|", "x":13.5, "y":1, "w":1.5},
+
+ {"label":"CapsLock", "x":0, "y":2, "w":1.75},
+ {"label":"A", "x":1.75, "y":2},
+ {"label":"S", "x":2.75, "y":2},
+ {"label":"D", "x":3.75, "y":2},
+ {"label":"F", "x":4.75, "y":2},
+ {"label":"G", "x":5.75, "y":2},
+ {"label":"H", "x":6.75, "y":2},
+ {"label":"J", "x":7.75, "y":2},
+ {"label":"K", "x":8.75, "y":2},
+ {"label":"L", "x":9.75, "y":2},
+ {"label":";", "x":10.75, "y":2},
+ {"label":"'", "x":11.75, "y":2},
+ {"label":"Enter", "x":12.75, "y":2, "w":2.25},
+
+ {"label":"Shift", "x":0, "y":3, "w":2.25},
+ {"label":"Z", "x":2.25, "y":3},
+ {"label":"X", "x":3.25, "y":3},
+ {"label":"C", "x":4.25, "y":3},
+ {"label":"V", "x":5.25, "y":3},
+ {"label":"B", "x":6.25, "y":3},
+ {"label":"N", "x":7.25, "y":3},
+ {"label":"M", "x":8.25, "y":3},
+ {"label":"<", "x":9.25, "y":3},
+ {"label":">", "x":10.25, "y":3},
+ {"label":"?", "x":11.25, "y":3},
+ {"label":"Shift", "x":12.25, "y":3, "w":2.75},
+
+ {"label":"Ctrl", "x":0, "y":4, "w":1.25},
+ {"label":"Gui", "x":1.25, "y":4, "w":1.25},
+ {"label":"Alt", "x":2.5, "y":4, "w":1.25},
+ {"label":" ", "x":3.75, "y":4, "w":6.25},
+ {"label":"Alt", "x":10, "y":4, "w":1.25},
+ {"label":"Gui", "x":11.25, "y":4, "w":1.25},
+ {"label":"Win", "x":12.5, "y":4, "w":1.25},
+ {"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/durgod/dgk6x/venus/keymaps/default/keymap.json b/keyboards/durgod/dgk6x/venus/keymaps/default/keymap.json
new file mode 100644
index 0000000000..00742818f1
--- /dev/null
+++ b/keyboards/durgod/dgk6x/venus/keymaps/default/keymap.json
@@ -0,0 +1,38 @@
+{
+ "keyboard": "durgod/venus",
+ "keymap": "default",
+ "layout": "LAYOUT_60_ansi",
+ "layers": [
+ [
+ "KC_GESC", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_BSPC",
+ "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSLS",
+ "KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT",
+ "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "RSFT_T(KC_UP)",
+ "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT","LT(1,KC_LEFT)","LT(2,KC_DOWN)","RCTL_T(KC_RIGHT)"
+ ],
+ [
+ "KC_GRV", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_F12", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_UP", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PSCR", "KC_INS", "KC_HOME", "KC_END", "KC_DEL",
+ "KC_TRNS", "KC_LEFT", "KC_DOWN", "KC_RIGHT","KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PGUP", "KC_PGDN", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TGUI", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_MUTE", "KC_VOLD", "KC_VOLU", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_TOG", "RGB_MOD", "RGB_RMOD",
+ "KC_TRNS", "KC_TRNS", "RGB_VAI", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "RGB_SPD", "RGB_VAD", "RGB_SPI", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX",
+ "XXXXXXX", "XXXXXXX", "RGB_SAI", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX",
+ "XXXXXXX", "RGB_HUD", "RGB_SAD", "RGB_HUI", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX",
+ "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX",
+ "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "KC_TRNS", "KC_TRNS", "XXXXXXX"
+ ]
+ ],
+ "author":"dkjer",
+ "notes":"",
+ "version":1
+}
diff --git a/keyboards/durgod/dgk6x/venus/keymaps/default/readme.md b/keyboards/durgod/dgk6x/venus/keymaps/default/readme.md
new file mode 100644
index 0000000000..da166eb60a
--- /dev/null
+++ b/keyboards/durgod/dgk6x/venus/keymaps/default/readme.md
@@ -0,0 +1,11 @@
+![Durgod Venus Layout Image](https://i.imgur.com/eYjuTLy.png)
+
+# The default keymap for Durgod Venus.
+
+Layer 0 : Standard ANSI 60 Keys layout
+
+Layer 1 : F1-12 and additional navigation keys.
+
+Layer 2 : Media and RGB matrix control
+
+Layer 3 : RGB matrix hue and saturation
diff --git a/keyboards/durgod/dgk6x/venus/keymaps/via/keymap.json b/keyboards/durgod/dgk6x/venus/keymaps/via/keymap.json
new file mode 100644
index 0000000000..9d9bcf7467
--- /dev/null
+++ b/keyboards/durgod/dgk6x/venus/keymaps/via/keymap.json
@@ -0,0 +1,122 @@
+{
+ "keyboard": "durgod/venus",
+ "keymap": "via",
+ "layout": "LAYOUT_60_ansi",
+ "layers": [
+ [
+ "KC_GESC", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_BSPC",
+ "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSLS",
+ "KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT",
+ "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "RSFT_T(KC_UP)",
+ "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT","LT(1,KC_LEFT)","LT(2,KC_DOWN)","RCTL_T(KC_RIGHT)"
+ ],
+ [
+ "KC_GRV", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_F12", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_UP", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PSCR", "KC_INS", "KC_HOME", "KC_END", "KC_DEL",
+ "KC_TRNS", "KC_LEFT", "KC_DOWN", "KC_RIGHT","KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_PGUP", "KC_PGDN", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TGUI", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_MUTE", "KC_VOLD", "KC_VOLU", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_TOG", "RGB_MOD", "RGB_RMOD",
+ "KC_TRNS", "KC_TRNS", "RGB_VAI", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "RGB_SPD", "RGB_VAD", "RGB_SPI", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "MO(3)", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "RGB_SAI", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "RGB_HUD", "RGB_SAD", "RGB_HUI", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ],
+ [
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ ]
+ ],
+ "author":"dkjer",
+ "notes":"",
+ "version":1
+}
diff --git a/keyboards/durgod/dgk6x/venus/keymaps/via/readme.md b/keyboards/durgod/dgk6x/venus/keymaps/via/readme.md
new file mode 100644
index 0000000000..b23f4eccf8
--- /dev/null
+++ b/keyboards/durgod/dgk6x/venus/keymaps/via/readme.md
@@ -0,0 +1,12 @@
+![Durgod Venus Layout Image](https://i.imgur.com/eYjuTLy.png)
+
+# The via keymap for Durgod Venus.
+
+Layer 0 : Standard ANSI 60 Keys layout
+
+Layer 1 : F1-12 and additional navigation keys.
+
+Layer 2 : Media and RGB matrix control
+
+Layer 3 : RGB matrix hue and saturation
+
diff --git a/keyboards/durgod/dgk6x/venus/keymaps/via/rules.mk b/keyboards/durgod/dgk6x/venus/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/durgod/dgk6x/venus/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/durgod/dgk6x/venus/readme.md b/keyboards/durgod/dgk6x/venus/readme.md
new file mode 100644
index 0000000000..9e37d49633
--- /dev/null
+++ b/keyboards/durgod/dgk6x/venus/readme.md
@@ -0,0 +1,26 @@
+# Venus
+
+This is a standard off-the-shelf Durgod Venus 60% ANSI Layout keyboard with RGB matrix.
+
+* Keyboard Maintainer: [J-Sully](https://github.com/J-Sully) and [dkjer](https://github.com/dkjer)
+* Hardware Supported: Durgod Venus board with STM32F070RBT6
+* Hardware Availability: https://www.amazon.com/dp/B07XFP5MMZ
+
+## Instructions
+
+### Build
+
+Make command example for this keyboard (after setting up your build environment):
+
+ make durgod/venus:default
+
+Flashing example for this keyboard:
+
+ make durgod/venus: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).
+
+### Initial Flash
+
+Instructions for Flashing from initial Stock Firmware:
+* [Initial Flashing](../readme.md#initial-flash)
diff --git a/keyboards/durgod/dgk6x/venus/rules.mk b/keyboards/durgod/dgk6x/venus/rules.mk
new file mode 100644
index 0000000000..cdf5ba34a2
--- /dev/null
+++ b/keyboards/durgod/dgk6x/venus/rules.mk
@@ -0,0 +1 @@
+LAYOUTS = 60_ansi
diff --git a/keyboards/durgod/dgk6x/venus/venus.c b/keyboards/durgod/dgk6x/venus/venus.c
new file mode 100644
index 0000000000..3398acb19d
--- /dev/null
+++ b/keyboards/durgod/dgk6x/venus/venus.c
@@ -0,0 +1,115 @@
+/* Copyright 2021 Jessica Sullivan and Don Kjer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 "venus.h"
+
+#ifdef RGB_MATRIX_ENABLE
+
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
+/* Refer to IS31 manual for these locations
+ * driver
+ * | R location
+ * | | G location
+ * | | | B location
+ * | | | | */
+
+ {0, C_1, B_1, A_1}, // Esc
+ {0, C_2, B_2, A_2}, // 1
+ {0, C_3, B_3, A_3}, // 2
+ {0, C_4, B_4, A_4}, // 3
+ {0, C_5, B_5, A_5}, // 4
+ {0, C_6, B_6, A_6}, // 5
+ {0, C_7, B_7, A_7}, // 6
+ {0, C_8, B_8, A_8}, // 7
+ {0, C_9, B_9, A_9}, // 8
+ {0, C_10, B_10, A_10}, // 9
+ {0, C_11, B_11, A_11}, // 0
+ {0, C_12, B_12, A_12}, // -
+ {0, C_13, B_13, A_13}, // =
+ {0, C_14, B_14, A_14}, // Bksp
+
+ {0, F_1, E_1, D_1}, // Tab
+ {0, F_2, E_2, D_2}, // Q
+ {0, F_3, E_3, D_3}, // W
+ {0, F_4, E_4, D_4}, // E
+ {0, F_5, E_5, D_5}, // R
+ {0, F_6, E_6, D_6}, // T
+ {0, F_7, E_7, D_7}, // Y
+ {0, F_8, E_8, D_8}, // U
+ {0, F_9, E_9, D_9}, // I
+ {0, F_10, E_10, D_10}, // O
+ {0, F_11, E_11, D_11}, // P
+ {0, F_12, E_12, D_12}, // [
+ {0, F_13, E_13, D_13}, // ]
+ {0, F_14, E_14, D_14}, // Pipe
+
+ {0, I_1, H_1, G_1}, // Caps
+ {0, I_2, H_2, G_2}, // A
+ {0, I_3, H_3, G_3}, // S
+ {0, I_4, H_4, G_4}, // D
+ {0, I_5, H_5, G_5}, // F
+ {0, I_6, H_6, G_6}, // G
+ {0, I_7, H_7, G_7}, // H
+ {0, I_8, H_8, G_8}, // J
+ {0, I_9, H_9, G_9}, // K
+ {0, I_10, H_10, G_10}, // L
+ {0, I_11, H_11, G_11}, // :
+ {0, I_12, H_12, G_12}, // '
+ {0, I_14, H_14, G_14}, // Enter
+
+ {0, L_1, K_1, J_1}, // LShift
+ {0, L_2, K_2, J_2}, // Z
+ {0, L_3, K_3, J_3}, // X
+ {0, L_4, K_4, J_4}, // C
+ {0, L_5, K_5, J_5}, // V
+ {0, L_6, K_6, J_6}, // B
+ {0, L_7, K_7, J_7}, // N
+ {0, L_8, K_8, J_8}, // M
+ {0, L_9, K_9, J_9}, // <
+ {0, L_10, K_10, J_10}, // >
+ {0, L_11, K_11, J_11}, // ?
+ {0, L_12, K_12, J_12}, // RShift
+
+ {1, C_1, B_1, A_1}, // LCtrl
+ {1, C_2, B_2, A_2}, // LAlt
+ {1, C_3, B_3, A_3}, // Windows
+ {1, C_6, B_6, A_6}, // Space
+ {1, C_10, B_10, A_10}, // Fn1/RAlt hades/venus
+ {1, C_11, B_11, A_11}, // Fn2/Fn1
+ {1, C_12, B_12, A_12}, // RCtrl/Fn2
+ {1, C_13, B_13, A_13}, // LEFT/RCtrl
+};
+
+led_config_t g_led_config = { {
+ { 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, NO_LED, 40 },
+ { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, NO_LED, NO_LED },
+ { 53, 54, 55, NO_LED, NO_LED, 56, NO_LED, NO_LED, NO_LED, 57, 58, 59, 60, NO_LED }
+}, {
+ { 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 }, { 216, 0 },
+ { 4, 16 }, { 24, 16 }, { 40, 16 }, { 56, 16 }, { 72, 16 }, { 88, 16 }, { 104, 16 }, { 120, 16 }, { 136, 16 }, { 152, 16 }, { 168, 16 }, { 184, 16 }, { 200, 16 }, { 220, 16 },
+ { 6, 32 }, { 28, 32 }, { 44, 32 }, { 60, 32 }, { 76, 32 }, { 92, 32 }, { 108, 32 }, { 124, 32 }, { 140, 32 }, { 156, 32 }, { 172, 32 }, { 188, 32 }, { 214, 32 },
+ { 10, 48 }, { 36, 48 }, { 52, 48 }, { 68, 48 }, { 84, 48 }, { 100, 48 }, { 116, 48 }, { 132, 48 }, { 148, 48 }, { 164, 48 }, { 180, 48 }, { 210, 48 },
+ { 2, 64 }, { 22, 64 }, { 42, 64 }, { 102, 64 }, { 162, 64 }, { 182, 64 }, { 202, 64 }, { 222, 64 },
+}, {
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+ 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, 1,
+ 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
+ 1, 1, 1, 4, 1, 1, 1, 1
+} };
+#endif /* RGB_MATRIX_ENABLE */
diff --git a/keyboards/durgod/dgk6x/venus/venus.h b/keyboards/durgod/dgk6x/venus/venus.h
new file mode 100644
index 0000000000..6103c531dc
--- /dev/null
+++ b/keyboards/durgod/dgk6x/venus/venus.h
@@ -0,0 +1,37 @@
+/* Copyright 2021 Jessica Sullivan and Don Kjer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 CAPS_LED 28
+
+#define XXX KC_NO
+
+// This a shortcut to help you visually see your layout.
+#define LAYOUT_60_ansi( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, \
+ K40, K41, K42, K45, K49, K4A, K4B, K4C \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, XXX }, \
+ { K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, K4B, K4C, XXX }, \
+}
diff --git a/keyboards/durgod/galaxy/readme.md b/keyboards/durgod/galaxy/readme.md
new file mode 100644
index 0000000000..a85bf3f737
--- /dev/null
+++ b/keyboards/durgod/galaxy/readme.md
@@ -0,0 +1,3 @@
+# Galaxy 75
+
+See: [Galaxy 75](../dgk6x/galaxy/readme.md)
diff --git a/keyboards/durgod/galaxy/rules.mk b/keyboards/durgod/galaxy/rules.mk
new file mode 100644
index 0000000000..ff1e1ff205
--- /dev/null
+++ b/keyboards/durgod/galaxy/rules.mk
@@ -0,0 +1 @@
+DEFAULT_FOLDER=durgod/dgk6x/galaxy
diff --git a/keyboards/durgod/hades/readme.md b/keyboards/durgod/hades/readme.md
new file mode 100644
index 0000000000..c132a99bf9
--- /dev/null
+++ b/keyboards/durgod/hades/readme.md
@@ -0,0 +1,3 @@
+# Hades
+
+See: [Hades](../dgk6x/hades/readme.md)
diff --git a/keyboards/durgod/hades/rules.mk b/keyboards/durgod/hades/rules.mk
new file mode 100644
index 0000000000..b5a326f344
--- /dev/null
+++ b/keyboards/durgod/hades/rules.mk
@@ -0,0 +1 @@
+DEFAULT_FOLDER=durgod/dgk6x/hades
diff --git a/keyboards/durgod/k310/base/readme.md b/keyboards/durgod/k310/base/readme.md
new file mode 100644
index 0000000000..1f818dacc9
--- /dev/null
+++ b/keyboards/durgod/k310/base/readme.md
@@ -0,0 +1,6 @@
+# Taurus K310
+
+Base Model - no backlight leds
+
+See: [K310](../../k3x0/k310/base/readme.md)
+
diff --git a/keyboards/durgod/k310/base/rules.mk b/keyboards/durgod/k310/base/rules.mk
new file mode 100644
index 0000000000..ff432cc4aa
--- /dev/null
+++ b/keyboards/durgod/k310/base/rules.mk
@@ -0,0 +1 @@
+DEFAULT_FOLDER=durgod/k3x0/k310/base
diff --git a/keyboards/durgod/k310/readme.md b/keyboards/durgod/k310/readme.md
new file mode 100644
index 0000000000..234fcc875d
--- /dev/null
+++ b/keyboards/durgod/k310/readme.md
@@ -0,0 +1,4 @@
+# K310
+
+See: [K310](../k3x0/k310/readme.md)
+
diff --git a/keyboards/durgod/k310/rules.mk b/keyboards/durgod/k310/rules.mk
new file mode 100644
index 0000000000..e200539b26
--- /dev/null
+++ b/keyboards/durgod/k310/rules.mk
@@ -0,0 +1 @@
+DEFAULT_FOLDER=durgod/k3x0/k310
diff --git a/keyboards/durgod/k320/base/readme.md b/keyboards/durgod/k320/base/readme.md
new file mode 100644
index 0000000000..8b74e28e54
--- /dev/null
+++ b/keyboards/durgod/k320/base/readme.md
@@ -0,0 +1,6 @@
+# Taurus K320
+
+Base Model - no backlight leds
+
+See: [K320](../../k3x0/k320/base/readme.md)
+
diff --git a/keyboards/durgod/k320/base/rules.mk b/keyboards/durgod/k320/base/rules.mk
new file mode 100644
index 0000000000..de33470cc0
--- /dev/null
+++ b/keyboards/durgod/k320/base/rules.mk
@@ -0,0 +1 @@
+DEFAULT_FOLDER=durgod/k3x0/k320/base
diff --git a/keyboards/durgod/k320/keymaps/default/keymap.json b/keyboards/durgod/k320/keymaps/default/keymap.json
deleted file mode 100644
index d8242ae764..0000000000
--- a/keyboards/durgod/k320/keymaps/default/keymap.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "keyboard": "durgod/k320",
- "keymap": "default",
- "layout": "LAYOUT_all",
- "layers": [
- [
- "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_SLCK", "KC_PAUS",
- "KC_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_BSPC", "KC_INS", "KC_HOME", "KC_PGUP",
- "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSLS", "KC_DEL", "KC_END", "KC_PGDN",
- "KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_NUHS", "KC_ENT",
- "KC_LSFT", "KC_NUBS", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_UP",
- "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "MO(1)", "KC_APP", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RGHT"
- ],
- [
- "KC_TRNS", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_MUTE", "KC_VOLD", "KC_VOLU", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
- "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
- "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
- "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
- "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
- "KC_TRNS", "KC_TGUI", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
- ]
- ],
- "author":"dkjer",
- "notes":"",
- "version":1
-}
diff --git a/keyboards/durgod/k320/keymaps/default_toggle_mac_windows/keymap.c b/keyboards/durgod/k320/keymaps/default_toggle_mac_windows/keymap.c
deleted file mode 100644
index 8494fbe039..0000000000
--- a/keyboards/durgod/k320/keymaps/default_toggle_mac_windows/keymap.c
+++ /dev/null
@@ -1,367 +0,0 @@
-/* Copyright 2021 kuenhlee and Don Kjer
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General 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
-
-// Layer shorthand
-enum _layer {
- _WBL,
- _WFL,
- _WSL,
- _MBL,
- _MFL,
- _MSL
-};
-
-#ifndef DEFAULT_LAYOUT
-# define DEFAULT_LAYOUT _WBL // Change to _MBL to boot into Mac layout.
-#endif
-#ifndef ALT_LAYOUT
-# define ALT_LAYOUT _MBL // Layout to display 'MR' led when active.
-#endif
-
-static bool win_key_locked = false;
-static bool mac_media_locked = false;
-static bool win_appkey_pressed = false;
-static bool mac_fnkey_pressed = false;
-
-
-// Defines the keycodes used by our macros in process_record_user
-enum custom_keycodes {
- KC_TGUI = SAFE_RANGE, // Toggle between GUI Lock or Unlock (Windows)
- KC_TMED, // Toggle between Fx keys or Media keys (Mac)
- KC_WFN, // Windows function key
- KC_MFN, // Mac function key
- MO_WSL, // Windows system key
- MO_MSL, // Mac system key
- DF_W2MBL, // Change layout from Windows to Mac
- DF_M2WBL // Change layout from Mac to Windows
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap _WBL: Windows Base Layer (Default Layer)
- * ,-----------------------------------------------------------. ,--------------.
- * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus|
- * |-----------------------------------------------------------| |--------------|
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp|
- * |-----------------------------------------------------------| |--------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn|
- * |-----------------------------------------------------------| `--------------'
- * |CAPS | A| S| D| F| G| H| J| K| L| ;| '| #|Ret |
- * |-----------------------------------------------------------| ,----.
- * |Shift| \| Z| X| C| V| B| N| M| ,| .| /|Shift | | Up |
- * |-----------------------------------------------------------| ,-------------.
- * |Ctrl|Gui |Alt | Space |Alt |Func |App|Ctrl | |Lft| Dn |Rig |
- * `-----------------------------------------------------------' `-------------'
- */
- [_WBL] = LAYOUT_all( /* Windows Base Layer */
- 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_SLCK, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_WFN, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- /* Keymap _WFL: Windows Function Layer
- * ,-----------------------------------------------------------. ,--------------.
- * | |Play|Stop|Prev|Next| |Mute|Vol+|Vol-| | | | | | | | | | |
- * |-----------------------------------------------------------| |--------------|
- * | | | | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| |--------------|
- * | | | | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| `--------------'
- * | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| ,----.
- * | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| ,-------------.
- * | |Lock| | | |Func |Sys| | | | | |
- * `-----------------------------------------------------------' `-------------'
- */
- [_WFL] = LAYOUT_all( /* Windows First Layer */
- _______, KC_MPLY, KC_MSTP, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_TGUI, _______, _______, _______, _______, MO_WSL, _______, _______, _______, _______
- ),
- /* Keymap _WSL: Windows System Layer
- * ,-----------------------------------------------------------. ,--------------.
- * |Reset |Sleep| | |Power| | | | | | | | | |MAC| | |
- * |-----------------------------------------------------------| |--------------|
- * | | | | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| |--------------|
- * | | | | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| `--------------'
- * | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| ,----.
- * | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| ,-------------.
- * | | | | | |Func |Sys| | | | | |
- * `-----------------------------------------------------------' `-------------'
- */
- [_WSL] = LAYOUT_all( /* Windows Second / System Layer */
- RESET, KC_SLEP, XXXXXXX, XXXXXXX, KC_PWR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF_W2MBL, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- ),
-
- /* Keymap _MBL: Mac Base Layer (Alternate Layout)
- * ,-----------------------------------------------------------. ,--------------.
- * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| | f13| f14| f15|
- * |-----------------------------------------------------------| |--------------|
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp|
- * |-----------------------------------------------------------| |--------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn|
- * |-----------------------------------------------------------| `--------------'
- * |CAPS | A| S| D| F| G| H| J| K| L| ;| '| #|Ret |
- * |-----------------------------------------------------------| ,----.
- * |Shift| \| Z| X| C| V| B| N| M| ,| .| /|Shift | | Up |
- * |-----------------------------------------------------------| ,-------------.
- * |Ctrl|Alt |Gui | Space |Gui |Alt|Func |Ctrl | |Lft| Dn |Rig |
- * `-----------------------------------------------------------' `-------------'
- */
- [_MBL] = LAYOUT_all( /* Mac Base Layer */
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_MFN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- /* Keymap _MFL: Mac Function Layer
- * ,-----------------------------------------------------------. ,--------------.
- * | |Bri-|Bri+|MCon|LPad| | | |Prv|Ply| |Nxt|Mute|Vol-|Vol+| |TMed| | |
- * |-----------------------------------------------------------| |--------------|
- * | | | | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| |--------------|
- * | | | | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| `--------------'
- * | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| ,----.
- * | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| ,-------------.
- * | | | | | |Sys|Func | | | | | |
- * `-----------------------------------------------------------' `-------------'
- */
- [_MFL] = LAYOUT_all( /* Mac First Layer */
- _______, KC_BRID, KC_BRIU, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_TMED, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, MO_MSL, _______, _______, _______, _______, _______
- ),
- /* Keymap _MSL: Mac System Layer
- * ,-----------------------------------------------------------. ,--------------.
- * |Reset | | | |Sleep| | | | | | | | | |WIN| | |
- * |-----------------------------------------------------------| |--------------|
- * | | | | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| |--------------|
- * | | | | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| `--------------'
- * | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| ,----.
- * | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| ,-------------.
- * | | | | | |Sys|Func | | | | | |
- * `-----------------------------------------------------------' `-------------'
- */
- [_MSL] = LAYOUT_all( /* Mac Second / System Layer */
- RESET, XXXXXXX, XXXXXXX, XXXXXXX, KC_SLEP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF_M2WBL, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- )
-};
-
-void unlock_win_key(void) {
- win_key_locked = false;
- mac_media_locked = false;
- writePinHigh(LED_WIN_LOCK_PIN);
-}
-
-void toggle_lock_win_key(void) {
- win_key_locked = !win_key_locked;
- writePin(LED_WIN_LOCK_PIN, !win_key_locked);
-}
-
-void toggle_lock_media_key(void) {
- mac_media_locked = !mac_media_locked;
- writePin(LED_WIN_LOCK_PIN, !mac_media_locked);
-}
-
-#ifdef CONSOLE_ENABLE
-void dprint_global_layers(void) {
- dprint("Global Layers:");
- if (IS_LAYER_ON(_WFL)) { dprint(" _WFL"); }
- if (IS_LAYER_ON(_WSL)) { dprint(" _WSL"); }
- if (IS_LAYER_ON(_MFL)) { dprint(" _MFL"); }
- if (IS_LAYER_ON(_MSL)) { dprint(" _MSL"); }
- dprintf("\n");
-}
-
-void dprint_layers(layer_state_t state) {
- dprint("Layers:");
- if (IS_LAYER_ON_STATE(state, _WFL)) { dprint(" _WFL"); }
- if (IS_LAYER_ON_STATE(state, _WSL)) { dprint(" _WSL"); }
- if (IS_LAYER_ON_STATE(state, _MFL)) { dprint(" _MFL"); }
- if (IS_LAYER_ON_STATE(state, _MSL)) { dprint(" _MSL"); }
- dprintf("\n");
-}
-#endif
-
-layer_state_t default_layer_state_set_user(layer_state_t state) {
-#ifdef CONSOLE_ENABLE
- dprintf("default_layer_state_set_user: 0x%x\n", state);
- dprint_global_layers();
-#endif
- // Disable windows key lock on default layer transition.
- unlock_win_key();
- win_appkey_pressed = false;
- mac_fnkey_pressed = false;
- writePin(LED_MR_LOCK_PIN, !IS_LAYER_ON_STATE(state, ALT_LAYOUT));
- return state;
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
-#ifdef CONSOLE_ENABLE
- dprintf("layer_state_set_user: 0x%x\n", state);
- dprint_layers(state);
-#endif
- return state;
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case KC_TGUI:
- if (!record->event.pressed) {
- // Toggle GUI lock on key release
- toggle_lock_win_key();
- }
- break;
- case KC_TMED:
- // Only trigger when Fn key is also held down, to avoid accidental unlock.
- if (!mac_fnkey_pressed) { return false; }
- if (!record->event.pressed) {
- // Toggle Media Lock on key release
- toggle_lock_media_key();
- }
- break;
- case KC_LGUI:
- if (win_key_locked) { return false; }
- break;
- case KC_WFN:
- // Like MO(_WFL), but also enables _WSL if KC_APP is already pressed down.
- if (record->event.pressed) {
- layer_on(_WFL);
- if (win_appkey_pressed) {
- // Also enable Secondary layer if App key is being held down.
- win_appkey_pressed = false;
- layer_on(_WSL);
- }
- } else {
- if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); }
- if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); }
- }
- break;
- case KC_APP:
- if (record->event.pressed) {
- // Don't actually press down the app menu key
- win_appkey_pressed = true;
- } else {
- if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); }
- if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); }
- if (win_appkey_pressed) {
- win_appkey_pressed = false;
- // Tap the KC_APP key on key release.
- tap_code(KC_APP);
- }
- }
- return false;
- break;
- case KC_MFN:
- // Mac Fn key. Emit Fn keycode, and also transition layers similar to KC_WFN.
- if (record->event.pressed) {
- mac_fnkey_pressed = true;
- layer_on(_MFL);
- // Also enable Secondary layer if Right-Alt key is being held down.
- if (get_mods() & MOD_BIT(KC_RALT)) {
- layer_on(_MSL);
- }
- } else {
- mac_fnkey_pressed = false;
- if (!mac_media_locked) {
- if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); }
- if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); }
- }
- }
- break;
- case KC_RALT:
- // Disable MSL/WFL layer on key-up.
- if (!record->event.pressed) {
- if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); }
- if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); }
- }
- break;
- case MO_WSL:
- if (record->event.pressed) {
- layer_on(_WSL);
- } else {
- if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); }
- if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); }
- }
- break;
- case MO_MSL:
- if (record->event.pressed) {
- layer_on(_MSL);
- } else {
- if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); }
- if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); }
- }
- break;
- case DF_W2MBL:
- if (!record->event.pressed) {
- // Switch base layer, but preserve first/secondary layers.
- default_layer_set(1UL<<_MBL);
- layer_state_set(1UL<<_MFL | 1UL<<_MSL);
- }
- break;
- case DF_M2WBL:
- if (!record->event.pressed) {
- // Switch base layer, but preserve first/secondary layers.
- default_layer_set(1UL<<_WBL);
- layer_state_set(1UL<<_WFL | 1UL<<_WSL);
- }
- break;
- case RESET:
- if (record->event.pressed) {
- // Flash LEDs to indicate bootloader mode is enabled.
- on_all_leds();
- }
- break;
- }
- return true;
-}
-
-void keyboard_post_init_user(void) {
- default_layer_set(1UL<<DEFAULT_LAYOUT);
-}
-
diff --git a/keyboards/durgod/k320/keymaps/via/keymap.c b/keyboards/durgod/k320/keymaps/via/keymap.c
deleted file mode 100644
index fc46e3860f..0000000000
--- a/keyboards/durgod/k320/keymaps/via/keymap.c
+++ /dev/null
@@ -1,90 +0,0 @@
-/* Copyright 2021 Maxime Coirault
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General 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
-
-// Layer shorthand
-enum _layer {
- _BASE,
- _FUNC,
- _LAYER3,
- _LAYER4
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap _BASE: Base Layer (Default Layer)
- * ,-----------------------------------------------------------. ,--------------.
- * |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus|
- * |-----------------------------------------------------------| |--------------|
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp|
- * |-----------------------------------------------------------| |--------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| | | Del| End|PgDn|
- * |------------------------------------------------------ Ret | `--------------'
- * |CAPS | A| S| D| F| G| H| J| K| L| ;| '| #| |
- * |-----------------------------------------------------------| ,----.
- * |Shift| \| Z| X| C| V| B| N| M| ,| .| /|Shift | | Up |
- * |-----------------------------------------------------------| ,-------------.
- * |Ctrl|Gui |Alt | Space |Alt | Fn |App |Ctrl| |Lft| Dn |Rig |
- * `-----------------------------------------------------------' `-------------'
- */
- [_BASE] = LAYOUT_all( /* Base Layer */
- 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_SLCK, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FUNC),KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- /* Keymap _FUNC: Function Layer
- * ,-----------------------------------------------------------. ,--------------.
- * | |Play|Stop|Prev|Next| |Mute|Vol+|Vol-| | | | | | | | | | |
- * |-----------------------------------------------------------| |--------------|
- * | | | | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| |--------------|
- * | | | | | | | | | | | | | | | | | | |
- * |------------------------------------------------------- | `--------------'
- * | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| ,----.
- * | | | | | | | | | | | | | | | |
- * |-----------------------------------------------------------| ,-------------.
- * | | | | | |Func | | | | | | |
- * `-----------------------------------------------------------' `-------------'
- */
- [_FUNC] = LAYOUT_all( /* Function Layer */
- _______, KC_MPLY, KC_MSTP, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_LAYER3] = LAYOUT_all( /* Layer 3 */
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_LAYER4] = LAYOUT_all( /* Layer 4 */
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
diff --git a/keyboards/durgod/k320/keymaps/via/readme.md b/keyboards/durgod/k320/keymaps/via/readme.md
deleted file mode 100644
index d1b2ac191d..0000000000
--- a/keyboards/durgod/k320/keymaps/via/readme.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# The default keymap for Durgod Taurus K320.
-
-Layer 0 : Standard 87/88 keys TKL layout
-
-Layer 1 : Media control
-- Reusing Durgod's Original Media Control for Fn + F1 ~ Fn + F7
-
-## Supported PCBs
-
-This firmware was tested on a Durgod K320 ISO with the PCB marked "DGK320ST-Single v1.0 HS20181227".
-
-The pcb features switch holes for ANSI layout, so this firmware might be compatible with with the Durgod K320 ANSI.
diff --git a/keyboards/durgod/k320/keymaps/via/rules.mk b/keyboards/durgod/k320/keymaps/via/rules.mk
deleted file mode 100644
index 8815b6a0a6..0000000000
--- a/keyboards/durgod/k320/keymaps/via/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-OPT_DEFS += -DWINLOCK_DISABLED
-
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/durgod/k320/readme.md b/keyboards/durgod/k320/readme.md
index 551a292824..b8ca5b6da1 100644
--- a/keyboards/durgod/k320/readme.md
+++ b/keyboards/durgod/k320/readme.md
@@ -1,57 +1,4 @@
# K320
-This is a standard off-the-shelf Durgod Taurus K320 TKL (87/88-key) keyboard without backlight.
+See: [K320](../k3x0/k320/readme.md)
-* Keyboard Maintainer: [dkjer](https://github.com/dkjer)
-* Hardware Supported: Durgod Taurus K320 board with STM32F070RBT6
-* Hardware Availability: https://www.durgod.com/page9?product_id=47&_l=en
-
-## Instructions
-
-### Build
-
-Make command example for this keyboard (after setting up your build environment):
-
- make durgod/k320:default
-
-Flashing example for this keyboard:
-
- make durgod/k320: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).
-
-### Initial Flash
-
-For first Flashing from initial Stock's Firmware
-
-1. Back up original Firmware Image:
-- Unplug
-- Short Boot0 to Vdd (See below)
-- Plug In USB
-- Make a Flash Image's Backup in case you wanted to restore the Keyboard to Stock's Image:
- - Using DFUseDemo.exe from ST's STSW-STM32080: https://www.st.com/en/development-tools/stsw-stm32080.html
- - Using dfu-util:
-
- dfu-util --list
- dfu-util --alt 0 --dfuse-address 0x08000000 --upload ${OLD_STOCK_BIN}
-
-2. Flash the QMK Firmware Image.
-- Put board into Bootloader mode, using the same method as when backing up the original Firmware (above)
-- Here are a few options for performing the initial Flash:
- - Using [QMK Toolbox](https://github.com/qmk/qmk_toolbox)
- - Using DFuseDemo.exe if STTub30 driver is used.
- - Using dfu-util:
-
- dfu-util --alt 0 --dfuse-address 0x08000000 --download ${NEW_QMK_BIN}
-
-You can short Boot0 to Vdd by shorting R21 to C27 on the sides closest to the processor, as shown:
-
-<img src="https://i.imgur.com/hvDnw5a.jpg" width="520" height="693" alt="Shorting Boot0 to Vdd on K320">
-
-### Subsequent Flashing
-
-For repeating Flashing you can use BootMagic:
-- BootMagic Lite has been enabled with Assigned "Esc" key
-- Unplug USB Cable
-- Holding Esc Button
-- Plug in USB Cable, Keyboard should be in ST-Bootloader state
diff --git a/keyboards/durgod/k320/rules.mk b/keyboards/durgod/k320/rules.mk
index e6f0007fd4..d3f7b11945 100644
--- a/keyboards/durgod/k320/rules.mk
+++ b/keyboards/durgod/k320/rules.mk
@@ -1,29 +1 @@
-# MCU name
-# Actually F070, but close enough
-MCU = STM32F072
-BOARD = DURGOD_STM32_F070
-
-# Bootloader selection
-BOOTLOADER = stm32-dfu
-
-# Do not put the microcontroller into power saving mode
-OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
-MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-BLUETOOTH_ENABLE = no # Enable Bluetooth
-AUDIO_ENABLE = no # Audio output
-
-LAYOUTS = tkl_ansi tkl_iso
+DEFAULT_FOLDER=durgod/k3x0/k320
diff --git a/keyboards/durgod/k320/config.h b/keyboards/durgod/k3x0/config.h
index 323a9ccff9..ef73a71016 100644
--- a/keyboards/durgod/k320/config.h
+++ b/keyboards/durgod/k3x0/config.h
@@ -1,4 +1,5 @@
-/* Copyright 2021 kuenhlee and Don Kjer
+/* Copyright 2021 kuenhlee, Don Kjer, Tyler Tidman
+ * Copyright 2021 Simon Arlott
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -20,16 +21,11 @@
/* USB Device descriptor parameter */
#define VENDOR_ID 0xD60D
-#define PRODUCT_ID 0x3200
-#define DEVICE_VER 0x0001
#define MANUFACTURER Hoksi Technology
-#define PRODUCT DURGOD Taurus K320 (QMK)
-/* key matrix size */
-#define MATRIX_ROWS 7
+/* key matrix size (rows in specific keyboard variant) */
#define MATRIX_COLS 16
-#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4, A5, A6 }
#define MATRIX_COL_PINS { C4, C5, B0, B1, B2, B10, B11, B12, B13, B14, B15, C6, C7, C10, C11, C12 }
/* COL2ROW, ROW2COL*/
@@ -42,6 +38,7 @@
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
+// #define USB_POLLING_INTERVAL_MS 1
/* Bootmagic Lite key configuration */
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
@@ -54,3 +51,6 @@
#define LED_WIN_LOCK_PIN A9
#define LED_MR_LOCK_PIN A10
#define LED_PIN_ON_STATE 0
+
+/* Original hardware "reset" button on pin D2 */
+#define HARDWARE_RESET_PIN D2
diff --git a/keyboards/durgod/k3x0/halconf.h b/keyboards/durgod/k3x0/halconf.h
new file mode 100644
index 0000000000..fa20fe30a9
--- /dev/null
+++ b/keyboards/durgod/k3x0/halconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2021 Simon Arlott
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 HAL_USE_PAL TRUE
+#define PAL_USE_CALLBACKS TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/durgod/k3x0/k310/base/config.h b/keyboards/durgod/k3x0/k310/base/config.h
new file mode 100644
index 0000000000..025369acd7
--- /dev/null
+++ b/keyboards/durgod/k3x0/k310/base/config.h
@@ -0,0 +1,23 @@
+/* Copyright 2021 Don Kjer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 "config_common.h"
+
+/* USB Device descriptor parameter */
+#define PRODUCT DURGOD Taurus K310 (QMK)
+#define DEVICE_VER 0x0001 // Base (no backlight)
diff --git a/keyboards/durgod/k3x0/k310/base/readme.md b/keyboards/durgod/k3x0/k310/base/readme.md
new file mode 100644
index 0000000000..9f46540436
--- /dev/null
+++ b/keyboards/durgod/k3x0/k310/base/readme.md
@@ -0,0 +1,27 @@
+# K310
+
+This is a standard off-the-shelf Durgod Taurus K310 full-sized 104/105-key
+keyboard without backlight. This supports both the ANSI and ISO variants.
+
+* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert)
+* Hardware Supported: Durgod Taurus K310 board with STM32F070RBT6
+* Hardware Availability: K310 https://www.durgod.com/page9?product_id=53&_l=en
+
+## Instructions
+
+### Build
+
+Make command example for this keyboard (after setting up your build environment):
+
+ make durgod/k310:default
+
+Flashing example for this keyboard:
+
+ make durgod/k310: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).
+
+### Initial Flash
+
+Instructions for Flashing from initial Stock Firmware:
+* [Initial Flashing](../../readme.md#initial-flash)
diff --git a/keyboards/durgod/k3x0/k310/base/rules.mk b/keyboards/durgod/k3x0/k310/base/rules.mk
new file mode 100644
index 0000000000..323c12fc6e
--- /dev/null
+++ b/keyboards/durgod/k3x0/k310/base/rules.mk
@@ -0,0 +1 @@
+# see common rules.mk
diff --git a/keyboards/durgod/k3x0/k310/config.h b/keyboards/durgod/k3x0/k310/config.h
new file mode 100644
index 0000000000..1eadb8e52d
--- /dev/null
+++ b/keyboards/durgod/k3x0/k310/config.h
@@ -0,0 +1,36 @@
+/* Copyright 2021 Don Kjer and Tyler Tidman
+ * Copyright 2021 Simon Arlott
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 "config_common.h"
+
+/* USB Device descriptor parameter */
+#define PRODUCT_ID 0x3100
+// Taurus K310 models:
+//#define DEVICE_VER 0x0001 // Base (no backlight)
+//#define DEVICE_VER 0x0002 // Corona (white led matrix)
+//#define DEVICE_VER 0x0003 // Aurora (red & blue led matrix)
+//#define DEVICE_VER 0x0004 // Nebula (rgb led matrix)
+
+/* key matrix size (cols in generic keyboard config) */
+#define MATRIX_ROWS 8
+
+#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4, A5, A6, A7 }
+
+/* LED indicator pins */
+#define LED_NUM_LOCK_PIN C8
diff --git a/keyboards/durgod/k320/info.json b/keyboards/durgod/k3x0/k310/info.json
index 6c67c3d453..35cd59becc 100644
--- a/keyboards/durgod/k320/info.json
+++ b/keyboards/durgod/k3x0/k310/info.json
@@ -1,11 +1,11 @@
{
- "keyboard_name": "DURGOD Taurus K320",
- "url": "https://www.durgod.com/page9?product_id=47&_l=en",
- "maintainer": "dkjer",
- "width": 18.25,
+ "keyboard_name": "DURGOD Taurus K310",
+ "url": "https://www.durgod.com/page9?product_id=53&_l=en",
+ "maintainer": "tylert",
+ "width": 22.5,
"height": 6.5,
"layouts": {
- "LAYOUT_tkl_ansi": {
+ "LAYOUT_fullsize_ansi": {
"layout": [
{ "label": "Esc", "x": 0, "y": 0 },
{ "label": "F1", "x": 2, "y": 0 },
@@ -41,6 +41,10 @@
{ "label": "Insert", "x": 15.25, "y": 1.5 },
{ "label": "Home", "x": 16.25, "y": 1.5 },
{ "label": "PgUp", "x": 17.25, "y": 1.5 },
+ { "label": "Num Lock", "x": 18.5, "y": 1.5 },
+ { "label": "/", "x": 19.5, "y": 1.5 },
+ { "label": "*", "x": 20.5, "y": 1.5 },
+ { "label": "-", "x": 21.5, "y": 1.5 },
{ "label": "Tab", "x": 0, "y": 2.5, "w": 1.5 },
{ "label": "Q", "x": 1.5, "y": 2.5 },
@@ -59,6 +63,10 @@
{ "label": "Delete", "x": 15.25, "y": 2.5 },
{ "label": "End", "x": 16.25, "y": 2.5 },
{ "label": "PgDn", "x": 17.25, "y": 2.5 },
+ { "label": "7", "x": 18.5, "y": 2.5 },
+ { "label": "8", "x": 19.5, "y": 2.5 },
+ { "label": "9", "x": 20.5, "y": 2.5 },
+ { "label": "+", "x": 21.5, "y": 2.5, "h": 2 },
{ "label": "Caps Lock", "x": 0, "y": 3.5, "w": 1.75 },
{ "label": "A", "x": 1.75, "y": 3.5 },
@@ -73,6 +81,9 @@
{ "label": ":", "x": 10.75, "y": 3.5 },
{ "label": "\"", "x": 11.75, "y": 3.5 },
{ "label": "Enter", "x": 12.75, "y": 3.5, "w": 2.25 },
+ { "label": "4", "x": 18.5, "y": 3.5 },
+ { "label": "5", "x": 19.5, "y": 3.5 },
+ { "label": "6", "x": 20.5, "y": 3.5 },
{ "label": "Shift", "x": 0, "y": 4.5, "w": 2.25 },
{ "label": "Z", "x": 2.25, "y": 4.5 },
@@ -87,6 +98,10 @@
{ "label": "?", "x": 11.25, "y": 4.5 },
{ "label": "Shift", "x": 12.25, "y": 4.5, "w": 2.75 },
{ "label": "\u2191", "x": 16.25, "y": 4.5 },
+ { "label": "1", "x": 18.5, "y": 4.5 },
+ { "label": "2", "x": 19.5, "y": 4.5 },
+ { "label": "3", "x": 20.5, "y": 4.5 },
+ { "label": "Enter", "x": 21.5, "y": 4.5, "h": 2 },
{ "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.25 },
{ "label": "Win", "x": 1.25, "y": 5.5, "w": 1.25 },
@@ -98,10 +113,12 @@
{ "label": "Ctrl", "x": 13.75, "y": 5.5, "w": 1.25 },
{ "label": "\u2190", "x": 15.25, "y": 5.5 },
{ "label": "\u2193", "x": 16.25, "y": 5.5 },
- { "label": "\u2192", "x": 17.25, "y": 5.5 }
+ { "label": "\u2192", "x": 17.25, "y": 5.5 },
+ { "label": "0", "x": 18.5, "y": 5.5, "w": 2 },
+ { "label": ".", "x": 20.5, "y": 5.5 }
]
},
- "LAYOUT_tkl_iso": {
+ "LAYOUT_fullsize_iso": {
"layout": [
{ "label": "Esc", "x": 0, "y": 0 },
{ "label": "F1", "x": 2, "y": 0 },
@@ -137,6 +154,10 @@
{ "label": "Insert", "x": 15.25, "y": 1.5 },
{ "label": "Home", "x": 16.25, "y": 1.5 },
{ "label": "PgUp", "x": 17.25, "y": 1.5 },
+ { "label": "Num Lock", "x": 18.5, "y": 1.5 },
+ { "label": "/", "x": 19.5, "y": 1.5 },
+ { "label": "*", "x": 20.5, "y": 1.5 },
+ { "label": "-", "x": 21.5, "y": 1.5 },
{ "label": "Tab", "x": 0, "y": 2.5, "w": 1.5 },
{ "label": "Q", "x": 1.5, "y": 2.5 },
@@ -154,6 +175,10 @@
{ "label": "Delete", "x": 15.25, "y": 2.5 },
{ "label": "End", "x": 16.25, "y": 2.5 },
{ "label": "PgDn", "x": 17.25, "y": 2.5 },
+ { "label": "7", "x": 18.5, "y": 2.5 },
+ { "label": "8", "x": 19.5, "y": 2.5 },
+ { "label": "9", "x": 20.5, "y": 2.5 },
+ { "label": "+", "x": 21.5, "y": 2.5, "h": 2 },
{ "label": "Caps Lock", "x": 0, "y": 3.5, "w": 1.75 },
{ "label": "A", "x": 1.75, "y": 3.5 },
@@ -169,6 +194,9 @@
{ "label": "\"", "x": 11.75, "y": 3.5 },
{ "label": "#", "x": 12.75, "y": 3.5 },
{ "label": "Enter", "x": 13.75, "y": 2.5, "w": 1.25, "h": 2 },
+ { "label": "4", "x": 18.5, "y": 3.5 },
+ { "label": "5", "x": 19.5, "y": 3.5 },
+ { "label": "6", "x": 20.5, "y": 3.5 },
{ "label": "Shift", "x": 0, "y": 4.5, "w": 1.25 },
{ "label": "\\", "x": 1.25, "y": 4.5 },
@@ -184,6 +212,10 @@
{ "label": "?", "x": 11.25, "y": 4.5 },
{ "label": "Shift", "x": 12.25, "y": 4.5, "w": 2.75 },
{ "label": "\u2191", "x": 16.25, "y": 4.5 },
+ { "label": "1", "x": 18.5, "y": 4.5 },
+ { "label": "2", "x": 19.5, "y": 4.5 },
+ { "label": "3", "x": 20.5, "y": 4.5 },
+ { "label": "Enter", "x": 21.5, "y": 4.5, "h": 2 },
{ "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.25 },
{ "label": "Win", "x": 1.25, "y": 5.5, "w": 1.25 },
@@ -195,7 +227,9 @@
{ "label": "Ctrl", "x": 13.75, "y": 5.5, "w": 1.25 },
{ "label": "\u2190", "x": 15.25, "y": 5.5 },
{ "label": "\u2193", "x": 16.25, "y": 5.5 },
- { "label": "\u2192", "x": 17.25, "y": 5.5 }
+ { "label": "\u2192", "x": 17.25, "y": 5.5 },
+ { "label": "0", "x": 18.5, "y": 5.5, "w": 2 },
+ { "label": ".", "x": 20.5, "y": 5.5 }
]
},
"LAYOUT_all": {
@@ -234,6 +268,10 @@
{ "label": "Insert", "x": 15.25, "y": 1.5 },
{ "label": "Home", "x": 16.25, "y": 1.5 },
{ "label": "PgUp", "x": 17.25, "y": 1.5 },
+ { "label": "Num Lock", "x": 18.5, "y": 1.5 },
+ { "label": "/", "x": 19.5, "y": 1.5 },
+ { "label": "*", "x": 20.5, "y": 1.5 },
+ { "label": "-", "x": 21.5, "y": 1.5 },
{ "label": "Tab", "x": 0, "y": 2.5, "w": 1.5 },
{ "label": "Q", "x": 1.5, "y": 2.5 },
@@ -252,6 +290,10 @@
{ "label": "Delete", "x": 15.25, "y": 2.5 },
{ "label": "End", "x": 16.25, "y": 2.5 },
{ "label": "PgDn", "x": 17.25, "y": 2.5 },
+ { "label": "7", "x": 18.5, "y": 2.5 },
+ { "label": "8", "x": 19.5, "y": 2.5 },
+ { "label": "9", "x": 20.5, "y": 2.5 },
+ { "label": "+", "x": 21.5, "y": 2.5, "h": 2 },
{ "label": "Caps Lock", "x": 0, "y": 3.5, "w": 1.75 },
{ "label": "A", "x": 1.75, "y": 3.5 },
@@ -267,6 +309,9 @@
{ "label": "\"", "x": 11.75, "y": 3.5 },
{ "label": "#", "x": 12.75, "y": 3.5 },
{ "label": "Enter", "x": 13.75, "y": 3.5, "w": 1.25 },
+ { "label": "4", "x": 18.5, "y": 3.5 },
+ { "label": "5", "x": 19.5, "y": 3.5 },
+ { "label": "6", "x": 20.5, "y": 3.5 },
{ "label": "Shift", "x": 0, "y": 4.5, "w": 1.25 },
{ "label": "\\", "x": 1.25, "y": 4.5 },
@@ -282,6 +327,10 @@
{ "label": "?", "x": 11.25, "y": 4.5 },
{ "label": "Shift", "x": 12.25, "y": 4.5, "w": 2.75 },
{ "label": "\u2191", "x": 16.25, "y": 4.5 },
+ { "label": "1", "x": 18.5, "y": 4.5 },
+ { "label": "2", "x": 19.5, "y": 4.5 },
+ { "label": "3", "x": 20.5, "y": 4.5 },
+ { "label": "Enter", "x": 21.5, "y": 4.5, "h": 2 },
{ "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.25 },
{ "label": "Win", "x": 1.25, "y": 5.5, "w": 1.25 },
@@ -293,7 +342,9 @@
{ "label": "Ctrl", "x": 13.75, "y": 5.5, "w": 1.25 },
{ "label": "\u2190", "x": 15.25, "y": 5.5 },
{ "label": "\u2193", "x": 16.25, "y": 5.5 },
- { "label": "\u2192", "x": 17.25, "y": 5.5 }
+ { "label": "\u2192", "x": 17.25, "y": 5.5 },
+ { "label": "0", "x": 18.5, "y": 5.5, "w": 2 },
+ { "label": ".", "x": 20.5, "y": 5.5 }
]
}
}
diff --git a/keyboards/durgod/k3x0/k310/k310.h b/keyboards/durgod/k3x0/k310/k310.h
new file mode 100644
index 0000000000..2d82ee1550
--- /dev/null
+++ b/keyboards/durgod/k3x0/k310/k310.h
@@ -0,0 +1,78 @@
+/* Copyright 2021 Don Kjer and Tyler Tidman
+ * Copyright 2021 Simon Arlott
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 XXX KC_NO
+
+// This a shortcut to help you visually see your layout.
+#define LAYOUT_fullsize_ansi( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K2E, K2F, K1F, K6A, K69, K68, K67, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3D, K3E, K3F, K7A, K79, K78, K6B, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K4E, K7E, K7D, K7C, \
+ K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, K6E, K6D, K6C, K7B, \
+ K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K6F, K7F, K77 \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX, K1E, K1F }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, K3E, K3F }, \
+ { K40, XXX, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \
+ { K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, K5C, K5D, K5E, K5F }, \
+ { XXX, XXX, XXX, XXX, XXX, XXX, XXX, K67, K68, K69, K6A, K6B, K6C, K6D, K6E, K6F }, \
+ { XXX, XXX, XXX, XXX, XXX, XXX, XXX, K77, K78, K79, K7A, K7B, K7C, K7D, K7E, K7F } \
+}
+
+// This a shortcut to help you visually see your layout.
+#define LAYOUT_fullsize_iso( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K2E, K2F, K1F, K6A, K69, K68, K67, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K3D, K3E, K3F, K7A, K79, K78, K6B, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K4E, K7E, K7D, K7C, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, K6E, K6D, K6C, K7B, \
+ K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K6F, K7F, K77 \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX, K1E, K1F }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E, K2F }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \
+ { K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, K5C, K5D, K5E, K5F }, \
+ { XXX, XXX, XXX, XXX, XXX, XXX, XXX, K67, K68, K69, K6A, K6B, K6C, K6D, K6E, K6F }, \
+ { XXX, XXX, XXX, XXX, XXX, XXX, XXX, K77, K78, K79, K7A, K7B, K7C, K7D, K7E, K7F } \
+}
+
+// This a shortcut to help you visually see your layout.
+#define LAYOUT_all( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K2E, K2F, K1F, K6A, K69, K68, K67, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3D, K3E, K3F, K7A, K79, K78, K6B, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K4E, K7E, K7D, K7C, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, K6E, K6D, K6C, K7B, \
+ K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K6F, K7F, K77 \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX, K1E, K1F }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \
+ { K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, K5C, K5D, K5E, K5F }, \
+ { XXX, XXX, XXX, XXX, XXX, XXX, XXX, K67, K68, K69, K6A, K6B, K6C, K6D, K6E, K6F }, \
+ { XXX, XXX, XXX, XXX, XXX, XXX, XXX, K77, K78, K79, K7A, K7B, K7C, K7D, K7E, K7F } \
+}
+
diff --git a/keyboards/durgod/k3x0/k310/readme.md b/keyboards/durgod/k3x0/k310/readme.md
new file mode 100644
index 0000000000..bee903b88f
--- /dev/null
+++ b/keyboards/durgod/k3x0/k310/readme.md
@@ -0,0 +1,10 @@
+# Taurus K310
+
+This code is shared between all K310 variants. Currently only the base model with no backlight is supported.
+
+* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert)
+* Hardware Supported: Durgod Taurus K310 board with STM32F070RBT6
+* Hardware Availability: Base https://www.durgod.com/page9?product_id=53&_l=en
+
+Instructions for building the K310 firmware can be found here:
+* [No Backlight](base/readme.md)
diff --git a/keyboards/durgod/k3x0/k310/rules.mk b/keyboards/durgod/k3x0/k310/rules.mk
new file mode 100644
index 0000000000..2df1aff9c8
--- /dev/null
+++ b/keyboards/durgod/k3x0/k310/rules.mk
@@ -0,0 +1,4 @@
+# Default to the base model
+DEFAULT_FOLDER=durgod/k3x0/k310/base
+
+LAYOUTS = fullsize_ansi fullsize_iso
diff --git a/keyboards/durgod/k3x0/k320/base/config.h b/keyboards/durgod/k3x0/k320/base/config.h
new file mode 100644
index 0000000000..d4eb732b90
--- /dev/null
+++ b/keyboards/durgod/k3x0/k320/base/config.h
@@ -0,0 +1,23 @@
+/* Copyright 2021 Don Kjer
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 "config_common.h"
+
+/* USB Device descriptor parameter */
+#define PRODUCT DURGOD Taurus K320 (QMK)
+#define DEVICE_VER 0x0001 // Base (no backlight)
diff --git a/keyboards/durgod/k3x0/k320/base/readme.md b/keyboards/durgod/k3x0/k320/base/readme.md
new file mode 100644
index 0000000000..8f46cc122c
--- /dev/null
+++ b/keyboards/durgod/k3x0/k320/base/readme.md
@@ -0,0 +1,27 @@
+# K320
+
+This is a standard off-the-shelf Durgod Taurus K320 TKL (87/88-key)
+keyboard without backlight. This supports both the ANSI and ISO variants.
+
+* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert)
+* Hardware Supported: Durgod Taurus K320 board with STM32F070RBT6
+* Hardware Availability: https://www.durgod.com/page9?product_id=47&_l=en
+
+## Instructions
+
+### Build
+
+Make command example for this keyboard (after setting up your build environment):
+
+ make durgod/k320:default
+
+Flashing example for this keyboard:
+
+ make durgod/k320: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).
+
+### Initial Flash
+
+Instructions for Flashing from initial Stock Firmware:
+* [Initial Flashing](../../readme.md#initial-flash)
diff --git a/keyboards/durgod/k3x0/k320/base/rules.mk b/keyboards/durgod/k3x0/k320/base/rules.mk
new file mode 100644
index 0000000000..323c12fc6e
--- /dev/null
+++ b/keyboards/durgod/k3x0/k320/base/rules.mk
@@ -0,0 +1 @@
+# see common rules.mk
diff --git a/keyboards/durgod/k3x0/k320/config.h b/keyboards/durgod/k3x0/k320/config.h
new file mode 100644
index 0000000000..25b4c63036
--- /dev/null
+++ b/keyboards/durgod/k3x0/k320/config.h
@@ -0,0 +1,33 @@
+/* Copyright 2021 Don Kjer and Tyler Tidman
+ * Copyright 2021 Simon Arlott
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 "config_common.h"
+
+/* USB Device descriptor parameter */
+#define PRODUCT_ID 0x3200
+// Taurus K320 models:
+//#define DEVICE_VER 0x0001 // Base (no backlight)
+//#define DEVICE_VER 0x0002 // Corona (white led matrix)
+//#define DEVICE_VER 0x0003 // Aurora (red & blue led matrix)
+//#define DEVICE_VER 0x0004 // Nebula (rgb led matrix)
+
+/* key matrix size (cols in generic keyboard config) */
+#define MATRIX_ROWS 7
+
+#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4, A5, A6 }
diff --git a/keyboards/durgod/k3x0/k320/info.json b/keyboards/durgod/k3x0/k320/info.json
new file mode 100644
index 0000000000..d360778edd
--- /dev/null
+++ b/keyboards/durgod/k3x0/k320/info.json
@@ -0,0 +1,415 @@
+{
+ "keyboard_name": "DURGOD Taurus K320",
+ "url": "https://www.durgod.com/page9?product_id=47&_l=en",
+ "maintainer": "dkjer",
+ "width": 18.25,
+ "height": 6.5,
+ "layouts": {
+ "LAYOUT_tkl_ansi": {
+ "layout": [
+ { "label": "Esc", "x": 0, "y": 0 },
+ { "label": "F1", "x": 2, "y": 0 },
+ { "label": "F2", "x": 3, "y": 0 },
+ { "label": "F3", "x": 4, "y": 0 },
+ { "label": "F4", "x": 5, "y": 0 },
+ { "label": "F5", "x": 6.5, "y": 0 },
+ { "label": "F6", "x": 7.5, "y": 0 },
+ { "label": "F7", "x": 8.5, "y": 0 },
+ { "label": "F8", "x": 9.5, "y": 0 },
+ { "label": "F9", "x": 11, "y": 0 },
+ { "label": "F10", "x": 12, "y": 0 },
+ { "label": "F11", "x": 13, "y": 0 },
+ { "label": "F12", "x": 14, "y": 0 },
+ { "label": "PrtSc", "x": 15.25, "y": 0 },
+ { "label": "Scroll Lock", "x": 16.25, "y": 0 },
+ { "label": "Pause", "x": 17.25, "y": 0 },
+
+ { "label": "~", "x": 0, "y": 1.5 },
+ { "label": "!", "x": 1, "y": 1.5 },
+ { "label": "@", "x": 2, "y": 1.5 },
+ { "label": "#", "x": 3, "y": 1.5 },
+ { "label": "$", "x": 4, "y": 1.5 },
+ { "label": "%", "x": 5, "y": 1.5 },
+ { "label": "^", "x": 6, "y": 1.5 },
+ { "label": "&", "x": 7, "y": 1.5 },
+ { "label": "*", "x": 8, "y": 1.5 },
+ { "label": "(", "x": 9, "y": 1.5 },
+ { "label": ")", "x": 10, "y": 1.5 },
+ { "label": "_", "x": 11, "y": 1.5 },
+ { "label": "+", "x": 12, "y": 1.5 },
+ { "label": "Backspace", "x": 13, "y": 1.5, "w": 2 },
+ { "label": "Insert", "x": 15.25, "y": 1.5 },
+ { "label": "Home", "x": 16.25, "y": 1.5 },
+ { "label": "PgUp", "x": 17.25, "y": 1.5 },
+
+ { "label": "Tab", "x": 0, "y": 2.5, "w": 1.5 },
+ { "label": "Q", "x": 1.5, "y": 2.5 },
+ { "label": "W", "x": 2.5, "y": 2.5 },
+ { "label": "E", "x": 3.5, "y": 2.5 },
+ { "label": "R", "x": 4.5, "y": 2.5 },
+ { "label": "T", "x": 5.5, "y": 2.5 },
+ { "label": "Y", "x": 6.5, "y": 2.5 },
+ { "label": "U", "x": 7.5, "y": 2.5 },
+ { "label": "I", "x": 8.5, "y": 2.5 },
+ { "label": "O", "x": 9.5, "y": 2.5 },
+ { "label": "P", "x": 10.5, "y": 2.5 },
+ { "label": "{", "x": 11.5, "y": 2.5 },
+ { "label": "}", "x": 12.5, "y": 2.5 },
+ { "label": "|", "x": 13.5, "y": 2.5, "w": 1.5 },
+ { "label": "Delete", "x": 15.25, "y": 2.5 },
+ { "label": "End", "x": 16.25, "y": 2.5 },
+ { "label": "PgDn", "x": 17.25, "y": 2.5 },
+
+ { "label": "Caps Lock", "x": 0, "y": 3.5, "w": 1.75 },
+ { "label": "A", "x": 1.75, "y": 3.5 },
+ { "label": "S", "x": 2.75, "y": 3.5 },
+ { "label": "D", "x": 3.75, "y": 3.5 },
+ { "label": "F", "x": 4.75, "y": 3.5 },
+ { "label": "G", "x": 5.75, "y": 3.5 },
+ { "label": "H", "x": 6.75, "y": 3.5 },
+ { "label": "J", "x": 7.75, "y": 3.5 },
+ { "label": "K", "x": 8.75, "y": 3.5 },
+ { "label": "L", "x": 9.75, "y": 3.5 },
+ { "label": ":", "x": 10.75, "y": 3.5 },
+ { "label": "\"", "x": 11.75, "y": 3.5 },
+ { "label": "Enter", "x": 12.75, "y": 3.5, "w": 2.25 },
+
+ { "label": "Shift", "x": 0, "y": 4.5, "w": 2.25 },
+ { "label": "Z", "x": 2.25, "y": 4.5 },
+ { "label": "X", "x": 3.25, "y": 4.5 },
+ { "label": "C", "x": 4.25, "y": 4.5 },
+ { "label": "V", "x": 5.25, "y": 4.5 },
+ { "label": "B", "x": 6.25, "y": 4.5 },
+ { "label": "N", "x": 7.25, "y": 4.5 },
+ { "label": "M", "x": 8.25, "y": 4.5 },
+ { "label": "<", "x": 9.25, "y": 4.5 },
+ { "label": ">", "x": 10.25, "y": 4.5 },
+ { "label": "?", "x": 11.25, "y": 4.5 },
+ { "label": "Shift", "x": 12.25, "y": 4.5, "w": 2.75 },
+ { "label": "\u2191", "x": 16.25, "y": 4.5 },
+
+ { "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.25 },
+ { "label": "Win", "x": 1.25, "y": 5.5, "w": 1.25 },
+ { "label": "Alt", "x": 2.5, "y": 5.5, "w": 1.25 },
+ { "x": 3.75, "y": 5.5, "w": 6.25 },
+ { "label": "Alt", "x": 10, "y": 5.5, "w": 1.25 },
+ { "label": "Fn", "x": 11.25, "y": 5.5, "w": 1.25 },
+ { "label": "Menu", "x": 12.5, "y": 5.5, "w": 1.25 },
+ { "label": "Ctrl", "x": 13.75, "y": 5.5, "w": 1.25 },
+ { "label": "\u2190", "x": 15.25, "y": 5.5 },
+ { "label": "\u2193", "x": 16.25, "y": 5.5 },
+ { "label": "\u2192", "x": 17.25, "y": 5.5 }
+ ]
+ },
+ "LAYOUT_tkl_iso": {
+ "layout": [
+ { "label": "Esc", "x": 0, "y": 0 },
+ { "label": "F1", "x": 2, "y": 0 },
+ { "label": "F2", "x": 3, "y": 0 },
+ { "label": "F3", "x": 4, "y": 0 },
+ { "label": "F4", "x": 5, "y": 0 },
+ { "label": "F5", "x": 6.5, "y": 0 },
+ { "label": "F6", "x": 7.5, "y": 0 },
+ { "label": "F7", "x": 8.5, "y": 0 },
+ { "label": "F8", "x": 9.5, "y": 0 },
+ { "label": "F9", "x": 11, "y": 0 },
+ { "label": "F10", "x": 12, "y": 0 },
+ { "label": "F11", "x": 13, "y": 0 },
+ { "label": "F12", "x": 14, "y": 0 },
+ { "label": "PrtSc", "x": 15.25, "y": 0 },
+ { "label": "Scroll Lock", "x": 16.25, "y": 0 },
+ { "label": "Pause", "x": 17.25, "y": 0 },
+
+ { "label": "~", "x": 0, "y": 1.5 },
+ { "label": "!", "x": 1, "y": 1.5 },
+ { "label": "@", "x": 2, "y": 1.5 },
+ { "label": "#", "x": 3, "y": 1.5 },
+ { "label": "$", "x": 4, "y": 1.5 },
+ { "label": "%", "x": 5, "y": 1.5 },
+ { "label": "^", "x": 6, "y": 1.5 },
+ { "label": "&", "x": 7, "y": 1.5 },
+ { "label": "*", "x": 8, "y": 1.5 },
+ { "label": "(", "x": 9, "y": 1.5 },
+ { "label": ")", "x": 10, "y": 1.5 },
+ { "label": "_", "x": 11, "y": 1.5 },
+ { "label": "+", "x": 12, "y": 1.5 },
+ { "label": "Backspace", "x": 13, "y": 1.5, "w": 2 },
+ { "label": "Insert", "x": 15.25, "y": 1.5 },
+ { "label": "Home", "x": 16.25, "y": 1.5 },
+ { "label": "PgUp", "x": 17.25, "y": 1.5 },
+
+ { "label": "Tab", "x": 0, "y": 2.5, "w": 1.5 },
+ { "label": "Q", "x": 1.5, "y": 2.5 },
+ { "label": "W", "x": 2.5, "y": 2.5 },
+ { "label": "E", "x": 3.5, "y": 2.5 },
+ { "label": "R", "x": 4.5, "y": 2.5 },
+ { "label": "T", "x": 5.5, "y": 2.5 },
+ { "label": "Y", "x": 6.5, "y": 2.5 },
+ { "label": "U", "x": 7.5, "y": 2.5 },
+ { "label": "I", "x": 8.5, "y": 2.5 },
+ { "label": "O", "x": 9.5, "y": 2.5 },
+ { "label": "P", "x": 10.5, "y": 2.5 },
+ { "label": "{", "x": 11.5, "y": 2.5 },
+ { "label": "}", "x": 12.5, "y": 2.5 },
+ { "label": "Delete", "x": 15.25, "y": 2.5 },
+ { "label": "End", "x": 16.25, "y": 2.5 },
+ { "label": "PgDn", "x": 17.25, "y": 2.5 },
+
+ { "label": "Caps Lock", "x": 0, "y": 3.5, "w": 1.75 },
+ { "label": "A", "x": 1.75, "y": 3.5 },
+ { "label": "S", "x": 2.75, "y": 3.5 },
+ { "label": "D", "x": 3.75, "y": 3.5 },
+ { "label": "F", "x": 4.75, "y": 3.5 },
+ { "label": "G", "x": 5.75, "y": 3.5 },
+ { "label": "H", "x": 6.75, "y": 3.5 },
+ { "label": "J", "x": 7.75, "y": 3.5 },
+ { "label": "K", "x": 8.75, "y": 3.5 },
+ { "label": "L", "x": 9.75, "y": 3.5 },
+ { "label": ":", "x": 10.75, "y": 3.5 },
+ { "label": "\"", "x": 11.75, "y": 3.5 },
+ { "label": "#", "x": 12.75, "y": 3.5 },
+ { "label": "Enter", "x": 13.75, "y": 2.5, "w": 1.25, "h": 2 },
+
+ { "label": "Shift", "x": 0, "y": 4.5, "w": 1.25 },
+ { "label": "\\", "x": 1.25, "y": 4.5 },
+ { "label": "Z", "x": 2.25, "y": 4.5 },
+ { "label": "X", "x": 3.25, "y": 4.5 },
+ { "label": "C", "x": 4.25, "y": 4.5 },
+ { "label": "V", "x": 5.25, "y": 4.5 },
+ { "label": "B", "x": 6.25, "y": 4.5 },
+ { "label": "N", "x": 7.25, "y": 4.5 },
+ { "label": "M", "x": 8.25, "y": 4.5 },
+ { "label": "<", "x": 9.25, "y": 4.5 },
+ { "label": ">", "x": 10.25, "y": 4.5 },
+ { "label": "?", "x": 11.25, "y": 4.5 },
+ { "label": "Shift", "x": 12.25, "y": 4.5, "w": 2.75 },
+ { "label": "\u2191", "x": 16.25, "y": 4.5 },
+
+ { "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.25 },
+ { "label": "Win", "x": 1.25, "y": 5.5, "w": 1.25 },
+ { "label": "Alt", "x": 2.5, "y": 5.5, "w": 1.25 },
+ { "x": 3.75, "y": 5.5, "w": 6.25 },
+ { "label": "Alt", "x": 10, "y": 5.5, "w": 1.25 },
+ { "label": "Fn", "x": 11.25, "y": 5.5, "w": 1.25 },
+ { "label": "Menu", "x": 12.5, "y": 5.5, "w": 1.25 },
+ { "label": "Ctrl", "x": 13.75, "y": 5.5, "w": 1.25 },
+ { "label": "\u2190", "x": 15.25, "y": 5.5 },
+ { "label": "\u2193", "x": 16.25, "y": 5.5 },
+ { "label": "\u2192", "x": 17.25, "y": 5.5 }
+ ]
+ },
+ "LAYOUT_tkl": {
+ "layout": [
+ { "label": "Esc", "x": 0, "y": 0 },
+ { "label": "F1", "x": 2, "y": 0 },
+ { "label": "F2", "x": 3, "y": 0 },
+ { "label": "F3", "x": 4, "y": 0 },
+ { "label": "F4", "x": 5, "y": 0 },
+ { "label": "F5", "x": 6.5, "y": 0 },
+ { "label": "F6", "x": 7.5, "y": 0 },
+ { "label": "F7", "x": 8.5, "y": 0 },
+ { "label": "F8", "x": 9.5, "y": 0 },
+ { "label": "F9", "x": 11, "y": 0 },
+ { "label": "F10", "x": 12, "y": 0 },
+ { "label": "F11", "x": 13, "y": 0 },
+ { "label": "F12", "x": 14, "y": 0 },
+ { "label": "PrtSc", "x": 15.25, "y": 0 },
+ { "label": "Scroll Lock", "x": 16.25, "y": 0 },
+ { "label": "Pause", "x": 17.25, "y": 0 },
+
+ { "label": "~", "x": 0, "y": 1.5 },
+ { "label": "!", "x": 1, "y": 1.5 },
+ { "label": "@", "x": 2, "y": 1.5 },
+ { "label": "#", "x": 3, "y": 1.5 },
+ { "label": "$", "x": 4, "y": 1.5 },
+ { "label": "%", "x": 5, "y": 1.5 },
+ { "label": "^", "x": 6, "y": 1.5 },
+ { "label": "&", "x": 7, "y": 1.5 },
+ { "label": "*", "x": 8, "y": 1.5 },
+ { "label": "(", "x": 9, "y": 1.5 },
+ { "label": ")", "x": 10, "y": 1.5 },
+ { "label": "_", "x": 11, "y": 1.5 },
+ { "label": "+", "x": 12, "y": 1.5 },
+ { "label": "Backspace", "x": 13, "y": 1.5, "w": 2 },
+ { "label": "Insert", "x": 15.25, "y": 1.5 },
+ { "label": "Home", "x": 16.25, "y": 1.5 },
+ { "label": "PgUp", "x": 17.25, "y": 1.5 },
+
+ { "label": "Tab", "x": 0, "y": 2.5, "w": 1.5 },
+ { "label": "Q", "x": 1.5, "y": 2.5 },
+ { "label": "W", "x": 2.5, "y": 2.5 },
+ { "label": "E", "x": 3.5, "y": 2.5 },
+ { "label": "R", "x": 4.5, "y": 2.5 },
+ { "label": "T", "x": 5.5, "y": 2.5 },
+ { "label": "Y", "x": 6.5, "y": 2.5 },
+ { "label": "U", "x": 7.5, "y": 2.5 },
+ { "label": "I", "x": 8.5, "y": 2.5 },
+ { "label": "O", "x": 9.5, "y": 2.5 },
+ { "label": "P", "x": 10.5, "y": 2.5 },
+ { "label": "{", "x": 11.5, "y": 2.5 },
+ { "label": "}", "x": 12.5, "y": 2.5 },
+ { "label": "|", "x": 13.5, "y": 2.5, "w": 1.5 },
+ { "label": "Delete", "x": 15.25, "y": 2.5 },
+ { "label": "End", "x": 16.25, "y": 2.5 },
+ { "label": "PgDn", "x": 17.25, "y": 2.5 },
+
+ { "label": "Caps Lock", "x": 0, "y": 3.5, "w": 1.75 },
+ { "label": "A", "x": 1.75, "y": 3.5 },
+ { "label": "S", "x": 2.75, "y": 3.5 },
+ { "label": "D", "x": 3.75, "y": 3.5 },
+ { "label": "F", "x": 4.75, "y": 3.5 },
+ { "label": "G", "x": 5.75, "y": 3.5 },
+ { "label": "H", "x": 6.75, "y": 3.5 },
+ { "label": "J", "x": 7.75, "y": 3.5 },
+ { "label": "K", "x": 8.75, "y": 3.5 },
+ { "label": "L", "x": 9.75, "y": 3.5 },
+ { "label": ":", "x": 10.75, "y": 3.5 },
+ { "label": "\"", "x": 11.75, "y": 3.5 },
+ { "label": "#", "x": 12.75, "y": 3.5 },
+ { "label": "Enter", "x": 13.75, "y": 3.5, "w": 1.25 },
+
+ { "label": "Shift", "x": 0, "y": 4.5, "w": 1.25 },
+ { "label": "\\", "x": 1.25, "y": 4.5 },
+ { "label": "Z", "x": 2.25, "y": 4.5 },
+ { "label": "X", "x": 3.25, "y": 4.5 },
+ { "label": "C", "x": 4.25, "y": 4.5 },
+ { "label": "V", "x": 5.25, "y": 4.5 },
+ { "label": "B", "x": 6.25, "y": 4.5 },
+ { "label": "N", "x": 7.25, "y": 4.5 },
+ { "label": "M", "x": 8.25, "y": 4.5 },
+ { "label": "<", "x": 9.25, "y": 4.5 },
+ { "label": ">", "x": 10.25, "y": 4.5 },
+ { "label": "?", "x": 11.25, "y": 4.5 },
+ { "label": "Shift", "x": 12.25, "y": 4.5, "w": 2.75 },
+ { "label": "\u2191", "x": 16.25, "y": 4.5 },
+
+ { "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.25 },
+ { "label": "Win", "x": 1.25, "y": 5.5, "w": 1.25 },
+ { "label": "Alt", "x": 2.5, "y": 5.5, "w": 1.25 },
+ { "x": 3.75, "y": 5.5, "w": 6.25 },
+ { "label": "Alt", "x": 10, "y": 5.5, "w": 1.25 },
+ { "label": "Fn", "x": 11.25, "y": 5.5, "w": 1.25 },
+ { "label": "Menu", "x": 12.5, "y": 5.5, "w": 1.25 },
+ { "label": "Ctrl", "x": 13.75, "y": 5.5, "w": 1.25 },
+ { "label": "\u2190", "x": 15.25, "y": 5.5 },
+ { "label": "\u2193", "x": 16.25, "y": 5.5 },
+ { "label": "\u2192", "x": 17.25, "y": 5.5 }
+ ]
+ },
+ "LAYOUT_all": {
+ "layout": [
+ { "label": "Esc", "x": 0, "y": 0 },
+ { "label": "F1", "x": 2, "y": 0 },
+ { "label": "F2", "x": 3, "y": 0 },
+ { "label": "F3", "x": 4, "y": 0 },
+ { "label": "F4", "x": 5, "y": 0 },
+ { "label": "F5", "x": 6.5, "y": 0 },
+ { "label": "F6", "x": 7.5, "y": 0 },
+ { "label": "F7", "x": 8.5, "y": 0 },
+ { "label": "F8", "x": 9.5, "y": 0 },
+ { "label": "F9", "x": 11, "y": 0 },
+ { "label": "F10", "x": 12, "y": 0 },
+ { "label": "F11", "x": 13, "y": 0 },
+ { "label": "F12", "x": 14, "y": 0 },
+ { "label": "PrtSc", "x": 15.25, "y": 0 },
+ { "label": "Scroll Lock", "x": 16.25, "y": 0 },
+ { "label": "Pause", "x": 17.25, "y": 0 },
+
+ { "label": "~", "x": 0, "y": 1.5 },
+ { "label": "!", "x": 1, "y": 1.5 },
+ { "label": "@", "x": 2, "y": 1.5 },
+ { "label": "#", "x": 3, "y": 1.5 },
+ { "label": "$", "x": 4, "y": 1.5 },
+ { "label": "%", "x": 5, "y": 1.5 },
+ { "label": "^", "x": 6, "y": 1.5 },
+ { "label": "&", "x": 7, "y": 1.5 },
+ { "label": "*", "x": 8, "y": 1.5 },
+ { "label": "(", "x": 9, "y": 1.5 },
+ { "label": ")", "x": 10, "y": 1.5 },
+ { "label": "_", "x": 11, "y": 1.5 },
+ { "label": "+", "x": 12, "y": 1.5 },
+ { "label": "Backspace", "x": 13, "y": 1.5, "w": 2 },
+ { "label": "Insert", "x": 15.25, "y": 1.5 },
+ { "label": "Home", "x": 16.25, "y": 1.5 },
+ { "label": "PgUp", "x": 17.25, "y": 1.5 },
+ { "label": "Num Lock", "x": 18.5, "y": 1.5 },
+ { "label": "/", "x": 19.5, "y": 1.5 },
+ { "label": "*", "x": 20.5, "y": 1.5 },
+ { "label": "-", "x": 21.5, "y": 1.5 },
+
+ { "label": "Tab", "x": 0, "y": 2.5, "w": 1.5 },
+ { "label": "Q", "x": 1.5, "y": 2.5 },
+ { "label": "W", "x": 2.5, "y": 2.5 },
+ { "label": "E", "x": 3.5, "y": 2.5 },
+ { "label": "R", "x": 4.5, "y": 2.5 },
+ { "label": "T", "x": 5.5, "y": 2.5 },
+ { "label": "Y", "x": 6.5, "y": 2.5 },
+ { "label": "U", "x": 7.5, "y": 2.5 },
+ { "label": "I", "x": 8.5, "y": 2.5 },
+ { "label": "O", "x": 9.5, "y": 2.5 },
+ { "label": "P", "x": 10.5, "y": 2.5 },
+ { "label": "{", "x": 11.5, "y": 2.5 },
+ { "label": "}", "x": 12.5, "y": 2.5 },
+ { "label": "|", "x": 13.5, "y": 2.5, "w": 1.5 },
+ { "label": "Delete", "x": 15.25, "y": 2.5 },
+ { "label": "End", "x": 16.25, "y": 2.5 },
+ { "label": "PgDn", "x": 17.25, "y": 2.5 },
+ { "label": "7", "x": 18.5, "y": 2.5 },
+ { "label": "8", "x": 19.5, "y": 2.5 },
+ { "label": "9", "x": 20.5, "y": 2.5 },
+ { "label": "+", "x": 21.5, "y": 2.5, "h": 2 },
+
+ { "label": "Caps Lock", "x": 0, "y": 3.5, "w": 1.75 },
+ { "label": "A", "x": 1.75, "y": 3.5 },
+ { "label": "S", "x": 2.75, "y": 3.5 },
+ { "label": "D", "x": 3.75, "y": 3.5 },
+ { "label": "F", "x": 4.75, "y": 3.5 },
+ { "label": "G", "x": 5.75, "y": 3.5 },
+ { "label": "H", "x": 6.75, "y": 3.5 },
+ { "label": "J", "x": 7.75, "y": 3.5 },
+ { "label": "K", "x": 8.75, "y": 3.5 },
+ { "label": "L", "x": 9.75, "y": 3.5 },
+ { "label": ":", "x": 10.75, "y": 3.5 },
+ { "label": "\"", "x": 11.75, "y": 3.5 },
+ { "label": "#", "x": 12.75, "y": 3.5 },
+ { "label": "Enter", "x": 13.75, "y": 3.5, "w": 1.25 },
+ { "label": "4", "x": 18.5, "y": 3.5 },
+ { "label": "5", "x": 19.5, "y": 3.5 },
+ { "label": "6", "x": 20.5, "y": 3.5 },
+
+ { "label": "Shift", "x": 0, "y": 4.5, "w": 1.25 },
+ { "label": "\\", "x": 1.25, "y": 4.5 },
+ { "label": "Z", "x": 2.25, "y": 4.5 },
+ { "label": "X", "x": 3.25, "y": 4.5 },
+ { "label": "C", "x": 4.25, "y": 4.5 },
+ { "label": "V", "x": 5.25, "y": 4.5 },
+ { "label": "B", "x": 6.25, "y": 4.5 },
+ { "label": "N", "x": 7.25, "y": 4.5 },
+ { "label": "M", "x": 8.25, "y": 4.5 },
+ { "label": "<", "x": 9.25, "y": 4.5 },
+ { "label": ">", "x": 10.25, "y": 4.5 },
+ { "label": "?", "x": 11.25, "y": 4.5 },
+ { "label": "Shift", "x": 12.25, "y": 4.5, "w": 2.75 },
+ { "label": "\u2191", "x": 16.25, "y": 4.5 },
+ { "label": "1", "x": 18.5, "y": 4.5 },
+ { "label": "2", "x": 19.5, "y": 4.5 },
+ { "label": "3", "x": 20.5, "y": 4.5 },
+ { "label": "Enter", "x": 21.5, "y": 4.5, "h": 2 },
+
+ { "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.25 },
+ { "label": "Win", "x": 1.25, "y": 5.5, "w": 1.25 },
+ { "label": "Alt", "x": 2.5, "y": 5.5, "w": 1.25 },
+ { "x": 3.75, "y": 5.5, "w": 6.25 },
+ { "label": "Alt", "x": 10, "y": 5.5, "w": 1.25 },
+ { "label": "Fn", "x": 11.25, "y": 5.5, "w": 1.25 },
+ { "label": "Menu", "x": 12.5, "y": 5.5, "w": 1.25 },
+ { "label": "Ctrl", "x": 13.75, "y": 5.5, "w": 1.25 },
+ { "label": "\u2190", "x": 15.25, "y": 5.5 },
+ { "label": "\u2193", "x": 16.25, "y": 5.5 },
+ { "label": "\u2192", "x": 17.25, "y": 5.5 },
+ { "label": "0", "x": 18.5, "y": 5.5, "w": 2 },
+ { "label": ".", "x": 20.5, "y": 5.5 }
+ ]
+ }
+ }
+}
diff --git a/keyboards/durgod/k320/k320.h b/keyboards/durgod/k3x0/k320/k320.h
index c504f5a2bb..23b48d0f39 100644
--- a/keyboards/durgod/k320/k320.h
+++ b/keyboards/durgod/k3x0/k320/k320.h
@@ -1,4 +1,5 @@
-/* Copyright 2021 kuenhlee and Don Kjer
+/* Copyright 2021 Don Kjer and Tyler Tidman
+ * Copyright 2021 Simon Arlott
*
* This 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,25 +14,8 @@
* 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"
-
-#ifndef WINLOCK_DISABLED
-// Define the TGUI key here so it is available in QMK configurator
-enum K320_keycodes {
- KC_TGUI = SAFE_RANGE, // Toggle between GUI Lock or Unlock
- NEW_SAFE_RANGE
-};
-
-#undef SAFE_RANGE
-#define SAFE_RANGE NEW_SAFE_RANGE
-#endif /* WINLOCK_DISABLED */
-
-/* Function Prototype */
-void off_all_leds(void);
-void on_all_leds(void);
+#pragma once
#define XXX KC_NO
@@ -53,7 +37,6 @@ void on_all_leds(void);
{ XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, K6F } \
}
-
// This a shortcut to help you visually see your layout.
#define LAYOUT_tkl_iso( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
@@ -72,9 +55,8 @@ void on_all_leds(void);
{ XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, K6F } \
}
-
// This a shortcut to help you visually see your layout.
-#define LAYOUT_all( \
+#define LAYOUT_tkl( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K2E, K2F, K1F, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3D, K3E, K3F, \
@@ -90,3 +72,21 @@ void on_all_leds(void);
{ K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, K5C, K5D, K5E, K5F }, \
{ XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, K6F } \
}
+
+// This a shortcut to help you visually see your layout.
+#define LAYOUT_all( \
+ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
+ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K2E, K2F, K1F, K6A, K69, K68, K67, \
+ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3D, K3E, K3F, K7A, K79, K78, K6B, \
+ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K4E, K7E, K7D, K7C, \
+ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, K6E, K6D, K6C, K7B, \
+ K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K6F, K7F, K77 \
+) { \
+ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
+ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX, K1E, K1F }, \
+ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \
+ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \
+ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \
+ { K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, K5C, K5D, K5E, K5F }, \
+ { XXX, XXX, XXX, XXX, XXX, XXX, XXX, K67, K68, K69, K6A, K6B, K6C, K6D, K6E, K6F } \
+}
diff --git a/keyboards/durgod/k320/keymaps/kuenhlee/keymap.c b/keyboards/durgod/k3x0/k320/keymaps/kuenhlee/keymap.c
index 866e522fc9..866e522fc9 100644
--- a/keyboards/durgod/k320/keymaps/kuenhlee/keymap.c
+++ b/keyboards/durgod/k3x0/k320/keymaps/kuenhlee/keymap.c
diff --git a/keyboards/durgod/k320/keymaps/kuenhlee/readme.md b/keyboards/durgod/k3x0/k320/keymaps/kuenhlee/readme.md
index 60925e61cf..60925e61cf 100644
--- a/keyboards/durgod/k320/keymaps/kuenhlee/readme.md
+++ b/keyboards/durgod/k3x0/k320/keymaps/kuenhlee/readme.md
diff --git a/keyboards/durgod/k320/keymaps/kuenhlee/rules.mk b/keyboards/durgod/k3x0/k320/keymaps/kuenhlee/rules.mk
index b6a7e51c10..b6a7e51c10 100644
--- a/keyboards/durgod/k320/keymaps/kuenhlee/rules.mk
+++ b/keyboards/durgod/k3x0/k320/keymaps/kuenhlee/rules.mk
diff --git a/keyboards/durgod/k3x0/k320/readme.md b/keyboards/durgod/k3x0/k320/readme.md
new file mode 100644
index 0000000000..e584bd1874
--- /dev/null
+++ b/keyboards/durgod/k3x0/k320/readme.md
@@ -0,0 +1,10 @@
+# Taurus K320
+
+This code is shared between all K320 variants. Currently only the base model with no backlight is supported.
+
+* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert)
+* Hardware Supported: Durgod Taurus K320 board with STM32F070RBT6
+* Hardware Availability: Base https://www.amazon.com/Durgod-Taurus-Corona-Mechanical-Keyboard/dp/B078H3WPHM
+
+Instructions for building the K320 firmware can be found here:
+* [No Backlight](base/readme.md)
diff --git a/keyboards/durgod/k3x0/k320/rules.mk b/keyboards/durgod/k3x0/k320/rules.mk
new file mode 100644
index 0000000000..fabc0854ff
--- /dev/null
+++ b/keyboards/durgod/k3x0/k320/rules.mk
@@ -0,0 +1,4 @@
+# Default to the base model
+DEFAULT_FOLDER=durgod/k3x0/k320/base
+
+LAYOUTS = tkl_ansi tkl_iso
diff --git a/keyboards/durgod/k3x0/k3x0.c b/keyboards/durgod/k3x0/k3x0.c
new file mode 100644
index 0000000000..d12b46bc51
--- /dev/null
+++ b/keyboards/durgod/k3x0/k3x0.c
@@ -0,0 +1,96 @@
+/* Copyright 2021 kuenhlee, Don Kjer, Tyler Tidman
+ * Copyright 2021 Simon Arlott
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 "k3x0.h"
+#include <ch.h>
+#include <hal.h>
+
+/* Private Functions */
+void off_all_leds(void) {
+#ifdef LED_NUM_LOCK_PIN
+ writePinHigh(LED_NUM_LOCK_PIN);
+#endif
+ writePinHigh(LED_CAPS_LOCK_PIN);
+ writePinHigh(LED_SCROLL_LOCK_PIN);
+ writePinHigh(LED_WIN_LOCK_PIN);
+ writePinHigh(LED_MR_LOCK_PIN);
+}
+
+void on_all_leds(void) {
+#ifdef LED_NUM_LOCK_PIN
+ writePinLow(LED_NUM_LOCK_PIN);
+#endif
+ writePinLow(LED_CAPS_LOCK_PIN);
+ writePinLow(LED_SCROLL_LOCK_PIN);
+ writePinLow(LED_WIN_LOCK_PIN);
+ writePinLow(LED_MR_LOCK_PIN);
+}
+
+/* WinLock and MR LEDs are non-standard. Need to override led init */
+void led_init_ports(void) {
+#ifdef LED_NUM_LOCK_PIN
+ setPinOutput(LED_NUM_LOCK_PIN);
+#endif
+ setPinOutput(LED_CAPS_LOCK_PIN);
+ setPinOutput(LED_SCROLL_LOCK_PIN);
+ setPinOutput(LED_WIN_LOCK_PIN);
+ setPinOutput(LED_MR_LOCK_PIN);
+ off_all_leds();
+}
+
+#ifndef WINLOCK_DISABLED
+static bool win_key_locked = false;
+
+bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case KC_TGUI:
+ if (record->event.pressed) {
+ // Toggle GUI lock on key press
+ win_key_locked = !win_key_locked;
+ writePin(LED_WIN_LOCK_PIN, !win_key_locked);
+ }
+ break;
+ case KC_LGUI:
+ if (win_key_locked) { return false; }
+ break;
+ }
+ return process_record_user(keycode, record);
+}
+#endif /* WINLOCK_DISABLED */
+
+#ifndef HW_RESET_PIN_DISABLED
+static void hardware_reset_cb(void *arg) {
+ chSysLockFromISR();
+ bootloader_jump();
+ chSysUnlockFromISR();
+}
+#endif
+
+void keyboard_pre_init_kb(void) {
+ setPinInputHigh(HARDWARE_RESET_PIN);
+
+#ifndef HW_RESET_PIN_DISABLED
+ /* Jump to bootloader when the hardware reset button is pressed */
+ palEnablePadEvent(PAL_PORT(HARDWARE_RESET_PIN), PAL_PAD(HARDWARE_RESET_PIN), PAL_EVENT_MODE_FALLING_EDGE);
+ palSetPadCallback(PAL_PORT(HARDWARE_RESET_PIN), PAL_PAD(HARDWARE_RESET_PIN), hardware_reset_cb, NULL);
+
+ /* The interrupt is edge-triggered so check that it's not already pressed */
+ if (!readPin(HARDWARE_RESET_PIN)) {
+ bootloader_jump();
+ }
+#endif
+}
diff --git a/keyboards/keebio/iris/keymaps/drashna_lp/config.h b/keyboards/durgod/k3x0/k3x0.h
index 414acab846..93740a5512 100644
--- a/keyboards/keebio/iris/keymaps/drashna_lp/config.h
+++ b/keyboards/durgod/k3x0/k3x0.h
@@ -1,4 +1,5 @@
-/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+/* Copyright 2021 kuenhlee, Don Kjer, Tyler Tidman
+ * Copyright 2021 Simon Arlott
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -16,35 +17,31 @@
#pragma once
-/* Use I2C or Serial, not both */
-#include "../drashna/config.h"
+#include "quantum.h"
-#ifdef RGBLIGHT_ENABLE
-# undef RGBLED_NUM
-# define RGBLED_NUM 16 // Number of LEDs
-# undef RGBLED_SPLIT
-# define RGBLED_SPLIT \
- { 8, 8 }
+#ifdef KEYBOARD_durgod_k3x0_k310
+# include "k310.h"
+#elif KEYBOARD_durgod_k3x0_k320
+# include "k320.h"
#endif
-#undef PRODUCT
-#ifdef KEYBOARD_keebio_iris_rev2
-# define PRODUCT Drashna Hacked Iris LP Rev .2(Backlit)
+#ifndef WINLOCK_DISABLED
+// Define the TGUI key here so it is available in QMK configurator
+enum K3x0_keycodes {
+#ifdef VIA_ENABLE
+ KC_TGUI = USER00, // Toggle between GUI Lock or Unlock
+ NEW_SAFE_RANGE = SAFE_RANGE
+#else
+ KC_TGUI = SAFE_RANGE, // Toggle between GUI Lock or Unlock
+ NEW_SAFE_RANGE
#endif
+};
-#undef SHFT_LED1
-#define SHFT_LED1 5
-#undef SHFT_LED2
-#define SHFT_LED2 10
+#undef SAFE_RANGE
+#define SAFE_RANGE NEW_SAFE_RANGE
+#endif /* WINLOCK_DISABLED */
-#undef CTRL_LED1
-#define CTRL_LED1 6
-#undef CTRL_LED2
-#define CTRL_LED2 9
+/* Function Prototype */
+void off_all_leds(void);
+void on_all_leds(void);
-#undef ALT_LED1
-#define ALT_LED1 7
-#undef GUI_LED1
-#define GUI_LED1 8
-
-#define DRASHNA_LP
diff --git a/keyboards/durgod/k3x0/keymaps/chimera/keymap.c b/keyboards/durgod/k3x0/keymaps/chimera/keymap.c
new file mode 100644
index 0000000000..8053da351a
--- /dev/null
+++ b/keyboards/durgod/k3x0/keymaps/chimera/keymap.c
@@ -0,0 +1,373 @@
+/* Copyright 2021 Don Kjer and Tyler Tidman
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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
+
+// Layer shorthand
+enum _layer {
+ _WBL,
+ _WFL,
+ _WSL,
+ _MBL,
+ _MFL,
+ _MSL
+};
+
+#ifndef DEFAULT_LAYOUT
+# define DEFAULT_LAYOUT _WBL // Change to _MBL to boot into Mac layout.
+#endif
+#ifndef ALT_LAYOUT
+# define ALT_LAYOUT _MBL // Layout to display 'MR' led when active.
+#endif
+
+static bool win_key_locked = false;
+static bool mac_media_locked = false;
+static bool win_appkey_pressed = false;
+static bool mac_fnkey_pressed = false;
+
+
+// Defines the keycodes used by our macros in process_record_user
+enum custom_keycodes {
+ KC_TGUI = SAFE_RANGE, // Toggle between GUI Lock or Unlock (Windows)
+ KC_TMED, // Toggle between Fx keys or Media keys (Mac)
+ KC_WFN, // Windows function key
+ KC_MFN, // Mac function key
+ MO_WSL, // Windows system key
+ MO_MSL, // Mac system key
+ DF_W2MBL, // Change layout from Windows to Mac
+ DF_M2WBL // Change layout from Mac to Windows
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Keymap _WBL: Windows Base Layer (Default Layer)
+ * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
+ * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Slk│Pse│
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬┈┈┈┈┤ └───┴───┴───┘ ├───┼───┼───┤ + │
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │Entr│ │ 4 │ 5 │ 6 │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤
+ * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│
+ * │Ctrl│GUI │Alt │ │ Alt│Func│ App│Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
+ */
+ [_WBL] = LAYOUT_all( /* Windows Base Layer */
+ 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_SLCK, 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_WFN, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
+ ),
+ /* Keymap _WFL: Windows Function Layer
+ * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
+ * │ │ │Ply│Stp│Prv│Nxt│ │Mut│Vo+│Vo-│ │ │ │ │ │ │ │ │ │Mut│
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Vo+│ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Vo-│ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬┈┈┈┈┤ └───┴───┴───┘ ├───┼───┼───┤ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ │
+ * │ │Lock│ │ │ │Func│ Sys│ │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
+ */
+ [_WFL] = LAYOUT_all( /* Windows Function Layer */
+ _______, KC_MPLY, KC_MSTP, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, KC_MUTE,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_TGUI, _______, _______, _______, _______, MO_WSL, _______, _______, _______, _______, _______, _______
+ ),
+ /* Keymap _WSL: Windows System Layer
+ * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
+ * │Rst│ │Slp│ │ │Pwr│ │ │ │ │ │ │ │ │ │MAC│ │ │ │ │
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬┈┈┈┈┤ └───┴───┴───┘ ├───┼───┼───┤ │
+ * │ │ │ │DBG│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
+ */
+ [_WSL] = LAYOUT_all( /* Windows Second / System Layer */
+ RESET, KC_SLEP, XXXXXXX, XXXXXXX, KC_PWR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF_W2MBL, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+ ),
+
+ /* Keymap _MBL: Mac Base Layer (Alternate Layout)
+ * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
+ * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │F13│F14│F15│
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬┈┈┈┈┤ └───┴───┴───┘ ├───┼───┼───┤ + │
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │Entr│ │ 4 │ 5 │ 6 │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤
+ * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│
+ * │Ctrl│Alt │GUI │ │ GUI│ Alt│Func│Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
+ */
+ [_MBL] = LAYOUT_all( /* Mac Base Layer */
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15,
+ 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_MFN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
+ ),
+ /* Keymap _MFL: Mac Function Layer
+ * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
+ * │ │ │Br-│Br+│ │ │ │ │ │Prv│Ply│ │Nxt│Mut│Vo-│Vo+│ │TMd│ │Mut│
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Vo+│ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Vo-│ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬┈┈┈┈┤ └───┴───┴───┘ ├───┼───┼───┤ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ │
+ * │ │ │ │ │ │ Sys│Func│ │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
+ */
+ [_MFL] = LAYOUT_all( /* Mac Function Layer */
+ _______, KC_BRID, KC_BRIU, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_TMED, _______, KC_MUTE,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, MO_MSL, _______, _______, _______, _______, _______, _______, _______
+ ),
+ /* Keymap _MSL: Mac System Layer
+ * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
+ * │Rst│ │ │ │ │Slp│ │ │ │ │ │ │ │ │ │WIN│ │ │ │ │
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬┈┈┈┈┤ └───┴───┴───┘ ├───┼───┼───┤ │
+ * │ │ │ │DBG│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ │
+ * │ │ │ │ │ │ Sys│Func│ │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
+ */
+ [_MSL] = LAYOUT_all( /* Mac Second / System Layer */
+ RESET, XXXXXXX, XXXXXXX, XXXXXXX, KC_SLEP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF_M2WBL, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+ )
+};
+
+void unlock_win_key(void) {
+ win_key_locked = false;
+ mac_media_locked = false;
+ writePinHigh(LED_WIN_LOCK_PIN);
+}
+
+void toggle_lock_win_key(void) {
+ win_key_locked = !win_key_locked;
+ writePin(LED_WIN_LOCK_PIN, !win_key_locked);
+}
+
+void toggle_lock_media_key(void) {
+ mac_media_locked = !mac_media_locked;
+ writePin(LED_WIN_LOCK_PIN, !mac_media_locked);
+}
+
+#ifdef CONSOLE_ENABLE
+void dprint_global_layers(void) {
+ dprint("Global Layers:");
+ if (IS_LAYER_ON(_WFL)) { dprint(" _WFL"); }
+ if (IS_LAYER_ON(_WSL)) { dprint(" _WSL"); }
+ if (IS_LAYER_ON(_MFL)) { dprint(" _MFL"); }
+ if (IS_LAYER_ON(_MSL)) { dprint(" _MSL"); }
+ dprintf("\n");
+}
+
+void dprint_layers(layer_state_t state) {
+ dprint("Layers:");
+ if (IS_LAYER_ON_STATE(state, _WFL)) { dprint(" _WFL"); }
+ if (IS_LAYER_ON_STATE(state, _WSL)) { dprint(" _WSL"); }
+ if (IS_LAYER_ON_STATE(state, _MFL)) { dprint(" _MFL"); }
+ if (IS_LAYER_ON_STATE(state, _MSL)) { dprint(" _MSL"); }
+ dprintf("\n");
+}
+#endif
+
+layer_state_t default_layer_state_set_user(layer_state_t state) {
+#ifdef CONSOLE_ENABLE
+ dprintf("default_layer_state_set_user: 0x%x\n", state);
+ dprint_global_layers();
+#endif
+ // Disable windows key lock on default layer transition.
+ unlock_win_key();
+ win_appkey_pressed = false;
+ mac_fnkey_pressed = false;
+ writePin(LED_MR_LOCK_PIN, !IS_LAYER_ON_STATE(state, ALT_LAYOUT));
+ return state;
+}
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+#ifdef CONSOLE_ENABLE
+ dprintf("layer_state_set_user: 0x%x\n", state);
+ dprint_layers(state);
+#endif
+ return state;
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case KC_TGUI:
+ if (!record->event.pressed) {
+ // Toggle GUI lock on key release
+ toggle_lock_win_key();
+ }
+ break;
+ case KC_TMED:
+ // Only trigger when Fn key is also held down, to avoid accidental unlock.
+ if (!mac_fnkey_pressed) { return false; }
+ if (!record->event.pressed) {
+ // Toggle Media Lock on key release
+ toggle_lock_media_key();
+ }
+ break;
+ case KC_LGUI:
+ if (win_key_locked) { return false; }
+ break;
+ case KC_WFN:
+ // Like MO(_WFL), but also enables _WSL if KC_APP is already pressed down.
+ if (record->event.pressed) {
+ layer_on(_WFL);
+ if (win_appkey_pressed) {
+ // Also enable Secondary layer if App key is being held down.
+ win_appkey_pressed = false;
+ layer_on(_WSL);
+ }
+ } else {
+ if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); }
+ if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); }
+ }
+ break;
+ case KC_APP:
+ if (record->event.pressed) {
+ // Don't actually press down the app menu key
+ win_appkey_pressed = true;
+ } else {
+ if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); }
+ if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); }
+ if (win_appkey_pressed) {
+ win_appkey_pressed = false;
+ // Tap the KC_APP key on key release.
+ tap_code(KC_APP);
+ }
+ }
+ return false;
+ break;
+ case KC_MFN:
+ // Mac Fn key. Emit Fn keycode, and also transition layers similar to KC_WFN.
+ if (record->event.pressed) {
+ mac_fnkey_pressed = true;
+ layer_on(_MFL);
+ // Also enable Secondary layer if Right-Alt key is being held down.
+ if (get_mods() & MOD_BIT(KC_RALT)) {
+ layer_on(_MSL);
+ }
+ } else {
+ mac_fnkey_pressed = false;
+ if (!mac_media_locked) {
+ if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); }
+ if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); }
+ }
+ }
+ break;
+ case KC_RALT:
+ // Disable MSL/WFL layer on key-up.
+ if (!record->event.pressed) {
+ if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); }
+ if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); }
+ }
+ break;
+ case MO_WSL:
+ if (record->event.pressed) {
+ layer_on(_WSL);
+ } else {
+ if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); }
+ if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); }
+ }
+ break;
+ case MO_MSL:
+ if (record->event.pressed) {
+ layer_on(_MSL);
+ } else {
+ if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); }
+ if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); }
+ }
+ break;
+ case DF_W2MBL:
+ if (!record->event.pressed) {
+ // Switch base layer, but preserve first/secondary layers.
+ default_layer_set(1UL<<_MBL);
+ layer_state_set(1UL<<_MFL | 1UL<<_MSL);
+ }
+ break;
+ case DF_M2WBL:
+ if (!record->event.pressed) {
+ // Switch base layer, but preserve first/secondary layers.
+ default_layer_set(1UL<<_WBL);
+ layer_state_set(1UL<<_WFL | 1UL<<_WSL);
+ }
+ break;
+ case RESET:
+ if (record->event.pressed) {
+ // Flash LEDs to indicate bootloader mode is enabled.
+ on_all_leds();
+ }
+ break;
+ }
+ return true;
+}
+
+void keyboard_post_init_user(void) {
+ default_layer_set(1UL<<DEFAULT_LAYOUT);
+}
diff --git a/keyboards/durgod/k320/keymaps/default_toggle_mac_windows/readme.md b/keyboards/durgod/k3x0/keymaps/chimera/readme.md
index 0eef77fd45..eb9a3ea5f3 100644
--- a/keyboards/durgod/k320/keymaps/default_toggle_mac_windows/readme.md
+++ b/keyboards/durgod/k3x0/keymaps/chimera/readme.md
@@ -1,8 +1,8 @@
-# A keymap for Durgod Taurus K320 that supports toggling between Mac and Windows
+# A keymap for Durgod Taurus K310/K320 that supports toggling between Mac and Windows
Supports both ANSI and ISO layouts.
-Layer 0 : Standard 87/88 keys TKL layout (Windows)
+Layer 0 : Standard layout (Windows)
Layer 1 : Media control and Windows lock key (Windows)
- Reusing Durgod's Original Media Control for Fn + F1 ~ Fn + F7
@@ -14,7 +14,7 @@ Layer 2 : System layer (Windows)
- Fn + Menu + F4 : Turning Off System
- Fn + Menu + F12 : Switch to Mac layout
-Layer 3 : Mac 87/88 keys TKL layout
+Layer 3 : Mac layout
Layer 4 : Media control and Media lock key (Mac)
- Standard Mac Media keys for Fn + F1 ~ Fn + F12.
@@ -39,14 +39,14 @@ You can change the default & alternate layout by setting the following flags to
For example, to configure Mac as the default layer, and Windows to be the alternate layout, compile with these flags:
- make EXTRAFLAGS="-DDEFAULT_LAYOUT=_MBL -DALT_LAYOUT=_WBL" durgod/k320:default_toggle_mac_windows
+ make EXTRAFLAGS="-DDEFAULT_LAYOUT=_MBL -DALT_LAYOUT=_WBL" durgod/k3x0/k310:chimera
## Windows key lock
In windows layout, you can hold down Fn + Windows key to disable the Windows key while in locked mode. The 'Lock' LED
indicates if the Windows key is locked.
-This is similar to the stock K320 Windows key lock functionality.
+This is similar to the stock K310/K320 Windows key lock functionality.
## Mac Media Lock
diff --git a/keyboards/durgod/k320/keymaps/default_toggle_mac_windows/rules.mk b/keyboards/durgod/k3x0/keymaps/chimera/rules.mk
index 19843e8a20..19843e8a20 100644
--- a/keyboards/durgod/k320/keymaps/default_toggle_mac_windows/rules.mk
+++ b/keyboards/durgod/k3x0/keymaps/chimera/rules.mk
diff --git a/keyboards/durgod/k3x0/keymaps/default/keymap.json b/keyboards/durgod/k3x0/keymaps/default/keymap.json
new file mode 100644
index 0000000000..507b5c909c
--- /dev/null
+++ b/keyboards/durgod/k3x0/keymaps/default/keymap.json
@@ -0,0 +1,26 @@
+{
+ "keyboard": "durgod/k3x0",
+ "keymap": "default",
+ "layout": "LAYOUT_all",
+ "layers": [
+ [
+ "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_SLCK", "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_NLCK", "KC_PSLS", "KC_PAST", "KC_PMNS",
+ "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSLS", "KC_DEL", "KC_END", "KC_PGDN", "KC_P7", "KC_P8", "KC_P9", "KC_PPLS",
+ "KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_NUHS", "KC_ENT", "KC_P4", "KC_P5", "KC_P6",
+ "KC_LSFT", "KC_NUBS", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_UP", "KC_P1", "KC_P2", "KC_P3", "KC_PENT",
+ "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "MO(1)", "KC_APP", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_P0", "KC_PDOT"
+ ],
+ [
+ "_______", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_MUTE", "KC_VOLD", "KC_VOLU", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
+ "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
+ "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
+ "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
+ "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
+ "_______", "KC_TGUI", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______"
+ ]
+ ],
+ "author": "tylert",
+ "notes": "",
+ "version": 1
+}
diff --git a/keyboards/durgod/k320/keymaps/default/readme.md b/keyboards/durgod/k3x0/keymaps/default/readme.md
index c94943a837..952b1912ce 100644
--- a/keyboards/durgod/k320/keymaps/default/readme.md
+++ b/keyboards/durgod/k3x0/keymaps/default/readme.md
@@ -1,8 +1,8 @@
-# The default keymap for Durgod Taurus K320.
+# The default keymap for Durgod Taurus K3X0 (K310, K320, etc.) without backlight
Supports both ANSI and ISO layouts.
-Layer 0 : Standard 87/88 keys TKL layout (Windows)
+Layer 0 : Standard layout (Windows)
Layer 1 : Media control and Windows lock key
- Reusing Durgod's Original Media Control for Fn + F1 ~ Fn + F7
@@ -13,4 +13,4 @@ Layer 1 : Media control and Windows lock key
You can hold down Fn + Windows key to disable the Windows key while in locked mode.
The 'Lock' LED indicates if the Windows key is locked.
-This is similar to the stock K320 Windows key lock functionality.
+This is similar to the stock K310/K320 Windows key lock functionality.
diff --git a/keyboards/durgod/k320/keymaps/default_mac/keymap.json b/keyboards/durgod/k3x0/keymaps/default_mac/keymap.json
index dc5d3d3fd5..acf221935e 100644
--- a/keyboards/durgod/k320/keymaps/default_mac/keymap.json
+++ b/keyboards/durgod/k3x0/keymaps/default_mac/keymap.json
@@ -1,23 +1,23 @@
{
- "keyboard": "durgod/k320",
+ "keyboard": "durgod/k3x0",
"keymap": "default_mac",
"layout": "LAYOUT_all",
"layers": [
[
"KC_ESC", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_F12", "KC_F13", "KC_F14", "KC_F15",
- "KC_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_BSPC", "KC_INS", "KC_HOME", "KC_PGUP",
- "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSLS", "KC_DEL", "KC_END", "KC_PGDN",
- "KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_NUHS", "KC_ENT",
- "KC_LSFT", "KC_NUBS", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_UP",
- "KC_LCTL", "KC_LALT", "KC_LGUI", "KC_SPC", "KC_RGUI", "KC_RALT", "MO(1)", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RGHT"
+ "KC_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_BSPC", "KC_INS", "KC_HOME", "KC_PGUP", "KC_NLCK", "KC_PSLS", "KC_PAST", "KC_PMNS",
+ "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSLS", "KC_DEL", "KC_END", "KC_PGDN", "KC_P7", "KC_P8", "KC_P9", "KC_PPLS",
+ "KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_NUHS", "KC_ENT", "KC_P4", "KC_P5", "KC_P6",
+ "KC_LSFT", "KC_NUBS", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_UP", "KC_P1", "KC_P2", "KC_P3", "KC_PENT",
+ "KC_LCTL", "KC_LALT", "KC_LGUI", "KC_SPC", "KC_RGUI", "KC_RALT", "MO(1)", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RGHT", "KC_P0", "KC_PDOT"
],
[
"KC_TRNS", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_MUTE", "KC_VOLD", "KC_VOLU", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
- "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
- "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
- "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
- "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
- "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "_______", "_______", "_______", "_______",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "_______", "_______", "_______", "_______",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "_______", "_______", "_______",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "_______", "_______", "_______", "_______",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "_______", "_______"
]
],
"author":"AlCutter",
diff --git a/keyboards/durgod/k320/keymaps/default_mac/readme.md b/keyboards/durgod/k3x0/keymaps/default_mac/readme.md
index 2765f14f90..2765f14f90 100644
--- a/keyboards/durgod/k320/keymaps/default_mac/readme.md
+++ b/keyboards/durgod/k3x0/keymaps/default_mac/readme.md
diff --git a/keyboards/durgod/k3x0/keymaps/typhon/keymap.c b/keyboards/durgod/k3x0/keymaps/typhon/keymap.c
new file mode 100644
index 0000000000..afd38392c1
--- /dev/null
+++ b/keyboards/durgod/k3x0/keymaps/typhon/keymap.c
@@ -0,0 +1,373 @@
+/* Copyright 2021 Don Kjer and Tyler Tidman
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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
+
+// Layer shorthand
+enum _layer {
+ _WBL,
+ _WFL,
+ _WSL,
+ _MBL,
+ _MFL,
+ _MSL
+};
+
+#ifndef DEFAULT_LAYOUT
+# define DEFAULT_LAYOUT _WBL // Change to _MBL to boot into Mac layout.
+#endif
+#ifndef ALT_LAYOUT
+# define ALT_LAYOUT _MBL // Layout to display 'MR' led when active.
+#endif
+
+static bool win_key_locked = false;
+static bool mac_media_locked = false;
+static bool win_appkey_pressed = false;
+static bool mac_fnkey_pressed = false;
+
+
+// Defines the keycodes used by our macros in process_record_user
+enum custom_keycodes {
+ KC_TGUI = SAFE_RANGE, // Toggle between GUI Lock or Unlock (Windows)
+ KC_TMED, // Toggle between Fx keys or Media keys (Mac)
+ KC_WFN, // Windows function key
+ KC_MFN, // Mac function key
+ MO_WSL, // Windows system key
+ MO_MSL, // Mac system key
+ DF_W2MBL, // Change layout from Windows to Mac
+ DF_M2WBL // Change layout from Mac to Windows
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Keymap _WBL: Windows Base Layer (Default Layer)
+ * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
+ * │Esc│ │M1 │M3 │M2 │M4 │ │M1 │M3 │M2 │M4 │ │M1 │M3 │M2 │M4 │ │PSc│Slk│Pse│
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬┈┈┈┈┤ └───┴───┴───┘ ├───┼───┼───┤ + │
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │Entr│ │ 4 │ 5 │ 6 │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤
+ * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│
+ * │Ctrl│GUI │Alt │ │ Alt│Func│ App│Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
+ */
+ [_WBL] = LAYOUT_all( /* Windows Base Layer */
+ KC_ESC, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN4, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN4, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN4, KC_PSCR, KC_SLCK, 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_WFN, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
+ ),
+ /* Keymap _WFL: Windows Function Layer
+ * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
+ * │ │ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │ │ │Mut│
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Vo+│ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Vo-│ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬┈┈┈┈┤ └───┴───┴───┘ ├───┼───┼───┤ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ │
+ * │ │Lock│ │ │ │Func│ Sys│ │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
+ */
+ [_WFL] = LAYOUT_all( /* Windows Function Layer */
+ _______, 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_MUTE,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_TGUI, _______, _______, _______, _______, MO_WSL, _______, _______, _______, _______, _______, _______
+ ),
+ /* Keymap _WSL: Windows System Layer
+ * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
+ * │Rst│ │Slp│ │ │Pwr│ │ │ │ │ │ │ │ │ │MAC│ │ │ │ │
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬┈┈┈┈┤ └───┴───┴───┘ ├───┼───┼───┤ │
+ * │ │ │ │DBG│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
+ */
+ [_WSL] = LAYOUT_all( /* Windows Second / System Layer */
+ RESET, KC_SLEP, XXXXXXX, XXXXXXX, KC_PWR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF_W2MBL, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+ ),
+
+ /* Keymap _MBL: Mac Base Layer (Alternate Layout)
+ * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
+ * │Esc│ │M1 │M3 │M2 │M4 │ │M1 │M3 │M2 │M4 │ │M1 │M3 │M2 │M4 │ │F13│F14│F15│
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬┈┈┈┈┤ └───┴───┴───┘ ├───┼───┼───┤ + │
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │Entr│ │ 4 │ 5 │ 6 │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤
+ * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│
+ * │Ctrl│Alt │GUI │ │ GUI│ Alt│Func│Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
+ */
+ [_MBL] = LAYOUT_all( /* Mac Base Layer */
+ KC_ESC, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN4, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN4, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN4, KC_F13, KC_F14, KC_F15,
+ 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_MFN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
+ ),
+ /* Keymap _MFL: Mac Function Layer
+ * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
+ * │ │ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │TMd│ │Mut│
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Vo+│ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │Vo-│ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬┈┈┈┈┤ └───┴───┴───┘ ├───┼───┼───┤ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ │
+ * │ │ │ │ │ │ Sys│Func│ │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
+ */
+ [_MFL] = LAYOUT_all( /* Mac Function Layer */
+ _______, 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_TMED, _______, KC_MUTE,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, MO_MSL, _______, _______, _______, _______, _______, _______, _______
+ ),
+ /* Keymap _MSL: Mac System Layer
+ * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
+ * │Rst│ │ │ │ │Slp│ │ │ │ │ │ │ │ │ │WIN│ │ │ │ │
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬┈┈┈┈┤ └───┴───┴───┘ ├───┼───┼───┤ │
+ * │ │ │ │DBG│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ │
+ * │ │ │ │ │ │ Sys│Func│ │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
+ */
+ [_MSL] = LAYOUT_all( /* Mac Second / System Layer */
+ RESET, XXXXXXX, XXXXXXX, XXXXXXX, KC_SLEP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF_M2WBL, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+ )
+};
+
+void unlock_win_key(void) {
+ win_key_locked = false;
+ mac_media_locked = false;
+ writePinHigh(LED_WIN_LOCK_PIN);
+}
+
+void toggle_lock_win_key(void) {
+ win_key_locked = !win_key_locked;
+ writePin(LED_WIN_LOCK_PIN, !win_key_locked);
+}
+
+void toggle_lock_media_key(void) {
+ mac_media_locked = !mac_media_locked;
+ writePin(LED_WIN_LOCK_PIN, !mac_media_locked);
+}
+
+#ifdef CONSOLE_ENABLE
+void dprint_global_layers(void) {
+ dprint("Global Layers:");
+ if (IS_LAYER_ON(_WFL)) { dprint(" _WFL"); }
+ if (IS_LAYER_ON(_WSL)) { dprint(" _WSL"); }
+ if (IS_LAYER_ON(_MFL)) { dprint(" _MFL"); }
+ if (IS_LAYER_ON(_MSL)) { dprint(" _MSL"); }
+ dprintf("\n");
+}
+
+void dprint_layers(layer_state_t state) {
+ dprint("Layers:");
+ if (IS_LAYER_ON_STATE(state, _WFL)) { dprint(" _WFL"); }
+ if (IS_LAYER_ON_STATE(state, _WSL)) { dprint(" _WSL"); }
+ if (IS_LAYER_ON_STATE(state, _MFL)) { dprint(" _MFL"); }
+ if (IS_LAYER_ON_STATE(state, _MSL)) { dprint(" _MSL"); }
+ dprintf("\n");
+}
+#endif
+
+layer_state_t default_layer_state_set_user(layer_state_t state) {
+#ifdef CONSOLE_ENABLE
+ dprintf("default_layer_state_set_user: 0x%x\n", state);
+ dprint_global_layers();
+#endif
+ // Disable windows key lock on default layer transition.
+ unlock_win_key();
+ win_appkey_pressed = false;
+ mac_fnkey_pressed = false;
+ writePin(LED_MR_LOCK_PIN, !IS_LAYER_ON_STATE(state, ALT_LAYOUT));
+ return state;
+}
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+#ifdef CONSOLE_ENABLE
+ dprintf("layer_state_set_user: 0x%x\n", state);
+ dprint_layers(state);
+#endif
+ return state;
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case KC_TGUI:
+ if (!record->event.pressed) {
+ // Toggle GUI lock on key release
+ toggle_lock_win_key();
+ }
+ break;
+ case KC_TMED:
+ // Only trigger when Fn key is also held down, to avoid accidental unlock.
+ if (!mac_fnkey_pressed) { return false; }
+ if (!record->event.pressed) {
+ // Toggle Media Lock on key release
+ toggle_lock_media_key();
+ }
+ break;
+ case KC_LGUI:
+ if (win_key_locked) { return false; }
+ break;
+ case KC_WFN:
+ // Like MO(_WFL), but also enables _WSL if KC_APP is already pressed down.
+ if (record->event.pressed) {
+ layer_on(_WFL);
+ if (win_appkey_pressed) {
+ // Also enable Secondary layer if App key is being held down.
+ win_appkey_pressed = false;
+ layer_on(_WSL);
+ }
+ } else {
+ if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); }
+ if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); }
+ }
+ break;
+ case KC_APP:
+ if (record->event.pressed) {
+ // Don't actually press down the app menu key
+ win_appkey_pressed = true;
+ } else {
+ if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); }
+ if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); }
+ if (win_appkey_pressed) {
+ win_appkey_pressed = false;
+ // Tap the KC_APP key on key release.
+ tap_code(KC_APP);
+ }
+ }
+ return false;
+ break;
+ case KC_MFN:
+ // Mac Fn key. Emit Fn keycode, and also transition layers similar to KC_WFN.
+ if (record->event.pressed) {
+ mac_fnkey_pressed = true;
+ layer_on(_MFL);
+ // Also enable Secondary layer if Right-Alt key is being held down.
+ if (get_mods() & MOD_BIT(KC_RALT)) {
+ layer_on(_MSL);
+ }
+ } else {
+ mac_fnkey_pressed = false;
+ if (!mac_media_locked) {
+ if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); }
+ if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); }
+ }
+ }
+ break;
+ case KC_RALT:
+ // Disable MSL/WFL layer on key-up.
+ if (!record->event.pressed) {
+ if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); }
+ if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); }
+ }
+ break;
+ case MO_WSL:
+ if (record->event.pressed) {
+ layer_on(_WSL);
+ } else {
+ if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); }
+ if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); }
+ }
+ break;
+ case MO_MSL:
+ if (record->event.pressed) {
+ layer_on(_MSL);
+ } else {
+ if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); }
+ if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); }
+ }
+ break;
+ case DF_W2MBL:
+ if (!record->event.pressed) {
+ // Switch base layer, but preserve first/secondary layers.
+ default_layer_set(1UL<<_MBL);
+ layer_state_set(1UL<<_MFL | 1UL<<_MSL);
+ }
+ break;
+ case DF_M2WBL:
+ if (!record->event.pressed) {
+ // Switch base layer, but preserve first/secondary layers.
+ default_layer_set(1UL<<_WBL);
+ layer_state_set(1UL<<_WFL | 1UL<<_WSL);
+ }
+ break;
+ case RESET:
+ if (record->event.pressed) {
+ // Flash LEDs to indicate bootloader mode is enabled.
+ on_all_leds();
+ }
+ break;
+ }
+ return true;
+}
+
+void keyboard_post_init_user(void) {
+ default_layer_set(1UL<<DEFAULT_LAYOUT);
+}
diff --git a/keyboards/durgod/k3x0/keymaps/typhon/readme.md b/keyboards/durgod/k3x0/keymaps/typhon/readme.md
new file mode 100644
index 0000000000..9ddef43aa5
--- /dev/null
+++ b/keyboards/durgod/k3x0/keymaps/typhon/readme.md
@@ -0,0 +1,65 @@
+# A keymap for Durgod Taurus K310/K320 that supports toggling between Mac and Windows
+
+Supports both ANSI and ISO layouts.
+
+Layer 0 : Standard layout (Windows)
+
+Layer 1 : Media control and Windows lock key (Windows)
+- Reusing Durgod's Original Media Control for Fn + F1 ~ Fn + F7
+- Fn + Windows to toggle Windows lock key functionality
+
+Layer 2 : System layer (Windows)
+- Fn + Menu + Esc : Bootloader mode
+- Fn + Menu + F1 : System Sleep
+- Fn + Menu + F4 : Turning Off System
+- Fn + Menu + F12 : Switch to Mac layout
+
+Layer 3 : Mac layout
+
+Layer 4 : Media control and Media lock key (Mac)
+ - Standard Mac Media keys for Fn + F1 ~ Fn + F12.
+ - Fn + F13 to toggle Media lock key functionality
+
+Layer 5 : System layer (Mac)
+- Fn + R-ALT + Esc : Bootloader mode
+- Fn + R-ALT + F4 : Shutdown/Sleep (Hold down on Mac)
+- Fn + R-ALT + F12 : Switch to Windows layout
+
+## Toggle between Mac and Windows layout
+
+You can switch between Mac and Windows layout by doing the following:
+- Hold down Fn + Menu (Windows Layout) or Fn + Right-Alt (Mac layout) (These are the same physical keys)
+- Press F12
+
+The 'M' led will be lit when you are using the alternate layout. By default Mac is the alternate layout.
+
+You can change the default & alternate layout by setting the following flags to either '_WBL'(Windows) or '_MBL' (Mac)
+- DEFAULT_LAYOUT (initial layout to use on boot)
+- ALT_LAYOUT (layout that will light the 'M' LED when active)
+
+For example, to configure Mac as the default layer, and Windows to be the alternate layout, compile with these flags:
+
+ make EXTRAFLAGS="-DDEFAULT_LAYOUT=_MBL -DALT_LAYOUT=_WBL" durgod/k3x0/k310:typhon
+
+## Windows key lock
+
+In windows layout, you can hold down Fn + Windows key to disable the Windows key while in locked mode. The 'Lock' LED
+indicates if the Windows key is locked.
+
+This is similar to the stock K310/K320 Windows key lock functionality.
+
+## Mac Media Lock
+
+To switch between Function row and Media row in Mac layout, press Fn + PrtSc. The 'Lock' LED indicator will be lit when in Media row mode.
+
+### Subsequent Flashing
+
+For repeating Flashing you have two options with this keymap:
+1. Use BootMagic
+- BootMagic Lite has been enabled with Assigned "Esc" key
+- Unplug USB Cable
+- Holding Esc Button
+- Plug in USB Cable, Keyboard should be in ST-Bootloader state
+2. Use key combination if using default keymap
+- Hold down Fn + Menu (Windows Layout) or Fn + Right-Alt (Mac layout) (These are the same physical keys)
+- Press Esc. Keyboard should go into booloader state.
diff --git a/keyboards/durgod/k3x0/keymaps/typhon/rules.mk b/keyboards/durgod/k3x0/keymaps/typhon/rules.mk
new file mode 100644
index 0000000000..437d8205c7
--- /dev/null
+++ b/keyboards/durgod/k3x0/keymaps/typhon/rules.mk
@@ -0,0 +1,2 @@
+OPT_DEFS += -DWINLOCK_DISABLED
+MOUSEKEY_ENABLE = yes
diff --git a/keyboards/durgod/k3x0/keymaps/via/keymap.c b/keyboards/durgod/k3x0/keymaps/via/keymap.c
new file mode 100644
index 0000000000..169ee2b586
--- /dev/null
+++ b/keyboards/durgod/k3x0/keymaps/via/keymap.c
@@ -0,0 +1,92 @@
+/* Copyright 2021 Maxime Coirault, Don Kjer, Tyler Tidman
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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
+
+// Layer shorthand
+enum _layer {
+ _BASE,
+ _FN,
+ _LAYER3,
+ _LAYER4
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Keymap _BASE: Base Layer (Default Layer)
+ * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
+ * │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12│ │PSc│Slk│Pse│
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
+ * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│ │Num│ / │ * │ - │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
+ * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ │ 7 │ 8 │ 9 │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬┈┈┈┈┤ └───┴───┴───┘ ├───┼───┼───┤ + │
+ * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │Entr│ │ 4 │ 5 │ 6 │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤
+ * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │ │ ↑ │ │ 1 │ 2 │ 3 │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤Ent│
+ * │Ctrl│GUI │Alt │ │ Alt│Func│ App│Ctrl│ │ ← │ ↓ │ → │ │ 0 │ . │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
+ */
+ [_BASE] = LAYOUT_all( /* Base Layer */
+ 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_SLCK, 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_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
+ ),
+ /* Keymap _FN: Function Layer
+ * ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
+ * │ │ │Ply│Stp│Prv│Nxt│ │Mut│Vo+│Vo-│ │ │ │ │ │ │ │ │ │ │
+ * └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬┈┈┈┈┤ └───┴───┴───┘ ├───┼───┼───┤ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ ┌───┐ ├───┼───┼───┼───┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ │
+ * │ │Lock│ │ │ │Func│ Sys│ │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
+ */
+ [_FN] = LAYOUT_all( /* Function Layer */
+ _______, KC_MPLY, KC_MSTP, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_TGUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [_LAYER3] = LAYOUT_all( /* Layer 3 */
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [_LAYER4] = LAYOUT_all( /* Layer 4 */
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/durgod/k3x0/keymaps/via/readme.md b/keyboards/durgod/k3x0/keymaps/via/readme.md
new file mode 100644
index 0000000000..ffa1c4ce0a
--- /dev/null
+++ b/keyboards/durgod/k3x0/keymaps/via/readme.md
@@ -0,0 +1,6 @@
+# The via keymap for Durgod Taurus K310/K320.
+
+Layer 0 : Standard layout
+
+Layer 1 : Media control
+- Reusing Durgod's Original Media Control for Fn + F1 ~ Fn + F7
diff --git a/keyboards/durgod/k3x0/keymaps/via/rules.mk b/keyboards/durgod/k3x0/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/durgod/k3x0/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/durgod/k3x0/readme.md b/keyboards/durgod/k3x0/readme.md
new file mode 100644
index 0000000000..cbb170160c
--- /dev/null
+++ b/keyboards/durgod/k3x0/readme.md
@@ -0,0 +1,51 @@
+# K3X0 = K310, K320, etc.
+
+This K3X0 code is shared between both the ANSI and ISO variants of both the
+K310 full-sized 104/105-key and K320 TKL 87/88-key keyboards.
+
+* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert)
+* Hardware Supported: Durgod Taurus K310 or K320 board with STM32F070RBT6
+* Hardware Availability: K310 https://www.durgod.com/page9?product_id=53&_l=en
+ and K320 https://www.durgod.com/page9?product_id=47&_l=en
+
+## Instructions
+
+### Build
+
+Instructions for building the K310 and K320 firmware can be found here:
+* [K310](k310/readme.md)
+* [K320](k320/readme.md)
+
+### Initial Flash
+
+For first Flashing from initial Stock Firmware
+
+1. Back up original Firmware Image:
+- Unplug
+- Short Boot0 to Vdd (See below)
+- Plug In USB
+- Make a Flash Image's Backup in case you wanted to restore the Keyboard to Stock's Image:
+ - Using dfu-util:
+
+ dfu-util --list
+ dfu-util --alt 0 --dfuse-address 0x08000000 --upload ${OLD_STOCK_BIN}
+
+2. Flash the QMK Firmware Image.
+- Put board into Bootloader mode, using the same method as when backing up the original Firmware (above)
+- Here are a few options for performing the initial Flash:
+ - Using [QMK Toolbox](https://github.com/qmk/qmk_toolbox)
+ - Using dfu-util:
+
+ dfu-util --alt 0 --dfuse-address 0x08000000 --download ${NEW_QMK_BIN}
+
+You can short Boot0 to Vdd by shorting R21 to C27 on the sides closest to the processor, as shown:
+
+<img src="https://i.imgur.com/hvDnw5a.jpg" width="520" height="693" alt="Shorting Boot0 to Vdd on K320">
+
+### Subsequent Flashing
+
+For repeating Flashing you can use BootMagic:
+- BootMagic Lite has been enabled with Assigned "Esc" key
+- Unplug USB Cable
+- Holding Esc Button
+- Plug in USB Cable, Keyboard should be in ST-Bootloader state
diff --git a/keyboards/durgod/k3x0/rules.mk b/keyboards/durgod/k3x0/rules.mk
new file mode 100644
index 0000000000..b70d52057f
--- /dev/null
+++ b/keyboards/durgod/k3x0/rules.mk
@@ -0,0 +1,28 @@
+# Default to K310 variant, since it will also work on a K320
+DEFAULT_FOLDER=durgod/k3x0/k310
+
+# MCU name
+# Actually F070, but close enough
+MCU = STM32F072
+BOARD = DURGOD_STM32_F070
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no # Enable Bluetooth
+AUDIO_ENABLE = no # Audio output
+LTO_ENABLE = yes
diff --git a/keyboards/durgod/venus/readme.md b/keyboards/durgod/venus/readme.md
new file mode 100644
index 0000000000..c2228583a9
--- /dev/null
+++ b/keyboards/durgod/venus/readme.md
@@ -0,0 +1,3 @@
+# Venus
+
+See: [Venus](../dgk6x/venus/readme.md)
diff --git a/keyboards/durgod/venus/rules.mk b/keyboards/durgod/venus/rules.mk
new file mode 100644
index 0000000000..57acf2a48c
--- /dev/null
+++ b/keyboards/durgod/venus/rules.mk
@@ -0,0 +1 @@
+DEFAULT_FOLDER=durgod/dgk6x/venus
diff --git a/keyboards/dz60/keymaps/default_abnt2/keymap.c b/keyboards/dz60/keymaps/default_abnt2/keymap.c
index d6273780f1..3ed1484bd7 100644
--- a/keyboards/dz60/keymaps/default_abnt2/keymap.c
+++ b/keyboards/dz60/keymaps/default_abnt2/keymap.c
@@ -45,7 +45,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BL] = LAYOUT_60_abnt2(
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, BR_ACUT, BR_LBRC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, BR_CCDL, BR_TILD, BR_RBRC, KC_ENT,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, BR_CCED, BR_TILD, BR_RBRC, KC_ENT,
KC_LSFT, BR_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, BR_SCLN, BR_SLSH, KC_RSFT,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FL), KC_RCTL),
diff --git a/keyboards/dz60/keymaps/marianas/customLogic.c b/keyboards/dz60/keymaps/marianas/customLogic.c
index b7dbcac95b..f22bd882e9 100644
--- a/keyboards/dz60/keymaps/marianas/customLogic.c
+++ b/keyboards/dz60/keymaps/marianas/customLogic.c
@@ -9,7 +9,7 @@ static int16_t fnTimer = 0;
-uint32_t layer_state_set_user(uint32_t state)
+layer_state_t layer_state_set_user(layer_state_t state)
{
switch (biton32(state))
{
@@ -40,34 +40,34 @@ bool printSqlVerbs(uint16_t keycode, keyrecord_t *record)
{
switch (keycode)
{
- case S_LFTJN:
- SEND_STRING("LEFT JOIN");
+ case S_LFTJN:
+ SEND_STRING("LEFT JOIN");
activateRelativity();
return false;
- case S_INRJN:
- SEND_STRING("INNER JOIN ");
+ case S_INRJN:
+ SEND_STRING("INNER JOIN ");
activateRelativity();
return false;
- case S_SLCT:
- SEND_STRING("SELECT "); return
+ case S_SLCT:
+ SEND_STRING("SELECT "); return
false;
- case S_FROM:
- SEND_STRING("FROM "); return
+ case S_FROM:
+ SEND_STRING("FROM "); return
false;
- case S_DSNCT:
- SEND_STRING("DISTINCT "); return
+ case S_DSNCT:
+ SEND_STRING("DISTINCT "); return
false;
- case S_ORDER:
- SEND_STRING("ORDER BY "); return
+ case S_ORDER:
+ SEND_STRING("ORDER BY "); return
false;
- case S_WHERE:
- SEND_STRING("WHERE "); return
+ case S_WHERE:
+ SEND_STRING("WHERE "); return
false;
- case S_ALTER:
+ case S_ALTER:
SEND_STRING("ALTER SESSION SET CURRENT_SCHEMA = SUPPLY;"); return false;
- case S_ASTRK:
+ case S_ASTRK:
SEND_STRING("* "); return false;
-
+
}
}
return true;
diff --git a/keyboards/dz60/keymaps/marianas/customLogic.h b/keyboards/dz60/keymaps/marianas/customLogic.h
index f0e6ecdcac..29198d60b2 100644
--- a/keyboards/dz60/keymaps/marianas/customLogic.h
+++ b/keyboards/dz60/keymaps/marianas/customLogic.h
@@ -1,7 +1,7 @@
#define fnTimeout 500
-uint32_t layer_state_set_user(uint32_t state);
+layer_state_t layer_state_set_user(layer_state_t state);
bool printSqlVerbs(uint16_t keycode, keyrecord_t *record);
diff --git a/keyboards/dz60/keymaps/xtonhasvim/keymap.c b/keyboards/dz60/keymaps/xtonhasvim/keymap.c
index 34b724aaad..9a482686d8 100644
--- a/keyboards/dz60/keymaps/xtonhasvim/keymap.c
+++ b/keyboards/dz60/keymaps/xtonhasvim/keymap.c
@@ -69,7 +69,7 @@ void matrix_init_user(void) {
user_led_off();
}
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
static uint32_t last_state = 0;
if(last_state != state) {
diff --git a/keyboards/dztech/dz60rgb/dz60rgb.c b/keyboards/dztech/dz60rgb/dz60rgb.c
index aa02fb902d..a7fc3dbc5c 100644
--- a/keyboards/dztech/dz60rgb/dz60rgb.c
+++ b/keyboards/dztech/dz60rgb/dz60rgb.c
@@ -1,7 +1,7 @@
#include "dz60rgb.h"
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{ 0, K_14, J_14, L_14 },
{ 0, K_13, J_13, L_13 },
{ 0, K_12, J_12, L_12 },
diff --git a/keyboards/dztech/dz60rgb/keymaps/via/config.h b/keyboards/dztech/dz60rgb/keymaps/via/config.h
new file mode 100644
index 0000000000..1beb7130f7
--- /dev/null
+++ b/keyboards/dztech/dz60rgb/keymaps/via/config.h
@@ -0,0 +1,21 @@
+/* Copyright 2021 DZTECH <moyi4681@live.cn>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 DISABLE_RGB_MATRIX_PIXEL_FLOW
+#define DISABLE_RGB_MATRIX_PIXEL_FRACTAL
+#define DISABLE_RGB_MATRIX_PIXEL_RAIN
diff --git a/keyboards/dztech/dz60rgb/v1/config.h b/keyboards/dztech/dz60rgb/v1/config.h
index 6e5b3da6ff..f6ee7c4e2f 100644
--- a/keyboards/dztech/dz60rgb/v1/config.h
+++ b/keyboards/dztech/dz60rgb/v1/config.h
@@ -37,7 +37,7 @@
#ifdef RGB_MATRIX_ENABLE
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_KEYPRESSES
# define RGB_MATRIX_LED_PROCESS_LIMIT 4
# define RGB_MATRIX_LED_FLUSH_LIMIT 26
diff --git a/keyboards/dztech/dz60rgb/v2/config.h b/keyboards/dztech/dz60rgb/v2/config.h
index df84fff59a..6108e99034 100644
--- a/keyboards/dztech/dz60rgb/v2/config.h
+++ b/keyboards/dztech/dz60rgb/v2/config.h
@@ -37,7 +37,7 @@
#ifdef RGB_MATRIX_ENABLE
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_KEYPRESSES
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
diff --git a/keyboards/dztech/dz60rgb/v2_1/config.h b/keyboards/dztech/dz60rgb/v2_1/config.h
index 6928ad50ad..06d504e393 100644
--- a/keyboards/dztech/dz60rgb/v2_1/config.h
+++ b/keyboards/dztech/dz60rgb/v2_1/config.h
@@ -53,7 +53,7 @@
#ifdef RGB_MATRIX_ENABLE
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_KEYPRESSES
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
@@ -72,7 +72,7 @@
# define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
# define DISABLE_RGB_MATRIX_DIGITAL_RAIN
# define DRIVER_ADDR_1 0b1010000
-# define DRIVER_ADDR_2 0b1010000 // this is here for compliancy reasons.
+# define DRIVER_ADDR_2 0b1010000 // this is here for compliancy reasons.
# define DRIVER_COUNT 2
# define DRIVER_1_LED_TOTAL 63
# define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
diff --git a/keyboards/dztech/dz60rgb/v2_1/rules.mk b/keyboards/dztech/dz60rgb/v2_1/rules.mk
index d8d17811c8..d47b2692e8 100644
--- a/keyboards/dztech/dz60rgb/v2_1/rules.mk
+++ b/keyboards/dztech/dz60rgb/v2_1/rules.mk
@@ -25,3 +25,6 @@ RGB_MATRIX_ENABLE = yes # Use RGB matrix
RGB_MATRIX_DRIVER = IS31FL3733
NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
LTO_ENABLE = yes
+
+SPACE_CADET_ENABLE = no
+GRAVE_ESC_ENABLE = no
diff --git a/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c b/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c
index 4bb5938b66..ab24410912 100644
--- a/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c
+++ b/keyboards/dztech/dz60rgb_ansi/dz60rgb_ansi.c
@@ -1,7 +1,7 @@
#include "dz60rgb_ansi.h"
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{ 0, K_14, J_14, L_14 },
{ 0, K_13, J_13, L_13 },
{ 0, K_12, J_12, L_12 },
diff --git a/keyboards/dztech/dz60rgb_ansi/v1/config.h b/keyboards/dztech/dz60rgb_ansi/v1/config.h
index 8710f8d07b..dc2a6f4bc0 100644
--- a/keyboards/dztech/dz60rgb_ansi/v1/config.h
+++ b/keyboards/dztech/dz60rgb_ansi/v1/config.h
@@ -37,7 +37,7 @@
#ifdef RGB_MATRIX_ENABLE
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_KEYPRESSES
# define RGB_MATRIX_LED_PROCESS_LIMIT 4
# define RGB_MATRIX_LED_FLUSH_LIMIT 26
diff --git a/keyboards/dztech/dz60rgb_ansi/v2/config.h b/keyboards/dztech/dz60rgb_ansi/v2/config.h
index f3c9b73fb4..6c1e006821 100644
--- a/keyboards/dztech/dz60rgb_ansi/v2/config.h
+++ b/keyboards/dztech/dz60rgb_ansi/v2/config.h
@@ -37,7 +37,7 @@
#ifdef RGB_MATRIX_ENABLE
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_KEYPRESSES
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
diff --git a/keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c b/keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c
index b57560bacd..455624471d 100644
--- a/keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c
+++ b/keyboards/dztech/dz60rgb_wkl/dz60rgb_wkl.c
@@ -1,7 +1,7 @@
#include "dz60rgb_wkl.h"
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{ 0, H_15, G_15, I_15 },
{ 0, K_14, J_14, L_14 },
{ 0, K_13, J_13, L_13 },
diff --git a/keyboards/dztech/dz60rgb_wkl/v1/config.h b/keyboards/dztech/dz60rgb_wkl/v1/config.h
index 9c630c75be..12317c2d35 100644
--- a/keyboards/dztech/dz60rgb_wkl/v1/config.h
+++ b/keyboards/dztech/dz60rgb_wkl/v1/config.h
@@ -37,7 +37,7 @@
#ifdef RGB_MATRIX_ENABLE
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_KEYPRESSES
# define RGB_MATRIX_LED_PROCESS_LIMIT 4
# define RGB_MATRIX_LED_FLUSH_LIMIT 26
diff --git a/keyboards/dztech/dz60rgb_wkl/v2/config.h b/keyboards/dztech/dz60rgb_wkl/v2/config.h
index a6145c2749..945b591ce6 100644
--- a/keyboards/dztech/dz60rgb_wkl/v2/config.h
+++ b/keyboards/dztech/dz60rgb_wkl/v2/config.h
@@ -37,7 +37,7 @@
#ifdef RGB_MATRIX_ENABLE
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_KEYPRESSES
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
diff --git a/keyboards/dztech/dz65rgb/keymaps/via/config.h b/keyboards/dztech/dz65rgb/keymaps/via/config.h
new file mode 100644
index 0000000000..1beb7130f7
--- /dev/null
+++ b/keyboards/dztech/dz65rgb/keymaps/via/config.h
@@ -0,0 +1,21 @@
+/* Copyright 2021 DZTECH <moyi4681@live.cn>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 DISABLE_RGB_MATRIX_PIXEL_FLOW
+#define DISABLE_RGB_MATRIX_PIXEL_FRACTAL
+#define DISABLE_RGB_MATRIX_PIXEL_RAIN
diff --git a/keyboards/dztech/dz65rgb/v1/config.h b/keyboards/dztech/dz65rgb/v1/config.h
index adfa934b04..1ecd9002cb 100644
--- a/keyboards/dztech/dz65rgb/v1/config.h
+++ b/keyboards/dztech/dz65rgb/v1/config.h
@@ -51,9 +51,9 @@
# define RGB_MATRIX_LED_FLUSH_LIMIT 26
# define DEBOUNCE 3
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_KEYPRESSES
-# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
# define DISABLE_RGB_MATRIX_BAND_SAT
# define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
# define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
diff --git a/keyboards/dztech/dz65rgb/v1/v1.c b/keyboards/dztech/dz65rgb/v1/v1.c
index 8a3f0e27bf..aabe41c313 100644
--- a/keyboards/dztech/dz65rgb/v1/v1.c
+++ b/keyboards/dztech/dz65rgb/v1/v1.c
@@ -16,7 +16,7 @@
#include "v1.h"
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{ 0, C8_8, C7_8, C6_8 },
{ 0, C9_8, C7_7, C6_7 },
{ 0, C9_7, C8_7, C6_6 },
diff --git a/keyboards/dztech/dz65rgb/v2/config.h b/keyboards/dztech/dz65rgb/v2/config.h
index f86d65cd06..1e1e21f5e9 100644
--- a/keyboards/dztech/dz65rgb/v2/config.h
+++ b/keyboards/dztech/dz65rgb/v2/config.h
@@ -51,7 +51,7 @@
# define RGB_MATRIX_LED_FLUSH_LIMIT 26
# define DEBOUNCE 3
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_KEYPRESSES
# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
# define DISABLE_RGB_MATRIX_BAND_SAT
diff --git a/keyboards/dztech/dz65rgb/v2/v2.c b/keyboards/dztech/dz65rgb/v2/v2.c
index 788709d989..dce167c73f 100644
--- a/keyboards/dztech/dz65rgb/v2/v2.c
+++ b/keyboards/dztech/dz65rgb/v2/v2.c
@@ -16,7 +16,7 @@
#include "v2.h"
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{ 0, C8_8, C7_8, C6_8 },
{ 0, C9_8, C7_7, C6_7 },
{ 0, C9_7, C8_7, C6_6 },
diff --git a/keyboards/dztech/dz65rgb/v3/config.h b/keyboards/dztech/dz65rgb/v3/config.h
index c348e323d4..dbf2f5b3ce 100755
--- a/keyboards/dztech/dz65rgb/v3/config.h
+++ b/keyboards/dztech/dz65rgb/v3/config.h
@@ -42,16 +42,16 @@
#define NO_ACTION_FUNCTION
#ifdef RGB_MATRIX_ENABLE
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
-#define USB_SUSPEND_WAKEUP_DELAY 5000
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_LED_PROCESS_LIMIT 4
-#define RGB_MATRIX_LED_FLUSH_LIMIT 26
-#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
-#define DRIVER_ADDR_1 0b0110000
-#define DRIVER_ADDR_2 0b0110000 // this is here for compliancy reasons.
-#define DRIVER_COUNT 1
-#define DRIVER_1_LED_TOTAL 68
-#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
-#define DRIVER_INDICATOR_LED_TOTAL 0
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
+# define USB_SUSPEND_WAKEUP_DELAY 5000
+# define RGB_MATRIX_KEYPRESSES
+# define RGB_MATRIX_LED_PROCESS_LIMIT 4
+# define RGB_MATRIX_LED_FLUSH_LIMIT 26
+# define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
+# define DRIVER_ADDR_1 0b0110000
+# define DRIVER_ADDR_2 0b0110000 // this is here for compliancy reasons.
+# define DRIVER_COUNT 1
+# define DRIVER_1_LED_TOTAL 68
+# define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
+# define DRIVER_INDICATOR_LED_TOTAL 0
#endif
diff --git a/keyboards/dztech/dz65rgb/v3/v3.c b/keyboards/dztech/dz65rgb/v3/v3.c
index dec75814ca..c3719bfa51 100755
--- a/keyboards/dztech/dz65rgb/v3/v3.c
+++ b/keyboards/dztech/dz65rgb/v3/v3.c
@@ -18,7 +18,7 @@
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{0, CS21_SW1, CS20_SW1, CS19_SW1},
{0, CS21_SW2, CS20_SW2, CS19_SW2},
{0, CS21_SW3, CS20_SW3, CS19_SW3},
diff --git a/keyboards/eco/rules.mk b/keyboards/eco/rules.mk
index 078131da7c..c0541a7bb3 100644
--- a/keyboards/eco/rules.mk
+++ b/keyboards/eco/rules.mk
@@ -27,7 +27,6 @@ AUDIO_ENABLE = no # Audio output
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/ergo42/keymaps/hdbx/keymap.c b/keyboards/ergo42/keymaps/hdbx/keymap.c
index da579de01a..0931ce86b4 100644
--- a/keyboards/ergo42/keymaps/hdbx/keymap.c
+++ b/keyboards/ergo42/keymaps/hdbx/keymap.c
@@ -90,7 +90,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_RAISE] = LAYOUT( \
_______, KC_EXLM, JP_AT, KC_HASH, KC_DLR, KC_PERC, JP_UNDS, JP_GRV, JP_CIRC, JP_AMPR, KC_INS, JP_YEN, KC_ALPS, _______, \
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, JP_LCBR, JP_RCBR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN, JP_DQT, \
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, JP_LCBR, JP_RCBR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN, JP_DQUO, \
KC_LSFT, KC_MPLY, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MNXT, KC_PGUP, XXXXXXX, XXXXXXX, KC_LT, KC_GT, KC_QUES, KC_RSFT, \
_______, _______, JP_PIPE, _______, _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, _______ \
),
@@ -145,7 +145,7 @@ void matrix_init_user(void) {
#endif
}
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
#ifdef RGBLIGHT_ENABLE
switch (biton32(state)) {
diff --git a/keyboards/ergo42/keymaps/shinze/keymap.c b/keyboards/ergo42/keymaps/shinze/keymap.c
index e07ff9f9eb..f5cc3c520e 100644
--- a/keyboards/ergo42/keymaps/shinze/keymap.c
+++ b/keyboards/ergo42/keymaps/shinze/keymap.c
@@ -15,15 +15,15 @@ extern keymap_config_t keymap_config;
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[BASE] = LAYOUT( \
- KC_TAB, BP_B, BP_ECUT, BP_P, BP_O, BP_EGRV, KC_ESC, KC_BSPC, BP_DCRC, BP_V, BP_D, BP_L, BP_J, BP_Z, \
+ KC_TAB, BP_B, BP_EACU, BP_P, BP_O, BP_EGRV, KC_ESC, KC_BSPC, BP_DCIR, BP_V, BP_D, BP_L, BP_J, BP_Z, \
BP_W, BP_A, BP_U, BP_I, BP_E, BP_COMM, _______, _______, BP_C, BP_T, BP_S, BP_R, BP_N, BP_M, \
- KC_LSFT, BP_AGRV, BP_Y, BP_X, BP_DOT, BP_K, _______, _______, BP_APOS, BP_Q, BP_G, BP_H, BP_F, BP_CCED, \
+ KC_LSFT, BP_AGRV, BP_Y, BP_X, BP_DOT, BP_K, _______, _______, BP_QUOT, BP_Q, BP_G, BP_H, BP_F, BP_CCED, \
MO(SHORT), KC_LCTL, _______, KC_LALT, KC_LGUI, KC_SPC, MO(NUMB), KC_ENT , KC_RSFT, KC_SPC, _______, _______, _______, _______ \
),
[NUMB] = LAYOUT( \
- BP_HASH, BP_DQOT, BP_LDQU, BP_RDQU, BP_LPRN, BP_RPRN, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, BP_EQL, BP_PERC, KC_BSPC, \
- BP_DLR, BP_1, BP_2, BP_3, BP_4, BP_5, KC_LBRC, KC_RBRC, BP_6, BP_7, BP_8, BP_9, BP_0, BP_DEGR, \
+ BP_HASH, BP_DQUO, BP_LDQU, BP_RDQU, BP_LPRN, BP_RPRN, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, BP_EQL, BP_PERC, KC_BSPC, \
+ BP_DLR, BP_1, BP_2, BP_3, BP_4, BP_5, KC_LBRC, KC_RBRC, BP_6, BP_7, BP_8, BP_9, BP_0, BP_DEG, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
),
diff --git a/keyboards/ergo42/rules.mk b/keyboards/ergo42/rules.mk
index b593de2be3..29e7cf2b76 100644
--- a/keyboards/ergo42/rules.mk
+++ b/keyboards/ergo42/rules.mk
@@ -31,6 +31,4 @@ AUDIO_ENABLE = no # Audio output on port C6
SPLIT_KEYBOARD = yes
-LAYOUTS = ortho_4x14
-
DEFAULT_FOLDER = ergo42/rev1
diff --git a/keyboards/ergoarrows/keymaps/salicylic/keymap.c b/keyboards/ergoarrows/keymaps/salicylic/keymap.c
index a8211e65aa..c841371dba 100644
--- a/keyboards/ergoarrows/keymaps/salicylic/keymap.c
+++ b/keyboards/ergoarrows/keymaps/salicylic/keymap.c
@@ -52,7 +52,7 @@ LALT_T(KC_ZKHK),KC_LGUI, KC_UP, KC_MHEN,LT(_LOWER,KC_ENT),KC_BSPC,KC_DEL,KC_BSP
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
JP_DQUO, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, _______, _______, KC_P6, KC_P7, KC_P8, KC_P9, JP_ASTR, JP_SLSH,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- JP_QUOT, JP_HASH, JP_DQT, JP_LPRN, JP_RPRN, JP_AT, _______, _______, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL,
+ JP_QUOT, JP_HASH, JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, _______, _______, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, _______, _______, KC_P0, KC_P1, KC_P2, KC_P3, JP_PLUS, _______,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
diff --git a/keyboards/ergodash/rev1/keymaps/m47ch4n/keymap.c b/keyboards/ergodash/rev1/keymaps/m47ch4n/keymap.c
index 4d1d0131f5..4b102157d5 100644
--- a/keyboards/ergodash/rev1/keymaps/m47ch4n/keymap.c
+++ b/keyboards/ergodash/rev1/keymaps/m47ch4n/keymap.c
@@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT( \
KC_ESC, CSTM_1, CSTM_2, CSTM_3, CSTM_4, CSTM_5, JP_KANA, JP_KANA, CSTM_6, CSTM_7, CSTM_8, CSTM_9, CSTM_0, GRV , \
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, JP_MHEN, JP_HENK, KC_Y, KC_U, KC_I, KC_O, KC_P, BSLS , \
- KC_LGUI, KC_A, KC_S, KC_D, KC_F, KC_G, JP_MEISU, JP_MKANA,KC_H, KC_J, KC_K, KC_L, SCLN, QUOT , \
+ KC_LGUI, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LANG2, JP_LANG1,KC_H, KC_J, KC_K, KC_L, SCLN, QUOT , \
SHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, SHIFT , SHIFT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SHIFT , \
SHIFT, ADJUST, KC_LALT, KC_LCTL, LOWER, KC_SPC ,XXXXXXX, XXXXXXX,KC_ENT , RAISE, KC_LCTL, KC_LALT, ADJUST, SHIFT \
),
diff --git a/keyboards/ergodone/keymaps/erovia/keymap.c b/keyboards/ergodone/keymaps/erovia/keymap.c
index 697e917119..279c8a57c1 100644
--- a/keyboards/ergodone/keymaps/erovia/keymap.c
+++ b/keyboards/ergodone/keymaps/erovia/keymap.c
@@ -202,7 +202,7 @@ void matrix_init_user(void) {
default_layer_led_set();
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
ergodox_led_all_off();
switch (biton32(state)) {
case FN:
diff --git a/keyboards/ergodox_ez/config.h b/keyboards/ergodox_ez/config.h
index bc63f6108f..9dcfc341e1 100644
--- a/keyboards/ergodox_ez/config.h
+++ b/keyboards/ergodox_ez/config.h
@@ -129,7 +129,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGB_MATRIX_LED_PROCESS_LIMIT 5
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true
+#define RGB_DISABLE_WHEN_USB_SUSPENDED
// #define RGBLIGHT_COLOR_LAYER_0 0x00, 0x00, 0xFF
/* #define RGBLIGHT_COLOR_LAYER_1 0x00, 0x00, 0xFF */
diff --git a/keyboards/ergodox_ez/ergodox_ez.c b/keyboards/ergodox_ez/ergodox_ez.c
index 47dd1b0cc9..7af76cb624 100644
--- a/keyboards/ergodox_ez/ergodox_ez.c
+++ b/keyboards/ergodox_ez/ergodox_ez.c
@@ -243,7 +243,7 @@ const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
#ifdef RGB_MATRIX_ENABLE
// clang-format off
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* driver
* | R location
* | | G location
diff --git a/keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c b/keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c
index b9c65944f6..a5b107baae 100755
--- a/keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/bepo_tm_style/keymap.c
@@ -54,19 +54,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Layer 0: basic keys.
[BASE] = LAYOUT_ergodox(
/* left hand */
- BP_DLR, BP_DQOT, BP_LGIL, BP_RGIL, BP_LPRN, BP_RPRN, KC_DEL,
- KC_TAB, BP_B, BP_ECUT, BP_P, BP_O, BP_EGRV, KC_BSPC,
+ BP_DLR, BP_DQUO, BP_LDAQ, BP_RDAQ, BP_LPRN, BP_RPRN, KC_DEL,
+ KC_TAB, BP_B, BP_EACU, BP_P, BP_O, BP_EGRV, KC_BSPC,
KC_LSFT, BP_A, BP_U, BP_I, BP_E, BP_COMM,
KC_LCTRL, BP_AGRV, BP_Y, BP_X, BP_DOT, BP_K, KC_ENT,
- ESC_FN, BP_ECRC, KC_LGUI, KC_LALT, SPC_RALT,
+ ESC_FN, BP_ECIR, KC_LGUI, KC_LALT, SPC_RALT,
TT(SWAP), KC_MNXT,
KC_MPLY,
TT(FN), TT(NUMS), KC_MPRV,
/* right hand */
KC_DEL, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, BP_EQL,
- KC_BSPC, BP_DCRC, BP_V, BP_D, BP_L, BP_J, BP_Z,
+ KC_BSPC, BP_DCIR, BP_V, BP_D, BP_L, BP_J, BP_Z,
BP_C, BP_T, BP_S, BP_R, BP_N, M_RSFT,
- KC_ENT, BP_APOS, BP_Q, BP_G, BP_H, BP_F, W_RCTL,
+ KC_ENT, BP_QUOT, BP_Q, BP_G, BP_H, BP_F, W_RCTL,
SPC_RALT, KC_LALT, TT(SYSLEDS), BP_CCED, PERC_FN,
KC_LEFT, KC_RIGHT,
KC_UP,
@@ -191,7 +191,7 @@ static bool is_macro1_recording = false;
// There is a global 'layer_state' variable but it is set after the call
// to layer_state_set_user().
static uint32_t current_layer_state = 0;
-uint32_t layer_state_set_user(uint32_t state);
+layer_state_t layer_state_set_user(layer_state_t state);
// Method called at the end of the tap dance on the TAP_MACRO key. That key is
// used to start recording a macro (double tap or more), to stop recording (any
@@ -315,7 +315,7 @@ void led_set_user(uint8_t usb_led) {
}
}
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
current_layer_state = state;
swap_hands = LAYER_ON(SWAP);
diff --git a/keyboards/ergodox_ez/keymaps/bepo_tm_style/rules.mk b/keyboards/ergodox_ez/keymaps/bepo_tm_style/rules.mk
index 6d20fcf762..3a1ee27ff8 100755
--- a/keyboards/ergodox_ez/keymaps/bepo_tm_style/rules.mk
+++ b/keyboards/ergodox_ez/keymaps/bepo_tm_style/rules.mk
@@ -10,6 +10,5 @@ CONSOLE_ENABLE = yes # Console for debug
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
UNICODE_ENABLE = no
SLEEP_LED_ENABLE = no
-API_SYSEX_ENABLE = no
RGBLIGHT_ENABLE = no
RGBLIGHT_ANIMATION = no
diff --git a/keyboards/ergodox_ez/keymaps/bpruitt-goddard/keymap.c b/keyboards/ergodox_ez/keymaps/bpruitt-goddard/keymap.c
index ec77b6aa0f..229ece0d74 100644
--- a/keyboards/ergodox_ez/keymaps/bpruitt-goddard/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/bpruitt-goddard/keymap.c
@@ -99,7 +99,7 @@ static bool is_macro1_recording = false;
// There is a global 'layer_state' variable but it is set after the call
// to layer_state_set_user().
static uint32_t current_layer_state = 0;
-uint32_t layer_state_set_user(uint32_t state);
+layer_state_t layer_state_set_user(layer_state_t state);
// Method called at the end of the tap dance on the TAP_MACRO key. That key is
// used to start recording a macro (double tap or more), to stop recording (any
@@ -202,7 +202,7 @@ void led_3_off(void) {
ergodox_right_led_3_off();
}
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
current_layer_state = state;
if (is_macro1_recording) {
diff --git a/keyboards/ergodox_ez/keymaps/bpruitt-goddard/rules.mk b/keyboards/ergodox_ez/keymaps/bpruitt-goddard/rules.mk
index 6ed55e72b4..9c2dc61710 100644
--- a/keyboards/ergodox_ez/keymaps/bpruitt-goddard/rules.mk
+++ b/keyboards/ergodox_ez/keymaps/bpruitt-goddard/rules.mk
@@ -10,6 +10,5 @@ CONSOLE_ENABLE = yes # Console for debug
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
UNICODE_ENABLE = no
SLEEP_LED_ENABLE = no
-API_SYSEX_ENABLE = no
RGBLIGHT_ENABLE = no
RGBLIGHT_ANIMATION = no
diff --git a/keyboards/ergodox_ez/keymaps/colemak_es_osx/keymap.c b/keyboards/ergodox_ez/keymaps/colemak_es_osx/keymap.c
index 0abd028a01..a505fc2b62 100644
--- a/keyboards/ergodox_ez/keymaps/colemak_es_osx/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/colemak_es_osx/keymap.c
@@ -76,7 +76,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[BASE] = LAYOUT_ergodox(
// left hand
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, ES_LESS,
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, ES_LABK,
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_HOME,
KC_CAPS, KC_A, KC_R, KC_S, KC_T, KC_D,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_GRV,
@@ -88,7 +88,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// right hand
ES_IEXL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_END, KC_J, KC_L, KC_U, KC_Y, ES_NTIL, ES_APOS,
+ KC_END, KC_J, KC_L, KC_U, KC_Y, ES_NTIL, ES_QUOT,
KC_H, KC_N, KC_E, KC_I, KC_O, KC_ENT,
ES_MINS, KC_K, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT,
GUI_T(ES_ACUT), ALT_T(KC_BSLS), KC_LEFT, KC_DOWN, KC_RIGHT,
@@ -358,7 +358,7 @@ void led_3_on(void) {
ergodox_right_led_3_set(max_led_value);
}
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
if(layer_state_cmp(state ,IDEA)) {
led_1_on();
diff --git a/keyboards/ergodox_ez/keymaps/ericgebhart/keymap.c b/keyboards/ergodox_ez/keymaps/ericgebhart/keymap.c
index dc33e4e0a9..55bf4209fd 100644
--- a/keyboards/ergodox_ez/keymaps/ericgebhart/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/ericgebhart/keymap.c
@@ -175,7 +175,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Right hand
MDIA_SYMB_KP_LAYERS, ___SYMBOL_BEPO_R___, BP_EQL,
- BP_DCRC, ___BEPO_FR_R1___, BP_W,
+ BP_DCIR, ___BEPO_FR_R1___, BP_W,
/* */ ___BEPO_FR_R2___, BP_CCED,
BP_C, ___BEPO_FR_R3___, KC_RSFT,
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h b/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h
index a0ba655ede..da20820787 100644
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h
+++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/config.h
@@ -14,7 +14,7 @@
#undef IGNORE_MOD_TAP_INTERRUPT
#define IGNORE_MOD_TAP_INTERRUPT
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true
+#define RGB_DISABLE_WHEN_USB_SUSPENDED
#undef FORCE_NKRO
#define FORCE_NKRO
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/rules.mk b/keyboards/ergodox_ez/keymaps/hacker_dvorak/rules.mk
index 184a90228e..c4091010ff 100644
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/rules.mk
+++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/rules.mk
@@ -22,7 +22,6 @@ SWAP_HANDS_ENABLE = no # Allow swapping hands of keyboard.
# KEY_LOCK_ENABLE = no # (+1730b)
# CONSOLE_ENABLE = no # Console for debug(+400b)
# BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000b)
-# API_SYSEX_ENABLE = no
# MIDI_ENABLE = no
# BLUETOOTH_ENABLE = no
# AUDIO_ENABLE = no
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c b/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c
index c0b3b9c995..fd022681b0 100644
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c
+++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/user/layer_set_state_user.c
@@ -1,5 +1,5 @@
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
uint8_t layer = biton32(state);
switch (layer) {
diff --git a/keyboards/ergodox_ez/keymaps/lukaus/keymap.c b/keyboards/ergodox_ez/keymaps/lukaus/keymap.c
index 40156b3ff3..5d797beb18 100644
--- a/keyboards/ergodox_ez/keymaps/lukaus/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/lukaus/keymap.c
@@ -8,7 +8,7 @@
enum custom_keycodes {
PLACEHOLDER = SAFE_RANGE, // can always be here
- // Programmer's Dvorak "macros" :
+ // Programmer's Dvorak "macros" :
// To be paired with get_mods to enable both
// Shift functionality and Programmer's Dvorak
@@ -50,19 +50,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Programmer's Dvorak layer
[0] = LAYOUT_ergodox(
DVP_ESC, DVP_AMPR, DVP_LBRACKET, DVP_LCBR, DVP_RCBR, DVP_LPRN, DVP_AT,
- KC_TAB, KC_SCOLON, KC_COMMA, KC_DOT, KC_P, KC_Y, MO(4),
- MO(3), KC_A, KC_O, KC_E, KC_U, KC_I,
+ KC_TAB, KC_SCOLON, KC_COMMA, KC_DOT, KC_P, KC_Y, MO(4),
+ MO(3), KC_A, KC_O, KC_E, KC_U, KC_I,
KC_LSHIFT, KC_QUOTE, KC_Q, KC_J, KC_K, KC_X, KC_HYPR,
KC_LCTL, KC_LALT, KC_LGUI, LCTL(KC_C), LCTL(KC_V),
-
+
KC_MS_BTN3, TO(1), KC_HOME, KC_SPACE, MO(4), KC_END,
-
+
DVP_EQUAL, DVP_ASTERISK, DVP_RPRN, DVP_PLUS, DVP_RBRACKET, DVP_EXLM, DVP_HASH,
TT(4), KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLASH,
KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINUS,
KC_MEH, KC_B, KC_M, KC_W, KC_V, KC_Z, MO(3),
KC_DELETE, KC_BSLASH, KC_RGUI, KC_RCTL, LCTL(KC_F),
-
+
KC_F17, KC_F18, KC_PGUP, KC_PGDOWN, KC_ENTER, KC_BSPACE
),
// Gaming QWERTY layer
@@ -72,9 +72,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MO(3), KC_A, KC_S, KC_D, KC_F, KC_G,
KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_F24,
KC_LCTL, KC_F8, KC_LALT, KC_F14, KC_F13,
-
+
KC_HOME, TO(0), KC_F15, KC_SPACE, KC_LCTL, KC_LALT,
-
+
KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL,
KC_F24, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLASH,
KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOTE,
@@ -89,9 +89,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MO(3), KC_1, KC_2, KC_3, KC_4, KC_5,
KC_LSHIFT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO,
KC_LCTL, KC_F8, KC_LALT, KC_I, KC_S,
-
+
KC_MS_BTN3, TO(1), KC_HOME, KC_SPACE, KC_LSHIFT, KC_END,
-
+
KC_NO, KC_NUMLOCK, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS, KC_NO, KC_NO,
TO(0), KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS, KC_NO, KC_NO,
KC_KP_4, KC_KP_5, KC_KP_6, KC_EQUAL, KC_NO, KC_NO,
@@ -115,20 +115,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_TRANSPARENT, KC_TRANSPARENT,
MEH_T(KC_NO), KC_CALCULATOR, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_TRANSPARENT, KC_RSHIFT,
KC_DELETE, KC_INSERT, KC_TRANSPARENT, KC_F19, KC_RCTL,
-
+
TO(2),KC_TRANSPARENT,KC_TRANSPARENT,LALT(KC_F10),KC_ENTER,KC_BSPACE
),
// Keypad, Lighting, and Mouse emulation layer
- ///*
+ ///*
[4] = LAYOUT_ergodox(
KC_ESCAPE, KC_NO, KC_NO, KC_MS_BTN3, KC_NO, KC_NO, KC_NO,
KC_TAB, KC_NO, KC_MS_BTN2, KC_MS_UP, KC_MS_BTN1, KC_MS_WH_UP, TO(0),
KC_NO, KC_NO, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_MS_WH_DOWN,
KC_LSHIFT, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, TO(5),
KC_LCTL, KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT,
-
+
KC_MS_BTN3, TO(1), KC_HOME, KC_SPACE, KC_LSHIFT, KC_END,
-
+
KC_NO, KC_NUMLOCK, KC_KP_SLASH, KC_KP_ASTERISK, KC_CALCULATOR, KC_NO, RGB_VAI,
TO(0), KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_MINUS, KC_NO, RGB_VAD,
KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_PLUS, KC_NO, RGB_HUI,
@@ -146,9 +146,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_NO, KC_NO, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, KC_MS_WH_DOWN,
KC_LSHIFT, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, TO(5),
KC_LCTL, KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT,
-
+
KC_MS_BTN3, TO(1), KC_HOME, KC_SPACE, KC_LSHIFT, KC_END,
-
+
KC_NO, KC_I, KC_NUMLOCK, KC_KP_SLASH, KC_KP_ASTERISK, KC_CALCULATOR, RGB_VAI,
TO(0), KC_G, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_MINUS, RGB_VAD,
SHFT_COMMA, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_PLUS, RGB_HUI,
@@ -162,11 +162,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
void led_set_keymap(uint8_t usb_led) {
-
+
}
void matrix_init_user (void) {
-
+
}
@@ -176,7 +176,7 @@ bool right_shift_down = false;
bool numlock = false;
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-
+
switch (keycode) {
case KC_LSHIFT:
if (record->event.pressed)
@@ -205,7 +205,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break;
case KC_NUMLOCK:
- if (record->event.pressed)
+ if (record->event.pressed)
{
numlock = !numlock;
}
@@ -213,7 +213,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
case DVP_ESC:
if (left_shift_down || right_shift_down)
- {
+ {
if(record->event.pressed)
SEND_STRING("~");
return false;
@@ -229,7 +229,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break;
case DVP_AMPR:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -244,7 +244,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
return false;
- break;
+ break;
case SHFT_DOT:
if(record->event.pressed)
@@ -257,7 +257,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break;
case DVP_LBRACKET:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -283,13 +283,13 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return false;
return false;
- break;
-
+ break;
+
case DVP_LCBR:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
- {
+ {
if(left_shift_down)
unregister_code(KC_LSHIFT);
if(right_shift_down)
@@ -297,7 +297,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
register_code(KC_5);
unregister_code(KC_5);
-
+
if(left_shift_down)
register_code(KC_LSHIFT);
if(right_shift_down)
@@ -310,10 +310,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING("{");
}
return false;
- break;
-
+ break;
+
case DVP_RCBR:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -324,7 +324,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
register_code(KC_3);
unregister_code(KC_3);
-
+
if(left_shift_down)
register_code(KC_LSHIFT);
if(right_shift_down)
@@ -337,10 +337,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING("}");
}
return false;
- break;
-
+ break;
+
case DVP_LPRN:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -351,7 +351,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
register_code(KC_1);
unregister_code(KC_1);
-
+
if(left_shift_down)
register_code(KC_LSHIFT);
if(right_shift_down)
@@ -364,10 +364,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING("(");
}
return false;
- break;
-
+ break;
+
case DVP_AT:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -380,7 +380,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
register_code(KC_6);
unregister_code(KC_6);
unregister_code(KC_LSHIFT);
-
+
if(left_shift_down)
register_code(KC_LSHIFT);
if(right_shift_down)
@@ -393,11 +393,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING("@");
}
return false;
- break;
+ break;
+
-
case DVP_EQUAL:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -408,7 +408,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
register_code(KC_9);
unregister_code(KC_9);
-
+
if(left_shift_down)
register_code(KC_LSHIFT);
if(right_shift_down)
@@ -421,10 +421,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING("=");
}
return false;
- break;
-
+ break;
+
case DVP_ASTERISK:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -435,7 +435,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
register_code(KC_0);
unregister_code(KC_0);
-
+
if(left_shift_down)
register_code(KC_LSHIFT);
if(right_shift_down)
@@ -448,10 +448,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING("*");
}
return false;
- break;
-
+ break;
+
case DVP_RPRN:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -462,7 +462,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
register_code(KC_2);
unregister_code(KC_2);
-
+
if(left_shift_down)
register_code(KC_LSHIFT);
if(right_shift_down)
@@ -475,10 +475,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING(")");
}
return false;
- break;
-
+ break;
+
case DVP_PLUS:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -489,7 +489,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
register_code(KC_4);
unregister_code(KC_4);
-
+
if(left_shift_down)
register_code(KC_LSHIFT);
if(right_shift_down)
@@ -502,10 +502,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING("+");
}
return false;
- break;
-
+ break;
+
case DVP_RBRACKET:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -516,7 +516,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
register_code(KC_6);
unregister_code(KC_6);
-
+
if(left_shift_down)
register_code(KC_LSHIFT);
if(right_shift_down)
@@ -529,10 +529,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING("]");
}
return false;
- break;
-
+ break;
+
case DVP_EXLM:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -543,7 +543,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
register_code(KC_8);
unregister_code(KC_8);
-
+
if(left_shift_down)
register_code(KC_LSHIFT);
if(right_shift_down)
@@ -556,10 +556,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING("!");
}
return false;
- break;
-
+ break;
+
case DVP_HASH:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -570,7 +570,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
register_code(KC_GRAVE);
unregister_code(KC_GRAVE);
-
+
if(left_shift_down)
register_code(KC_LSHIFT);
if(right_shift_down)
@@ -583,11 +583,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING("#");
}
return false;
- break;
+ break;
- // Russian
+ // Russian
case RU_2:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -598,7 +598,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
register_code(KC_GRAVE);
unregister_code(KC_GRAVE);
-
+
if(left_shift_down)
register_code(KC_LSHIFT);
if(right_shift_down)
@@ -611,9 +611,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING("#");
}
return false;
- break;
+ break;
case RU_3:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -624,7 +624,7 @@ case RU_3:
register_code(KC_GRAVE);
unregister_code(KC_GRAVE);
-
+
if(left_shift_down)
register_code(KC_LSHIFT);
if(right_shift_down)
@@ -637,9 +637,9 @@ case RU_3:
SEND_STRING("#");
}
return false;
- break;
+ break;
case RU_4:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -650,7 +650,7 @@ case RU_4:
register_code(KC_GRAVE);
unregister_code(KC_GRAVE);
-
+
if(left_shift_down)
register_code(KC_LSHIFT);
if(right_shift_down)
@@ -663,9 +663,9 @@ case RU_4:
SEND_STRING("#");
}
return false;
- break;
+ break;
case RU_6:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -676,7 +676,7 @@ case RU_6:
register_code(KC_GRAVE);
unregister_code(KC_GRAVE);
-
+
if(left_shift_down)
register_code(KC_LSHIFT);
if(right_shift_down)
@@ -689,9 +689,9 @@ case RU_6:
SEND_STRING("#");
}
return false;
- break;
+ break;
case RU_7:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -702,7 +702,7 @@ case RU_7:
register_code(KC_GRAVE);
unregister_code(KC_GRAVE);
-
+
if(left_shift_down)
register_code(KC_LSHIFT);
if(right_shift_down)
@@ -715,10 +715,10 @@ case RU_7:
SEND_STRING("#");
}
return false;
- break;
+ break;
case RU_DOT:
- if (left_shift_down || right_shift_down)
+ if (left_shift_down || right_shift_down)
{
if(record->event.pressed)
{
@@ -729,7 +729,7 @@ case RU_7:
register_code(KC_GRAVE);
unregister_code(KC_GRAVE);
-
+
if(left_shift_down)
register_code(KC_LSHIFT);
if(right_shift_down)
@@ -742,7 +742,7 @@ case RU_7:
SEND_STRING("#");
}
return false;
- break;
+ break;
case RGB_SLD:
@@ -751,7 +751,7 @@ case RU_7:
}
return false;
break;
-
+
case RGB_FF0000:
if (record->event.pressed) {
#ifdef RGBLIGHT_ENABLE
@@ -762,7 +762,7 @@ case RU_7:
}
return false;
break;
-
+
case RGB_008000:
if (record->event.pressed) {
#ifdef RGBLIGHT_ENABLE
@@ -773,7 +773,7 @@ case RU_7:
}
return false;
break;
-
+
case RGB_0000FF:
if (record->event.pressed) {
#ifdef RGBLIGHT_ENABLE
@@ -784,7 +784,7 @@ case RU_7:
}
return false;
break;
-
+
case RGB_FFFFFF:
if (record->event.pressed) {
#ifdef RGBLIGHT_ENABLE
@@ -795,7 +795,7 @@ case RU_7:
}
return false;
break;
-
+
case RGB_800080:
if (record->event.pressed) {
#ifdef RGBLIGHT_ENABLE
@@ -806,12 +806,12 @@ case RU_7:
}
return false;
break;
-
+
}
return true;
}
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
uint8_t layer = biton32(state);
@@ -823,7 +823,7 @@ uint32_t layer_state_set_user(uint32_t state) {
case 0:
break;
case 1:
- ergodox_right_led_1_on();
+ ergodox_right_led_1_on();
break;
case 2:
ergodox_right_led_2_on();
diff --git a/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c b/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c
index e06d0b769f..18d6e667cc 100644
--- a/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/nathanvercaemert/keymap.c
@@ -20,8 +20,8 @@
#define KC_PC_CUT LCTL(KC_X)
#define KC_PC_COPY LCTL(KC_C)
#define KC_PC_PASTE LCTL(KC_V)
-#define ES_LESS_MAC KC_GRAVE
-#define ES_GRTR_MAC LSFT(KC_GRAVE)
+#define ES_LABK_MAC KC_GRAVE
+#define ES_RABK_MAC LSFT(KC_GRAVE)
#define ES_BSLS_MAC ALGR(KC_6)
#define NO_PIPE_ALT KC_GRAVE
#define NO_BSLS_ALT KC_EQUAL
@@ -217,7 +217,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
uint8_t layer = biton32(state);
ergodox_board_led_off();
ergodox_right_led_1_off();
diff --git a/keyboards/ergodox_ez/keymaps/nfriend/keymap.c b/keyboards/ergodox_ez/keymaps/nfriend/keymap.c
index ccea63c97b..1d12093bab 100644
--- a/keyboards/ergodox_ez/keymaps/nfriend/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/nfriend/keymap.c
@@ -1056,7 +1056,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true;
}
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
uint8_t layer = biton32(state);
ergodox_board_led_off();
diff --git a/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c b/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c
index 2c90c02a6b..3e607edb39 100644
--- a/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/rgb_layer/keymap.c
@@ -223,7 +223,7 @@ void matrix_scan_user(void) {
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
ergodox_board_led_off();
ergodox_right_led_1_off();
ergodox_right_led_2_off();
diff --git a/keyboards/ergodox_ez/keymaps/skug/keymap.c b/keyboards/ergodox_ez/keymaps/skug/keymap.c
index bebb8c6a6f..1446ea7466 100644
--- a/keyboards/ergodox_ez/keymaps/skug/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/skug/keymap.c
@@ -27,9 +27,6 @@
#define MDIA 2 // media keys
#define ARRW 3 // arrow + soon mouse
-#define SE_LT SE_LESS
-#define SE_GT LSFT(SE_LESS)
-
enum custom_keycodes {
PLACEHOLDER = SAFE_RANGE, // can always be here
EPRM,
@@ -73,15 +70,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, TG(SYMB),
MO(ARRW), KC_A, KC_S, KC_D, KC_F, KC_G,
KC_LSPO, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_WBAK,
- CTL_T(SE_APOS), SE_ACUT, KC_LALT, KC_BSPC, KC_SPC,
- SE_LESS, KC_END,
+ CTL_T(SE_QUOT), SE_ACUT, KC_LALT, KC_BSPC, KC_SPC,
+ SE_LABK, KC_END,
KC_LEFT, KC_RIGHT, KC_PGDN,
CTL_T(KC_ENT), ALT_T(KC_ESC), KC_LGUI,
// right hand
TO(ARRW), KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS,
- TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, SE_AA,
- KC_H, KC_J, KC_K, KC_L, LT(MDIA, SE_OSLH), LT(SYMB, SE_AE),
+ TG(SYMB), KC_Y, KC_U, KC_I, KC_O, KC_P, SE_ARNG,
+ KC_H, KC_J, KC_K, KC_L, LT(MDIA, SE_ODIA), LT(SYMB, SE_ADIA),
KC_WFWD, KC_N, KC_M, KC_COMM, KC_DOT, SE_MINS, KC_RSPC,
KC_SPC, KC_BSPC, KC_ALGR, SE_ASTR, CTL_T(SE_TILD),
KC_HOME, SE_CIRC,
@@ -116,7 +113,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______,KC_EXLM,SE_AT, SE_LCBR,SE_RCBR,SE_PIPE,_______,
_______,KC_HASH,SE_DLR, SE_LPRN,SE_RPRN,SE_GRV,
_______,KC_PERC,SE_CIRC,SE_LBRC,SE_RBRC,SE_TILD,_______,
- EPRM, _______, _______, SE_LT , SE_GT,
+ EPRM, _______, _______, SE_LABK , SE_RABK,
_______,_______,
_______,_______,_______,
_______,_______,_______,
diff --git a/keyboards/ergodox_ez/keymaps/stamm/keymap.c b/keyboards/ergodox_ez/keymaps/stamm/keymap.c
index 890fbdc023..19eecae03d 100644
--- a/keyboards/ergodox_ez/keymaps/stamm/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/stamm/keymap.c
@@ -24,8 +24,8 @@
#define KC_PC_CUT LCTL(KC_X)
#define KC_PC_COPY LCTL(KC_C)
#define KC_PC_PASTE LCTL(KC_V)
-#define ES_LESS_MAC KC_GRAVE
-#define ES_GRTR_MAC LSFT(KC_GRAVE)
+#define ES_LABK_MAC KC_GRAVE
+#define ES_RABK_MAC LSFT(KC_GRAVE)
#define ES_BSLS_MAC ALGR(KC_6)
#define NO_PIPE_ALT KC_GRAVE
#define NO_BSLS_ALT KC_EQUAL
diff --git a/keyboards/ergodox_ez/keymaps/testing/keymap.c b/keyboards/ergodox_ez/keymaps/testing/keymap.c
index a90458cefe..5c1fc4af28 100644
--- a/keyboards/ergodox_ez/keymaps/testing/keymap.c
+++ b/keyboards/ergodox_ez/keymaps/testing/keymap.c
@@ -60,7 +60,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true;
}
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
uint8_t layer = biton32(layer_state);
diff --git a/keyboards/ergodox_ez/rules.mk b/keyboards/ergodox_ez/rules.mk
index dce2aff803..4198486b3a 100644
--- a/keyboards/ergodox_ez/rules.mk
+++ b/keyboards/ergodox_ez/rules.mk
@@ -22,7 +22,6 @@ NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: ht
UNICODE_ENABLE = yes # Unicode
SWAP_HANDS_ENABLE= yes # Allow swapping hands of keyboard
SLEEP_LED_ENABLE = no
-API_SYSEX_ENABLE = no
RGB_MATRIX_ENABLE = no # enable later
RGB_MATRIX_DRIVER = IS31FL3731
diff --git a/keyboards/ergodox_infinity/config.h b/keyboards/ergodox_infinity/config.h
index a64f3f4a13..e0208ba4d3 100644
--- a/keyboards/ergodox_infinity/config.h
+++ b/keyboards/ergodox_infinity/config.h
@@ -54,7 +54,20 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* key matrix size */
#define MATRIX_ROWS 18
#define MATRIX_COLS 5
-#define LOCAL_MATRIX_ROWS 9
+
+// For some reason, the rows are colums in the schematic, and vice versa
+#define MATRIX_ROW_PINS { B2, B3, B18, B19, C0, C9, C10, C11, D0 }
+#define MATRIX_COL_PINS { D1, D4, D5, D6, D7 }
+#define UNUSED_PINS
+
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION ROW2COL
+
+/* Serial config (for communication between halves) */
+#define SERIAL_USART_DRIVER SD1 // Only true for the master half
+#define SERIAL_USART_CONFIG { (SERIAL_USART_SPEED), } // Only field is speed
+#define SERIAL_USART_FULL_DUPLEX
+#define SERIAL_USART_TIMEOUT 50
/* number of backlight levels */
#define BACKLIGHT_LEVELS 3
@@ -62,16 +75,49 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define LED_BRIGHTNESS_LO 100
#define LED_BRIGHTNESS_HI 255
+/* LED matrix driver */
+#define LED_DRIVER_ADDR_1 0x74
+#define LED_DRIVER_COUNT 1
+#define DRIVER_LED_TOTAL 76
+#define LED_MATRIX_SPLIT { 38, 38 }
+#define LED_DISABLE_WHEN_USB_SUSPENDED
+
+/* i2c (for LED matrix) */
+#define I2C1_CLOCK_SPEED 400000
+#define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2
+#define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2
+#define I2C1_BANK GPIOB
+#define I2C1_SCL 0
+#define I2C1_SDA 1
+
+#ifdef ST7565_ENABLE
+/* LCD driver */
+# define ST7565_A0_PIN C7
+# define ST7565_RST_PIN C8
+# define ST7565_SS_PIN C4
+# define ST7565_SPI_CLK_DIVISOR 2
+# define ST7565_CONTRAST 22
+# define ST7565_DISPLAY_WIDTH 128
+# define ST7565_DISPLAY_HEIGHT 32
+
+/* SPI (for LCD) */
+# define SPI_DRIVER SPID1
+# define SPI_SCK_PIN C5
+# define SPI_SCK_PAL_MODE PAL_MODE_ALTERNATIVE_2
+# define SPI_MOSI_PIN C6
+# define SPI_MOSI_PAL_MODE PAL_MODE_ALTERNATIVE_2
+# define SPI_MISO_PIN A4 // Just an unused pin, the "normal" MISO pin (C7) is used for other things
+# define SPI_MISO_PAL_MODE PAL_MODE_ALTERNATIVE_7 // Default for A4
+#endif
+
/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5
-#define SERIAL_LINK_BAUD 562500
-#define SERIAL_LINK_THREAD_PRIORITY (NORMALPRIO - 1)
-
#define VISUALIZER_USER_DATA_SIZE 16
+
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/ergodox_infinity/ergodox_infinity.c b/keyboards/ergodox_infinity/ergodox_infinity.c
index 97b628470b..90aa522427 100644
--- a/keyboards/ergodox_infinity/ergodox_infinity.c
+++ b/keyboards/ergodox_infinity/ergodox_infinity.c
@@ -1,29 +1,13 @@
#include QMK_KEYBOARD_H
#include <ch.h>
#include <hal.h>
+#include <string.h>
+#include "eeconfig.h"
#include "serial_link/system/serial_link.h"
#ifdef VISUALIZER_ENABLE
-#include "lcd_backlight.h"
+# include "lcd_backlight.h"
#endif
-#ifdef WPM_ENABLE
-# include "serial_link/protocol/transport.h"
-# include "wpm.h"
-
-MASTER_TO_ALL_SLAVES_OBJECT(current_wpm, uint8_t);
-static remote_object_t* remote_objects[] = {
- REMOTE_OBJECT(current_wpm),
-};
-static uint8_t last_sent_wpm = 0;
-#endif
-
-void init_serial_link_hal(void) {
- PORTA->PCR[1] = PORTx_PCRn_PE | PORTx_PCRn_PS | PORTx_PCRn_PFE | PORTx_PCRn_MUX(2);
- PORTA->PCR[2] = PORTx_PCRn_DSE | PORTx_PCRn_SRE | PORTx_PCRn_MUX(2);
- PORTE->PCR[0] = PORTx_PCRn_PE | PORTx_PCRn_PS | PORTx_PCRn_PFE | PORTx_PCRn_MUX(3);
- PORTE->PCR[1] = PORTx_PCRn_DSE | PORTx_PCRn_SRE | PORTx_PCRn_MUX(3);
-}
-
#define RED_PIN 1
#define GREEN_PIN 2
#define BLUE_PIN 3
@@ -52,7 +36,7 @@ void init_serial_link_hal(void) {
void lcd_backlight_hal_init(void) {
// Setup Backlight
SIM->SCGC6 |= SIM_SCGC6_FTM0;
- FTM0->CNT = 0; // Reset counter
+ FTM0->CNT = 0; // Reset counter
// PWM Period
// 16-bit maximum
@@ -60,25 +44,25 @@ void lcd_backlight_hal_init(void) {
// Set FTM to PWM output - Edge Aligned, Low-true pulses
#define CNSC_MODE FTM_SC_CPWMS | FTM_SC_PS(4) | FTM_SC_CLKS(0)
- CHANNEL_RED.CnSC = CNSC_MODE;
+ CHANNEL_RED.CnSC = CNSC_MODE;
CHANNEL_GREEN.CnSC = CNSC_MODE;
- CHANNEL_BLUE.CnSC = CNSC_MODE;
+ CHANNEL_BLUE.CnSC = CNSC_MODE;
// System clock, /w prescalar setting
FTM0->SC = FTM_SC_CLKS(1) | FTM_SC_PS(PRESCALAR_DEFINE);
- CHANNEL_RED.CnV = 0;
+ CHANNEL_RED.CnV = 0;
CHANNEL_GREEN.CnV = 0;
- CHANNEL_BLUE.CnV = 0;
+ CHANNEL_BLUE.CnV = 0;
RGB_PORT_GPIO->PDDR |= (1 << RED_PIN);
RGB_PORT_GPIO->PDDR |= (1 << GREEN_PIN);
RGB_PORT_GPIO->PDDR |= (1 << BLUE_PIN);
#define RGB_MODE PORTx_PCRn_SRE | PORTx_PCRn_DSE | PORTx_PCRn_MUX(4)
- RGB_PORT->PCR[RED_PIN] = RGB_MODE;
+ RGB_PORT->PCR[RED_PIN] = RGB_MODE;
RGB_PORT->PCR[GREEN_PIN] = RGB_MODE;
- RGB_PORT->PCR[BLUE_PIN] = RGB_MODE;
+ RGB_PORT->PCR[BLUE_PIN] = RGB_MODE;
}
static uint16_t cie_lightness(uint16_t v) {
@@ -89,12 +73,11 @@ static uint16_t cie_lightness(uint16_t v) {
// Y = (L* / 902.3) if L* <= 8
// Y = ((L* + 16) / 116)^3 if L* > 8
- float l = 100.0f * (v / 65535.0f);
+ float l = 100.0f * (v / 65535.0f);
float y = 0.0f;
if (l <= 8.0f) {
- y = l / 902.3;
- }
- else {
+ y = l / 902.3;
+ } else {
y = ((l + 16.0f) / 116.0f);
y = y * y * y;
if (y > 1.0f) {
@@ -104,109 +87,89 @@ static uint16_t cie_lightness(uint16_t v) {
return y * 65535.0f;
}
+#ifdef VISUALIZER_ENABLE
void lcd_backlight_hal_color(uint16_t r, uint16_t g, uint16_t b) {
- CHANNEL_RED.CnV = cie_lightness(r);
+#else
+void ergodox_infinity_lcd_color(uint16_t r, uint16_t g, uint16_t b) {
+#endif
+ CHANNEL_RED.CnV = cie_lightness(r);
CHANNEL_GREEN.CnV = cie_lightness(g);
- CHANNEL_BLUE.CnV = cie_lightness(b);
+ CHANNEL_BLUE.CnV = cie_lightness(b);
}
-__attribute__ ((weak))
-void matrix_init_user(void) {
-}
+__attribute__ ((weak)) void matrix_init_user(void) {}
-__attribute__ ((weak))
-void matrix_scan_user(void) {
-}
+__attribute__ ((weak)) void matrix_scan_user(void) {}
+void keyboard_pre_init_kb() {
+#ifdef LED_MATRIX_ENABLE
+ // Turn on LED controller
+ setPinOutput(B16);
+ writePinHigh(B16);
+#endif
+#ifndef VISUALIZER_ENABLE
+ // The backlight always has to be initialized, otherwise it will stay lit
+ lcd_backlight_hal_init();
+# ifdef ST7565_ENABLE
+ ergodox_infinity_lcd_color(UINT16_MAX / 2, UINT16_MAX / 2, UINT16_MAX / 2);
+# endif
+#endif
+ keyboard_pre_init_user();
+}
+
void matrix_init_kb(void) {
// put your keyboard start-up code here
// runs once when the firmware starts up
- matrix_init_user();
- // The backlight always has to be initialized, otherwise it will stay lit
-#ifndef VISUALIZER_ENABLE
- lcd_backlight_hal_init();
-#endif
-#ifdef WPM_ENABLE
- add_remote_objects(remote_objects, sizeof(remote_objects) / sizeof(remote_object_t*));
+#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.
+ */
+# if !defined(LED_MATRIX_STARTUP_SPD)
+# define LED_MATRIX_STARTUP_SPD UINT8_MAX / 2
+# endif
+ led_matrix_set_speed(LED_MATRIX_STARTUP_SPD);
+ led_matrix_set_flags(LED_FLAG_ALL);
#endif
+
+ matrix_init_user();
}
void matrix_scan_kb(void) {
// put your looping keyboard code here
// runs every cycle (a lot)
-#ifdef WPM_ENABLE
- if (is_serial_link_master()) {
- uint8_t current_wpm = get_current_wpm();
- if (current_wpm != last_sent_wpm) {
- *begin_write_current_wpm() = current_wpm;
- end_write_current_wpm();
- last_sent_wpm = current_wpm;
- }
- } else if (is_serial_link_connected()) {
- uint8_t* new_wpm = read_current_wpm();
- if (new_wpm) {
- set_current_wpm(*new_wpm);
- }
- }
-#endif
matrix_scan_user();
}
-bool is_keyboard_master(void) {
- return is_serial_link_master();
-}
+__attribute__ ((weak)) void ergodox_board_led_on(void) {}
-__attribute__ ((weak))
-void ergodox_board_led_on(void){
-}
+__attribute__ ((weak)) void ergodox_right_led_1_on(void) {}
-__attribute__ ((weak))
-void ergodox_right_led_1_on(void){
-}
+__attribute__ ((weak)) void ergodox_right_led_2_on(void) {}
-__attribute__ ((weak))
-void ergodox_right_led_2_on(void){
-}
-
-__attribute__ ((weak))
-void ergodox_right_led_3_on(void){
-}
+__attribute__ ((weak)) void ergodox_right_led_3_on(void) {}
-__attribute__ ((weak))
-void ergodox_board_led_off(void){
-}
+__attribute__ ((weak)) void ergodox_board_led_off(void) {}
-__attribute__ ((weak))
-void ergodox_right_led_1_off(void){
-}
+__attribute__ ((weak)) void ergodox_right_led_1_off(void) {}
-__attribute__ ((weak))
-void ergodox_right_led_2_off(void){
-}
+__attribute__ ((weak)) void ergodox_right_led_2_off(void) {}
-__attribute__ ((weak))
-void ergodox_right_led_3_off(void){
-}
+__attribute__ ((weak)) void ergodox_right_led_3_off(void) {}
-__attribute__ ((weak))
-void ergodox_right_led_1_set(uint8_t n) {
-}
+__attribute__ ((weak)) void ergodox_right_led_1_set(uint8_t n) {}
-__attribute__ ((weak))
-void ergodox_right_led_2_set(uint8_t n) {
-}
+__attribute__ ((weak)) void ergodox_right_led_2_set(uint8_t n) {}
-__attribute__ ((weak))
-void ergodox_right_led_3_set(uint8_t n) {
-}
+__attribute__ ((weak)) void ergodox_right_led_3_set(uint8_t n) {}
#ifdef SWAP_HANDS_ENABLE
__attribute__ ((weak))
const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
- {{0, 9}, {1, 9}, {2, 9}, {3, 9}, {4, 9}},
+ {{0, 9}, {1, 9}, {2, 9}, {3, 9}, {4, 9}},
{{0, 10}, {1, 10}, {2, 10}, {3, 10}, {4, 10}},
{{0, 11}, {1, 11}, {2, 11}, {3, 11}, {4, 11}},
{{0, 12}, {1, 12}, {2, 12}, {3, 12}, {4, 12}},
@@ -226,3 +189,192 @@ const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
{{0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}},
};
#endif
+
+#ifdef LED_MATRIX_ENABLE
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
+// The numbers in the comments are the led numbers DXX on the PCB
+/* Refer to IS31 manual for these locations
+ * driver
+ * | LED address
+ * | | */
+// Left half
+// 45 44 43 42 41 40 39
+ { 0, C2_2 }, { 0, C1_2 }, { 0, C5_1 }, { 0, C4_1 }, { 0, C3_1 }, { 0, C2_1 }, { 0, C1_1 },
+// 52 51 50 49 48 47 46
+ { 0, C4_3 }, { 0, C3_3 }, { 0, C2_3 }, { 0, C1_3 }, { 0, C5_2 }, { 0, C4_2 }, { 0, C3_2 },
+// 58 57 56 55 54 53
+ { 0, C5_4 }, { 0, C4_4 }, { 0, C3_4 }, { 0, C2_4 }, { 0, C1_4 }, { 0, C5_3 },
+// 67 66 65 64 63 62 61
+ { 0, C4_6 }, { 0, C3_6 }, { 0, C2_6 }, { 0, C1_6 }, { 0, C5_5 }, { 0, C4_5 }, { 0, C3_5 },
+// 76 75 74 73 72
+ { 0, C4_8 }, { 0, C3_8 }, { 0, C2_8 }, { 0, C1_8 }, { 0, C4_7 },
+// 60 59
+ { 0, C2_5 }, { 0, C1_5 },
+// 68
+ { 0, C5_6 },
+// 71 70 69
+ { 0, C3_7 }, { 0, C2_7 }, { 0, C1_7 },
+// Right half (mirrored)
+// Due to how LED_MATRIX_SPLIT is implemented, only the first half of g_is31_leds is actually used.
+// Luckily, the right half has the same LED pinouts, just mirrored.
+// 45 44 43 42 41 40 39
+ { 0, C2_2 }, { 0, C1_2 }, { 0, C5_1 }, { 0, C4_1 }, { 0, C3_1 }, { 0, C2_1 }, { 0, C1_1 },
+// 52 51 50 49 48 47 46
+ { 0, C4_3 }, { 0, C3_3 }, { 0, C2_3 }, { 0, C1_3 }, { 0, C5_2 }, { 0, C4_2 }, { 0, C3_2 },
+// 58 57 56 55 54 53
+ { 0, C5_4 }, { 0, C4_4 }, { 0, C3_4 }, { 0, C2_4 }, { 0, C1_4 }, { 0, C5_3 },
+// 67 66 65 64 63 62 61
+ { 0, C4_6 }, { 0, C3_6 }, { 0, C2_6 }, { 0, C1_6 }, { 0, C5_5 }, { 0, C4_5 }, { 0, C3_5 },
+// 76 75 74 73 72
+ { 0, C4_8 }, { 0, C3_8 }, { 0, C2_8 }, { 0, C1_8 }, { 0, C4_7 },
+// 60 59
+ { 0, C2_5 }, { 0, C1_5 },
+// 68
+ { 0, C5_6 },
+// 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
+__attribute__((weak)) void st7565_on_user(void) {
+ ergodox_infinity_lcd_color(UINT16_MAX / 2, UINT16_MAX / 2, UINT16_MAX / 2);
+}
+
+__attribute__((weak)) void st7565_off_user(void) {
+ ergodox_infinity_lcd_color(0, 0, 0);
+}
+
+static void format_layer_bitmap_string(char* buffer, uint8_t offset) {
+ for (int i = 0; i < 16 && i + offset < MAX_LAYER; i++) {
+ if (i == 0 || i == 4 || i == 8 || i == 12) {
+ *buffer = ' ';
+ ++buffer;
+ }
+
+ uint8_t layer = i + offset;
+ if (layer_state_cmp(default_layer_state, layer)) {
+ *buffer = 'D';
+ } else if (layer_state_is(layer)) {
+ *buffer = '1';
+ } else {
+ *buffer = '_';
+ }
+ ++buffer;
+ }
+ *buffer = 0;
+}
+
+__attribute__((weak)) void st7565_task_user(void) {
+ if (is_keyboard_master()) {
+ // Draw led and layer status
+ led_t leds = host_keyboard_led_state();
+ if(leds.num_lock) { st7565_write("Num ", false); }
+ if(leds.caps_lock) { st7565_write("Cap ", false); }
+ if(leds.scroll_lock) { st7565_write("Scrl ", false); }
+ if(leds.compose) { st7565_write("Com ", false); }
+ if(leds.kana) { st7565_write("Kana", false); }
+ st7565_advance_page(true);
+
+ char layer_buffer[16 + 5]; // 3 spaces and one null terminator
+ st7565_set_cursor(0, 1);
+ format_layer_bitmap_string(layer_buffer, 0);
+ st7565_write_ln(layer_buffer, false);
+ format_layer_bitmap_string(layer_buffer, 16);
+ st7565_write_ln(layer_buffer, false);
+ st7565_write_ln(" 1=On D=Default", false);
+ } else {
+ // Draw logo
+ static const char qmk_logo[] = {
+ 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94,
+ 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4,
+ 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00
+ };
+
+ st7565_write(qmk_logo, false);
+ st7565_write(" Infinity Ergodox ", false);
+ }
+}
+#endif
+
+#if defined(SPLIT_KEYBOARD)
+void usart_master_init(SerialDriver **driver) {
+ PORTA->PCR[1] = PORTx_PCRn_PE | PORTx_PCRn_PS | PORTx_PCRn_PFE | PORTx_PCRn_MUX(2);
+ PORTA->PCR[2] = PORTx_PCRn_DSE | PORTx_PCRn_SRE | PORTx_PCRn_MUX(2);
+
+ // driver is set to SD1 in config.h
+}
+
+void usart_slave_init(SerialDriver **driver) {
+ PORTE->PCR[0] = PORTx_PCRn_PE | PORTx_PCRn_PS | PORTx_PCRn_PFE | PORTx_PCRn_MUX(3);
+ PORTE->PCR[1] = PORTx_PCRn_DSE | PORTx_PCRn_SRE | PORTx_PCRn_MUX(3);
+
+ *driver = &SD2;
+}
+#endif
diff --git a/keyboards/ergodox_infinity/ergodox_infinity.h b/keyboards/ergodox_infinity/ergodox_infinity.h
index 79f01b1849..81ac1f338a 100644
--- a/keyboards/ergodox_infinity/ergodox_infinity.h
+++ b/keyboards/ergodox_infinity/ergodox_infinity.h
@@ -80,6 +80,10 @@ inline void ergodox_led_all_set(uint8_t n) {
ergodox_right_led_3_set(n);
}
+#ifndef VISUALIZER_ENABLE
+void ergodox_infinity_lcd_color(uint16_t r, uint16_t g, uint16_t b);
+#endif
+
/*
* LEFT HAND: LINES 88-95
* RIGHT HAND: LINES 97-104
diff --git a/keyboards/ergodox_infinity/keymaps/default/keymap.c b/keyboards/ergodox_infinity/keymaps/default/keymap.c
index cd9b476bbd..ce8a3661e7 100644
--- a/keyboards/ergodox_infinity/keymaps/default/keymap.c
+++ b/keyboards/ergodox_infinity/keymaps/default/keymap.c
@@ -167,7 +167,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// Runs just one time when the keyboard initializes.
void matrix_init_user(void) {
-};
+}
// Runs constantly in the background, in a loop.
@@ -192,4 +192,4 @@ void matrix_scan_user(void) {
break;
}
-};
+}
diff --git a/keyboards/ergodox_infinity/matrix.c b/keyboards/ergodox_infinity/matrix.c
deleted file mode 100644
index 7baacd24d0..0000000000
--- a/keyboards/ergodox_infinity/matrix.c
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
-Copyright 2016 Fred Sundvik <fsundvik@gmail.com>
-Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-#include <stdint.h>
-#include <stdbool.h>
-#include <string.h>
-#include <hal.h>
-#include "timer.h"
-#include "wait.h"
-#include "print.h"
-#include "debug.h"
-#include "matrix.h"
-#include "eeconfig.h"
-#include "serial_link/system/serial_link.h"
-
-
-/*
- * Infinity ErgoDox Pinusage:
- * Column pins are input with internal pull-down. Row pins are output and strobe with high.
- * Key is high or 1 when it turns on.
- *
- * col: { PTD1, PTD4, PTD5, PTD6, PTD7 }
- * row: { PTB2, PTB3, PTB18, PTB19, PTC0, PTC9, PTC10, PTC11, PTD0 }
- */
-/* matrix state(1:on, 0:off) */
-static matrix_row_t matrix[MATRIX_ROWS];
-static matrix_row_t matrix_debouncing[LOCAL_MATRIX_ROWS];
-static bool debouncing = false;
-static uint16_t debouncing_time = 0;
-
-
-void matrix_init(void)
-{
- /* Row(sense) */
- palSetPadMode(GPIOD, 1, PAL_MODE_INPUT_PULLDOWN);
- palSetPadMode(GPIOD, 4, PAL_MODE_INPUT_PULLDOWN);
- palSetPadMode(GPIOD, 5, PAL_MODE_INPUT_PULLDOWN);
- palSetPadMode(GPIOD, 6, PAL_MODE_INPUT_PULLDOWN);
- palSetPadMode(GPIOD, 7, PAL_MODE_INPUT_PULLDOWN);
-
- /* Column(strobe) */
- palSetPadMode(GPIOB, 2, PAL_MODE_OUTPUT_PUSHPULL);
- palSetPadMode(GPIOB, 3, PAL_MODE_OUTPUT_PUSHPULL);
- palSetPadMode(GPIOB, 18, PAL_MODE_OUTPUT_PUSHPULL);
- palSetPadMode(GPIOB, 19, PAL_MODE_OUTPUT_PUSHPULL);
- palSetPadMode(GPIOC, 0, PAL_MODE_OUTPUT_PUSHPULL);
- palSetPadMode(GPIOC, 9, PAL_MODE_OUTPUT_PUSHPULL);
- palSetPadMode(GPIOC, 10, PAL_MODE_OUTPUT_PUSHPULL);
- palSetPadMode(GPIOC, 11, PAL_MODE_OUTPUT_PUSHPULL);
- palSetPadMode(GPIOD, 0, PAL_MODE_OUTPUT_PUSHPULL);
-
- memset(matrix, 0, MATRIX_ROWS * sizeof(matrix_row_t));
- memset(matrix_debouncing, 0, LOCAL_MATRIX_ROWS * sizeof(matrix_row_t));
-
- matrix_init_quantum();
-}
-
-uint8_t matrix_scan(void)
-{
- for (int row = 0; row < LOCAL_MATRIX_ROWS; row++) {
- matrix_row_t data = 0;
-
- // strobe row
- switch (row) {
- case 0: palSetPad(GPIOB, 2); break;
- case 1: palSetPad(GPIOB, 3); break;
- case 2: palSetPad(GPIOB, 18); break;
- case 3: palSetPad(GPIOB, 19); break;
- case 4: palSetPad(GPIOC, 0); break;
- case 5: palSetPad(GPIOC, 9); break;
- case 6: palSetPad(GPIOC, 10); break;
- case 7: palSetPad(GPIOC, 11); break;
- case 8: palSetPad(GPIOD, 0); break;
- }
-
- // need wait to settle pin state
- // if you wait too short, or have a too high update rate
- // the keyboard might freeze, or there might not be enough
- // processing power to update the LCD screen properly.
- // 20us, or two ticks at 100000Hz seems to be OK
- wait_us(20);
-
- // read col data: { PTD1, PTD4, PTD5, PTD6, PTD7 }
- data = ((palReadPort(GPIOD) & 0xF0) >> 3) |
- ((palReadPort(GPIOD) & 0x02) >> 1);
-
- // un-strobe row
- switch (row) {
- case 0: palClearPad(GPIOB, 2); break;
- case 1: palClearPad(GPIOB, 3); break;
- case 2: palClearPad(GPIOB, 18); break;
- case 3: palClearPad(GPIOB, 19); break;
- case 4: palClearPad(GPIOC, 0); break;
- case 5: palClearPad(GPIOC, 9); break;
- case 6: palClearPad(GPIOC, 10); break;
- case 7: palClearPad(GPIOC, 11); break;
- case 8: palClearPad(GPIOD, 0); break;
- }
-
- if (matrix_debouncing[row] != data) {
- matrix_debouncing[row] = data;
- debouncing = true;
- debouncing_time = timer_read();
- }
- }
-
- uint8_t offset = 0;
-#if (defined(EE_HANDS) || defined(MASTER_IS_ON_RIGHT))
-#ifdef EE_HANDS
- if (is_serial_link_master() && !eeconfig_read_handedness()) {
-#else
- if (is_serial_link_master()) {
-#endif
- offset = MATRIX_ROWS - LOCAL_MATRIX_ROWS;
- }
-#endif
-
- if (debouncing && timer_elapsed(debouncing_time) > DEBOUNCE) {
- for (int row = 0; row < LOCAL_MATRIX_ROWS; row++) {
- matrix[offset + row] = matrix_debouncing[row];
- }
- debouncing = false;
- }
- matrix_scan_quantum();
- return 1;
-}
-
-bool matrix_is_on(uint8_t row, uint8_t col)
-{
- return (matrix[row] & (1<<col));
-}
-
-matrix_row_t matrix_get_row(uint8_t row)
-{
- return matrix[row];
-}
-
-void matrix_print(void)
-{
- xprintf("\nr/c 01234567\n");
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- xprintf("%X0: ", row);
- matrix_row_t data = matrix_get_row(row);
- for (int col = 0; col < MATRIX_COLS; col++) {
- if (data & (1<<col))
- xprintf("1");
- else
- xprintf("0");
- }
- xprintf("\n");
- }
-}
-
-void matrix_set_remote(matrix_row_t* rows, uint8_t index) {
- uint8_t offset = 0;
-#ifdef EE_HANDS
- if (eeconfig_read_handedness()) {
- offset = LOCAL_MATRIX_ROWS * (index + 1);
- } else {
- offset = MATRIX_ROWS - LOCAL_MATRIX_ROWS * (index + 2);
- }
-#elif defined(MASTER_IS_ON_RIGHT)
- offset = MATRIX_ROWS - LOCAL_MATRIX_ROWS * (index + 2);
-#else
- offset = LOCAL_MATRIX_ROWS * (index + 1);
-#endif
- for (int row = 0; row < LOCAL_MATRIX_ROWS; row++) {
- matrix[offset + row] = rows[row];
- }
-}
diff --git a/keyboards/ergodox_infinity/rules.mk b/keyboards/ergodox_infinity/rules.mk
index b9ead9e87c..fbd52cd257 100644
--- a/keyboards/ergodox_infinity/rules.mk
+++ b/keyboards/ergodox_infinity/rules.mk
@@ -12,32 +12,27 @@ MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-CUSTOM_MATRIX = yes # Custom matrix file for the ErgoDox EZ
SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
UNICODE_ENABLE = yes # Unicode
SWAP_HANDS_ENABLE= yes # Allow swapping hands of keyboard
-CUSTOM_MATRIX = yes # Custom matrix file
-SERIAL_LINK_ENABLE = yes
-VISUALIZER_ENABLE = yes
-LCD_ENABLE = yes
-BACKLIGHT_ENABLE = yes
-BACKLIGHT_DRIVER = custom
-LCD_BACKLIGHT_ENABLE = yes
MIDI_ENABLE = no
RGBLIGHT_ENABLE = no
+SPLIT_KEYBOARD = yes
+SERIAL_DRIVER = usart
+
+ST7565_ENABLE = yes
+
+LED_MATRIX_ENABLE = yes
+LED_MATRIX_DRIVER = IS31FL3731
+
+# Config for Visualizer (set VISUALIZER_ENABLE = yes and ST7565_ENABLE = no to use)
+LCD_ENABLE = yes
+LCD_BACKLIGHT_ENABLE = yes
LCD_DRIVER = st7565
LCD_WIDTH = 128
LCD_HEIGHT = 32
-LED_DRIVER = is31fl3731c
-LED_WIDTH = 7
-LED_HEIGHT = 7
-
-# project specific files
-SRC = matrix.c \
- led.c
-
LAYOUTS = ergodox
diff --git a/keyboards/ergodox_infinity/visualizer.c b/keyboards/ergodox_infinity/visualizer.c
index 4b16021abc..1ea891e830 100644
--- a/keyboards/ergodox_infinity/visualizer.c
+++ b/keyboards/ergodox_infinity/visualizer.c
@@ -30,7 +30,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "visualizer_keyframes.h"
#include "lcd_keyframes.h"
#include "lcd_backlight_keyframes.h"
-#include "system/serial_link.h"
#include "default_animations.h"
static const uint32_t logo_background_color = LCD_COLOR(0x00, 0x00, 0xFF);
@@ -177,7 +176,7 @@ static void update_emulated_leds(visualizer_state_t* state, visualizer_keyboard_
uint8_t new_index;
uint8_t old_index;
- if (is_serial_link_master()) {
+ if (is_keyboard_master()) {
new_index = get_led_index_master(user_data_new);
old_index = get_led_index_master(user_data_old);
}
diff --git a/keyboards/evil80/rules.mk b/keyboards/evil80/rules.mk
index 46b76962b6..ebf0156df1 100644
--- a/keyboards/evil80/rules.mk
+++ b/keyboards/evil80/rules.mk
@@ -27,7 +27,6 @@ AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/evyd13/plain60/keymaps/kwerdenker/keymap.c b/keyboards/evyd13/plain60/keymaps/kwerdenker/keymap.c
index 25370823df..2d736212f4 100644
--- a/keyboards/evyd13/plain60/keymaps/kwerdenker/keymap.c
+++ b/keyboards/evyd13/plain60/keymaps/kwerdenker/keymap.c
@@ -36,9 +36,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_DL] = LAYOUT(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, DE_SS, DE_ACUT, ______, KC_BSPC, \
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UE, DE_PLUS, ______, \
- SPECIAL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_OE, DE_AE, DE_HASH, KC_ENT, \
- KC_LSFT, DE_LESS, DE_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, DE_MINS, KC_RSFT, MONKEY, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UDIA, DE_PLUS, ______, \
+ SPECIAL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_ODIA,DE_ADIA, DE_HASH, KC_ENT, \
+ KC_LSFT, DE_LABK, DE_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, DE_MINS, KC_RSFT, MONKEY, \
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , ______, KC_ALGR, TG(_LED), KC_RCTL ),
[_FUN] = LAYOUT(
diff --git a/keyboards/exclusive/e65/keymaps/masterzen/keymap.c b/keyboards/exclusive/e65/keymaps/masterzen/keymap.c
index 32ed88d668..156832de4e 100644
--- a/keyboards/exclusive/e65/keymaps/masterzen/keymap.c
+++ b/keyboards/exclusive/e65/keymaps/masterzen/keymap.c
@@ -94,7 +94,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true;
}
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
if (state == BASE && edit == true) {
temp_config.hue = rgblight_get_hue();
temp_config.sat = rgblight_get_sat();
diff --git a/keyboards/exclusive/e6_rgb/e6_rgb.c b/keyboards/exclusive/e6_rgb/e6_rgb.c
index 0e248a2023..e0d313f835 100644
--- a/keyboards/exclusive/e6_rgb/e6_rgb.c
+++ b/keyboards/exclusive/e6_rgb/e6_rgb.c
@@ -11,7 +11,7 @@ void matrix_init_kb(void) {
matrix_init_user();
}
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/exclusive/e7v1/keymaps/masterzen/keymap.c b/keyboards/exclusive/e7v1/keymaps/masterzen/keymap.c
index 61a41f629c..6987e84021 100644
--- a/keyboards/exclusive/e7v1/keymaps/masterzen/keymap.c
+++ b/keyboards/exclusive/e7v1/keymaps/masterzen/keymap.c
@@ -111,7 +111,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record)
return true;
}
-uint32_t layer_state_set_user(uint32_t state)
+layer_state_t layer_state_set_user(layer_state_t state)
{
if (state == BASE && edit == true)
{
diff --git a/keyboards/fallacy/indicators.c b/keyboards/fallacy/indicators.c
index 6c80f31678..dcf1b4de07 100755
--- a/keyboards/fallacy/indicators.c
+++ b/keyboards/fallacy/indicators.c
@@ -15,7 +15,7 @@
*/
#include "indicators.h"
-#include "drivers/issi/is31fl3731-simple.h"
+#include "drivers/led/issi/is31fl3731-simple.h"
#include "i2c_master.h"
/* Set up IS31FL3731 for use in powering indicator LEDs. Absolutely overkill for this job but it was already in the design.
@@ -54,7 +54,7 @@ void set_fallacy_led(int index, bool state) {
/* define LED matrix
*/
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{0, C1_1},
{0, C2_1},
{0, C3_1},
diff --git a/keyboards/fallacy/rules.mk b/keyboards/fallacy/rules.mk
index dfc96a31b8..93e02c1695 100755
--- a/keyboards/fallacy/rules.mk
+++ b/keyboards/fallacy/rules.mk
@@ -24,7 +24,7 @@ AUDIO_ENABLE = no # Audio output
# project specific files
SRC += indicators.c \
- drivers/issi/is31fl3731-simple.c
+ drivers/led/issi/is31fl3731-simple.c
QUANTUM_LIB_SRC += i2c_master.c
LAYOUTS = alice alice_split_bs
diff --git a/keyboards/fc660c/matrix.c b/keyboards/fc660c/matrix.c
index e6e4948104..40d606f572 100644
--- a/keyboards/fc660c/matrix.c
+++ b/keyboards/fc660c/matrix.c
@@ -28,6 +28,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "timer.h"
#include "matrix.h"
#include "led.h"
+#include "avr/timer_avr.h"
// Timer resolution check
#if (1000000/TIMER_RAW_FREQ > 20)
diff --git a/keyboards/fc980c/matrix.c b/keyboards/fc980c/matrix.c
index 1126f3047a..6cdd9cf42e 100644
--- a/keyboards/fc980c/matrix.c
+++ b/keyboards/fc980c/matrix.c
@@ -28,6 +28,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "timer.h"
#include "matrix.h"
#include "led.h"
+#include "avr/timer_avr.h"
// #include QMK_KEYBOARD_H
diff --git a/keyboards/geekboards/macropad_v2/config.h b/keyboards/geekboards/macropad_v2/config.h
index 5f11cdddb0..d0e208f9b9 100644
--- a/keyboards/geekboards/macropad_v2/config.h
+++ b/keyboards/geekboards/macropad_v2/config.h
@@ -41,7 +41,7 @@
#define WS2812_DMA_CHANNEL 3
#ifdef RGB_MATRIX_ENABLE
-#define RGB_MATRIX_KEYPRESSES
+#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define DISABLE_RGB_MATRIX_ALPHAS_MODS
#define DISABLE_RGB_MATRIX_BAND_SAT
@@ -67,7 +67,7 @@
#define RGB_MATRIX_STARTUP_SPD 30
#endif //RGB_MATRIX_ENABLE
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true
+#define RGB_DISABLE_WHEN_USB_SUSPENDED
#define WAIT_FOR_USB
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
diff --git a/keyboards/geekboards/tester/config.h b/keyboards/geekboards/tester/config.h
index 4f072c0ee6..3e3daccd57 100644
--- a/keyboards/geekboards/tester/config.h
+++ b/keyboards/geekboards/tester/config.h
@@ -24,7 +24,7 @@
#define DEBOUNCE 3
#ifdef RGB_MATRIX_ENABLE
#define RGB_DISABLE_AFTER_TIMEOUT 0
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true
+#define RGB_DISABLE_WHEN_USB_SUSPENDED
#define RGB_MATRIX_KEYPRESSES
#define DISABLE_RGB_MATRIX_SPLASH
#define DISABLE_RGB_MATRIX_MULTISPLASH
@@ -36,4 +36,4 @@
#define DRIVER_1_LED_TOTAL 8
#define DRIVER_2_LED_TOTAL 0
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-#endif \ No newline at end of file
+#endif
diff --git a/keyboards/geekboards/tester/tester.c b/keyboards/geekboards/tester/tester.c
index 4fab1a7012..0c5c056cc0 100644
--- a/keyboards/geekboards/tester/tester.c
+++ b/keyboards/geekboards/tester/tester.c
@@ -1,5 +1,5 @@
#include "tester.h"
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/gergo/keymaps/drashna/keymap.c b/keyboards/gergo/keymaps/drashna/keymap.c
index 81ff6852d1..01d52ed162 100644
--- a/keyboards/gergo/keymaps/drashna/keymap.c
+++ b/keyboards/gergo/keymaps/drashna/keymap.c
@@ -37,56 +37,32 @@
KC_GRV, KC_SPC, BK_LWER, OS_LALT, OS_RGUI, DL_RAIS, KC_ENT, _______ \
)
-#define LAYOUT_gergo_base_wrapper(...) LAYOUT_gergo_base(__VA_ARGS__)
+#define LAYOUT_base_wrapper(...) LAYOUT_gergo_base(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT_gergo_base_wrapper(
+ [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper(
_________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
_________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
_________________QWERTY_L3_________________, _________________QWERTY_R3_________________
- ),
- [_COLEMAK] = LAYOUT_gergo_base_wrapper(
+ ),
+
+ [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper(
+ ______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________,
+ ______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________,
+ ______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________
+ ),
+ [_DEFAULT_LAYER_3] = LAYOUT_base_wrapper(
_________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
_________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
_________________COLEMAK_L3________________, _________________COLEMAK_R3________________
),
- [_DVORAK] = LAYOUT_gergo_base_wrapper(
+ [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper(
_________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
_________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
_________________DVORAK_L3_________________, _________________DVORAK_R3_________________
),
- [_WORKMAN] = LAYOUT_gergo_base_wrapper(
- _________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
- _________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
- _________________WORKMAN_L3________________, _________________WORKMAN_R3________________
- ),
-
- [_NORMAN] = LAYOUT_gergo_base_wrapper(
- _________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
- _________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
- _________________NORMAN_L3_________________, _________________NORMAN_R3_________________
- ),
-
- [_MALTRON] = LAYOUT_gergo_base_wrapper(
- _________________MALTRON_L1________________, _________________MALTRON_R1________________,
- _________________MALTRON_L2________________, _________________MALTRON_R2________________,
- _________________MALTRON_L3________________, _________________MALTRON_R3________________
- ),
-
- [_EUCALYN] = LAYOUT_gergo_base_wrapper(
- _________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
- _________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
- _________________EUCALYN_L3________________, _________________EUCALYN_R3________________
- ),
-
- [_CARPLAX] = LAYOUT_gergo_base_wrapper(
- _____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
- _____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
- _____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
- ),
-
[_LOWER] = LAYOUT_gergo_wrapper(
KC_F12, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_F11,
_______, _________________LOWER_L2__________________, _______, _______, _________________LOWER_R2__________________, KC_PIPE,
diff --git a/keyboards/ggkeyboards/genesis/hotswap/config.h b/keyboards/ggkeyboards/genesis/hotswap/config.h
index d435612f17..966acc1b49 100644
--- a/keyboards/ggkeyboards/genesis/hotswap/config.h
+++ b/keyboards/ggkeyboards/genesis/hotswap/config.h
@@ -19,15 +19,15 @@
#include "config_common.h"
/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBB00
-#define PRODUCT_ID 0xD4D3
-#define DEVICE_VER 0x0001
-#define MANUFACTURER GG Keyboards
-#define PRODUCT Genesis
+#define VENDOR_ID 0xBB00
+#define PRODUCT_ID 0xD4D3
+#define DEVICE_VER 0x0001
+#define MANUFACTURER GG Keyboards
+#define PRODUCT Genesis
/* key matrix size */
-#define MATRIX_ROWS 7
-#define MATRIX_COLS 18
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 18
/*
* Keyboard Matrix Assignments
@@ -39,11 +39,12 @@
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
*
*/
-#define MATRIX_ROW_PINS { C5, C4, C3, C2, C1, C0 }
-#define MATRIX_COL_PINS { F0, F1, F2, F3, F4, F5, F6, F7, A0, A1, A2, A3, A4, A5, A6, A7, C6, C7 }
+#define MATRIX_ROW_PINS \
+ { C5, C4, C3, C2, C1, C0 }
+#define MATRIX_COL_PINS \
+ { F0, F1, F2, F3, F4, F5, F6, F7, A0, A1, A2, A3, A4, A5, A6, A7, C6, C7 }
#define DIODE_DIRECTION COL2ROW
-
// generated by KBFirmware JSON to QMK Parser
-// https://noroadsleft.github.io/kbf_qmk_converter/ \ No newline at end of file
+// https://noroadsleft.github.io/kbf_qmk_converter/
diff --git a/keyboards/ggkeyboards/genesis/hotswap/hotswap.h b/keyboards/ggkeyboards/genesis/hotswap/hotswap.h
index a5ff78cca7..4469037efe 100644
--- a/keyboards/ggkeyboards/genesis/hotswap/hotswap.h
+++ b/keyboards/ggkeyboards/genesis/hotswap/hotswap.h
@@ -18,6 +18,7 @@
#include "quantum.h"
+// clang-format off
#define LAYOUT( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0F, K0G, K0H, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2F, K2G, K2H, \
@@ -27,13 +28,12 @@
K60, K61, K63, K66, K6A, K6B, K6C, K6D, K6F, K6G, K6H \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, KC_NO, KC_NO, K0F, K0G, K0H }, \
- { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, KC_NO, K2F, K2G, K2H }, \
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, K3F, K3G, K3H }, \
{ K40, KC_NO, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, KC_NO, KC_NO, KC_NO, KC_NO }, \
{ KC_NO, K51, K52, K53, K54, K55, K56, K57, K58, K59, K5A, K5B, K5C, KC_NO, KC_NO, KC_NO, K5G, KC_NO }, \
- { K60, K61, KC_NO, K63, KC_NO, KC_NO, K66, KC_NO, KC_NO, KC_NO, K6A, K6B, K6C, K6D, KC_NO, K6F, K6G, K6H }, \
+ { K60, K61, KC_NO, K63, KC_NO, KC_NO, K66, KC_NO, KC_NO, KC_NO, K6A, K6B, K6C, K6D, KC_NO, K6F, K6G, K6H } \
}
// generated by KBFirmware JSON to QMK Parser
-// https://noroadsleft.github.io/kbf_qmk_converter/ \ No newline at end of file
+// https://noroadsleft.github.io/kbf_qmk_converter/
diff --git a/keyboards/ggkeyboards/genesis/solder/config.h b/keyboards/ggkeyboards/genesis/solder/config.h
index 76586262ab..74a098f41a 100644
--- a/keyboards/ggkeyboards/genesis/solder/config.h
+++ b/keyboards/ggkeyboards/genesis/solder/config.h
@@ -26,7 +26,7 @@
#define PRODUCT Genesis
/* key matrix size */
-#define MATRIX_ROWS 7
+#define MATRIX_ROWS 6
#define MATRIX_COLS 18
/*
@@ -46,4 +46,4 @@
// generated by KBFirmware JSON to QMK Parser
-// https://noroadsleft.github.io/kbf_qmk_converter/ \ No newline at end of file
+// https://noroadsleft.github.io/kbf_qmk_converter/
diff --git a/keyboards/gh60/revc/keymaps/dbroqua/keymap.c b/keyboards/gh60/revc/keymaps/dbroqua/keymap.c
index 9666199f3c..964f40f1c0 100644
--- a/keyboards/gh60/revc/keymaps/dbroqua/keymap.c
+++ b/keyboards/gh60/revc/keymaps/dbroqua/keymap.c
@@ -94,79 +94,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_SFX] = LAYOUT_60_ansi_split_bs_rshift(
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
- ______, F(0), F(1), ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
- ______, F(2), F(3), F(4), F(5), F(6), F(7), ______, ______, ______, ______, ______, ______, \
+ ______, RGB_TOG,RGB_MOD,______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
+ ______, RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,______, ______, ______, ______, ______, ______, \
______, ______, ______, ______, ______, ______, ______, ______ \
)
};
-enum function_id {
- RGBLED_TOGGLE,
- RGBLED_STEP_MODE,
- RGBLED_INCREASE_HUE,
- RGBLED_DECREASE_HUE,
- RGBLED_INCREASE_SAT,
- RGBLED_DECREASE_SAT,
- RGBLED_INCREASE_VAL,
- RGBLED_DECREASE_VAL
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [0] = ACTION_FUNCTION(RGBLED_TOGGLE),
- [1] = ACTION_FUNCTION(RGBLED_STEP_MODE),
- [2] = ACTION_FUNCTION(RGBLED_INCREASE_HUE),
- [3] = ACTION_FUNCTION(RGBLED_DECREASE_HUE),
- [4] = ACTION_FUNCTION(RGBLED_INCREASE_SAT),
- [5] = ACTION_FUNCTION(RGBLED_DECREASE_SAT),
- [6] = ACTION_FUNCTION(RGBLED_INCREASE_VAL),
- [7] = ACTION_FUNCTION(RGBLED_DECREASE_VAL)
-};
-
-void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
- switch (id) {
- case RGBLED_TOGGLE:
- if (record->event.pressed) {
- rgblight_toggle();
- }
- break;
- case RGBLED_INCREASE_HUE:
- if (record->event.pressed) {
- rgblight_increase_hue();
- }
- break;
- case RGBLED_DECREASE_HUE:
- if (record->event.pressed) {
- rgblight_decrease_hue();
- }
- break;
- case RGBLED_INCREASE_SAT:
- if (record->event.pressed) {
- rgblight_increase_sat();
- }
- break;
- case RGBLED_DECREASE_SAT:
- if (record->event.pressed) {
- rgblight_decrease_sat();
- }
- break;
- case RGBLED_INCREASE_VAL:
- if (record->event.pressed) {
- rgblight_increase_val();
- }
- break;
- case RGBLED_DECREASE_VAL:
- if (record->event.pressed) {
- rgblight_decrease_val();
- }
- break;
- case RGBLED_STEP_MODE:
- if (record->event.pressed) {
- rgblight_step();
- }
- break;
- }
-}
-
void matrix_scan_user(void) {
uint32_t layer = layer_state;
diff --git a/keyboards/gh60/revc/keymaps/dbroqua_7U/keymap.c b/keyboards/gh60/revc/keymaps/dbroqua_7U/keymap.c
index 5b58d7686a..a79b89e9c2 100644
--- a/keyboards/gh60/revc/keymaps/dbroqua_7U/keymap.c
+++ b/keyboards/gh60/revc/keymaps/dbroqua_7U/keymap.c
@@ -3,6 +3,10 @@
#define _DEFAULT 0
#define _FN 1
+enum custom_keycodes {
+ LED_TOGGLE = SAFE_RANGE
+};
+
int esc_led = 0;
// Fillers to make layering more clear
@@ -44,7 +48,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------'
*/
[_FN] = LAYOUT_60_ansi_split_bs_rshift( /* Layer 1 */
- F(0), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, \
+ LED_TOGGLE,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, \
KC_CAPS, ______, ______, ______, ______, ______, ______, ______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, ______, ______, \
______, KC_VOLD, KC_VOLU, KC_MUTE, ______, ______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT,______, \
______, KC_MPRV, KC_MPLY, KC_MNXT, ______, ______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, ______, ______, \
@@ -52,14 +56,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
)
};
-enum function_id {
- LED_TOGGLE
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [0] = ACTION_FUNCTION(LED_TOGGLE)
-};
-
void esc_led_toggle(void) {
if (esc_led == 0){
esc_led = 1;
@@ -70,12 +66,13 @@ void esc_led_toggle(void) {
}
}
-void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
- switch (id) {
- case LED_TOGGLE:
- if (record->event.pressed) {
- esc_led_toggle();
- }
- break;
- }
-} \ No newline at end of file
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case LED_TOGGLE:
+ if (record->event.pressed) {
+ esc_led_toggle();
+ }
+ return false;
+ }
+ return true;
+}
diff --git a/keyboards/gh60/revc/keymaps/default_abnt2/keymap.c b/keyboards/gh60/revc/keymaps/default_abnt2/keymap.c
index 633b053e69..493bee1cd4 100644
--- a/keyboards/gh60/revc/keymaps/default_abnt2/keymap.c
+++ b/keyboards/gh60/revc/keymaps/default_abnt2/keymap.c
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BL] = LAYOUT_60_abnt2(
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, BR_ACUT, BR_LBRC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, BR_CCDL, BR_TILD, BR_RBRC, KC_ENT,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, BR_CCED, BR_TILD, BR_RBRC, KC_ENT,
KC_LSFT, BR_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, BR_SCLN, BR_SLSH, KC_RSFT,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FL), KC_RCTL),
diff --git a/keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c b/keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c
index 770fe723b5..b84e7564fc 100644
--- a/keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c
+++ b/keyboards/gh60/revc/keymaps/robotmaxtron/keymap.c
@@ -21,7 +21,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------'
*/
[_BL] = LAYOUT(
- F(12),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_GESC,KC_1,KC_2,KC_3,KC_4,KC_5,KC_6,KC_7,KC_8,KC_9,KC_0,KC_MINS,KC_EQL,KC_BSPC, \
KC_TAB,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_O,KC_P,KC_LBRC,KC_RBRC,KC_BSLS, \
LT(2, KC_CAPS),KC_A,KC_S,KC_D,KC_F,KC_G,KC_H,KC_J,KC_K,KC_L,KC_SCLN,KC_QUOT,KC_NO,KC_ENT, \
KC_LSFT,KC_NO,KC_Z,KC_X,KC_C,KC_V,KC_B,KC_N,KC_M,KC_COMM,KC_DOT,KC_SLSH,KC_NO,KC_RSFT, \
@@ -88,35 +88,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_UL] = LAYOUT(
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
- KC_TRNS,F(4),F(5),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
- KC_TRNS,KC_TRNS,KC_TRNS,F(6),F(7),F(8),F(9),F(10),F(11),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
+ KC_TRNS,RGB_TOG,RGB_MOD,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
+ KC_TRNS,KC_TRNS,KC_TRNS,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, \
KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS),
};
-enum function_id {
- RGBLED_TOGGLE,
- RGBLED_STEP_MODE,
- RGBLED_INCREASE_HUE,
- RGBLED_DECREASE_HUE,
- RGBLED_INCREASE_SAT,
- RGBLED_DECREASE_SAT,
- RGBLED_INCREASE_VAL,
- RGBLED_DECREASE_VAL,
- SHIFT_ESC,
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [4] = ACTION_FUNCTION(RGBLED_TOGGLE), //Turn on/off underglow
- [5] = ACTION_FUNCTION(RGBLED_STEP_MODE), // Change underglow mode
- [6] = ACTION_FUNCTION(RGBLED_INCREASE_HUE),
- [7] = ACTION_FUNCTION(RGBLED_DECREASE_HUE),
- [8] = ACTION_FUNCTION(RGBLED_INCREASE_SAT),
- [9] = ACTION_FUNCTION(RGBLED_DECREASE_SAT),
- [10] = ACTION_FUNCTION(RGBLED_INCREASE_VAL),
- [11] = ACTION_FUNCTION(RGBLED_DECREASE_VAL),
- [12] = ACTION_FUNCTION(SHIFT_ESC),
-};
-
void matrix_scan_user(void) {
// Layer LED indicators
@@ -134,73 +110,3 @@ void matrix_scan_user(void) {
gh60_esc_led_off();
}
};
-
-#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
-
-void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
- switch (id) {
- case RGBLED_TOGGLE:
- //led operations
- if (record->event.pressed) {
- rgblight_toggle();
- }
- break;
- case RGBLED_INCREASE_HUE:
- if (record->event.pressed) {
- rgblight_increase_hue();
- }
- break;
- case RGBLED_DECREASE_HUE:
- if (record->event.pressed) {
- rgblight_decrease_hue();
- }
- break;
- case RGBLED_INCREASE_SAT:
- if (record->event.pressed) {
- rgblight_increase_sat();
- }
- break;
- case RGBLED_DECREASE_SAT:
- if (record->event.pressed) {
- rgblight_decrease_sat();
- }
- break;
- case RGBLED_INCREASE_VAL:
- if (record->event.pressed) {
- rgblight_increase_val();
- }
- break;
- case RGBLED_DECREASE_VAL:
- if (record->event.pressed) {
- rgblight_decrease_val();
- }
- break;
- case RGBLED_STEP_MODE:
- if (record->event.pressed) {
- rgblight_step();
- }
- break;
- static uint8_t shift_esc_shift_mask;
- // Shift + ESC = ~
- case SHIFT_ESC:
- shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
- if (record->event.pressed) {
- if (shift_esc_shift_mask) {
- add_key(KC_GRV);
- send_keyboard_report();
- } else {
- add_key(KC_ESC);
- send_keyboard_report();
- }
- } else {
- if (shift_esc_shift_mask) {
- del_key(KC_GRV);
- send_keyboard_report();
- } else {
- del_key(KC_ESC);
- send_keyboard_report();
- }
- }
- break;
- }
-};
diff --git a/keyboards/gh60/revc/keymaps/sethbc/keymap.c b/keyboards/gh60/revc/keymaps/sethbc/keymap.c
index 09a8d49eeb..1557d109b4 100644
--- a/keyboards/gh60/revc/keymaps/sethbc/keymap.c
+++ b/keyboards/gh60/revc/keymaps/sethbc/keymap.c
@@ -1,12 +1,9 @@
#include QMK_KEYBOARD_H
-#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
-
-
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* 0: qwerty */
LAYOUT_60_ansi_split_bs_rshift(
- F(0),KC_1,KC_2,KC_3,KC_4,KC_5,KC_6,KC_7,KC_8,KC_9,KC_0,KC_MINS,KC_EQL,KC_BSLS,KC_GRV,\
+ KC_GESC,KC_1,KC_2,KC_3,KC_4,KC_5,KC_6,KC_7,KC_8,KC_9,KC_0,KC_MINS,KC_EQL,KC_BSLS,KC_GRV,\
KC_TAB,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,KC_U,KC_I,KC_O,KC_P,KC_LBRC,KC_RBRC,KC_BSPC,\
KC_LCTL,KC_A,KC_S,KC_D,KC_F,KC_G,KC_H,KC_J,KC_K,KC_L,KC_SCLN,KC_QUOT,KC_ENT,\
KC_LSFT,KC_Z,KC_X,KC_C,KC_V,KC_B,KC_N,KC_M,KC_COMM,KC_DOT,KC_SLSH,KC_RSFT,MO(1),\
@@ -19,37 +16,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PPLS,KC_PMNS,KC_END,KC_PGDN,KC_DOWN,KC_TRNS,KC_TRNS,\
KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS),
};
-
-enum function_id {
- SHIFT_ESC,
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [0] = ACTION_FUNCTION(SHIFT_ESC),
-};
-
-void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
- static uint8_t shift_esc_shift_mask;
- switch (id) {
- case SHIFT_ESC:
- shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
- if (record->event.pressed) {
- if (shift_esc_shift_mask) {
- add_key(KC_GRV);
- send_keyboard_report();
- } else {
- add_key(KC_ESC);
- send_keyboard_report();
- }
- } else {
- if (shift_esc_shift_mask) {
- del_key(KC_GRV);
- send_keyboard_report();
- } else {
- del_key(KC_ESC);
- send_keyboard_report();
- }
- }
- break;
- }
-}
diff --git a/keyboards/gh60/satan/keymaps/addcninblue/rules.mk b/keyboards/gh60/satan/keymaps/addcninblue/rules.mk
index fd7f34300b..2193708706 100644
--- a/keyboards/gh60/satan/keymaps/addcninblue/rules.mk
+++ b/keyboards/gh60/satan/keymaps/addcninblue/rules.mk
@@ -18,4 +18,3 @@ UCIS_ENABLE = no # Keep in mind that not all will work (See WinCompose
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-API_SYSEX_ENABLE = no # This enables using the Quantum SYSEX API to send strings
diff --git a/keyboards/gh60/satan/keymaps/admiralStrokers/rules.mk b/keyboards/gh60/satan/keymaps/admiralStrokers/rules.mk
index 7c3f5bd90b..b409d10bd6 100644
--- a/keyboards/gh60/satan/keymaps/admiralStrokers/rules.mk
+++ b/keyboards/gh60/satan/keymaps/admiralStrokers/rules.mk
@@ -18,5 +18,3 @@ UCIS_ENABLE = no # Keep in mind that not all will work (See WinCompose for detai
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
SLEEP_LED_ENABLE = no# Breathing sleep LED during USB suspend
-API_SYSEX_ENABLE = no # This enables using the Quantum SYSEX API to send strings
-
diff --git a/keyboards/gh60/satan/keymaps/chaser/keymap.c b/keyboards/gh60/satan/keymaps/chaser/keymap.c
index edba9a3091..4427f793e8 100644
--- a/keyboards/gh60/satan/keymaps/chaser/keymap.c
+++ b/keyboards/gh60/satan/keymaps/chaser/keymap.c
@@ -1,10 +1,5 @@
#include QMK_KEYBOARD_H
-
-
-// Used for SHIFT_ESC
-#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
-
// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
@@ -27,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------'
*/
[_BL] = LAYOUT_all(
- F(0) ,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_GESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_MINS,KC_EQL ,KC_BSPC , _______, \
KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_LBRC,KC_RBRC,KC_BSLS , \
KC_CAPS ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN,KC_QUOT,_______,KC_ENT , \
KC_LSHIFT ,_______,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_UP ,MO(_FL) , \
@@ -52,37 +47,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______ ,_______ ,_______ ,_______ ,_______ ,_______,_______,_______,_______,_______,_______,_______,KC_PGUP ,_______ , \
KC_LCTL ,_______ ,KC_LALT , _______, KC_RCTL,KC_HOME,KC_PGDOWN ,KC_END ),
};
-
-enum function_id {
- SHIFT_ESC,
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [0] = ACTION_FUNCTION(SHIFT_ESC),
-};
-
-void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
- static uint8_t shift_esc_shift_mask;
- switch (id) {
- case SHIFT_ESC:
- shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
- if (record->event.pressed) {
- if (shift_esc_shift_mask) {
- add_key(KC_GRV);
- send_keyboard_report();
- } else {
- add_key(KC_ESC);
- send_keyboard_report();
- }
- } else {
- if (shift_esc_shift_mask) {
- del_key(KC_GRV);
- send_keyboard_report();
- } else {
- del_key(KC_ESC);
- send_keyboard_report();
- }
- }
- break;
- }
-}
diff --git a/keyboards/gh60/satan/keymaps/dbroqua/keymap.c b/keyboards/gh60/satan/keymaps/dbroqua/keymap.c
index a9a54bf764..79fa86d18d 100644
--- a/keyboards/gh60/satan/keymaps/dbroqua/keymap.c
+++ b/keyboards/gh60/satan/keymaps/dbroqua/keymap.c
@@ -71,75 +71,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_SFX] = LAYOUT_60_ansi_split_bs_rshift(
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, RESET, \
______, BL_DEC, BL_INC, BL_TOGG,______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
- ______, F(0), F(1), ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
- ______, F(2), F(3), F(4), F(5), F(6), F(7), ______, ______, ______, ______, ______, ______, \
+ ______, RGB_TOG,RGB_MOD,______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
+ ______, RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,______, ______, ______, ______, ______, ______, \
______, ______, ______, ______, ______, ______, ______, ______ \
)
};
-
-enum function_id {
- RGBLED_TOGGLE,
- RGBLED_STEP_MODE,
- RGBLED_INCREASE_HUE,
- RGBLED_DECREASE_HUE,
- RGBLED_INCREASE_SAT,
- RGBLED_DECREASE_SAT,
- RGBLED_INCREASE_VAL,
- RGBLED_DECREASE_VAL
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [0] = ACTION_FUNCTION(RGBLED_TOGGLE),
- [1] = ACTION_FUNCTION(RGBLED_STEP_MODE),
- [2] = ACTION_FUNCTION(RGBLED_INCREASE_HUE),
- [3] = ACTION_FUNCTION(RGBLED_DECREASE_HUE),
- [4] = ACTION_FUNCTION(RGBLED_INCREASE_SAT),
- [5] = ACTION_FUNCTION(RGBLED_DECREASE_SAT),
- [6] = ACTION_FUNCTION(RGBLED_INCREASE_VAL),
- [7] = ACTION_FUNCTION(RGBLED_DECREASE_VAL)
-};
-
-void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
- switch (id) {
- case RGBLED_TOGGLE:
- if (record->event.pressed) {
- rgblight_toggle();
- }
- break;
- case RGBLED_INCREASE_HUE:
- if (record->event.pressed) {
- rgblight_increase_hue();
- }
- break;
- case RGBLED_DECREASE_HUE:
- if (record->event.pressed) {
- rgblight_decrease_hue();
- }
- break;
- case RGBLED_INCREASE_SAT:
- if (record->event.pressed) {
- rgblight_increase_sat();
- }
- break;
- case RGBLED_DECREASE_SAT:
- if (record->event.pressed) {
- rgblight_decrease_sat();
- }
- break;
- case RGBLED_INCREASE_VAL:
- if (record->event.pressed) {
- rgblight_increase_val();
- }
- break;
- case RGBLED_DECREASE_VAL:
- if (record->event.pressed) {
- rgblight_decrease_val();
- }
- break;
- case RGBLED_STEP_MODE:
- if (record->event.pressed) {
- rgblight_step();
- }
- break;
- }
-}
diff --git a/keyboards/gh60/satan/keymaps/dende_iso/keymap.c b/keyboards/gh60/satan/keymaps/dende_iso/keymap.c
index e6187c1615..48cd66d415 100644
--- a/keyboards/gh60/satan/keymaps/dende_iso/keymap.c
+++ b/keyboards/gh60/satan/keymaps/dende_iso/keymap.c
@@ -29,9 +29,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_DEF] = LAYOUT_60_iso_split_bs_rshift(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, DE_SS, DE_ACUT, KC_BSPC, MO(_FNK), \
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UE, DE_PLUS, \
- FN_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_OE, DE_AE, DE_HASH, KC_ENT, \
- KC_LSFT, DE_LESS, DE_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, DE_MINS, KC_RSFT, KC_DELETE, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UDIA, DE_PLUS, \
+ FN_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_ODIA, DE_ADIA, DE_HASH, KC_ENT, \
+ KC_LSFT, DE_LABK, DE_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, DE_MINS, KC_RSFT, KC_DELETE, \
KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_ALGR, KC_RGUI, KC_APP, KC_RCTL),
diff --git a/keyboards/gh60/satan/keymaps/denolfe/keymap.c b/keyboards/gh60/satan/keymaps/denolfe/keymap.c
index a70c409fe8..612c5075e6 100644
--- a/keyboards/gh60/satan/keymaps/denolfe/keymap.c
+++ b/keyboards/gh60/satan/keymaps/denolfe/keymap.c
@@ -5,9 +5,6 @@
#include "rgblight.h"
#endif
-// Used for SHIFT_ESC
-#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
-
// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
@@ -31,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------'
*/
[_BL] = LAYOUT_60_ansi(
- F(0), 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_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \
MO(_FL), 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, \
@@ -55,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, \
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_INC, BL_TOGG, \
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
- KC_TRNS, F(1), F(2), F(3), F(4), F(5), F(6), F(7), F(8), KC_TRNS, KC_TRNS, KC_TRNS, \
+ KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, \
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
#else
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, \
@@ -72,100 +69,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, BL_DEC, BL_TOGG, BL_INC, LSFT(KC_HOME), LCTL(LSFT(KC_LEFT)), LCTL(LSFT(KC_END)), LCTL(LSFT(KC_RIGHT)), KC_TRNS, RESET, \
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
};
-
-enum function_id {
- SHIFT_ESC,
- #ifdef RGBLIGHT_ENABLE
- RGBLED_TOGGLE,
- RGBLED_STEP_MODE,
- RGBLED_INCREASE_HUE,
- RGBLED_DECREASE_HUE,
- RGBLED_INCREASE_SAT,
- RGBLED_DECREASE_SAT,
- RGBLED_INCREASE_VAL,
- RGBLED_DECREASE_VAL
- #endif
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [0] = ACTION_FUNCTION(SHIFT_ESC),
- #ifdef RGBLIGHT_ENABLE
- [1] = ACTION_FUNCTION(RGBLED_TOGGLE),
- [2] = ACTION_FUNCTION(RGBLED_STEP_MODE),
- [3] = ACTION_FUNCTION(RGBLED_INCREASE_HUE),
- [4] = ACTION_FUNCTION(RGBLED_DECREASE_HUE),
- [5] = ACTION_FUNCTION(RGBLED_INCREASE_SAT),
- [6] = ACTION_FUNCTION(RGBLED_DECREASE_SAT),
- [7] = ACTION_FUNCTION(RGBLED_INCREASE_VAL),
- [8] = ACTION_FUNCTION(RGBLED_DECREASE_VAL),
- #endif
-};
-
-void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
- static uint8_t shift_esc_shift_mask;
- switch (id) {
- case SHIFT_ESC:
- shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
- if (record->event.pressed) {
- if (shift_esc_shift_mask) {
- add_key(KC_GRV);
- send_keyboard_report();
- } else {
- add_key(KC_ESC);
- send_keyboard_report();
- }
- } else {
- if (shift_esc_shift_mask) {
- del_key(KC_GRV);
- send_keyboard_report();
- } else {
- del_key(KC_ESC);
- send_keyboard_report();
- }
- }
- break;
- //led operations
- #ifdef RGBLIGHT_ENABLE
- case RGBLED_TOGGLE:
- if (record->event.pressed) {
- rgblight_toggle();
- }
- break;
- case RGBLED_INCREASE_HUE:
- if (record->event.pressed) {
- rgblight_increase_hue();
- }
- break;
- case RGBLED_DECREASE_HUE:
- if (record->event.pressed) {
- rgblight_decrease_hue();
- }
- break;
- case RGBLED_INCREASE_SAT:
- if (record->event.pressed) {
- rgblight_increase_sat();
- }
- break;
- case RGBLED_DECREASE_SAT:
- if (record->event.pressed) {
- rgblight_decrease_sat();
- }
- break;
- case RGBLED_INCREASE_VAL:
- if (record->event.pressed) {
- rgblight_increase_val();
- }
- break;
- case RGBLED_DECREASE_VAL:
- if (record->event.pressed) {
- rgblight_decrease_val();
- }
- break;
- case RGBLED_STEP_MODE:
- if (record->event.pressed) {
- rgblight_step();
- }
- break;
- #endif
- }
-}
diff --git a/keyboards/gh60/satan/keymaps/isoHHKB/keymap.c b/keyboards/gh60/satan/keymaps/isoHHKB/keymap.c
index 46d66e5db6..d6647cbb30 100644
--- a/keyboards/gh60/satan/keymaps/isoHHKB/keymap.c
+++ b/keyboards/gh60/satan/keymaps/isoHHKB/keymap.c
@@ -1,8 +1,5 @@
#include QMK_KEYBOARD_H
-// Used for SHIFT_ESC
-#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
-
// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
@@ -31,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*
*/
[_BL] = LAYOUT_60_iso_split_rshift( \
- F(0), 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_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
KC_LCTRL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENYE, KC_SCLN, KC_QUOT, KC_ENT,
OSM(MOD_LSFT), _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, OSM(MOD_RSFT), MO(_FL),
@@ -61,40 +58,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
-enum function_id {
- SHIFT_ESC,
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [0] = ACTION_FUNCTION(SHIFT_ESC),
-};
-
-void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
- static uint8_t shift_esc_shift_mask;
- switch (id) {
- case SHIFT_ESC:
- shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
- if (record->event.pressed) {
- if (shift_esc_shift_mask) {
- add_key(KC_GRV);
- send_keyboard_report();
- } else {
- add_key(KC_ESC);
- send_keyboard_report();
- }
- } else {
- if (shift_esc_shift_mask) {
- del_key(KC_GRV);
- send_keyboard_report();
- } else {
- del_key(KC_ESC);
- send_keyboard_report();
- }
- }
- break;
- }
-};
-
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
switch(keycode) {
diff --git a/keyboards/gh60/satan/keymaps/sethbc/keymap.c b/keyboards/gh60/satan/keymaps/sethbc/keymap.c
index 2a25b2b6b4..63d65ca23c 100644
--- a/keyboards/gh60/satan/keymaps/sethbc/keymap.c
+++ b/keyboards/gh60/satan/keymaps/sethbc/keymap.c
@@ -1,9 +1,5 @@
#include QMK_KEYBOARD_H
-
-// Used for SHIFT_ESC
-#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
-
// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
@@ -26,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------'
*/
[_BL] = LAYOUT_60_ansi_split_bs_rshift(
- F(0), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
+ KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, \
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, \
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FL), \
@@ -49,37 +45,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#endif
),
};
-
-enum function_id {
- SHIFT_ESC,
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [0] = ACTION_FUNCTION(SHIFT_ESC),
-};
-
-void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
- static uint8_t shift_esc_shift_mask;
- switch (id) {
- case SHIFT_ESC:
- shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
- if (record->event.pressed) {
- if (shift_esc_shift_mask) {
- add_key(KC_GRV);
- send_keyboard_report();
- } else {
- add_key(KC_ESC);
- send_keyboard_report();
- }
- } else {
- if (shift_esc_shift_mask) {
- del_key(KC_GRV);
- send_keyboard_report();
- } else {
- del_key(KC_ESC);
- send_keyboard_report();
- }
- }
- break;
- }
-}
diff --git a/keyboards/gh60/satan/keymaps/stanleylai/keymap.c b/keyboards/gh60/satan/keymaps/stanleylai/keymap.c
index 633719a88b..e3cbae285d 100644
--- a/keyboards/gh60/satan/keymaps/stanleylai/keymap.c
+++ b/keyboards/gh60/satan/keymaps/stanleylai/keymap.c
@@ -1,9 +1,5 @@
#include QMK_KEYBOARD_H
-
-// Used for SHIFT_ESC
-#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
-
// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
@@ -19,7 +15,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Base Default Layer
// Mac Modifier Layout. Use BootMagic to toggle GUI and ALT positions.
[_BL] = LAYOUT_60_ansi_split_bs_rshift(
- F(0), 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, XXXXXXX, \
+ KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, XXXXXXX, \
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, \
LT(_FL, KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, MO(_FL), \
@@ -52,37 +48,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#endif
),
};
-
-enum function_id {
- SHIFT_ESC,
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [0] = ACTION_FUNCTION(SHIFT_ESC),
-};
-
-void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
- static uint8_t shift_esc_shift_mask;
- switch (id) {
- case SHIFT_ESC:
- shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
- if (record->event.pressed) {
- if (shift_esc_shift_mask) {
- add_key(KC_GRV);
- send_keyboard_report();
- } else {
- add_key(KC_ESC);
- send_keyboard_report();
- }
- } else {
- if (shift_esc_shift_mask) {
- del_key(KC_GRV);
- send_keyboard_report();
- } else {
- del_key(KC_ESC);
- send_keyboard_report();
- }
- }
- break;
- }
-}
diff --git a/keyboards/gh60/satan/keymaps/unxmaal/keymap.c b/keyboards/gh60/satan/keymaps/unxmaal/keymap.c
index f311ebeebb..8d9b1dc45d 100644
--- a/keyboards/gh60/satan/keymaps/unxmaal/keymap.c
+++ b/keyboards/gh60/satan/keymaps/unxmaal/keymap.c
@@ -1,10 +1,5 @@
#include QMK_KEYBOARD_H
-
-
-// Used for SHIFT_ESC
-#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
-
// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
@@ -87,37 +82,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#endif
),
};
-
-enum function_id {
- SHIFT_ESC,
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [0] = ACTION_FUNCTION(SHIFT_ESC),
-};
-
-void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
- static uint8_t shift_esc_shift_mask;
- switch (id) {
- case SHIFT_ESC:
- shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
- if (record->event.pressed) {
- if (shift_esc_shift_mask) {
- add_key(KC_GRV);
- send_keyboard_report();
- } else {
- add_key(KC_ESC);
- send_keyboard_report();
- }
- } else {
- if (shift_esc_shift_mask) {
- del_key(KC_GRV);
- send_keyboard_report();
- } else {
- del_key(KC_ESC);
- send_keyboard_report();
- }
- }
- break;
- }
-}
diff --git a/keyboards/gmmk/pro/ansi/ansi.c b/keyboards/gmmk/pro/ansi/ansi.c
new file mode 100644
index 0000000000..1df3319fd2
--- /dev/null
+++ b/keyboards/gmmk/pro/ansi/ansi.c
@@ -0,0 +1,241 @@
+/* Copyright 2021 Gigahawk
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 "ansi.h"
+
+#ifdef RGB_MATRIX_ENABLE
+// clang-format off
+led_config_t g_led_config = {{
+ { 4, NO_LED, NO_LED, 95, 65, 79, 5, 28 },
+ { 8, 2, 9, 0, 10, 75, 1, 7 },
+ { 14, 3, 15, NO_LED, 16, 86, 6, 13 },
+ { 20, 18, 21, 23, 22, 94, 12, 19 },
+ { 25, 30, 26, 31, 27, 32, 29, 24 },
+ { 41, 36, 42, 37, 43, 38, 35, 40 },
+ { 46, 89, 47, 34, 48, 72, 78, 45 },
+ { 52, 39, 53, 97, 54, 82, 44, 51 },
+ { 58, 63, 59, 64, NO_LED, 60, 62, 57 },
+ { 11, 90, 55, 17, 33, 49, NO_LED, 69 },
+ { NO_LED, 85, 93, 61, 96, 66, 50, 56 }
+}, {
+ {0, 0}, // 0, ESC, k13
+ {0, 15}, // 1, ~, k16
+ {4, 26}, // 2, Tab, k11
+ {5, 38}, // 3, Caps, k21
+ {9, 49}, // 4, Sh_L, k00
+ {2, 61}, // 5, Ct_L, k06
+ {18, 0}, // 6, F1, k26
+ {14, 15}, // 7, 1, k17
+ {22, 26}, // 8, Q, k10
+ {25, 38}, // 9, A, k12
+ {33, 49}, // 10, Z, k14
+ {20, 61}, // 11, Win_L, k90
+ {33, 0}, // 12, F2, k36
+ {29, 15}, // 13, 2, k27
+ {36, 26}, // 14, W, k20
+ {40, 38}, // 15, S, k22
+ {47, 49}, // 16, X, k24
+ {38, 61}, // 17, Alt_L, k93
+ {47, 0}, // 18, F3, k31
+ {43, 15}, // 19, 3, k37
+ {51, 26}, // 20, E, k30
+ {54, 38}, // 21, D, k32
+ {61, 49}, // 22, C, k34
+ {61, 0}, // 23, F4, k33
+ {58, 15}, // 24, 4, k47
+ {65, 26}, // 25, R, k40
+ {69, 38}, // 26, F, k42
+ {76, 49}, // 27, V, k44
+ {79, 0}, // 28, F5, k07
+ {72, 15}, // 29, 5, k46
+ {79, 26}, // 30, T, k41
+ {83, 38}, // 31, G, k43
+ {90, 49}, // 32, B, k45
+ {92, 61}, // 33, SPACE, k94
+ {94, 0}, // 34, F6, k63
+ {87, 15}, // 35, 6, k56
+ {94, 26}, // 36, Y, k51
+ {98, 38}, // 37, H, k53
+ {105, 49}, // 38, N, k55
+ {108, 0}, // 39, F7, k71
+ {101, 15}, // 40, 7, k57
+ {108, 26}, // 41, U, k50
+ {112, 38}, // 42, J, k52
+ {119, 49}, // 43, M, k54
+ {123, 0}, // 44, F8, k76
+ {116, 15}, // 45, 8, k67
+ {123, 26}, // 46, I, k60
+ {126, 38}, // 47, K, k62
+ {134, 49}, // 48, ,, k64
+ {145, 61}, // 49, Alt_R, k95
+ {141, 0}, // 50, F9, ka6
+ {130, 15}, // 51, 9, k77
+ {137, 26}, // 52, O, k70
+ {141, 38}, // 53, L, k72
+ {148, 49}, // 54, ., k74
+ {159, 61}, // 55, FN, k92
+ {155, 0}, // 56, F10, ka7
+ {145, 15}, // 57, 0, k87
+ {152, 26}, // 58, P, k80
+ {155, 38}, // 59, ;, k82
+ {163, 49}, // 60, ?, k85
+ {170, 0}, // 61, F11, ka3
+ {159, 15}, // 62, -, k86
+ {166, 26}, // 63, [, k81
+ {170, 38}, // 64, ", k83
+ {173, 61}, // 65, Ct_R, k04
+ {184, 0}, // 66, F12, ka5
+ {0, 8}, // 67, LED, l01
+ {224, 8}, // 68, LED, l11
+ {202, 0}, // 69, Prt, k97
+ {0, 15}, // 70, LED, l02
+ {224, 15}, // 71, LED, l12
+ {224, 15}, // 72, Del, k65
+ {0, 21}, // 73, LED, l03
+ {224, 21}, // 74, LED, l13
+ {224, 26}, // 75, PgUp, k15
+ {0, 28}, // 76, LED, l04
+ {224, 28}, // 77, LED, l14
+ {173, 15}, // 78, =, k66
+ {220, 64}, // 79, Right, k05
+ {0, 35}, // 80, LED, l05
+ {224, 35}, // 81, LED, l15
+ {224, 49}, // 82, End, k75
+ {0, 42}, // 83, LED, l06
+ {224, 42}, // 84, LED, l16
+ {195, 15}, // 85, BSpc, ka1
+ {224, 38}, // 86, PgDn, k25
+ {0, 48}, // 87, LED, l07
+ {224, 48}, // 88, LED, l17
+ {181, 26}, // 89, ], k61
+ {182, 49}, // 90, Sh_R, k91
+ {0, 55}, // 91, LED, l08
+ {224, 55}, // 92, LED, l18
+ {199, 26}, // 93, \, ka2
+ {206, 52}, // 94, Up, k35
+ {191, 64}, // 95, Left, k03
+ {193, 38}, // 96, Enter, ka4
+ {206, 64} // 97, Down, k73
+}, {
+ 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, 2, 2, 4, 2, 2, 4, 2, 2,
+ 4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4
+}};
+
+const aw_led g_aw_leds[DRIVER_LED_TOTAL] = {
+ {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 0, ESC, k13
+ {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 1, ~, k16
+ {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 2, Tab, k11
+ {0, CS10_SW1, CS11_SW1, CS12_SW1}, // 3, Caps, k21
+ {0, CS13_SW1, CS14_SW1, CS15_SW1}, // 4, Sh_L, k00
+ {0, CS16_SW1, CS17_SW1, CS18_SW1}, // 5, Ct_L, k06
+ {0, CS1_SW2, CS2_SW2, CS3_SW2}, // 6, F1, k26
+ {0, CS4_SW2, CS5_SW2, CS6_SW2}, // 7, 1, k17
+ {0, CS7_SW2, CS8_SW2, CS9_SW2}, // 8, Q, k10
+ {0, CS10_SW2, CS11_SW2, CS12_SW2}, // 9, A, k12
+ {0, CS13_SW2, CS14_SW2, CS15_SW2}, // 10, Z, k14
+ {0, CS16_SW2, CS17_SW2, CS18_SW2}, // 11, Win_L, k90
+ {0, CS1_SW3, CS2_SW3, CS3_SW3}, // 12, F2, k36
+ {0, CS4_SW3, CS5_SW3, CS6_SW3}, // 13, 2, k27
+ {0, CS7_SW3, CS8_SW3, CS9_SW3}, // 14, W, k20
+ {0, CS10_SW3, CS11_SW3, CS12_SW3}, // 15, S, k22
+ {0, CS13_SW3, CS14_SW3, CS15_SW3}, // 16, X, k24
+ {0, CS16_SW3, CS17_SW3, CS18_SW3}, // 17, Alt_L, k93
+ {0, CS1_SW4, CS2_SW4, CS3_SW4}, // 18, F3, k31
+ {0, CS4_SW4, CS5_SW4, CS6_SW4}, // 19, 3, k37
+ {0, CS7_SW4, CS8_SW4, CS9_SW4}, // 20, E, k30
+ {0, CS10_SW4, CS11_SW4, CS12_SW4}, // 21, D, k32
+ {0, CS13_SW4, CS14_SW4, CS15_SW4}, // 22, C, k34
+ {0, CS1_SW5, CS2_SW5, CS3_SW5}, // 23, F4, k33
+ {0, CS4_SW5, CS5_SW5, CS6_SW5}, // 24, 4, k47
+ {0, CS7_SW5, CS8_SW5, CS9_SW5}, // 25, R, k40
+ {0, CS10_SW5, CS11_SW5, CS12_SW5}, // 26, F, k42
+ {0, CS13_SW5, CS14_SW5, CS15_SW5}, // 27, V, k44
+ {0, CS1_SW6, CS2_SW6, CS3_SW6}, // 28, F5, k07
+ {0, CS4_SW6, CS5_SW6, CS6_SW6}, // 29, 5, k46
+ {0, CS7_SW6, CS8_SW6, CS9_SW6}, // 30, T, k41
+ {0, CS10_SW6, CS11_SW6, CS12_SW6}, // 31, G, k43
+ {0, CS13_SW6, CS14_SW6, CS15_SW6}, // 32, B, k45
+ {0, CS16_SW6, CS17_SW6, CS18_SW6}, // 33, SPACE, k94
+ {0, CS1_SW7, CS2_SW7, CS3_SW7}, // 34, F6, k63
+ {0, CS4_SW7, CS5_SW7, CS6_SW7}, // 35, 6, k56
+ {0, CS7_SW7, CS8_SW7, CS9_SW7}, // 36, Y, k51
+ {0, CS10_SW7, CS11_SW7, CS12_SW7}, // 37, H, k53
+ {0, CS13_SW7, CS14_SW7, CS15_SW7}, // 38, N, k55
+ {0, CS1_SW8, CS2_SW8, CS3_SW8}, // 39, F7, k71
+ {0, CS4_SW8, CS5_SW8, CS6_SW8}, // 40, 7, k57
+ {0, CS7_SW8, CS8_SW8, CS9_SW8}, // 41, U, k50
+ {0, CS10_SW8, CS11_SW8, CS12_SW8}, // 42, J, k52
+ {0, CS13_SW8, CS14_SW8, CS15_SW8}, // 43, M, k54
+ {0, CS1_SW9, CS2_SW9, CS3_SW9}, // 44, F8, k76
+ {0, CS4_SW9, CS5_SW9, CS6_SW9}, // 45, 8, k67
+ {0, CS7_SW9, CS8_SW9, CS9_SW9}, // 46, I, k60
+ {0, CS10_SW9, CS11_SW9, CS12_SW9}, // 47, K, k62
+ {0, CS13_SW9, CS14_SW9, CS15_SW9}, // 48, ,, k64
+ {0, CS16_SW9, CS17_SW9, CS18_SW9}, // 49, Alt_R, k95
+ {0, CS1_SW10, CS2_SW10, CS3_SW10}, // 50, F9, ka6
+ {0, CS4_SW10, CS5_SW10, CS6_SW10}, // 51, 9, k77
+ {0, CS7_SW10, CS8_SW10, CS9_SW10}, // 52, O, k70
+ {0, CS10_SW10, CS11_SW10, CS12_SW10}, // 53, L, k72
+ {0, CS13_SW10, CS14_SW10, CS15_SW10}, // 54, ., k74
+ {0, CS16_SW10, CS17_SW10, CS18_SW10}, // 55, FN, k92
+ {0, CS1_SW11, CS2_SW11, CS3_SW11}, // 56, F10, ka7
+ {0, CS4_SW11, CS5_SW11, CS6_SW11}, // 57, 0, k87
+ {0, CS7_SW11, CS8_SW11, CS9_SW11}, // 58, P, k80
+ {0, CS10_SW11, CS11_SW11, CS12_SW11}, // 59, ;, k82
+ {0, CS13_SW11, CS14_SW11, CS15_SW11}, // 60, ?, k85
+ {0, CS1_SW12, CS2_SW12, CS3_SW12}, // 61, F11, ka3
+ {0, CS4_SW12, CS5_SW12, CS6_SW12}, // 62, -, k86
+ {0, CS7_SW12, CS8_SW12, CS9_SW12}, // 63, [, k81
+ {0, CS10_SW12, CS11_SW12, CS12_SW12}, // 64, ", k83
+ {0, CS16_SW12, CS17_SW12, CS18_SW12}, // 65, Ct_R, k04
+
+ {1, CS1_SW1, CS2_SW1, CS3_SW1}, // 66, F12, ka5
+ {1, CS13_SW1, CS14_SW1, CS15_SW1}, // 67, LED, l01
+ {1, CS16_SW1, CS17_SW1, CS18_SW1}, // 68, LED, l11
+ {1, CS4_SW2, CS5_SW2, CS6_SW2}, // 69, Prt, k97
+ {1, CS13_SW2, CS14_SW2, CS15_SW2}, // 70, LED, l02
+ {1, CS16_SW2, CS17_SW2, CS18_SW2}, // 71, LED, l12
+ {1, CS4_SW3, CS5_SW3, CS6_SW3}, // 72, Del, k65
+ {1, CS13_SW3, CS14_SW3, CS15_SW3}, // 73, LED, l03
+ {1, CS16_SW3, CS17_SW3, CS18_SW3}, // 74, LED, l13
+ {1, CS4_SW4, CS5_SW4, CS6_SW4}, // 75, PgUp, k15
+ {1, CS13_SW4, CS14_SW4, CS15_SW4}, // 76, LED, l04
+ {1, CS16_SW4, CS17_SW4, CS18_SW4}, // 77, LED, l14
+ {1, CS1_SW5, CS2_SW5, CS3_SW5}, // 78, =, k66
+ {1, CS10_SW5, CS11_SW5, CS12_SW5}, // 79, Right, k05
+ {1, CS13_SW5, CS14_SW5, CS15_SW5}, // 80, LED, l05
+ {1, CS16_SW5, CS17_SW5, CS18_SW5}, // 81, LED, l15
+ {1, CS4_SW6, CS5_SW6, CS6_SW6}, // 82, End, k75
+ {1, CS13_SW6, CS14_SW6, CS15_SW6}, // 83, LED, l06
+ {1, CS16_SW6, CS17_SW6, CS18_SW6}, // 84, LED, l16
+ {1, CS1_SW7, CS2_SW7, CS3_SW7}, // 85, BSpc, ka1
+ {1, CS4_SW7, CS5_SW7, CS6_SW7}, // 86, PgDn, k25
+ {1, CS13_SW7, CS14_SW7, CS15_SW7}, // 87, LED, l07
+ {1, CS16_SW7, CS17_SW7, CS18_SW7}, // 88, LED, l17
+ {1, CS1_SW8, CS2_SW8, CS3_SW8}, // 89, ], k61
+ {1, CS4_SW8, CS5_SW8, CS6_SW8}, // 90, Sh_R, k91
+ {1, CS13_SW8, CS14_SW8, CS15_SW8}, // 91, LED, l08
+ {1, CS16_SW8, CS17_SW8, CS18_SW8}, // 92, LED, l18
+ {1, CS1_SW9, CS2_SW9, CS3_SW9}, // 93, \, ka2
+ {1, CS4_SW9, CS5_SW9, CS6_SW9}, // 94, Up, k35
+ {1, CS4_SW10, CS5_SW10, CS6_SW10}, // 95, Left, k03
+ {1, CS1_SW11, CS2_SW11, CS3_SW11}, // 96, Enter, ka4
+ {1, CS4_SW11, CS5_SW11, CS6_SW11}, // 97, Down, k73
+};
+// clang-format on
+#endif
diff --git a/keyboards/gmmk/pro/ansi/ansi.h b/keyboards/gmmk/pro/ansi/ansi.h
new file mode 100644
index 0000000000..ab08d66592
--- /dev/null
+++ b/keyboards/gmmk/pro/ansi/ansi.h
@@ -0,0 +1,52 @@
+/* Copyright 2021 Gigahawk
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 "pro.h"
+
+#define ___ KC_NO
+
+// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
+// ` 1 2 3 4 5 6 7 8 9 0 - = BSpc Del
+// Tab Q W E R T Y U I O P [ ] \ PgUp
+// Caps A S D F G H J K L ; ' Enter PgDn
+// Sh_L Z X C V B N M , . / Sh_R Up End
+// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
+
+// clang-format off
+#define LAYOUT( \
+ k13, k26, k36, k31, k33, k07, k63, k71, k76, ka6, ka7, ka3, ka5, k97, k01, \
+ k16, k17, k27, k37, k47, k46, k56, k57, k67, k77, k87, k86, k66, ka1, k65, \
+ k11, k10, k20, k30, k40, k41, k51, k50, k60, k70, k80, k81, k61, ka2, k15, \
+ k21, k12, k22, k32, k42, k43, k53, k52, k62, k72, k82, k83, ka4, k25, \
+ k00, k14, k24, k34, k44, k45, k55, k54, k64, k74, k85, k91, k35, k75, \
+ k06, k90, k93, k94, k95, k92, k04, k03, k73, k05 \
+) \
+{ \
+ { k00, k01, ___, k03, k04, k05, k06, k07}, \
+ { k10, k11, k12, k13, k14, k15, k16, k17}, \
+ { k20, k21, k22, ___, k24, k25, k26, k27}, \
+ { k30, k31, k32, k33, k34, k35, k36, k37}, \
+ { k40, k41, k42, k43, k44, k45, k46, k47}, \
+ { k50, k51, k52, k53, k54, k55, k56, k57}, \
+ { k60, k61, k62, k63, k64, k65, k66, k67}, \
+ { k70, k71, k72, k73, k74, k75, k76, k77}, \
+ { k80, k81, k82, k83, ___, k85, k86, k87}, \
+ { k90, k91, k92, k93, k94, k95, ___, k97}, \
+ { ___, ka1, ka2, ka3, ka4, ka5, ka6, ka7} \
+}
+// clang-format on
diff --git a/keyboards/gmmk/pro/ansi/config.h b/keyboards/gmmk/pro/ansi/config.h
new file mode 100644
index 0000000000..7c68375b2f
--- /dev/null
+++ b/keyboards/gmmk/pro/ansi/config.h
@@ -0,0 +1,23 @@
+/* Copyright 2021 Gigahawk
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 "config_common.h"
+
+#define DRIVER_1_LED_TOTAL 66
+#define DRIVER_2_LED_TOTAL 32
+#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
diff --git a/keyboards/gmmk/pro/ansi/info.json b/keyboards/gmmk/pro/ansi/info.json
new file mode 100644
index 0000000000..d3b326a7b6
--- /dev/null
+++ b/keyboards/gmmk/pro/ansi/info.json
@@ -0,0 +1,111 @@
+{
+ "keyboard_name": "GMMK Pro (ANSI)",
+ "url": "https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation",
+ "maintainer": "GloriousThrall",
+ "width": 16.5,
+ "height": 6.5,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+
+ {"x":1.25, "y":0},
+ {"x":2.25, "y":0},
+ {"x":3.25, "y":0},
+ {"x":4.25, "y":0},
+
+ {"x":5.5, "y":0},
+ {"x":6.5, "y":0},
+ {"x":7.5, "y":0},
+ {"x":8.5, "y":0},
+
+ {"x":9.75, "y":0},
+ {"x":10.75, "y":0},
+ {"x":11.75, "y":0},
+ {"x":12.75, "y":0},
+
+ {"x":14, "y":0},
+ {"x":15.5, "y":0},
+
+ {"x":0, "y":1.25},
+ {"x":1, "y":1.25},
+ {"x":2, "y":1.25},
+ {"x":3, "y":1.25},
+ {"x":4, "y":1.25},
+ {"x":5, "y":1.25},
+ {"x":6, "y":1.25},
+ {"x":7, "y":1.25},
+ {"x":8, "y":1.25},
+ {"x":9, "y":1.25},
+ {"x":10, "y":1.25},
+ {"x":11, "y":1.25},
+ {"x":12, "y":1.25},
+ {"x":13, "y":1.25, "w":2},
+
+ {"x":15.5, "y":1.25},
+
+ {"x":0, "y":2.25, "w":1.5},
+ {"x":1.5, "y":2.25},
+ {"x":2.5, "y":2.25},
+ {"x":3.5, "y":2.25},
+ {"x":4.5, "y":2.25},
+ {"x":5.5, "y":2.25},
+ {"x":6.5, "y":2.25},
+ {"x":7.5, "y":2.25},
+ {"x":8.5, "y":2.25},
+ {"x":9.5, "y":2.25},
+ {"x":10.5, "y":2.25},
+ {"x":11.5, "y":2.25},
+ {"x":12.5, "y":2.25},
+ {"x":13.5, "y":2.25, "w":1.5},
+
+ {"x":15.5, "y":2.25},
+
+ {"x":0, "y":3.25, "w":1.75},
+ {"x":1.75, "y":3.25},
+ {"x":2.75, "y":3.25},
+ {"x":3.75, "y":3.25},
+ {"x":4.75, "y":3.25},
+ {"x":5.75, "y":3.25},
+ {"x":6.75, "y":3.25},
+ {"x":7.75, "y":3.25},
+ {"x":8.75, "y":3.25},
+ {"x":9.75, "y":3.25},
+ {"x":10.75, "y":3.25},
+ {"x":11.75, "y":3.25},
+ {"x":12.75, "y":3.25, "w":2.25},
+
+ {"x":15.5, "y":3.25},
+
+ {"x":0, "y":4.25, "w":2.25},
+ {"x":2.25, "y":4.25},
+ {"x":3.25, "y":4.25},
+ {"x":4.25, "y":4.25},
+ {"x":5.25, "y":4.25},
+ {"x":6.25, "y":4.25},
+ {"x":7.25, "y":4.25},
+ {"x":8.25, "y":4.25},
+ {"x":9.25, "y":4.25},
+ {"x":10.25, "y":4.25},
+ {"x":11.25, "y":4.25},
+ {"x":12.25, "y":4.25, "w":1.75},
+
+ {"x":14.25, "y":4.5},
+
+ {"x":15.5, "y":4.25},
+
+ {"x":0, "y":5.25, "w":1.25},
+ {"x":1.25, "y":5.25, "w":1.25},
+ {"x":2.5, "y":5.25, "w":1.25},
+ {"x":3.75, "y":5.25, "w":6.25},
+ {"x":10, "y":5.25},
+ {"x":11, "y":5.25},
+ {"x":12, "y":5.25},
+
+ {"x":13.25, "y":5.5},
+ {"x":14.25, "y":5.5},
+ {"x":15.25, "y":5.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/gmmk/pro/ansi/keymaps/alexmarmon/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/alexmarmon/keymap.c
new file mode 100644
index 0000000000..99504de956
--- /dev/null
+++ b/keyboards/gmmk/pro/ansi/keymaps/alexmarmon/keymap.c
@@ -0,0 +1,66 @@
+/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
+ Copyright 2021 alexmarmon
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General 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] = {
+
+// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
+// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del
+// Tab Q W E R T Y U I O P [ ] \ PgUp
+// Caps A S D F G H J K L ; " Enter PgDn
+// Sh_L Z X C V B N M , . ? Sh_R Up End
+// Ct_L Alt_L Win_L SPACE Ct_R Alt_R FN Left Down Right
+
+
+ // The FN key by default maps to a momentary toggle to layer 1 to provide access to the RESET key (to put the board into bootloader mode). Without
+ // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB
+ // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI
+ // if that's your preference.
+ //
+ // To put the keyboard in bootloader mode, use FN+backslash. If you accidentally put it into bootloader, you can just unplug the USB cable and
+ // it'll be back to normal when you plug it back in.
+ [0] = LAYOUT(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_MUTE,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RCTL, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, RGB_MODE_FORWARD,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MODE_REVERSE,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG,
+ _______, _______, _______, _______, _______, _______, _______, KC_MEDIA_PREV_TRACK, _______, KC_MEDIA_NEXT_TRACK
+ ),
+
+
+};
+
+
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ return true;
+}
diff --git a/keyboards/gmmk/pro/ansi/keymaps/alexmarmon/readme.md b/keyboards/gmmk/pro/ansi/keymaps/alexmarmon/readme.md
new file mode 100644
index 0000000000..36ad42b1af
--- /dev/null
+++ b/keyboards/gmmk/pro/ansi/keymaps/alexmarmon/readme.md
@@ -0,0 +1,7 @@
+![Layout Image](https://i.imgur.com/MizMvsI.jpg)
+
+# Simple MacOS like keymap with RGB
+
+* Working basic RGB thanks to https://github.com/qmk/qmk_firmware/pull/13430
+* Restore working rotary knob volume control
+* Add media_previous and media_next to FN+left and FN+right \ No newline at end of file
diff --git a/keyboards/gmmk/pro/keymaps/default/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/default/keymap.c
index b08400cd8d..b08400cd8d 100644
--- a/keyboards/gmmk/pro/keymaps/default/keymap.c
+++ b/keyboards/gmmk/pro/ansi/keymaps/default/keymap.c
diff --git a/keyboards/gmmk/pro/keymaps/jonavin/config.h b/keyboards/gmmk/pro/ansi/keymaps/jonavin/config.h
index b77cb05f5f..b77cb05f5f 100644
--- a/keyboards/gmmk/pro/keymaps/jonavin/config.h
+++ b/keyboards/gmmk/pro/ansi/keymaps/jonavin/config.h
diff --git a/keyboards/gmmk/pro/keymaps/jonavin/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/jonavin/keymap.c
index 8b37449576..8b37449576 100644
--- a/keyboards/gmmk/pro/keymaps/jonavin/keymap.c
+++ b/keyboards/gmmk/pro/ansi/keymaps/jonavin/keymap.c
diff --git a/keyboards/gmmk/pro/keymaps/jonavin/readme.md b/keyboards/gmmk/pro/ansi/keymaps/jonavin/readme.md
index f4f3401abc..f4f3401abc 100644
--- a/keyboards/gmmk/pro/keymaps/jonavin/readme.md
+++ b/keyboards/gmmk/pro/ansi/keymaps/jonavin/readme.md
diff --git a/keyboards/gmmk/pro/keymaps/jonavin/rgb_matrix_map.h b/keyboards/gmmk/pro/ansi/keymaps/jonavin/rgb_matrix_map.h
index 1ee5388905..1ee5388905 100644
--- a/keyboards/gmmk/pro/keymaps/jonavin/rgb_matrix_map.h
+++ b/keyboards/gmmk/pro/ansi/keymaps/jonavin/rgb_matrix_map.h
diff --git a/keyboards/gmmk/pro/keymaps/jonavin/rules.mk b/keyboards/gmmk/pro/ansi/keymaps/jonavin/rules.mk
index f4f3d49392..f4f3d49392 100644
--- a/keyboards/gmmk/pro/keymaps/jonavin/rules.mk
+++ b/keyboards/gmmk/pro/ansi/keymaps/jonavin/rules.mk
diff --git a/keyboards/gmmk/pro/keymaps/via/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/via/keymap.c
index 940cc1c1f3..940cc1c1f3 100644
--- a/keyboards/gmmk/pro/keymaps/via/keymap.c
+++ b/keyboards/gmmk/pro/ansi/keymaps/via/keymap.c
diff --git a/keyboards/gmmk/pro/ansi/keymaps/via/rules.mk b/keyboards/gmmk/pro/ansi/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/gmmk/pro/ansi/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/gmmk/pro/keymaps/wholesomeducky/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/wholesomeducky/keymap.c
index fded532562..fded532562 100644
--- a/keyboards/gmmk/pro/keymaps/wholesomeducky/keymap.c
+++ b/keyboards/gmmk/pro/ansi/keymaps/wholesomeducky/keymap.c
diff --git a/keyboards/gmmk/pro/keymaps/willwm/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/willwm/keymap.c
index a17f793319..a32fef1041 100644
--- a/keyboards/gmmk/pro/keymaps/willwm/keymap.c
+++ b/keyboards/gmmk/pro/ansi/keymaps/willwm/keymap.c
@@ -16,16 +16,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include QMK_KEYBOARD_H
+// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Del Rotary(Mute)
-// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Home
-// Tab Q W E R T Y U I O P [ ] \ PgUp
-// Caps A S D F G H J K L ; " Enter PgDn
-// Sh_L Z X C V B N M , . ? Sh_R Up End
-// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
-
-
+ // ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Del Rotary(Mute)
+ // ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Home
+ // Tab Q W E R T Y U I O P [ ] \ PgUp
+ // Caps A S D F G H J K L ; " Enter PgDn
+ // Sh_L Z X C V B N M , . ? Sh_R Up End
+ // Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
[0] = LAYOUT(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_MUTE,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
@@ -61,14 +60,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
-
};
+// clang-format on
-
-void encoder_update_user(uint8_t index, bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (clockwise) {
- tap_code(KC_VOLU);
+ tap_code(KC_VOLU);
} else {
- tap_code(KC_VOLD);
+ tap_code(KC_VOLD);
}
+ return true;
}
diff --git a/keyboards/gmmk/pro/keymaps/willwm/keymap.json b/keyboards/gmmk/pro/ansi/keymaps/willwm/keymap.json
index d2325d2c13..d2325d2c13 100644
--- a/keyboards/gmmk/pro/keymaps/willwm/keymap.json
+++ b/keyboards/gmmk/pro/ansi/keymaps/willwm/keymap.json
diff --git a/keyboards/gmmk/pro/keymaps/willwm/readme.md b/keyboards/gmmk/pro/ansi/keymaps/willwm/readme.md
index 1c169faac6..1c169faac6 100644
--- a/keyboards/gmmk/pro/keymaps/willwm/readme.md
+++ b/keyboards/gmmk/pro/ansi/keymaps/willwm/readme.md
diff --git a/keyboards/gmmk/pro/keymaps/willwm/rules.mk b/keyboards/gmmk/pro/ansi/keymaps/willwm/rules.mk
index 511b50e19c..511b50e19c 100644
--- a/keyboards/gmmk/pro/keymaps/willwm/rules.mk
+++ b/keyboards/gmmk/pro/ansi/keymaps/willwm/rules.mk
diff --git a/keyboards/gmmk/pro/readme.md b/keyboards/gmmk/pro/ansi/readme.md
index 2307a525ca..f24887db78 100644
--- a/keyboards/gmmk/pro/readme.md
+++ b/keyboards/gmmk/pro/ansi/readme.md
@@ -1,6 +1,6 @@
-# GMMK PRO
+# GMMK PRO (ANSI)
-A tenkeyless 75% keyboard made and sold by Glorious LLC. Equipped with the STM32 ARM Cortex-M4 microcontroller, with support for rotary encoders and three additional layouts. [More info at Glorious](https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation)
+A tenkeyless 75% keyboard made and sold by Glorious LLC. Equipped with the STM32 ARM Cortex-M4 microcontroller, with support for rotary encoders and three additional layouts. [More info at Glorious](https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation)
* Keyboard Maintainer: [GloriousThrall](https://github.com/GloriousThrall)
* Hardware Supported: GMMK Pro
@@ -8,11 +8,11 @@ A tenkeyless 75% keyboard made and sold by Glorious LLC. Equipped with the STM3
Make example for this keyboard (after setting up your build environment):
- make gmmk/pro:default
+ make gmmk/pro/ansi:default
Flashing example for this keyboard:
- make gmmk/pro:default:flash
+ make gmmk/pro/ansi:default:flash
To reset the board into bootloader mode, do one of the following:
diff --git a/keyboards/gmmk/pro/rules.mk b/keyboards/gmmk/pro/ansi/rules.mk
index b12d055a3d..6221d64082 100644
--- a/keyboards/gmmk/pro/rules.mk
+++ b/keyboards/gmmk/pro/ansi/rules.mk
@@ -21,3 +21,5 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
ENCODER_ENABLE = yes
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = AW20216
diff --git a/keyboards/gmmk/pro/config.h b/keyboards/gmmk/pro/config.h
index 7f3977c106..1934ab780b 100644
--- a/keyboards/gmmk/pro/config.h
+++ b/keyboards/gmmk/pro/config.h
@@ -19,18 +19,20 @@
#include "config_common.h"
/* USB Device descriptor parameter */
-#define DEVICE_VER 0x0001
-#define VENDOR_ID 0x320F
-#define PRODUCT_ID 0x5044
-#define MANUFACTURER Glorious
-#define PRODUCT GMMK Pro
+#define DEVICE_VER 0x0001
+#define VENDOR_ID 0x320F
+#define PRODUCT_ID 0x5044
+#define MANUFACTURER Glorious
+#define PRODUCT GMMK Pro
/* key matrix size */
#define MATRIX_ROWS 11
#define MATRIX_COLS 8
-#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10 }
-#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A8, A9, A10 }
+#define MATRIX_ROW_PINS \
+ { B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10 }
+#define MATRIX_COL_PINS \
+ { A0, A1, A2, A3, A4, A8, A9, A10 }
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
@@ -39,14 +41,29 @@
#define BOOTMAGIC_LITE_COLUMN 3
#define TAP_CODE_DELAY 10
-#define ENCODERS_PAD_A { C15 }
-#define ENCODERS_PAD_B { C14 }
+#define ENCODERS_PAD_A \
+ { C15 }
+#define ENCODERS_PAD_B \
+ { C14 }
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
+/* SPI Config for LED Driver */
+#define SPI_DRIVER SPID1
+#define SPI_SCK_PIN A5
+#define SPI_MOSI_PIN A6
+#define SPI_MISO_PIN A7
+
+#define DRIVER_1_CS B13
+#define DRIVER_2_CS B14
+#define DRIVER_1_EN C13
+#define DRIVER_2_EN C13
+
+#define DRIVER_COUNT 2
+
/* 1000Hz USB polling - it's the default on stock firmware */
#define USB_POLLING_INTERVAL_MS 1
diff --git a/keyboards/gmmk/pro/halconf.h b/keyboards/gmmk/pro/halconf.h
new file mode 100644
index 0000000000..23ecb202a1
--- /dev/null
+++ b/keyboards/gmmk/pro/halconf.h
@@ -0,0 +1,7 @@
+#pragma once
+
+#define HAL_USE_SPI TRUE
+#define SPI_USE_WAIT TRUE
+#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
+
+#include_next <halconf.h>
diff --git a/keyboards/gmmk/pro/iso/config.h b/keyboards/gmmk/pro/iso/config.h
new file mode 100644
index 0000000000..26626ccfc1
--- /dev/null
+++ b/keyboards/gmmk/pro/iso/config.h
@@ -0,0 +1,23 @@
+/* Copyright 2021 Jasper Chan
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 "config_common.h"
+
+#define DRIVER_1_LED_TOTAL 66
+#define DRIVER_2_LED_TOTAL 33
+#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
diff --git a/keyboards/gmmk/pro/info.json b/keyboards/gmmk/pro/iso/info.json
index 427e562e36..2d4a22c9a1 100644
--- a/keyboards/gmmk/pro/info.json
+++ b/keyboards/gmmk/pro/iso/info.json
@@ -1,5 +1,5 @@
{
- "keyboard_name": "GMMK Pro",
+ "keyboard_name": "GMMK Pro (ISO)",
"url": "https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation",
"maintainer": "GloriousThrall",
"width": 16.5,
@@ -7,108 +7,6 @@
"layouts": {
"LAYOUT": {
"layout": [
- {"x":0, "y":0},
-
- {"x":1.25, "y":0},
- {"x":2.25, "y":0},
- {"x":3.25, "y":0},
- {"x":4.25, "y":0},
-
- {"x":5.5, "y":0},
- {"x":6.5, "y":0},
- {"x":7.5, "y":0},
- {"x":8.5, "y":0},
-
- {"x":9.75, "y":0},
- {"x":10.75, "y":0},
- {"x":11.75, "y":0},
- {"x":12.75, "y":0},
-
- {"x":14, "y":0},
- {"x":15.5, "y":0},
-
- {"x":0, "y":1.25},
- {"x":1, "y":1.25},
- {"x":2, "y":1.25},
- {"x":3, "y":1.25},
- {"x":4, "y":1.25},
- {"x":5, "y":1.25},
- {"x":6, "y":1.25},
- {"x":7, "y":1.25},
- {"x":8, "y":1.25},
- {"x":9, "y":1.25},
- {"x":10, "y":1.25},
- {"x":11, "y":1.25},
- {"x":12, "y":1.25},
- {"x":13, "y":1.25, "w":2},
-
- {"x":15.5, "y":1.25},
-
- {"x":0, "y":2.25, "w":1.5},
- {"x":1.5, "y":2.25},
- {"x":2.5, "y":2.25},
- {"x":3.5, "y":2.25},
- {"x":4.5, "y":2.25},
- {"x":5.5, "y":2.25},
- {"x":6.5, "y":2.25},
- {"x":7.5, "y":2.25},
- {"x":8.5, "y":2.25},
- {"x":9.5, "y":2.25},
- {"x":10.5, "y":2.25},
- {"x":11.5, "y":2.25},
- {"x":12.5, "y":2.25},
- {"x":13.5, "y":2.25, "w":1.5},
-
- {"x":15.5, "y":2.25},
-
- {"x":0, "y":3.25, "w":1.75},
- {"x":1.75, "y":3.25},
- {"x":2.75, "y":3.25},
- {"x":3.75, "y":3.25},
- {"x":4.75, "y":3.25},
- {"x":5.75, "y":3.25},
- {"x":6.75, "y":3.25},
- {"x":7.75, "y":3.25},
- {"x":8.75, "y":3.25},
- {"x":9.75, "y":3.25},
- {"x":10.75, "y":3.25},
- {"x":11.75, "y":3.25},
- {"x":12.75, "y":3.25, "w":2.25},
-
- {"x":15.5, "y":3.25},
-
- {"x":0, "y":4.25, "w":2.25},
- {"x":2.25, "y":4.25},
- {"x":3.25, "y":4.25},
- {"x":4.25, "y":4.25},
- {"x":5.25, "y":4.25},
- {"x":6.25, "y":4.25},
- {"x":7.25, "y":4.25},
- {"x":8.25, "y":4.25},
- {"x":9.25, "y":4.25},
- {"x":10.25, "y":4.25},
- {"x":11.25, "y":4.25},
- {"x":12.25, "y":4.25, "w":1.75},
-
- {"x":14.25, "y":4.5},
-
- {"x":15.5, "y":4.25},
-
- {"x":0, "y":5.25, "w":1.25},
- {"x":1.25, "y":5.25, "w":1.25},
- {"x":2.5, "y":5.25, "w":1.25},
- {"x":3.75, "y":5.25, "w":6.25},
- {"x":10, "y":5.25},
- {"x":11, "y":5.25},
- {"x":12, "y":5.25},
-
- {"x":13.25, "y":5.5},
- {"x":14.25, "y":5.5},
- {"x":15.25, "y":5.5}
- ]
- },
- "LAYOUT_iso": {
- "layout": [
{"label":"Esc", "x":0, "y":0},
{"label":"F1", "x":1.25, "y":0},
diff --git a/keyboards/gmmk/pro/iso/iso.c b/keyboards/gmmk/pro/iso/iso.c
new file mode 100644
index 0000000000..fa57f1ca92
--- /dev/null
+++ b/keyboards/gmmk/pro/iso/iso.c
@@ -0,0 +1,243 @@
+/* Copyright 2021 Gigahawk
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 "iso.h"
+
+#ifdef RGB_MATRIX_ENABLE
+// clang-format off
+led_config_t g_led_config = {{
+ { 4, NO_LED, NO_LED, 96, 65, 80, 5, 28 },
+ { 8, 2, 9, 0, 10, 76, 1, 7 },
+ { 14, 3, 15, 67, 16, 87, 6, 13 },
+ { 20, 18, 21, 23, 22, 94, 12, 19 },
+ { 25, 30, 26, 31, 27, 32, 29, 24 },
+ { 41, 36, 42, 37, 43, 38, 35, 40 },
+ { 46, 90, 47, 34, 48, 73, 79, 45 },
+ { 52, 39, 53, 98, 54, 83, 44, 51 },
+ { 58, 63, 59, 64, 95, 60, 62, 57 },
+ { 11, 91, 55, 17, 33, 49, NO_LED, 70 },
+ { NO_LED, 86, NO_LED, 61, 97, 66, 50, 56 }
+}, {
+ {0, 0}, // 0, ESC, k13
+ {0, 15}, // 1, `, k16
+ {4, 26}, // 2, Tab, k11
+ {5, 38}, // 3, Caps, k21
+ {2, 49}, // 4, Sh_L, k00
+ {2, 61}, // 5, Ct_L, k06
+ {18, 0}, // 6, F1, k26
+ {14, 15}, // 7, 1, k17
+ {22, 26}, // 8, Q, k10
+ {25, 38}, // 9, A, k12
+ {33, 49}, // 10, Z, k14
+ {20, 61}, // 11, Win_L, k90
+ {33, 0}, // 12, F2, k36
+ {29, 15}, // 13, 2, k27
+ {36, 26}, // 14, W, k20
+ {40, 38}, // 15, S, k22
+ {47, 49}, // 16, X, k24
+ {38, 61}, // 17, Alt_L, k93
+ {47, 0}, // 18, F3, k31
+ {43, 15}, // 19, 3, k37
+ {51, 26}, // 20, E, k30
+ {54, 38}, // 21, D, k32
+ {61, 49}, // 22, C, k34
+ {61, 0}, // 23, F4, k33
+ {58, 15}, // 24, 4, k47
+ {65, 26}, // 25, R, k40
+ {69, 38}, // 26, F, k42
+ {76, 49}, // 27, V, k44
+ {79, 0}, // 28, F5, k07
+ {72, 15}, // 29, 5, k46
+ {79, 26}, // 30, T, k41
+ {83, 38}, // 31, G, k43
+ {90, 49}, // 32, B, k45
+ {92, 61}, // 33, SPACE, k94
+ {94, 0}, // 34, F6, k63
+ {87, 15}, // 35, 6, k56
+ {94, 26}, // 36, Y, k51
+ {98, 38}, // 37, H, k53
+ {105, 49}, // 38, N, k55
+ {108, 0}, // 39, F7, k71
+ {101, 15}, // 40, 7, k57
+ {108, 26}, // 41, U, k50
+ {112, 38}, // 42, J, k52
+ {119, 49}, // 43, M, k54
+ {123, 0}, // 44, F8, k76
+ {116, 15}, // 45, 8, k67
+ {123, 26}, // 46, I, k60
+ {126, 38}, // 47, K, k62
+ {134, 49}, // 48, ,, k64
+ {145, 61}, // 49, Alt_R, k95
+ {141, 0}, // 50, F9, ka6
+ {130, 15}, // 51, 9, k77
+ {137, 26}, // 52, O, k70
+ {141, 38}, // 53, L, k72
+ {148, 49}, // 54, ., k74
+ {159, 61}, // 55, FN, k92
+ {155, 0}, // 56, F10, ka7
+ {145, 15}, // 57, 0, k87
+ {152, 26}, // 58, P, k80
+ {155, 38}, // 59, ;, k82
+ {163, 49}, // 60, /, k85
+ {170, 0}, // 61, F11, ka3
+ {159, 15}, // 62, -, k86
+ {166, 26}, // 63, [, k81
+ {170, 38}, // 64, ", k83
+ {173, 61}, // 65, Ct_R, k04
+ {184, 0}, // 66, F12, ka5
+ {18, 49}, // 67, \, k23
+ {0, 8}, // 68, LED, l01
+ {224, 8}, // 69, LED, l11
+ {202, 0}, // 70, Prt, k97
+ {0, 15}, // 71, LED, l02
+ {224, 15}, // 72, LED, l12
+ {224, 15}, // 73, Del, k65
+ {0, 21}, // 74, LED, l03
+ {224, 21}, // 75, LED, l13
+ {224, 26}, // 76, PgUp, k15
+ {0, 28}, // 77, LED, l04
+ {224, 28}, // 78, LED, l14
+ {173, 15}, // 79, =, k66
+ {220, 64}, // 80, Right, k05
+ {0, 35}, // 81, LED, l05
+ {224, 35}, // 82, LED, l15
+ {224, 49}, // 83, End, k75
+ {0, 42}, // 84, LED, l06
+ {224, 42}, // 85, LED, l16
+ {195, 15}, // 86, BSpc, ka1
+ {224, 38}, // 87, PgDn, k25
+ {0, 48}, // 88, LED, l07
+ {224, 48}, // 89, LED, l17
+ {181, 26}, // 90, ], k61
+ {182, 49}, // 91, Sh_R, k91
+ {0, 55}, // 92, LED, l08
+ {224, 55}, // 93, LED, l18
+ {206, 52}, // 94, Up, k35
+ {184, 38}, // 95, #, k84
+ {191, 64}, // 96, Left, k03
+ {201, 26}, // 97, Enter, ka4
+ {206, 64}, // 98, Down, k73
+}, {
+ 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, 2, 2, 4, 2, 2, 4, 2,
+ 2, 4, 2, 2, 4, 4, 2, 2, 4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 4, 4, 4, 4
+}};
+
+const aw_led g_aw_leds[DRIVER_LED_TOTAL] = {
+ {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 0, ESC, k13
+ {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 1, ~, k16
+ {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 2, Tab, k11
+ {0, CS10_SW1, CS11_SW1, CS12_SW1}, // 3, Caps, k21
+ {0, CS13_SW1, CS14_SW1, CS15_SW1}, // 4, Sh_L, k00
+ {0, CS16_SW1, CS17_SW1, CS18_SW1}, // 5, Ct_L, k06
+ {0, CS1_SW2, CS2_SW2, CS3_SW2}, // 6, F1, k26
+ {0, CS4_SW2, CS5_SW2, CS6_SW2}, // 7, 1, k17
+ {0, CS7_SW2, CS8_SW2, CS9_SW2}, // 8, Q, k10
+ {0, CS10_SW2, CS11_SW2, CS12_SW2}, // 9, A, k12
+ {0, CS13_SW2, CS14_SW2, CS15_SW2}, // 10, Z, k14
+ {0, CS16_SW2, CS17_SW2, CS18_SW2}, // 11, Win_L, k90
+ {0, CS1_SW3, CS2_SW3, CS3_SW3}, // 12, F2, k36
+ {0, CS4_SW3, CS5_SW3, CS6_SW3}, // 13, 2, k27
+ {0, CS7_SW3, CS8_SW3, CS9_SW3}, // 14, W, k20
+ {0, CS10_SW3, CS11_SW3, CS12_SW3}, // 15, S, k22
+ {0, CS13_SW3, CS14_SW3, CS15_SW3}, // 16, X, k24
+ {0, CS16_SW3, CS17_SW3, CS18_SW3}, // 17, Alt_L, k93
+ {0, CS1_SW4, CS2_SW4, CS3_SW4}, // 18, F3, k31
+ {0, CS4_SW4, CS5_SW4, CS6_SW4}, // 19, 3, k37
+ {0, CS7_SW4, CS8_SW4, CS9_SW4}, // 20, E, k30
+ {0, CS10_SW4, CS11_SW4, CS12_SW4}, // 21, D, k32
+ {0, CS13_SW4, CS14_SW4, CS15_SW4}, // 22, C, k34
+ {0, CS1_SW5, CS2_SW5, CS3_SW5}, // 23, F4, k33
+ {0, CS4_SW5, CS5_SW5, CS6_SW5}, // 24, 4, k47
+ {0, CS7_SW5, CS8_SW5, CS9_SW5}, // 25, R, k40
+ {0, CS10_SW5, CS11_SW5, CS12_SW5}, // 26, F, k42
+ {0, CS13_SW5, CS14_SW5, CS15_SW5}, // 27, V, k44
+ {0, CS1_SW6, CS2_SW6, CS3_SW6}, // 28, F5, k07
+ {0, CS4_SW6, CS5_SW6, CS6_SW6}, // 29, 5, k46
+ {0, CS7_SW6, CS8_SW6, CS9_SW6}, // 30, T, k41
+ {0, CS10_SW6, CS11_SW6, CS12_SW6}, // 31, G, k43
+ {0, CS13_SW6, CS14_SW6, CS15_SW6}, // 32, B, k45
+ {0, CS16_SW6, CS17_SW6, CS18_SW6}, // 33, SPACE, k94
+ {0, CS1_SW7, CS2_SW7, CS3_SW7}, // 34, F6, k63
+ {0, CS4_SW7, CS5_SW7, CS6_SW7}, // 35, 6, k56
+ {0, CS7_SW7, CS8_SW7, CS9_SW7}, // 36, Y, k51
+ {0, CS10_SW7, CS11_SW7, CS12_SW7}, // 37, H, k53
+ {0, CS13_SW7, CS14_SW7, CS15_SW7}, // 38, N, k55
+ {0, CS1_SW8, CS2_SW8, CS3_SW8}, // 39, F7, k71
+ {0, CS4_SW8, CS5_SW8, CS6_SW8}, // 40, 7, k57
+ {0, CS7_SW8, CS8_SW8, CS9_SW8}, // 41, U, k50
+ {0, CS10_SW8, CS11_SW8, CS12_SW8}, // 42, J, k52
+ {0, CS13_SW8, CS14_SW8, CS15_SW8}, // 43, M, k54
+ {0, CS1_SW9, CS2_SW9, CS3_SW9}, // 44, F8, k76
+ {0, CS4_SW9, CS5_SW9, CS6_SW9}, // 45, 8, k67
+ {0, CS7_SW9, CS8_SW9, CS9_SW9}, // 46, I, k60
+ {0, CS10_SW9, CS11_SW9, CS12_SW9}, // 47, K, k62
+ {0, CS13_SW9, CS14_SW9, CS15_SW9}, // 48, ,, k64
+ {0, CS16_SW9, CS17_SW9, CS18_SW9}, // 49, Alt_R, k95
+ {0, CS1_SW10, CS2_SW10, CS3_SW10}, // 50, F9, ka6
+ {0, CS4_SW10, CS5_SW10, CS6_SW10}, // 51, 9, k77
+ {0, CS7_SW10, CS8_SW10, CS9_SW10}, // 52, O, k70
+ {0, CS10_SW10, CS11_SW10, CS12_SW10}, // 53, L, k72
+ {0, CS13_SW10, CS14_SW10, CS15_SW10}, // 54, ., k74
+ {0, CS16_SW10, CS17_SW10, CS18_SW10}, // 55, FN, k92
+ {0, CS1_SW11, CS2_SW11, CS3_SW11}, // 56, F10, ka7
+ {0, CS4_SW11, CS5_SW11, CS6_SW11}, // 57, 0, k87
+ {0, CS7_SW11, CS8_SW11, CS9_SW11}, // 58, P, k80
+ {0, CS10_SW11, CS11_SW11, CS12_SW11}, // 59, ;, k82
+ {0, CS13_SW11, CS14_SW11, CS15_SW11}, // 60, ?, k85
+ {0, CS1_SW12, CS2_SW12, CS3_SW12}, // 61, F11, ka3
+ {0, CS4_SW12, CS5_SW12, CS6_SW12}, // 62, -, k86
+ {0, CS7_SW12, CS8_SW12, CS9_SW12}, // 63, [, k81
+ {0, CS10_SW12, CS11_SW12, CS12_SW12}, // 64, ", k83
+ {0, CS16_SW12, CS17_SW12, CS18_SW12}, // 65, Ct_R, k04
+
+ {1, CS1_SW1, CS2_SW1, CS3_SW1}, // 66, F12, ka5
+ {1, CS4_SW1, CS5_SW1, CS6_SW1}, // 67, \, k23
+ {1, CS13_SW1, CS14_SW1, CS15_SW1}, // 68, LED, l01
+ {1, CS16_SW1, CS17_SW1, CS18_SW1}, // 69, LED, l11
+ {1, CS4_SW2, CS5_SW2, CS6_SW2}, // 70, Prt, k97
+ {1, CS13_SW2, CS14_SW2, CS15_SW2}, // 71, LED, l02
+ {1, CS16_SW2, CS17_SW2, CS18_SW2}, // 72, LED, l12
+ {1, CS4_SW3, CS5_SW3, CS6_SW3}, // 73, Del, k65
+ {1, CS13_SW3, CS14_SW3, CS15_SW3}, // 74, LED, l03
+ {1, CS16_SW3, CS17_SW3, CS18_SW3}, // 75, LED, l13
+ {1, CS4_SW4, CS5_SW4, CS6_SW4}, // 76, PgUp, k15
+ {1, CS13_SW4, CS14_SW4, CS15_SW4}, // 77, LED, l04
+ {1, CS16_SW4, CS17_SW4, CS18_SW4}, // 78, LED, l14
+ {1, CS1_SW5, CS2_SW5, CS3_SW5}, // 79, =, k66
+ {1, CS10_SW5, CS11_SW5, CS12_SW5}, // 80, Right, k05
+ {1, CS13_SW5, CS14_SW5, CS15_SW5}, // 81, LED, l05
+ {1, CS16_SW5, CS17_SW5, CS18_SW5}, // 82, LED, l15
+ {1, CS4_SW6, CS5_SW6, CS6_SW6}, // 83, End, k75
+ {1, CS13_SW6, CS14_SW6, CS15_SW6}, // 84, LED, l06
+ {1, CS16_SW6, CS17_SW6, CS18_SW6}, // 85, LED, l16
+ {1, CS1_SW7, CS2_SW7, CS3_SW7}, // 86, BSpc, ka1
+ {1, CS4_SW7, CS5_SW7, CS6_SW7}, // 87, PgDn, k25
+ {1, CS13_SW7, CS14_SW7, CS15_SW7}, // 88, LED, l07
+ {1, CS16_SW7, CS17_SW7, CS18_SW7}, // 89, LED, l17
+ {1, CS1_SW8, CS2_SW8, CS3_SW8}, // 90, ], k61
+ {1, CS4_SW8, CS5_SW8, CS6_SW8}, // 91, Sh_R, k91
+ {1, CS13_SW8, CS14_SW8, CS15_SW8}, // 92, LED, l08
+ {1, CS16_SW8, CS17_SW8, CS18_SW8}, // 93, LED, l18
+ {1, CS4_SW9, CS5_SW9, CS6_SW9}, // 94, Up, k35
+ {1, CS1_SW10, CS2_SW10, CS3_SW10}, // 95, #, k84
+ {1, CS4_SW10, CS5_SW10, CS6_SW10}, // 96, Left, k03
+ {1, CS1_SW11, CS2_SW11, CS3_SW11}, // 97, Enter, ka4
+ {1, CS4_SW11, CS5_SW11, CS6_SW11}, // 98, Down, k73
+};
+// clang-format on
+#endif
diff --git a/keyboards/gmmk/pro/iso/iso.h b/keyboards/gmmk/pro/iso/iso.h
new file mode 100644
index 0000000000..353bcbe875
--- /dev/null
+++ b/keyboards/gmmk/pro/iso/iso.h
@@ -0,0 +1,52 @@
+/* Copyright 2021 Gigahawk
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 "pro.h"
+
+#define ___ KC_NO
+
+// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
+// ` 1 2 3 4 5 6 7 8 9 0 - = BSpc Del
+// Tab Q W E R T Y U I O P [ ] PgUp
+// Caps A S D F G H J K L ; ' # Enter PgDn
+// Sh_L \ Z X C V B N M , . / Sh_R Up End
+// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
+
+// clang-format off
+#define LAYOUT( \
+ k13, k26, k36, k31, k33, k07, k63, k71, k76, ka6, ka7, ka3, ka5, k97, k01, \
+ k16, k17, k27, k37, k47, k46, k56, k57, k67, k77, k87, k86, k66, ka1, k65, \
+ k11, k10, k20, k30, k40, k41, k51, k50, k60, k70, k80, k81, k61, k15, \
+ k21, k12, k22, k32, k42, k43, k53, k52, k62, k72, k82, k83, k84, ka4, k25, \
+ k00, k23, k14, k24, k34, k44, k45, k55, k54, k64, k74, k85, k91, k35, k75, \
+ k06, k90, k93, k94, k95, k92, k04, k03, k73, k05 \
+) \
+{ \
+ { k00, k01, ___, k03, k04, k05, k06, k07}, \
+ { k10, k11, k12, k13, k14, k15, k16, k17}, \
+ { k20, k21, k22, k23, k24, k25, k26, k27}, \
+ { k30, k31, k32, k33, k34, k35, k36, k37}, \
+ { k40, k41, k42, k43, k44, k45, k46, k47}, \
+ { k50, k51, k52, k53, k54, k55, k56, k57}, \
+ { k60, k61, k62, k63, k64, k65, k66, k67}, \
+ { k70, k71, k72, k73, k74, k75, k76, k77}, \
+ { k80, k81, k82, k83, k84, k85, k86, k87}, \
+ { k90, k91, k92, k93, k94, k95, ___, k97}, \
+ { ___, ka1, ___, ka3, ka4, ka5, ka6, ka7} \
+}
+// clang-format on
diff --git a/keyboards/gmmk/pro/keymaps/iso/keymap.c b/keyboards/gmmk/pro/iso/keymaps/default/keymap.c
index 402becbe6e..95b0f0b838 100644
--- a/keyboards/gmmk/pro/keymaps/iso/keymap.c
+++ b/keyboards/gmmk/pro/iso/keymaps/default/keymap.c
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//
// To put the keyboard in bootloader mode, use FN+backspace. If you accidentally put it into bootloader, you can just unplug the USB cable and
// it'll be back to normal when you plug it back in.
- [0] = LAYOUT_iso(
+ [0] = LAYOUT(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_MUTE,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGUP,
@@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
- [1] = LAYOUT_iso(
+ [1] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/gmmk/pro/iso/keymaps/via/keymap.c b/keyboards/gmmk/pro/iso/keymaps/via/keymap.c
new file mode 100644
index 0000000000..9216272056
--- /dev/null
+++ b/keyboards/gmmk/pro/iso/keymaps/via/keymap.c
@@ -0,0 +1,85 @@
+/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include QMK_KEYBOARD_H
+
+// clang-format off
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
+// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del
+// Tab Q W E R T Y U I O P [ ] PgUp
+// Caps A S D F G H J K L ; " # Enter PgDn
+// Sh_L / Z X C V B N M , . ? Sh_R Up End
+// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
+
+
+ // The FN key by default maps to a momentary toggle to layer 1 to provide access to the RESET key (to put the board into bootloader mode). Without
+ // this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB
+ // cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI
+ // if that's your preference.
+ //
+ // To put the keyboard in bootloader mode, use FN+backspace. If you accidentally put it into bootloader, you can just unplug the USB cable and
+ // it'll be back to normal when you plug it back in.
+ [0] = LAYOUT(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_MUTE,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [1] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+
+ [2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [3] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+
+};
+// clang-format on
+
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ return true;
+}
diff --git a/keyboards/gmmk/pro/iso/keymaps/via/rules.mk b/keyboards/gmmk/pro/iso/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/gmmk/pro/iso/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/gmmk/pro/iso/readme.md b/keyboards/gmmk/pro/iso/readme.md
new file mode 100644
index 0000000000..3f255c490e
--- /dev/null
+++ b/keyboards/gmmk/pro/iso/readme.md
@@ -0,0 +1,23 @@
+# GMMK PRO (ISO)
+
+A tenkeyless 75% keyboard made and sold by Glorious LLC. Equipped with the STM32 ARM Cortex-M4 microcontroller, with support for rotary encoders and three additional layouts. [More info at Glorious](https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation)
+
+* Keyboard Maintainer: [GloriousThrall](https://github.com/GloriousThrall)
+* Hardware Supported: GMMK Pro
+* Hardware Availability: [GloriousPCGaming.com](https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make gmmk/pro/iso:default
+
+Flashing example for this keyboard:
+
+ make gmmk/pro/iso:default:flash
+
+To reset the board into bootloader mode, do one of the following:
+
+* Hold the Reset switch mounted on the bottom side of the PCB while connecting the USB cable
+* Hold the Escape key while connecting the USB cable (also erases persistent settings)
+* Fn+Backspace will reset the board to bootloader mode if you have flashed the default QMK keymap
+
+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/gmmk/pro/iso/rules.mk b/keyboards/gmmk/pro/iso/rules.mk
new file mode 100644
index 0000000000..6221d64082
--- /dev/null
+++ b/keyboards/gmmk/pro/iso/rules.mk
@@ -0,0 +1,25 @@
+# MCU name
+MCU = STM32F303
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no # Enable Bluetooth
+AUDIO_ENABLE = no # Audio output
+ENCODER_ENABLE = yes
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = AW20216
diff --git a/keyboards/gmmk/pro/mcuconf.h b/keyboards/gmmk/pro/mcuconf.h
new file mode 100644
index 0000000000..bb1c0acde2
--- /dev/null
+++ b/keyboards/gmmk/pro/mcuconf.h
@@ -0,0 +1,6 @@
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_SPI_USE_SPI1
+#define STM32_SPI_USE_SPI1 TRUE
diff --git a/keyboards/gmmk/pro/pro.h b/keyboards/gmmk/pro/pro.h
index 8295bb2f75..38dd4d78b9 100644
--- a/keyboards/gmmk/pro/pro.h
+++ b/keyboards/gmmk/pro/pro.h
@@ -18,62 +18,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "quantum.h"
-#define ___ KC_NO
-
-// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
-// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BSpc Del
-// Tab Q W E R T Y U I O P [ ] \ PgUp
-// Caps A S D F G H J K L ; " Enter PgDn
-// Sh_L Z X C V B N M , . ? Sh_R Up End
-// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
-
-#define LAYOUT( \
- k13, k26, k36, k31, k33, k07, k63, k71, k76, ka6, ka7, ka3, ka5, k97, k01, \
- k16, k17, k27, k37, k47, k46, k56, k57, k67, k77, k87, k86, k66, ka1, k65, \
- k11, k10, k20, k30, k40, k41, k51, k50, k60, k70, k80, k81, k61, ka2, k15, \
- k21, k12, k22, k32, k42, k43, k53, k52, k62, k72, k82, k83, ka4, k25, \
- k00, k14, k24, k34, k44, k45, k55, k54, k64, k74, k85, k91, k35, k75, \
- k06, k90, k93, k94, k95, k92, k04, k03, k73, k05 \
-) \
-{ \
- { k00, k01, ___, k03, k04, k05, k06, k07}, \
- { k10, k11, k12, k13, k14, k15, k16, k17}, \
- { k20, k21, k22, ___, k24, k25, k26, k27}, \
- { k30, k31, k32, k33, k34, k35, k36, k37}, \
- { k40, k41, k42, k43, k44, k45, k46, k47}, \
- { k50, k51, k52, k53, k54, k55, k56, k57}, \
- { k60, k61, k62, k63, k64, k65, k66, k67}, \
- { k70, k71, k72, k73, k74, k75, k76, k77}, \
- { k80, k81, k82, k83, ___, k85, k86, k87}, \
- { k90, k91, k92, k93, k94, k95, ___, k97}, \
- { ___, ka1, ka2, ka3, ka4, ka5, ka6, ka7} \
-}
-
-// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
-// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BSpc Del
-// Tab Q W E R T Y U I O P [ ] PgUp
-// Caps A S D F G H J K L ; " # Enter PgDn
-// Sh_L / Z X C V B N M , . ? Sh_R Up End
-// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
-
-#define LAYOUT_iso( \
- k13, k26, k36, k31, k33, k07, k63, k71, k76, ka6, ka7, ka3, ka5, k97, k01, \
- k16, k17, k27, k37, k47, k46, k56, k57, k67, k77, k87, k86, k66, ka1, k65, \
- k11, k10, k20, k30, k40, k41, k51, k50, k60, k70, k80, k81, k61, k15, \
- k21, k12, k22, k32, k42, k43, k53, k52, k62, k72, k82, k83, k84, ka4, k25, \
- k00, k23, k14, k24, k34, k44, k45, k55, k54, k64, k74, k85, k91, k35, k75, \
- k06, k90, k93, k94, k95, k92, k04, k03, k73, k05 \
-) \
-{ \
- { k00, k01, ___, k03, k04, k05, k06, k07}, \
- { k10, k11, k12, k13, k14, k15, k16, k17}, \
- { k20, k21, k22, k23, k24, k25, k26, k27}, \
- { k30, k31, k32, k33, k34, k35, k36, k37}, \
- { k40, k41, k42, k43, k44, k45, k46, k47}, \
- { k50, k51, k52, k53, k54, k55, k56, k57}, \
- { k60, k61, k62, k63, k64, k65, k66, k67}, \
- { k70, k71, k72, k73, k74, k75, k76, k77}, \
- { k80, k81, k82, k83, k84, k85, k86, k87}, \
- { k90, k91, k92, k93, k94, k95, ___, k97}, \
- { ___, ka1, ___, ka3, ka4, ka5, ka6, ka7} \
-}
+#if defined(KEYBOARD_gmmk_pro_ansi)
+# include "ansi.h"
+#elif defined(KEYBOARD_gmmk_pro_iso)
+# include "iso.h"
+#endif // GMMK Pro revisions
diff --git a/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c b/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c
index 3142209d6f..c4294c812e 100644
--- a/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c
+++ b/keyboards/gon/nerdtkl/keymaps/gam3cat/keymap.c
@@ -240,7 +240,7 @@ void matrix_scan_user(void) {
}
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
switch (biton32(state)) {
case _BL:
custom_backlight_level(0);
diff --git a/keyboards/gon/nerdtkl/keymaps/gam3cat/rules.mk b/keyboards/gon/nerdtkl/keymaps/gam3cat/rules.mk
index 6151bcf231..3880c80669 100644
--- a/keyboards/gon/nerdtkl/keymaps/gam3cat/rules.mk
+++ b/keyboards/gon/nerdtkl/keymaps/gam3cat/rules.mk
@@ -18,7 +18,6 @@ UNICODEMAP_ENABLE = no # Enable extended unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
#VARIABLE_TRACE = no # Use this to debug changes to variable values
-API_SYSEX_ENABLE = no # This enables using the Quantum SYSEX API to send strings
KEY_LOCK_ENABLE = no # This enables key lock
SPLIT_KEYBOARD = no # This enables split keyboard support and includes all necessary files located at quantum/split_common
TAP_DANCE_ENABLE = no # Enable TapDance functionality
diff --git a/keyboards/hadron/ver2/rules.mk b/keyboards/hadron/ver2/rules.mk
index 7e2ebf5671..a142b92703 100644
--- a/keyboards/hadron/ver2/rules.mk
+++ b/keyboards/hadron/ver2/rules.mk
@@ -27,7 +27,6 @@ AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = yes
SWAP_HANDS_ENABLE = no # Enable one-hand typing
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
diff --git a/keyboards/hadron/ver3/keymaps/ishtob/keymap.c b/keyboards/hadron/ver3/keymaps/ishtob/keymap.c
index 0998ad93b7..c1bfe1f1c1 100644
--- a/keyboards/hadron/ver3/keymaps/ishtob/keymap.c
+++ b/keyboards/hadron/ver3/keymaps/ishtob/keymap.c
@@ -176,7 +176,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
diff --git a/keyboards/handwired/412_64/rules.mk b/keyboards/handwired/412_64/rules.mk
index 044a6d01e9..bf8ddad456 100644
--- a/keyboards/handwired/412_64/rules.mk
+++ b/keyboards/handwired/412_64/rules.mk
@@ -28,5 +28,3 @@ MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
-
-LAYOUTS = ortho_4x16
diff --git a/keyboards/handwired/6key/keymaps/default/keymap.c b/keyboards/handwired/6key/keymaps/default/keymap.c
index 509d999e54..ad73597bab 100644
--- a/keyboards/handwired/6key/keymaps/default/keymap.c
+++ b/keyboards/handwired/6key/keymaps/default/keymap.c
@@ -1,17 +1,17 @@
- /* Copyright 2020 Bratzworth
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General 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 Bratzworth
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
)
};
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0: {
if (active) {
@@ -43,4 +43,5 @@ void dip_switch_update_user(uint8_t index, bool active) {
}
}
}
-} \ No newline at end of file
+ return true;
+}
diff --git a/keyboards/handwired/colorlice/config.h b/keyboards/handwired/colorlice/config.h
index 206a4004ea..0148817f3f 100644
--- a/keyboards/handwired/colorlice/config.h
+++ b/keyboards/handwired/colorlice/config.h
@@ -49,7 +49,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* RGB LEDs */
#define RGB_DI_PIN B1
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
diff --git a/keyboards/handwired/colorlice/rules.mk b/keyboards/handwired/colorlice/rules.mk
index 077b197ef7..6deb00b63e 100644
--- a/keyboards/handwired/colorlice/rules.mk
+++ b/keyboards/handwired/colorlice/rules.mk
@@ -28,7 +28,7 @@ MIDI_ENABLE = no # MIDI support
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
-LTO_ENABLE = no # Use link time optimization
+LTO_ENABLE = yes # Use link time optimization
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = WS2812
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
diff --git a/keyboards/handwired/dactyl/rules.mk b/keyboards/handwired/dactyl/rules.mk
index 2e740e3847..202882c720 100644
--- a/keyboards/handwired/dactyl/rules.mk
+++ b/keyboards/handwired/dactyl/rules.mk
@@ -26,7 +26,6 @@ NKRO_ENABLE = yes # USB Nkey Rollover
UNICODE_ENABLE = yes # Unicode
SWAP_HANDS_ENABLE = yes # Allow swapping hands of keyboard
SLEEP_LED_ENABLE = no
-API_SYSEX_ENABLE = no
RGBLIGHT_ENABLE = no
# project specific files
diff --git a/keyboards/handwired/dactyl_manuform/4x5/4x5.c b/keyboards/handwired/dactyl_manuform/4x5/4x5.c
index 78c0fee819..3170eb9399 100644
--- a/keyboards/handwired/dactyl_manuform/4x5/4x5.c
+++ b/keyboards/handwired/dactyl_manuform/4x5/4x5.c
@@ -1,23 +1 @@
#include "4x5.h"
-
-
-#ifdef SSD1306OLED
-void led_set_kb(uint8_t usb_led) {
- // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
- led_set_user(usb_led);
-}
-#endif
-
-void matrix_init_kb(void) {
-
- // // green led on
- // DDRD |= (1<<5);
- // PORTD &= ~(1<<5);
-
- // // orange led on
- // DDRB |= (1<<0);
- // PORTB &= ~(1<<0);
-
- matrix_init_user();
-};
-
diff --git a/keyboards/handwired/dactyl_manuform/4x5/4x5.h b/keyboards/handwired/dactyl_manuform/4x5/4x5.h
index 3d2d986bbc..73f6be64c2 100644
--- a/keyboards/handwired/dactyl_manuform/4x5/4x5.h
+++ b/keyboards/handwired/dactyl_manuform/4x5/4x5.h
@@ -2,65 +2,50 @@
#include "dactyl_manuform.h"
-#include "quantum.h"
-
-#ifdef USE_I2C
-#include <stddef.h>
-#ifdef __AVR__
- #include <avr/io.h>
- #include <avr/interrupt.h>
-#endif
-#endif
+#define XXX KC_NO
#ifndef FLIP_HALF
#define LAYOUT( \
- L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \
- L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \
- L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \
- L31, L32, R32, R33, \
- L33, L34, R30, R31, \
- L44, L43, R41, R40, \
- L42, L41, R43, R42 \
- ) \
- { \
- { L00, L01, L02, L03, L04 }, \
- { L10, L11, L12, L13, L14 }, \
- { L20, L21, L22, L23, L24 }, \
- { KC_NO, L31, L32, L33, L34 }, \
- { KC_NO, L41, L42, L43, L44 }, \
+ L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \
+ L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \
+ L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \
+ L31, L32, R32, R33, \
+ L33, L34, R30, R31, \
+ L44, L43, R41, R40, \
+ L42, L41, R43, R42 \
+) { \
+ { L00, L01, L02, L03, L04 }, \
+ { L10, L11, L12, L13, L14 }, \
+ { L20, L21, L22, L23, L24 }, \
+ { XXX, L31, L32, L33, L34 }, \
+ { XXX, L41, L42, L43, L44 }, \
\
- { R04, R03, R02, R01, R00 }, \
- { R14, R13, R12, R11, R10 }, \
- { R24, R23, R22, R21, R20 }, \
- { KC_NO, R33, R32, R31, R30 }, \
- { KC_NO, R43, R42, R41, R40 } \
- }
+ { R04, R03, R02, R01, R00 }, \
+ { R14, R13, R12, R11, R10 }, \
+ { R24, R23, R22, R21, R20 }, \
+ { XXX, R33, R32, R31, R30 }, \
+ { XXX, R43, R42, R41, R40 } \
+}
#else
-
-
-
#define LAYOUT( \
- L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \
- L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \
- L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \
- L31, L32, R32, R33, \
- L33, L34, R30, R31, \
- L43, L44, R40, R41, \
- L41, L42, R42, R43 \
- ) \
- { \
- { R04, R03, R02, R01, R00 }, \
- { R14, R13, R12, R11, R10 }, \
- { R24, R23, R22, R21, R20 }, \
- { KC_NO, R33, R32, R31, R30 }, \
- { KC_NO, R43, R42, R41, R40 }, \
+ L00, L01, L02, L03, L04, R00, R01, R02, R03, R04, \
+ L10, L11, L12, L13, L14, R10, R11, R12, R13, R14, \
+ L20, L21, L22, L23, L24, R20, R21, R22, R23, R24, \
+ L31, L32, R32, R33, \
+ L33, L34, R30, R31, \
+ L43, L44, R40, R41, \
+ L41, L42, R42, R43 \
+) { \
+ { R04, R03, R02, R01, R00 }, \
+ { R14, R13, R12, R11, R10 }, \
+ { R24, R23, R22, R21, R20 }, \
+ { XXX, R33, R32, R31, R30 }, \
+ { XXX, R43, R42, R41, R40 }, \
\
- { L00, L01, L02, L03, L04 }, \
- { L10, L11, L12, L13, L14 }, \
- { L20, L21, L22, L23, L24 }, \
- { KC_NO, L31, L32, L33, L34 }, \
- { KC_NO, L41, L42, L43, L44 } \
-\
- }
+ { L00, L01, L02, L03, L04 }, \
+ { L10, L11, L12, L13, L14 }, \
+ { L20, L21, L22, L23, L24 }, \
+ { XXX, L31, L32, L33, L34 }, \
+ { XXX, L41, L42, L43, L44 } \
+}
#endif
-
diff --git a/keyboards/handwired/dactyl_manuform/4x5/config.h b/keyboards/handwired/dactyl_manuform/4x5/config.h
index 22f800d0eb..8a06aeab8e 100644
--- a/keyboards/handwired/dactyl_manuform/4x5/config.h
+++ b/keyboards/handwired/dactyl_manuform/4x5/config.h
@@ -21,10 +21,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x3435
-#define DEVICE_VER 0x0001
-
-#define MANUFACTURER tshort
+#define PRODUCT_ID 0x3435
+#define DEVICE_VER 0x0001
+#define MANUFACTURER tshort
/* key matrix size */
// Rows are doubled-up
diff --git a/keyboards/handwired/dactyl_manuform/4x5/info.json b/keyboards/handwired/dactyl_manuform/4x5/info.json
index 4ee52e1644..31039b8954 100644
--- a/keyboards/handwired/dactyl_manuform/4x5/info.json
+++ b/keyboards/handwired/dactyl_manuform/4x5/info.json
@@ -7,52 +7,65 @@
"layouts": {
"LAYOUT": {
"layout": [
- {"label":"L00", "x":0, "y":0},
- {"label":"L01", "x":1, "y":0},
- {"label":"L02", "x":2, "y":0},
- {"label":"L03", "x":3, "y":0},
- {"label":"L04", "x":4, "y":0},
- {"label":"R00", "x":10, "y":0},
- {"label":"R01", "x":11, "y":0},
- {"label":"R02", "x":12, "y":0},
- {"label":"R03", "x":13, "y":0},
- {"label":"R04", "x":14, "y":0},
- {"label":"L10", "x":0, "y":1},
- {"label":"L11", "x":1, "y":1},
- {"label":"L12", "x":2, "y":1},
- {"label":"L13", "x":3, "y":1},
- {"label":"L14", "x":4, "y":1},
- {"label":"R10", "x":10, "y":1},
- {"label":"R11", "x":11, "y":1},
- {"label":"R12", "x":12, "y":1},
- {"label":"R13", "x":13, "y":1},
- {"label":"R14", "x":14, "y":1},
- {"label":"L20", "x":0, "y":2},
- {"label":"L21", "x":1, "y":2},
- {"label":"L22", "x":2, "y":2},
- {"label":"L23", "x":3, "y":2},
- {"label":"L24", "x":4, "y":2},
- {"label":"R20", "x":10, "y":2},
- {"label":"R21", "x":11, "y":2},
- {"label":"R22", "x":12, "y":2},
- {"label":"R23", "x":13, "y":2},
- {"label":"R24", "x":14, "y":2},
- {"label":"L31", "x":1, "y":3},
- {"label":"L32", "x":2, "y":3},
- {"label":"R32", "x":12, "y":3},
- {"label":"R33", "x":13, "y":3},
- {"label":"L33", "x":3, "y":4},
- {"label":"L34", "x":4, "y":4},
- {"label":"R30", "x":10, "y":4},
- {"label":"R31", "x":11, "y":4},
- {"label":"L44", "x":5, "y":5},
- {"label":"L43", "x":6, "y":5},
- {"label":"R41", "x":8, "y":5},
- {"label":"R40", "x":9, "y":5},
- {"label":"L42", "x":5, "y":6},
- {"label":"L41", "x":6, "y":6},
- {"label":"R43", "x":8, "y":6},
- {"label":"R42", "x":9, "y":6}
+ {"x": 0, "y": 0},
+ {"x": 1, "y": 0},
+ {"x": 2, "y": 0},
+ {"x": 3, "y": 0},
+ {"x": 4, "y": 0},
+
+ {"x": 10, "y": 0},
+ {"x": 11, "y": 0},
+ {"x": 12, "y":0},
+ {"x": 13, "y": 0},
+ {"x": 14, "y": 0},
+
+ {"x": 0, "y": 1},
+ {"x": 1, "y": 1},
+ {"x": 2, "y": 1},
+ {"x": 3, "y": 1},
+ {"x": 4, "y": 1},
+
+ {"x": 10, "y": 1},
+ {"x": 11, "y": 1},
+ {"x": 12, "y": 1},
+ {"x": 13, "y": 1},
+ {"x": 14, "y": 1},
+
+ {"x": 0, "y": 2},
+ {"x": 1, "y": 2},
+ {"x": 2, "y": 2},
+ {"x": 3, "y": 2},
+ {"x": 4, "y": 2},
+
+ {"x": 10, "y": 2},
+ {"x": 11, "y": 2},
+ {"x": 12, "y": 2},
+ {"x": 13, "y": 2},
+ {"x": 14, "y": 2},
+
+ {"x": 1, "y": 3},
+ {"x": 2, "y": 3},
+
+ {"x": 12, "y": 3},
+ {"x": 13, "y": 3},
+
+ {"x": 3, "y": 4},
+ {"x": 4, "y": 4},
+
+ {"x": 10, "y": 4},
+ {"x": 11, "y": 4},
+
+ {"x": 5, "y": 5},
+ {"x": 6, "y": 5},
+
+ {"x": 8, "y": 5},
+ {"x": 9, "y": 5},
+
+ {"x": 5, "y": 6},
+ {"x": 6, "y": 6},
+
+ {"x": 8, "y": 6},
+ {"x": 9, "y": 6}
]
}
}
diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/config.h
index 6b0ddbfe8e..18320c0952 100644
--- a/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/config.h
+++ b/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/config.h
@@ -21,12 +21,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
/* Use I2C or Serial, not both */
-
#define USE_SERIAL
-// #define USE_I2C
+//#define USE_I2C
/* Select hand configuration */
+//#define MASTER_LEFT
+//#define MASTER_RIGHT
-// #define MASTER_LEFT
-// #define MASTER_RIGHT
#define EE_HANDS
diff --git a/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/keymap.c
index 1a328f9d0a..7f71f3db89 100644
--- a/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/keymap.c
+++ b/keyboards/handwired/dactyl_manuform/4x5/keymaps/default/keymap.c
@@ -1,14 +1,9 @@
#include QMK_KEYBOARD_H
-
#define _BASE 0
#define _RAISE 1
#define _LOWER 2
-// Fillers to make layering more clear
-
-#define ____ KC_TRNS
-
#define SFT_ESC SFT_T(KC_ESC)
#define CTL_BSPC CTL_T(KC_BSPC)
#define ALT_SPC ALT_T(KC_SPC)
@@ -25,101 +20,98 @@
#define LOWER MO(_LOWER)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base (qwerty)
+ * ,----------------------------------, ,----------------------------------,
+ * | q | w | e | r | t | | y | u | i | o | p |
+ * |------+------+------+------+------| |-------------+------+------+------|
+ * | a | s | d | f | g | | h | j | k | l | ; |
+ * |------+------+------+------+------| |------|------+------+------+------|
+ * | z | x | c | v | b | | n | m | , | . | ' |
+ * |------+------+------+-------------, ,-------------+------+------+------,
+ * | [ | ] | | - | = |
+ * '------+------'-------------' '-------------'------+------'
+ * | ESC | BS | | SPACE|ENTER |
+ * | + | + | | + | + |
+ * | SHIFT| CTRL | | ALT |SHIFT |
+ * '------+------' '------+------'
+ * '------+------' '------+------'
+ * | TAB | HOME | | END | DEL |
+ * '------+------' '------+------'
+ * | Raise| ~ | | GUI | Lower|
+ * '------+------' '------+------'
+ */
+ [_BASE] = LAYOUT(
+ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
+ KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
+ KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_QUOT,
+ KC_LBRC, KC_RBRC, KC_MINS, KC_EQL,
+ SFT_ESC, CTL_BSPC, ALT_SPC, SFT_ENT,
+ KC_TAB, KC_HOME, KC_END, KC_DEL,
+ RAISE, KC_GRV, KC_LGUI, LOWER
+ ),
-/* Base (qwerty)
- * ,----------------------------------, ,----------------------------------,
- * | q | w | e | r | t | | y | u | i | o | p |
- * |------+------+------+------+------| |-------------+------+------+------|
- * | a | s | d | f | g | | h | j | k | l | ; |
- * |------+------+------+------+------| |------|------+------+------+------|
- * | z | x | c | v | b | | n | m | , | . | ' |
- * |------+------+------+-------------, ,-------------+------+------+------,
- * | [ | ] | | - | = |
- * '------+------'-------------' '-------------'------+------'
- * | ESC | BS | | SPACE|ENTER |
- * | + | + | | + | + |
- * | SHIFT| CTRL | | ALT |SHIFT |
- * '------+------' '------+------'
- * '------+------' '------+------'
- * | TAB | HOME | | END | DEL |
- * '------+------' '------+------'
- * | Raise| ~ | | GUI | Lower|
- * '------+------' '------+------'
- */
-
-[_BASE] = LAYOUT( \
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
- KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, \
- KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_QUOT, \
- KC_LBRC, KC_RBRC, KC_MINS, KC_EQL, \
- SFT_ESC, CTL_BSPC, ALT_SPC, SFT_ENT, \
- KC_TAB, KC_HOME, KC_END, KC_DEL, \
- RAISE, KC_GRV, KC_LGUI, LOWER
-),
-
-/* Raise
- * ,----------------------------------, ,----------------------------------,
- * | | | mup | | | | VOL+ | | up | | PgUp |
- * |------+------+------+------+------| |-------------+------+------+------|
- * | | mleft| mdown|mright| | | MUTE | left | down |right | PgDn |
- * |------+------+------+------+------| |------|------+------+------+------|
- * | | | | | | | VOL- | / | \ | ? | | |
- * |------+------+------+-------------, ,-------------+------+------+------,
- * | | | | mbtn |mbtn2 |
- * '------+------'-------------' '-------------'------+------'
- * | | | | | |
- * | | | | | |
- * | | | | | |
- * '------+------' '------+------'
- * '------+------' '------+------'
- * | | | | | |
- * '------+------' '------+------'
- * | | | | | |
- * '------+------' '------+------'
- */
-
-[_RAISE] = LAYOUT( \
- ____, ____, KC_MU, ____, ____, KC_VOLU, ____, KC_UP, ____, KC_PGUP, \
- ____, KC_ML, KC_MD, KC_MR, ____, KC_MUTE, KC_LEFT, KC_DOWN, KC_RIGHT, KC_PGDOWN, \
- ____, ____, ____, ____, ____, KC_VOLD, KC_SLSH, KC_BSLS, KC_QUES, KC_PIPE, \
- ____, ____, KC_MB1, KC_MB2, \
- ____, ____, ____, ____, \
- ____, ____, ____, ____, \
- ____, ____, ____, ____ \
-),
-/* Lower
- * ,----------------------------------, ,----------------------------------,
- * | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 |
- * |------+------+------+------+------| |-------------+------+------+------|
- * | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |
- * |------+------+------+------+------| |------|------+------+------+------|
- * | ! | @ | # | $ | % | | ^ | & | * | ( | ) |
- * |------+------+------+-------------, ,-------------+------+------+------,
- * | F11 | F12 | | - | = |
- * '------+------'-------------' '-------------'------+------'
- * | | | | | |
- * | | | | | |
- * | | | | | |
- * '------+------' '------+------'
- * '------+------' '------+------'
- * | | | | | |
- * '------+------' '------+------'
- * | | | | | |
- * '------+------' '------+------'
- */
+ /* Raise
+ * ,----------------------------------, ,----------------------------------,
+ * | | | mup | | | | VOL+ | | up | | PgUp |
+ * |------+------+------+------+------| |-------------+------+------+------|
+ * | | mleft| mdown|mright| | | MUTE | left | down |right | PgDn |
+ * |------+------+------+------+------| |------|------+------+------+------|
+ * | | | | | | | VOL- | / | \ | ? | | |
+ * |------+------+------+-------------, ,-------------+------+------+------,
+ * | | | | mbtn |mbtn2 |
+ * '------+------'-------------' '-------------'------+------'
+ * | | | | | |
+ * | | | | | |
+ * | | | | | |
+ * '------+------' '------+------'
+ * '------+------' '------+------'
+ * | | | | | |
+ * '------+------' '------+------'
+ * | | | | | |
+ * '------+------' '------+------'
+ */
+ [_RAISE] = LAYOUT(
+ _______, _______, KC_MU, _______, _______, KC_VOLU, _______, KC_UP, _______, KC_PGUP,
+ _______, KC_ML, KC_MD, KC_MR, _______, KC_MUTE, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN,
+ _______, _______, _______, _______, _______, KC_VOLD, KC_SLSH, KC_BSLS, KC_QUES, KC_PIPE,
+ _______, _______, KC_MB1, KC_MB2,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
-[_LOWER] = LAYOUT( \
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, \
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, \
- KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, \
- KC_F11, KC_F12, ____, ____, \
- ____, ____, ____, ____, \
- ____, ____, ____, ____, \
- ____, ____, ____, ____ \
-)
+ /* Lower
+ * ,----------------------------------, ,----------------------------------,
+ * | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 |
+ * |------+------+------+------+------| |-------------+------+------+------|
+ * | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 |
+ * |------+------+------+------+------| |------|------+------+------+------|
+ * | ! | @ | # | $ | % | | ^ | & | * | ( | ) |
+ * |------+------+------+-------------, ,-------------+------+------+------,
+ * | F11 | F12 | | - | = |
+ * '------+------'-------------' '-------------'------+------'
+ * | | | | | |
+ * | | | | | |
+ * | | | | | |
+ * '------+------' '------+------'
+ * '------+------' '------+------'
+ * | | | | | |
+ * '------+------' '------+------'
+ * | | | | | |
+ * '------+------' '------+------'
+ */
+ [_LOWER] = LAYOUT(
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
+ KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
+ KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
+ KC_F11, KC_F12, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______
+ )
};
void persistent_default_layer_set(uint16_t default_layer) {
- eeconfig_update_default_layer(default_layer);
- default_layer_set(default_layer);
+ eeconfig_update_default_layer(default_layer);
+ default_layer_set(default_layer);
}
diff --git a/keyboards/handwired/dactyl_manuform/4x5/rules.mk b/keyboards/handwired/dactyl_manuform/4x5/rules.mk
index 7508070515..9a9bf7d69f 100644
--- a/keyboards/handwired/dactyl_manuform/4x5/rules.mk
+++ b/keyboards/handwired/dactyl_manuform/4x5/rules.mk
@@ -1,20 +1,23 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
+# change yes to no to disable
#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = no # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no # Enable Bluetooth
+AUDIO_ENABLE = no # Audio output
+SPLIT_KEYBOARD = yes
diff --git a/keyboards/handwired/dactyl_manuform/4x6/4x6.c b/keyboards/handwired/dactyl_manuform/4x6/4x6.c
index 1d305c8541..5e68c1a9fa 100644
--- a/keyboards/handwired/dactyl_manuform/4x6/4x6.c
+++ b/keyboards/handwired/dactyl_manuform/4x6/4x6.c
@@ -1,14 +1 @@
#include "4x6.h"
-
-
-#ifdef SSD1306OLED
-void led_set_kb(uint8_t usb_led) {
- // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
- led_set_user(usb_led);
-}
-#endif
-
-void matrix_init_kb(void) {
- matrix_init_user();
-};
-
diff --git a/keyboards/handwired/dactyl_manuform/4x6/4x6.h b/keyboards/handwired/dactyl_manuform/4x6/4x6.h
index 25741be57b..dcdb1a39ec 100644
--- a/keyboards/handwired/dactyl_manuform/4x6/4x6.h
+++ b/keyboards/handwired/dactyl_manuform/4x6/4x6.h
@@ -1,36 +1,27 @@
#pragma once
#include "dactyl_manuform.h"
-#include "quantum.h"
-#ifdef USE_I2C
-#include <stddef.h>
-#ifdef __AVR__
- #include <avr/io.h>
- #include <avr/interrupt.h>
-#endif
-#endif
+#define XXX KC_NO
-#define LAYOUT(\
+#define LAYOUT( \
L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
- L32, L33, R32, R33, \
- L34, L35, R30, R31, \
- L44, L45, R40, R41, \
- L42, L43, R42, R43 \
- ) \
- { \
- { L00, L01, L02, L03, L04, L05 }, \
- { L10, L11, L12, L13, L14, L15 }, \
- { L20, L21, L22, L23, L24, L25 }, \
- { KC_NO, KC_NO, L32, L33, L34, L35 }, \
- { KC_NO, KC_NO, L42, L43, L44, L45 }, \
+ L32, L33, R32, R33, \
+ L34, L35, R30, R31, \
+ L44, L45, R40, R41, \
+ L42, L43, R42, R43 \
+) { \
+ { L00, L01, L02, L03, L04, L05 }, \
+ { L10, L11, L12, L13, L14, L15 }, \
+ { L20, L21, L22, L23, L24, L25 }, \
+ { XXX, XXX, L32, L33, L34, L35 }, \
+ { XXX, XXX, L42, L43, L44, L45 }, \
\
- { R00, R01, R02, R03, R04, R05 }, \
- { R10, R11, R12, R13, R14, R15 }, \
- { R20, R21, R22, R23, R24, R25 }, \
- { R30, R31, R32, R33, KC_NO, KC_NO }, \
- { R40, R41, R42, R43, KC_NO, KC_NO } \
-\
- }
+ { R00, R01, R02, R03, R04, R05 }, \
+ { R10, R11, R12, R13, R14, R15 }, \
+ { R20, R21, R22, R23, R24, R25 }, \
+ { R30, R31, R32, R33, XXX, XXX }, \
+ { R40, R41, R42, R43, XXX, XXX } \
+}
diff --git a/keyboards/handwired/dactyl_manuform/4x6/config.h b/keyboards/handwired/dactyl_manuform/4x6/config.h
index 6de9b36167..2e79517b25 100644
--- a/keyboards/handwired/dactyl_manuform/4x6/config.h
+++ b/keyboards/handwired/dactyl_manuform/4x6/config.h
@@ -21,8 +21,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
/* USB Device descriptor parameter */
-#define PRODUCT_ID 0x3436
-#define DEVICE_VER 0x0001
+#define PRODUCT_ID 0x3436
+#define DEVICE_VER 0x0001
/* key matrix size */
// Rows are doubled-up
diff --git a/keyboards/handwired/dactyl_manuform/4x6/info.json b/keyboards/handwired/dactyl_manuform/4x6/info.json
index ba358a703f..11895a7d1b 100644
--- a/keyboards/handwired/dactyl_manuform/4x6/info.json
+++ b/keyboards/handwired/dactyl_manuform/4x6/info.json
@@ -7,59 +7,72 @@
"layouts": {
"LAYOUT": {
"layout": [
- {"label":"L00", "x":0, "y":0},
- {"label":"L01", "x":1, "y":0},
- {"label":"L02", "x":2, "y":0},
- {"label":"L03", "x":3, "y":0},
- {"label":"L04", "x":4, "y":0},
- {"label":"L05", "x":5, "y":0},
- {"label":"R00", "x":11, "y":0},
- {"label":"R01", "x":12, "y":0},
- {"label":"R02", "x":13, "y":0},
- {"label":"R03", "x":14, "y":0},
- {"label":"R04", "x":15, "y":0},
- {"label":"R05", "x":16, "y":0},
- {"label":"L10", "x":0, "y":1},
- {"label":"L11", "x":1, "y":1},
- {"label":"L12", "x":2, "y":1},
- {"label":"L13", "x":3, "y":1},
- {"label":"L14", "x":4, "y":1},
- {"label":"L15", "x":5, "y":1},
- {"label":"R10", "x":11, "y":1},
- {"label":"R11", "x":12, "y":1},
- {"label":"R12", "x":13, "y":1},
- {"label":"R13", "x":14, "y":1},
- {"label":"R14", "x":15, "y":1},
- {"label":"R15", "x":16, "y":1},
- {"label":"L20", "x":0, "y":2},
- {"label":"L21", "x":1, "y":2},
- {"label":"L22", "x":2, "y":2},
- {"label":"L23", "x":3, "y":2},
- {"label":"L24", "x":4, "y":2},
- {"label":"L25", "x":5, "y":2},
- {"label":"R20", "x":11, "y":2},
- {"label":"R21", "x":12, "y":2},
- {"label":"R22", "x":13, "y":2},
- {"label":"R23", "x":14, "y":2},
- {"label":"R24", "x":15, "y":2},
- {"label":"R25", "x":16, "y":2},
- {"label":"L32", "x":2, "y":3},
- {"label":"L33", "x":3, "y":3},
- {"label":"R32", "x":13, "y":3},
- {"label":"R33", "x":14, "y":3},
- {"label":"L34", "x":4, "y":4},
- {"label":"L35", "x":5, "y":4},
- {"label":"R30", "x":11, "y":4},
- {"label":"R31", "x":12, "y":4},
- {"label":"L44", "x":6, "y":5},
- {"label":"L45", "x":7, "y":5},
- {"label":"R40", "x":9, "y":5},
- {"label":"R41", "x":10, "y":5},
- {"label":"L42", "x":6, "y":6},
- {"label":"L43", "x":7, "y":6},
- {"label":"R42", "x":9, "y":6},
- {"label":"R43", "x":10, "y":6}
- ]
+ {"x": 0, "y": 0},
+ {"x": 1, "y": 0},
+ {"x": 2, "y": 0},
+ {"x": 3, "y": 0},
+ {"x": 4, "y": 0},
+ {"x": 5, "y": 0},
+
+ {"x": 11, "y": 0},
+ {"x": 12, "y": 0},
+ {"x": 13, "y": 0},
+ {"x": 14, "y": 0},
+ {"x": 15, "y": 0},
+ {"x": 16, "y": 0},
+
+ {"x": 0, "y": 1},
+ {"x": 1, "y": 1},
+ {"x": 2, "y": 1},
+ {"x": 3, "y": 1},
+ {"x": 4, "y": 1},
+ {"x": 5, "y": 1},
+
+ {"x": 11, "y": 1},
+ {"x": 12, "y": 1},
+ {"x": 13, "y": 1},
+ {"x": 14, "y": 1},
+ {"x": 15, "y": 1},
+ {"x": 16, "y": 1},
+
+ {"x": 0, "y": 2},
+ {"x": 1, "y": 2},
+ {"x": 2, "y": 2},
+ {"x": 3, "y": 2},
+ {"x": 4, "y": 2},
+ {"x": 5, "y": 2},
+
+ {"x": 11, "y": 2},
+ {"x": 12, "y": 2},
+ {"x": 13, "y": 2},
+ {"x": 14, "y": 2},
+ {"x": 15, "y": 2},
+ {"x": 16, "y": 2},
+
+ {"x": 2, "y": 3},
+ {"x": 3, "y": 3},
+
+ {"x": 13, "y": 3},
+ {"x": 14, "y": 3},
+
+ {"x": 4, "y": 4},
+ {"x": 5, "y": 4},
+
+ {"x": 11, "y": 4},
+ {"x": 12, "y": 4},
+
+ {"x": 6, "y": 5},
+ {"x": 7, "y": 5},
+
+ {"x": 9, "y": 5},
+ {"x": 10, "y": 5},
+
+ {"x": 6, "y": 6},
+ {"x": 7, "y": 6},
+
+ {"x": 9, "y": 6},
+ {"x": 10, "y": 6}
+ ]
}
}
}
diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/config.h
index 1fc2c617f6..18320c0952 100644
--- a/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/config.h
+++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/config.h
@@ -22,10 +22,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Use I2C or Serial, not both */
#define USE_SERIAL
-// #define USE_I2C
+//#define USE_I2C
/* Select hand configuration */
+//#define MASTER_LEFT
+//#define MASTER_RIGHT
-// #define MASTER_LEFT
-// #define MASTER_RIGHT
#define EE_HANDS
diff --git a/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/keymap.c
index 52ddfad038..999cc30118 100644
--- a/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/keymap.c
+++ b/keyboards/handwired/dactyl_manuform/4x6/keymaps/default/keymap.c
@@ -1,14 +1,9 @@
#include QMK_KEYBOARD_H
-
#define _BASE 0
#define _RAISE 1
#define _LOWER 2
-// Fillers to make layering more clear
-
-#define ____ KC_TRNS
-
#define SFT_ESC SFT_T(KC_ESC)
#define CTL_BSPC CTL_T(KC_BSPC)
#define ALT_SPC ALT_T(KC_SPC)
@@ -25,61 +20,58 @@
#define LOWER MO(_LOWER)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base (qwerty)
+ * +-----------------------------------------+ +-----------------------------------------+
+ * | ESC | q | w | e | r | t | | y | u | i | o | p | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | TAB | a | s | d | f | g | | h | j | k | l | ; | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | SHFT | z | x | c | v | b | | n | m | , | . | / | |
+ * +------+------+------+------+-------------+ +-------------+------+------+------+------+
+ * | [ | ] | | | |
+ * +-------------+-------------+ +-------------+-------------+
+ * | | | | | |
+ * |------+------| |------+------|
+ * | | | | | |
+ * +-------------+ +-------------+
+ * +-------------+ +-------------+
+ * | | | | | |
+ * |------+------| |------+------|
+ * | | | | | |
+ * +-------------+ +-------------+
+ */
+ [_BASE] = LAYOUT(
+ 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_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS,
+ KC_LBRC, KC_RBRC, KC_PLUS, KC_EQL,
+ RAISE, KC_SPC, KC_ENT, LOWER,
+ KC_TAB, KC_HOME, KC_END, KC_DEL,
+ KC_BSPC, KC_GRV, KC_LGUI, KC_LALT
+ ),
-/* Base (qwerty)
- * +-----------------------------------------+ +-----------------------------------------+
- * | ESC | q | w | e | r | t | | y | u | i | o | p | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | TAB | a | s | d | f | g | | h | j | k | l | ; | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | SHFT | z | x | c | v | b | | n | m | , | . | / | |
- * +------+------+------+------+-------------+ +-------------+------+------+------+------+
- * | [ | ] | | | |
- * +-------------+-------------+ +-------------+-------------+
- * | | | | | |
- * |------+------| |------+------|
- * | | | | | |
- * +-------------+ +-------------+
- * +-------------+ +-------------+
- * | | | | | |
- * |------+------| |------+------|
- * | | | | | |
- * +-------------+ +-------------+
- */
+ [_LOWER] = LAYOUT(
+ _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, RESET, 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_PSCR, _______, KC_P0,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______
+ ),
-[_BASE] = LAYOUT( \
- 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_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, \
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_BSLASH, \
- KC_LBRC,KC_RBRC, KC_PLUS,KC_EQL, \
- RAISE, KC_SPC, KC_ENT, LOWER, \
- KC_TAB, KC_HOME, KC_END, KC_DEL, \
- KC_BSPC,KC_GRV, KC_LGUI,KC_LALT \
-),
-
-[_LOWER] = LAYOUT(
- _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, RESET, 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_PSCR, _______, KC_P0, \
- _______,_______, _______,_______, \
- _______,_______, _______,_______, \
- _______,_______, _______,_______ \
-),
-
-[_RAISE] = LAYOUT(
- _______,RESET, _______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS, KC_SLCK,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_EQL, _______, \
- _______,_______, _______,_______, \
- _______,_______, _______,_______, \
- _______,_______, _______,_______ \
-)
+ [_RAISE] = LAYOUT(
+ _______, RESET, _______, _______, _______, KC_LBRC, KC_RBRC, _______, KC_NLCK, KC_INS, KC_SLCK, 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_EQL, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______, _______
+ )
};
-
void persistent_default_layer_set(uint16_t default_layer) {
- eeconfig_update_default_layer(default_layer);
- default_layer_set(default_layer);
+ eeconfig_update_default_layer(default_layer);
+ default_layer_set(default_layer);
}
diff --git a/keyboards/handwired/dactyl_manuform/4x6/rules.mk b/keyboards/handwired/dactyl_manuform/4x6/rules.mk
index 7508070515..9a9bf7d69f 100644
--- a/keyboards/handwired/dactyl_manuform/4x6/rules.mk
+++ b/keyboards/handwired/dactyl_manuform/4x6/rules.mk
@@ -1,20 +1,23 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
+# change yes to no to disable
#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = no # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no # Enable Bluetooth
+AUDIO_ENABLE = no # Audio output
+SPLIT_KEYBOARD = yes
diff --git a/keyboards/handwired/dactyl_manuform/5x6/5x6.c b/keyboards/handwired/dactyl_manuform/5x6/5x6.c
index 68fceffd92..0e9d5481c4 100644
--- a/keyboards/handwired/dactyl_manuform/5x6/5x6.c
+++ b/keyboards/handwired/dactyl_manuform/5x6/5x6.c
@@ -1,23 +1 @@
#include "5x6.h"
-
-
-#ifdef SSD1306OLED
-void led_set_kb(uint8_t usb_led) {
- // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
- led_set_user(usb_led);
-}
-#endif
-
-void matrix_init_kb(void) {
-
- // // green led on
- // DDRD |= (1<<5);
- // PORTD &= ~(1<<5);
-
- // // orange led on
- // DDRB |= (1<<0);
- // PORTB &= ~(1<<0);
-
- matrix_init_user();
-};
-
diff --git a/keyboards/handwired/dactyl_manuform/5x6/5x6.h b/keyboards/handwired/dactyl_manuform/5x6/5x6.h
index 5292ca0972..606a213492 100644
--- a/keyboards/handwired/dactyl_manuform/5x6/5x6.h
+++ b/keyboards/handwired/dactyl_manuform/5x6/5x6.h
@@ -1,38 +1,30 @@
#pragma once
#include "dactyl_manuform.h"
-#include "quantum.h"
-#ifdef USE_I2C
-#include <stddef.h>
-#ifdef __AVR__
- #include <avr/io.h>
- #include <avr/interrupt.h>
-#endif
-#endif
+#define XXX KC_NO
-#define LAYOUT_5x6(\
- L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
- L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
- L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
- L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
- L42, L43, R42, R43, \
- L44, L45, R40, R41, \
- L54, L55, R50, R51, \
- L52, L53, R52, R53 \
- ) \
- { \
- { L00, L01, L02, L03, L04, L05 }, \
- { L10, L11, L12, L13, L14, L15 }, \
- { L20, L21, L22, L23, L24, L25 }, \
- { L30, L31, L32, L33, L34, L35 }, \
- { KC_NO, KC_NO, L42, L43, L44, L45 }, \
- { KC_NO, KC_NO, L52, L53, L54, L55 }, \
- \
- { R00, R01, R02, R03, R04, R05 }, \
- { R10, R11, R12, R13, R14, R15 }, \
- { R20, R21, R22, R23, R24, R25 }, \
- { R30, R31, R32, R33, R34, R35 }, \
- { R40, R41, R42, R43, KC_NO, KC_NO }, \
- { R50, R51, R52, R53, KC_NO, KC_NO } \
+#define LAYOUT_5x6( \
+ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
+ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
+ L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
+ L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
+ L42, L43, R42, R43, \
+ L44, L45, R40, R41, \
+ L54, L55, R50, R51, \
+ L52, L53, R52, R53 \
+) { \
+ { L00, L01, L02, L03, L04, L05 }, \
+ { L10, L11, L12, L13, L14, L15 }, \
+ { L20, L21, L22, L23, L24, L25 }, \
+ { L30, L31, L32, L33, L34, L35 }, \
+ { XXX, XXX, L42, L43, L44, L45 }, \
+ { XXX, XXX, L52, L53, L54, L55 }, \
+\
+ { R00, R01, R02, R03, R04, R05 }, \
+ { R10, R11, R12, R13, R14, R15 }, \
+ { R20, R21, R22, R23, R24, R25 }, \
+ { R30, R31, R32, R33, R34, R35 }, \
+ { R40, R41, R42, R43, XXX, XXX }, \
+ { R50, R51, R52, R53, XXX, XXX } \
}
diff --git a/keyboards/handwired/dactyl_manuform/5x6/config.h b/keyboards/handwired/dactyl_manuform/5x6/config.h
index dc395d868a..6b93da9588 100644
--- a/keyboards/handwired/dactyl_manuform/5x6/config.h
+++ b/keyboards/handwired/dactyl_manuform/5x6/config.h
@@ -20,9 +20,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define PRODUCT_ID 0x3536
-#define DEVICE_VER 0x0001
-#define PRODUCT Dactyl-Manuform (5x6)
+#define PRODUCT_ID 0x3536
+#define DEVICE_VER 0x0001
+#define PRODUCT Dactyl-Manuform (5x6)
/* key matrix size */
// Rows are doubled-up
diff --git a/keyboards/handwired/dactyl_manuform/5x6/info.json b/keyboards/handwired/dactyl_manuform/5x6/info.json
index 14afc704cd..d34b665444 100644
--- a/keyboards/handwired/dactyl_manuform/5x6/info.json
+++ b/keyboards/handwired/dactyl_manuform/5x6/info.json
@@ -7,70 +7,85 @@
"layouts": {
"LAYOUT_5x6": {
"layout": [
- {"label":"L00", "x":0, "y":0},
- {"label":"L01", "x":1, "y":0},
- {"label":"L02", "x":2, "y":0},
- {"label":"L03", "x":3, "y":0},
- {"label":"L04", "x":4, "y":0},
- {"label":"L05", "x":5, "y":0},
- {"label":"R00", "x":11, "y":0},
- {"label":"R01", "x":12, "y":0},
- {"label":"R02", "x":13, "y":0},
- {"label":"R03", "x":14, "y":0},
- {"label":"R04", "x":15, "y":0},
- {"label":"R05", "x":16, "y":0},
- {"label":"L10", "x":0, "y":1},
- {"label":"L11", "x":1, "y":1},
- {"label":"L12", "x":2, "y":1},
- {"label":"L13", "x":3, "y":1},
- {"label":"L14", "x":4, "y":1},
- {"label":"L15", "x":5, "y":1},
- {"label":"R10", "x":11, "y":1},
- {"label":"R11", "x":12, "y":1},
- {"label":"R12", "x":13, "y":1},
- {"label":"R13", "x":14, "y":1},
- {"label":"R14", "x":15, "y":1},
- {"label":"R15", "x":16, "y":1},
- {"label":"L20", "x":0, "y":2},
- {"label":"L21", "x":1, "y":2},
- {"label":"L22", "x":2, "y":2},
- {"label":"L23", "x":3, "y":2},
- {"label":"L24", "x":4, "y":2},
- {"label":"L25", "x":5, "y":2},
- {"label":"R20", "x":11, "y":2},
- {"label":"R21", "x":12, "y":2},
- {"label":"R22", "x":13, "y":2},
- {"label":"R23", "x":14, "y":2},
- {"label":"R24", "x":15, "y":2},
- {"label":"R25", "x":16, "y":2},
- {"label":"L30", "x":0, "y":3},
- {"label":"L31", "x":1, "y":3},
- {"label":"L32", "x":2, "y":3},
- {"label":"L33", "x":3, "y":3},
- {"label":"L34", "x":4, "y":3},
- {"label":"L35", "x":5, "y":3},
- {"label":"R30", "x":11, "y":3},
- {"label":"R31", "x":12, "y":3},
- {"label":"R32", "x":13, "y":3},
- {"label":"R33", "x":14, "y":3},
- {"label":"R34", "x":15, "y":3},
- {"label":"R35", "x":16, "y":3},
- {"label":"L42", "x":2, "y":4},
- {"label":"L43", "x":3, "y":4},
- {"label":"R42", "x":13, "y":4},
- {"label":"R43", "x":14, "y":4},
- {"label":"L44", "x":4, "y":5},
- {"label":"L45", "x":5, "y":5},
- {"label":"R40", "x":11, "y":5},
- {"label":"R41", "x":12, "y":5},
- {"label":"L54", "x":6, "y":6},
- {"label":"L55", "x":7, "y":6},
- {"label":"R50", "x":9, "y":6},
- {"label":"R51", "x":10, "y":6},
- {"label":"L52", "x":6, "y":7},
- {"label":"L53", "x":7, "y":7},
- {"label":"R52", "x":9, "y":7},
- {"label":"R53", "x":10, "y":7}
+ {"x": 0, "y": 0},
+ {"x": 1, "y": 0},
+ {"x": 2, "y": 0},
+ {"x": 3, "y": 0},
+ {"x": 4, "y": 0},
+ {"x": 5, "y": 0},
+
+ {"x": 11, "y": 0},
+ {"x": 12, "y": 0},
+ {"x": 13, "y": 0},
+ {"x": 14, "y": 0},
+ {"x": 15, "y": 0},
+ {"x": 16, "y": 0},
+
+ {"x": 0, "y": 1},
+ {"x": 1, "y": 1},
+ {"x": 2, "y": 1},
+ {"x": 3, "y": 1},
+ {"x": 4, "y": 1},
+ {"x": 5, "y": 1},
+
+ {"x": 11, "y": 1},
+ {"x": 12, "y": 1},
+ {"x": 13, "y": 1},
+ {"x": 14, "y": 1},
+ {"x": 15, "y": 1},
+ {"x": 16, "y": 1},
+
+ {"x": 0, "y": 2},
+ {"x": 1, "y": 2},
+ {"x": 2, "y": 2},
+ {"x": 3, "y": 2},
+ {"x": 4, "y": 2},
+ {"x": 5, "y": 2},
+
+ {"x": 11, "y": 2},
+ {"x": 12, "y": 2},
+ {"x": 13, "y": 2},
+ {"x": 14, "y": 2},
+ {"x": 15, "y": 2},
+ {"x": 16, "y": 2},
+
+ {"x": 0, "y": 3},
+ {"x": 1, "y": 3},
+ {"x": 2, "y": 3},
+ {"x": 3, "y": 3},
+ {"x": 4, "y": 3},
+ {"x": 5, "y": 3},
+
+ {"x": 11, "y": 3},
+ {"x": 12, "y": 3},
+ {"x": 13, "y": 3},
+ {"x": 14, "y": 3},
+ {"x": 15, "y": 3},
+ {"x": 16, "y": 3},
+
+ {"x": 2, "y": 4},
+ {"x": 3, "y": 4},
+
+ {"x": 13, "y": 4},
+ {"x": 14, "y": 4},
+
+ {"x": 4, "y": 5},
+ {"x": 5, "y": 5},
+
+ {"x": 11, "y": 5},
+ {"x": 12, "y": 5},
+
+ {"x": 6, "y": 6},
+ {"x": 7, "y": 6},
+
+ {"x": 9, "y": 6},
+ {"x": 10, "y": 6},
+
+ {"x": 6, "y": 7},
+ {"x": 7, "y": 7},
+
+ {"x": 9, "y": 7},
+ {"x": 10, "y": 7}
]
}
}
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/5x6/keymaps/default/config.h
index 29ab59ad66..5a20f9473f 100644
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/default/config.h
+++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/default/config.h
@@ -15,13 +15,11 @@ 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 USE_SERIAL
#define MASTER_LEFT
-// #define MASTER_RIGHT
+//#define MASTER_RIGHT
+
//#define EE_HANDS
-// Rows are doubled-up
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/default/keymap.c
index 0910faf899..5bb5836fbc 100644
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/default/keymap.c
+++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/default/keymap.c
@@ -1,8 +1,5 @@
-/* A standard layout for the Dactyl Manuform 5x6 Keyboard */
-
#include QMK_KEYBOARD_H
-
#define _QWERTY 0
#define _LOWER 1
#define _RAISE 2
@@ -11,39 +8,37 @@
#define LOWER MO(_LOWER)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT_5x6(
- 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_BSLASH,
- KC_LBRC,KC_RBRC, KC_PLUS, KC_EQL,
- RAISE,KC_SPC, KC_ENT, LOWER,
- KC_TAB,KC_HOME, KC_END, KC_DEL,
- KC_BSPC, KC_GRV, KC_LGUI, KC_LALT
- ),
-
- [_LOWER] = LAYOUT_5x6(
-
- KC_TILD,KC_EXLM, KC_AT ,KC_HASH,KC_DLR ,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_DEL,
- _______,_______,_______,_______,_______,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_PSCR, _______, KC_P0,
- _______,_______, _______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______
-
- ),
-
- [_RAISE] = LAYOUT_5x6(
- KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,
- _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS ,KC_SLCK,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_EQL ,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______
- ),
+ [_QWERTY] = LAYOUT_5x6(
+ 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_BSLASH,
+ KC_LBRC,KC_RBRC, KC_PLUS, KC_EQL,
+ RAISE,KC_SPC, KC_ENT, LOWER,
+ KC_TAB,KC_HOME, KC_END, KC_DEL,
+ KC_BSPC, KC_GRV, KC_LGUI, KC_LALT
+ ),
+
+ [_LOWER] = LAYOUT_5x6(
+ KC_TILD,KC_EXLM, KC_AT ,KC_HASH,KC_DLR ,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_DEL,
+ _______,_______,_______,_______,_______,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_PSCR, _______, KC_P0,
+ _______,_______, _______,_______,
+ _______,_______, _______,_______,
+ _______,_______, _______,_______
+
+ ),
+
+ [_RAISE] = LAYOUT_5x6(
+ KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,
+ _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS ,KC_SLCK,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_EQL ,_______,
+ _______,_______, _______,_______,
+ _______,_______, _______,_______,
+ _______,_______, _______,_______
+ )
};
diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/swedish/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/swedish/keymap.c
index f8dfb2718c..de931feabd 100644
--- a/keyboards/handwired/dactyl_manuform/5x6/keymaps/swedish/keymap.c
+++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/swedish/keymap.c
@@ -16,16 +16,13 @@ enum dactyl_layers {
#define KILL LGUI(LSFT(KC_C))
#define OPEN LGUI(KC_P)
#define KC_QSM LSFT(SE_PLUS)
-#define KC_AA SE_AA
-#define KC_AE SE_AE
-#define KC_OE SE_OSLH
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT_5x6(
- KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , SE_APOS,
- KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_AA ,
- KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_OE , KC_AE ,
+ KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , SE_QUOT,
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , SE_ARNG,
+ KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , SE_ODIA, SE_ADIA,
KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , SE_SLSH, SE_MINS,
KC_EXLM, KC_QSM , SE_PLUS, SE_EQL ,
RAISE , KC_SPC , KC_ENT , LOWER ,
@@ -37,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
SE_TILD, KC_EXLM, SE_AT , KC_HASH, SE_DLR , KC_PERC, SE_CIRC, SE_AMPR, SE_ASTR, SE_SLSH, SE_LPRN, SE_RPRN,
SE_ACUT, _______, _______, _______, _______, _______, _______, _______, _______, _______, SE_LCBR, SE_RCBR,
_______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, SE_LBRC, SE_RBRC,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, SE_LESS, SE_GRTR,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, SE_LABK, SE_RABK,
_______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______, _______, _______,
diff --git a/keyboards/handwired/dactyl_manuform/5x6/rules.mk b/keyboards/handwired/dactyl_manuform/5x6/rules.mk
index 7508070515..9a9bf7d69f 100644
--- a/keyboards/handwired/dactyl_manuform/5x6/rules.mk
+++ b/keyboards/handwired/dactyl_manuform/5x6/rules.mk
@@ -1,20 +1,23 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
+# change yes to no to disable
#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = no # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no # Enable Bluetooth
+AUDIO_ENABLE = no # Audio output
+SPLIT_KEYBOARD = yes
diff --git a/keyboards/handwired/dactyl_manuform/5x6_2_5/5x6_2_5.h b/keyboards/handwired/dactyl_manuform/5x6_2_5/5x6_2_5.h
index c41037ce6b..790fdb0695 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_2_5/5x6_2_5.h
+++ b/keyboards/handwired/dactyl_manuform/5x6_2_5/5x6_2_5.h
@@ -18,26 +18,27 @@
#include "dactyl_manuform.h"
-#define LAYOUT_5x6_2_5(\
- L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
- L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
- L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
- L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
- L40, L41, L42, L43, L44, L55, L53, R52, R50, R41, R42, R43, R44, R45, \
- L54, L52, R53, R51 \
- ) \
- { \
- { L00, L01, L02, L03, L04, L05 }, \
- { L10, L11, L12, L13, L14, L15 }, \
- { L20, L21, L22, L23, L24, L25 }, \
- { L30, L31, L32, L33, L34, L35 }, \
- { L40, L41, L42, L43, L44, KC_NO }, \
- { KC_NO, KC_NO, L52, L53, L54, L55 }, \
- \
- { R00, R01, R02, R03, R04, R05 }, \
- { R10, R11, R12, R13, R14, R15 }, \
- { R20, R21, R22, R23, R24, R25 }, \
- { R30, R31, R32, R33, R34, R35 }, \
- { KC_NO, R41, R42, R43, R44, R45 }, \
- { R50, R51, R52, R53, KC_NO, KC_NO } \
+#define XXX KC_NO
+
+#define LAYOUT_5x6_2_5( \
+ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
+ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
+ L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
+ L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
+ L40, L41, L42, L43, L44, L55, L53, R52, R50, R41, R42, R43, R44, R45, \
+ L54, L52, R53, R51 \
+) { \
+ { L00, L01, L02, L03, L04, L05 }, \
+ { L10, L11, L12, L13, L14, L15 }, \
+ { L20, L21, L22, L23, L24, L25 }, \
+ { L30, L31, L32, L33, L34, L35 }, \
+ { L40, L41, L42, L43, L44, XXX }, \
+ { XXX, XXX, L52, L53, L54, L55 }, \
+\
+ { R00, R01, R02, R03, R04, R05 }, \
+ { R10, R11, R12, R13, R14, R15 }, \
+ { R20, R21, R22, R23, R24, R25 }, \
+ { R30, R31, R32, R33, R34, R35 }, \
+ { XXX, R41, R42, R43, R44, R45 }, \
+ { R50, R51, R52, R53, XXX, XXX } \
}
diff --git a/keyboards/handwired/dactyl_manuform/5x6_2_5/config.h b/keyboards/handwired/dactyl_manuform/5x6_2_5/config.h
index 029f1723b5..79ea625d9e 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_2_5/config.h
+++ b/keyboards/handwired/dactyl_manuform/5x6_2_5/config.h
@@ -19,18 +19,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define PRODUCT_ID 0x3536
-#define DEVICE_VER 0x0003
-#define PRODUCT Dactyl-Manuform (5x6+2)
-// #define PRODUCT Dactyl-Manuform (5x6+2) BLE
+#define PRODUCT_ID 0x3536
+#define DEVICE_VER 0x0003
+#define PRODUCT Dactyl-Manuform (5x6+2)
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 6
-// wiring of each half
-// ../../../../docs/proton_c_conversion.md
-
// left half pro-mirco
#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
#define MATRIX_ROW_PINS { F6, F7, B1, B3, B2, B6 }
diff --git a/keyboards/handwired/dactyl_manuform/5x6_2_5/info.json b/keyboards/handwired/dactyl_manuform/5x6_2_5/info.json
index ad227d5f5d..aa7e2369b1 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_2_5/info.json
+++ b/keyboards/handwired/dactyl_manuform/5x6_2_5/info.json
@@ -7,79 +7,85 @@
"layouts": {
"LAYOUT_5x6_2_5": {
"layout": [
- {"label":"L00", "x":0, "y":0},
- {"label":"L01", "x":1, "y":0},
- {"label":"L02", "x":2, "y":0},
- {"label":"L03", "x":3, "y":0},
- {"label":"L04", "x":4, "y":0},
- {"label":"L05", "x":5, "y":0},
- {"label":"R00", "x":11, "y":0},
- {"label":"R01", "x":12, "y":0},
- {"label":"R02", "x":13, "y":0},
- {"label":"R03", "x":14, "y":0},
- {"label":"R04", "x":15, "y":0},
- {"label":"R05", "x":16, "y":0},
+ {"x": 0, "y": 0},
+ {"x": 1, "y": 0},
+ {"x": 2, "y": 0},
+ {"x": 3, "y": 0},
+ {"x": 4, "y": 0},
+ {"x": 5, "y": 0},
- {"label":"L10", "x":0, "y":1},
- {"label":"L11", "x":1, "y":1},
- {"label":"L12", "x":2, "y":1},
- {"label":"L13", "x":3, "y":1},
- {"label":"L14", "x":4, "y":1},
- {"label":"L15", "x":5, "y":1},
- {"label":"R10", "x":11, "y":1},
- {"label":"R11", "x":12, "y":1},
- {"label":"R12", "x":13, "y":1},
- {"label":"R13", "x":14, "y":1},
- {"label":"R14", "x":15, "y":1},
- {"label":"R15", "x":16, "y":1},
+ {"x": 11, "y": 0},
+ {"x": 12, "y": 0},
+ {"x": 13, "y": 0},
+ {"x": 14, "y": 0},
+ {"x": 15, "y": 0},
+ {"x": 16, "y": 0},
- {"label":"L20", "x":0, "y":2},
- {"label":"L21", "x":1, "y":2},
- {"label":"L22", "x":2, "y":2},
- {"label":"L23", "x":3, "y":2},
- {"label":"L24", "x":4, "y":2},
- {"label":"L25", "x":5, "y":2},
- {"label":"R20", "x":11, "y":2},
- {"label":"R21", "x":12, "y":2},
- {"label":"R22", "x":13, "y":2},
- {"label":"R23", "x":14, "y":2},
- {"label":"R24", "x":15, "y":2},
- {"label":"R25", "x":16, "y":2},
+ {"x": 0, "y": 1},
+ {"x": 1, "y": 1},
+ {"x": 2, "y": 1},
+ {"x": 3, "y": 1},
+ {"x": 4, "y": 1},
+ {"x": 5, "y": 1},
- {"label":"L30", "x":0, "y":3},
- {"label":"L31", "x":1, "y":3},
- {"label":"L32", "x":2, "y":3},
- {"label":"L33", "x":3, "y":3},
- {"label":"L34", "x":4, "y":3},
- {"label":"L35", "x":5, "y":3},
- {"label":"R30", "x":11, "y":3},
- {"label":"R31", "x":12, "y":3},
- {"label":"R32", "x":13, "y":3},
- {"label":"R33", "x":14, "y":3},
- {"label":"R34", "x":15, "y":3},
- {"label":"R35", "x":16, "y":3},
+ {"x": 11, "y": 1},
+ {"x": 12, "y": 1},
+ {"x": 13, "y": 1},
+ {"x": 14, "y": 1},
+ {"x": 15, "y": 1},
+ {"x": 16, "y": 1},
- {"label":"L40", "x":0, "y":4},
- {"label":"L41", "x":1, "y":4},
- {"label":"L42", "x":2, "y":4},
- {"label":"L43", "x":3, "y":4},
- {"label":"L44", "x":5, "y":4},
- {"label":"L45", "x":6, "y":4},
- {"label":"L53", "x":7, "y":4},
+ {"x": 0, "y": 2},
+ {"x": 1, "y": 2},
+ {"x": 2, "y": 2},
+ {"x": 3, "y": 2},
+ {"x": 4, "y": 2},
+ {"x": 5, "y": 2},
- {"label":"R52", "x":9, "y":4},
- {"label":"R40", "x":10, "y":4},
- {"label":"R41", "x":11, "y":4},
- {"label":"R42", "x":13, "y":4},
- {"label":"R43", "x":14, "y":4},
- {"label":"R44", "x":15, "y":4},
- {"label":"R45", "x":16, "y":4},
+ {"x": 11, "y": 2},
+ {"x": 12, "y": 2},
+ {"x": 13, "y": 2},
+ {"x": 14, "y": 2},
+ {"x": 15, "y": 2},
+ {"x": 16, "y": 2},
- {"label":"L54", "x":6, "y":5},
- {"label":"L52", "x":7, "y":5},
+ {"x": 0, "y": 3},
+ {"x": 1, "y": 3},
+ {"x": 2, "y": 3},
+ {"x": 3, "y": 3},
+ {"x": 4, "y": 3},
+ {"x": 5, "y": 3},
- {"label":"R53", "x":9, "y":5},
- {"label":"R51", "x":10, "y":5}
+ {"x": 11, "y": 3},
+ {"x": 12, "y": 3},
+ {"x": 13, "y": 3},
+ {"x": 14, "y": 3},
+ {"x": 15, "y": 3},
+ {"x": 16, "y": 3},
+
+ {"x": 0, "y": 4},
+ {"x": 1, "y": 4},
+ {"x": 2, "y": 4},
+ {"x": 3, "y": 4},
+
+ {"x": 5, "y": 4},
+ {"x": 6, "y": 4},
+ {"x": 7, "y": 4},
+
+ {"x": 9, "y": 4},
+ {"x": 10, "y": 4},
+ {"x": 11, "y": 4},
+
+ {"x": 13, "y":4},
+ {"x": 14, "y":4},
+ {"x": 15, "y":4},
+ {"x": 16, "y":4},
+
+ {"x": 6, "y": 5},
+ {"x": 7, "y": 5},
+
+ {"x": 9, "y": 5},
+ {"x": 10, "y": 5}
]
}
}
diff --git a/keyboards/handwired/dactyl_manuform/5x6_2_5/rules.mk b/keyboards/handwired/dactyl_manuform/5x6_2_5/rules.mk
index d5ba60f2ad..ed3ed34a49 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_2_5/rules.mk
+++ b/keyboards/handwired/dactyl_manuform/5x6_2_5/rules.mk
@@ -1,14 +1,23 @@
-BOOTMAGIC_ENABLE = lite
-COMMAND_ENABLE = no
+# MCU name
+MCU = atmega32u4
-# # Pro-Micro
-# NKRO_ENABLE = yes
+# Bootloader selection
+BOOTLOADER = caterina
-# # # Adafruit Feather
-# # NKRO_ENABLE = no
-# # # Processor frequency
-# F_CPU = 8000000
-# F_USB = $(F_CPU)
-# # # BLUETOOTH_ENABLE = no
-# # BLUETOOTH = AdafruitBLE
-# # CONSOLE_DEBUG = yes
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = no # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no # Enable Bluetooth
+AUDIO_ENABLE = no # Audio output
+SPLIT_KEYBOARD = yes
diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.c b/keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.c
index bacda3640e..e4ad432ccc 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.c
+++ b/keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.c
@@ -1,2 +1 @@
#include "5x6_5.h"
-
diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.h b/keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.h
index deb288a1f9..794b0be9fe 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.h
+++ b/keyboards/handwired/dactyl_manuform/5x6_5/5x6_5.h
@@ -2,26 +2,27 @@
#include "dactyl_manuform.h"
-#define LAYOUT_5x6_5(\
- L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
- L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
- L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
- L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
- L42, L43, L44, L55, L53, R52, R50, R41, R42, R43, \
- L54, L52, R53, R51 \
- ) \
- { \
- { L00, L01, L02, L03, L04, L05 }, \
- { L10, L11, L12, L13, L14, L15 }, \
- { L20, L21, L22, L23, L24, L25 }, \
- { L30, L31, L32, L33, L34, L35 }, \
- { KC_NO, KC_NO, L42, L43, L44, KC_NO }, \
- { KC_NO, KC_NO, L52, L53, L54, L55 }, \
- \
- { R00, R01, R02, R03, R04, R05 }, \
- { R10, R11, R12, R13, R14, R15 }, \
- { R20, R21, R22, R23, R24, R25 }, \
- { R30, R31, R32, R33, R34, R35 }, \
- { KC_NO, R41, R42, R43, KC_NO, KC_NO }, \
- { R50, R51, R52, R53, KC_NO, KC_NO } \
+#define XXX KC_NO
+
+#define LAYOUT_5x6_5( \
+ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
+ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
+ L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
+ L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
+ L42, L43, L44, L55, L53, R52, R50, R41, R42, R43, \
+ L54, L52, R53, R51 \
+) { \
+ { L00, L01, L02, L03, L04, L05 }, \
+ { L10, L11, L12, L13, L14, L15 }, \
+ { L20, L21, L22, L23, L24, L25 }, \
+ { L30, L31, L32, L33, L34, L35 }, \
+ { XXX, XXX, L42, L43, L44, XXX }, \
+ { XXX, XXX, L52, L53, L54, L55 }, \
+\
+ { R00, R01, R02, R03, R04, R05 }, \
+ { R10, R11, R12, R13, R14, R15 }, \
+ { R20, R21, R22, R23, R24, R25 }, \
+ { R30, R31, R32, R33, R34, R35 }, \
+ { XXX, R41, R42, R43, XXX, XXX }, \
+ { R50, R51, R52, R53, XXX, XXX } \
}
diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/config.h b/keyboards/handwired/dactyl_manuform/5x6_5/config.h
index 1e68b6df01..031ccf88d7 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_5/config.h
+++ b/keyboards/handwired/dactyl_manuform/5x6_5/config.h
@@ -20,9 +20,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define PRODUCT_ID 0x3536
-#define DEVICE_VER 0x0002
-#define PRODUCT Dactyl-Manuform (5x6)
+#define PRODUCT_ID 0x3536
+#define DEVICE_VER 0x0002
+#define PRODUCT Dactyl-Manuform (5x6)
/* key matrix size */
// Rows are doubled-up
@@ -30,7 +30,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COLS 6
// wiring of each half
-// ../../../../docs/proton_c_conversion.md
#define MATRIX_COL_PINS { D4, C6, D7, E6, B4, B5 }
#define MATRIX_ROW_PINS { F6, F7, B1, B3, B2, B6 }
diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/info.json b/keyboards/handwired/dactyl_manuform/5x6_5/info.json
index 3e9b66a6a9..dff99d33d3 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_5/info.json
+++ b/keyboards/handwired/dactyl_manuform/5x6_5/info.json
@@ -7,75 +7,81 @@
"layouts": {
"LAYOUT_5x6_5": {
"layout": [
- {"label":"L00", "x":0, "y":0},
- {"label":"L01", "x":1, "y":0},
- {"label":"L02", "x":2, "y":0},
- {"label":"L03", "x":3, "y":0},
- {"label":"L04", "x":4, "y":0},
- {"label":"L05", "x":5, "y":0},
- {"label":"R00", "x":11, "y":0},
- {"label":"R01", "x":12, "y":0},
- {"label":"R02", "x":13, "y":0},
- {"label":"R03", "x":14, "y":0},
- {"label":"R04", "x":15, "y":0},
- {"label":"R05", "x":16, "y":0},
+ {"x": 0, "y": 0},
+ {"x": 1, "y": 0},
+ {"x": 2, "y": 0},
+ {"x": 3, "y": 0},
+ {"x": 4, "y": 0},
+ {"x": 5, "y": 0},
- {"label":"L10", "x":0, "y":1},
- {"label":"L11", "x":1, "y":1},
- {"label":"L12", "x":2, "y":1},
- {"label":"L13", "x":3, "y":1},
- {"label":"L14", "x":4, "y":1},
- {"label":"L15", "x":5, "y":1},
- {"label":"R10", "x":11, "y":1},
- {"label":"R11", "x":12, "y":1},
- {"label":"R12", "x":13, "y":1},
- {"label":"R13", "x":14, "y":1},
- {"label":"R14", "x":15, "y":1},
- {"label":"R15", "x":16, "y":1},
+ {"x": 11, "y": 0},
+ {"x": 12, "y": 0},
+ {"x": 13, "y": 0},
+ {"x": 14, "y": 0},
+ {"x": 15, "y": 0},
+ {"x": 16, "y": 0},
- {"label":"L20", "x":0, "y":2},
- {"label":"L21", "x":1, "y":2},
- {"label":"L22", "x":2, "y":2},
- {"label":"L23", "x":3, "y":2},
- {"label":"L24", "x":4, "y":2},
- {"label":"L25", "x":5, "y":2},
- {"label":"R20", "x":11, "y":2},
- {"label":"R21", "x":12, "y":2},
- {"label":"R22", "x":13, "y":2},
- {"label":"R23", "x":14, "y":2},
- {"label":"R24", "x":15, "y":2},
- {"label":"R25", "x":16, "y":2},
+ {"x": 0, "y": 1},
+ {"x": 1, "y": 1},
+ {"x": 2, "y": 1},
+ {"x": 3, "y": 1},
+ {"x": 4, "y": 1},
+ {"x": 5, "y": 1},
- {"label":"L30", "x":0, "y":3},
- {"label":"L31", "x":1, "y":3},
- {"label":"L32", "x":2, "y":3},
- {"label":"L33", "x":3, "y":3},
- {"label":"L34", "x":4, "y":3},
- {"label":"L35", "x":5, "y":3},
- {"label":"R30", "x":11, "y":3},
- {"label":"R31", "x":12, "y":3},
- {"label":"R32", "x":13, "y":3},
- {"label":"R33", "x":14, "y":3},
- {"label":"R34", "x":15, "y":3},
- {"label":"R35", "x":16, "y":3},
+ {"x": 11, "y": 1},
+ {"x": 12, "y": 1},
+ {"x": 13, "y": 1},
+ {"x": 14, "y": 1},
+ {"x": 15, "y": 1},
+ {"x": 16, "y": 1},
- {"label":"L42", "x":2, "y":4},
- {"label":"L43", "x":3, "y":4},
- {"label":"L44", "x":5, "y":4},
- {"label":"L45", "x":6, "y":4},
- {"label":"L53", "x":7, "y":4},
+ {"x": 0, "y": 2},
+ {"x": 1, "y": 2},
+ {"x": 2, "y": 2},
+ {"x": 3, "y": 2},
+ {"x": 4, "y": 2},
+ {"x": 5, "y": 2},
- {"label":"R52", "x":9, "y":4},
- {"label":"R40", "x":10, "y":4},
- {"label":"R41", "x":11, "y":4},
- {"label":"R42", "x":13, "y":4},
- {"label":"R43", "x":14, "y":4},
+ {"x": 11, "y": 2},
+ {"x": 12, "y": 2},
+ {"x": 13, "y": 2},
+ {"x": 14, "y": 2},
+ {"x": 15, "y": 2},
+ {"x": 16, "y": 2},
- {"label":"L54", "x":6, "y":5},
- {"label":"L52", "x":7, "y":5},
+ {"x": 0, "y": 3},
+ {"x": 1, "y": 3},
+ {"x": 2, "y": 3},
+ {"x": 3, "y": 3},
+ {"x": 4, "y": 3},
+ {"x": 5, "y": 3},
- {"label":"R53", "x":9, "y":5},
- {"label":"R51", "x":10, "y":5}
+ {"x": 11, "y": 3},
+ {"x": 12, "y": 3},
+ {"x": 13, "y": 3},
+ {"x": 14, "y": 3},
+ {"x": 15, "y": 3},
+ {"x": 16, "y": 3},
+
+ {"x": 2, "y": 4},
+ {"x": 3, "y": 4},
+
+ {"x": 5, "y": 4},
+ {"x": 6, "y": 4},
+ {"x": 7, "y": 4},
+
+ {"x": 9, "y": 4},
+ {"x": 10, "y": 4},
+ {"x": 11, "y": 4},
+
+ {"x": 13, "y": 4},
+ {"x": 14, "y": 4},
+
+ {"x": 6, "y": 5},
+ {"x": 7, "y": 5},
+
+ {"x": 9, "y": 5},
+ {"x": 10, "y": 5}
]
}
}
diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/rules.mk b/keyboards/handwired/dactyl_manuform/5x6_5/rules.mk
index a20a3e7bd7..a0eedab4e7 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_5/rules.mk
+++ b/keyboards/handwired/dactyl_manuform/5x6_5/rules.mk
@@ -1,3 +1,23 @@
-BOOTMAGIC_ENABLE = lite
-COMMAND_ENABLE = no
-NKRO_ENABLE = yes
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no # Enable Bluetooth
+AUDIO_ENABLE = no # Audio output
+SPLIT_KEYBOARD = yes
diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/default/rules.mk b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/default/rules.mk
deleted file mode 100644
index 457cda5b0a..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/default/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-USER_NAME := drashna
-SRC += ../drashna/keymap.c
-
-include $(KEYBOARD_PATH_1)/keymaps/drashna/rules.mk
diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/pmw3360.c b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/pmw3360.c
deleted file mode 100644
index 59e3495127..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/pmw3360.c
+++ /dev/null
@@ -1,221 +0,0 @@
-/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
- * Copyright 2019 Sunjun Kim
- * Copyright 2020 Ploopy Corporation
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General 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/>.
- */
-
-#ifdef POINTING_DEVICE_ENABLE
-
-#include "wait.h"
-#include "debug.h"
-#include "print.h"
-#include "pmw3360.h"
-#include "pmw3360_firmware.h"
-
-bool _inBurst = false;
-
-#ifndef PMW_CPI
-# define PMW_CPI 1600
-#endif
-#ifndef SPI_DIVISOR
-# define SPI_DIVISOR 2
-#endif
-#ifndef ROTATIONAL_TRANSFORM_ANGLE
-# define ROTATIONAL_TRANSFORM_ANGLE 0x00
-#endif
-
-void print_byte(uint8_t byte) { dprintf("%c%c%c%c%c%c%c%c|", (byte & 0x80 ? '1' : '0'), (byte & 0x40 ? '1' : '0'), (byte & 0x20 ? '1' : '0'), (byte & 0x10 ? '1' : '0'), (byte & 0x08 ? '1' : '0'), (byte & 0x04 ? '1' : '0'), (byte & 0x02 ? '1' : '0'), (byte & 0x01 ? '1' : '0')); }
-
-bool spi_start_adv(void) {
- bool status = spi_start(SPI_SS_PIN, false, 3, SPI_DIVISOR);
- wait_us(1);
- return status;
-}
-
-void spi_stop_adv(void) {
- wait_us(1);
- spi_stop();
-}
-
-spi_status_t spi_write_adv(uint8_t reg_addr, uint8_t data) {
- if (reg_addr != REG_Motion_Burst) {
- _inBurst = false;
- }
-
- spi_start_adv();
- // send address of the register, with MSBit = 1 to indicate it's a write
- spi_status_t status = spi_write(reg_addr | 0x80);
- status = spi_write(data);
-
- // tSCLK-NCS for write operation
- wait_us(20);
-
- // tSWW/tSWR (=120us) minus tSCLK-NCS. Could be shortened, but is looks like a safe lower bound
- wait_us(100);
- spi_stop();
- return status;
-}
-
-uint8_t spi_read_adv(uint8_t reg_addr) {
- spi_start_adv();
- // send adress of the register, with MSBit = 0 to indicate it's a read
- spi_write(reg_addr & 0x7f);
-
- uint8_t data = spi_read();
-
- // tSCLK-NCS for read operation is 120ns
- wait_us(1);
-
- // tSRW/tSRR (=20us) minus tSCLK-NCS
- wait_us(19);
-
- spi_stop();
- return data;
-}
-
-void pmw_set_cpi(uint16_t cpi) {
- int cpival = constrain((cpi / 100) - 1, 0, 0x77); // limits to 0--119
-
- spi_start_adv();
- spi_write_adv(REG_Config1, cpival);
- spi_stop();
-}
-
-bool pmw_spi_init(void) {
- spi_init();
- _inBurst = false;
-
- spi_stop();
- spi_start_adv();
- spi_stop();
-
- spi_write_adv(REG_Shutdown, 0xb6); // Shutdown first
- wait_ms(300);
-
- spi_start_adv();
- wait_us(40);
- spi_stop_adv();
- wait_us(40);
-
- spi_write_adv(REG_Power_Up_Reset, 0x5a);
- wait_ms(50);
-
- spi_read_adv(REG_Motion);
- spi_read_adv(REG_Delta_X_L);
- spi_read_adv(REG_Delta_X_H);
- spi_read_adv(REG_Delta_Y_L);
- spi_read_adv(REG_Delta_Y_H);
-
- pmw_upload_firmware();
-
- spi_stop_adv();
-
- wait_ms(10);
- pmw_set_cpi(PMW_CPI);
-
- wait_ms(1);
-
- return pmw_check_signature();
-}
-
-void pmw_upload_firmware(void) {
- spi_write_adv(REG_Config2, 0x00);
-
- spi_write_adv(REG_Angle_Tune, constrain(ROTATIONAL_TRANSFORM_ANGLE, -30, 30));
-
- spi_write_adv(REG_SROM_Enable, 0x1d);
-
- wait_ms(10);
-
- spi_write_adv(REG_SROM_Enable, 0x18);
-
- spi_start_adv();
- spi_write(REG_SROM_Load_Burst | 0x80);
- wait_us(15);
-
- unsigned char c;
- for (int i = 0; i < firmware_length; i++) {
- c = (unsigned char)pgm_read_byte(firmware_data + i);
- spi_write(c);
- wait_us(15);
- }
- wait_us(200);
-
- spi_read_adv(REG_SROM_ID);
-
- spi_write_adv(REG_Config2, 0x00);
-
- spi_stop();
- wait_ms(10);
-}
-
-bool pmw_check_signature(void) {
- uint8_t pid = spi_read_adv(REG_Product_ID);
- uint8_t iv_pid = spi_read_adv(REG_Inverse_Product_ID);
- uint8_t SROM_ver = spi_read_adv(REG_SROM_ID);
- return (pid == 0x42 && iv_pid == 0xBD && SROM_ver == 0x04); // signature for SROM 0x04
-}
-
-report_pmw_t pmw_read_burst(void) {
- if (!_inBurst) {
- dprintf("burst on");
- spi_write_adv(REG_Motion_Burst, 0x00);
- _inBurst = true;
- }
-
- spi_start_adv();
- spi_write(REG_Motion_Burst);
- wait_us(35); // waits for tSRAD
-
- report_pmw_t data;
- data.motion = 0;
- data.dx = 0;
- data.mdx = 0;
- data.dy = 0;
- data.mdx = 0;
-
- data.motion = spi_read();
- spi_write(0x00); // skip Observation
- data.dx = spi_read();
- data.mdx = spi_read();
- data.dy = spi_read();
- data.mdy = spi_read();
-
- spi_stop();
-
- print_byte(data.motion);
- print_byte(data.dx);
- print_byte(data.mdx);
- print_byte(data.dy);
- print_byte(data.mdy);
- dprintf("\n");
-
- data.isMotion = (data.motion & 0x80) != 0;
- data.isOnSurface = (data.motion & 0x08) == 0;
- data.dx |= (data.mdx << 8);
- data.dx = data.dx * -1;
- data.dy |= (data.mdy << 8);
- data.dy = data.dy * -1;
-
- spi_stop();
-
- if (data.motion & 0b111) { // panic recovery, sometimes burst mode works weird.
- _inBurst = false;
- }
-
- return data;
-}
-
-#endif
diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/pmw3360.h b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/pmw3360.h
deleted file mode 100644
index c1d5e3badb..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/pmw3360.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
- * Copyright 2019 Sunjun Kim
- * Copyright 2020 Ploopy Corporation
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General 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 "spi_master.h"
-
-// Registers
-#define REG_Product_ID 0x00
-#define REG_Revision_ID 0x01
-#define REG_Motion 0x02
-#define REG_Delta_X_L 0x03
-#define REG_Delta_X_H 0x04
-#define REG_Delta_Y_L 0x05
-#define REG_Delta_Y_H 0x06
-#define REG_SQUAL 0x07
-#define REG_Raw_Data_Sum 0x08
-#define REG_Maximum_Raw_data 0x09
-#define REG_Minimum_Raw_data 0x0A
-#define REG_Shutter_Lower 0x0B
-#define REG_Shutter_Upper 0x0C
-#define REG_Control 0x0D
-#define REG_Config1 0x0F
-#define REG_Config2 0x10
-#define REG_Angle_Tune 0x11
-#define REG_Frame_Capture 0x12
-#define REG_SROM_Enable 0x13
-#define REG_Run_Downshift 0x14
-#define REG_Rest1_Rate_Lower 0x15
-#define REG_Rest1_Rate_Upper 0x16
-#define REG_Rest1_Downshift 0x17
-#define REG_Rest2_Rate_Lower 0x18
-#define REG_Rest2_Rate_Upper 0x19
-#define REG_Rest2_Downshift 0x1A
-#define REG_Rest3_Rate_Lower 0x1B
-#define REG_Rest3_Rate_Upper 0x1C
-#define REG_Observation 0x24
-#define REG_Data_Out_Lower 0x25
-#define REG_Data_Out_Upper 0x26
-#define REG_Raw_Data_Dump 0x29
-#define REG_SROM_ID 0x2A
-#define REG_Min_SQ_Run 0x2B
-#define REG_Raw_Data_Threshold 0x2C
-#define REG_Config5 0x2F
-#define REG_Power_Up_Reset 0x3A
-#define REG_Shutdown 0x3B
-#define REG_Inverse_Product_ID 0x3F
-#define REG_LiftCutoff_Tune3 0x41
-#define REG_Angle_Snap 0x42
-#define REG_LiftCutoff_Tune1 0x4A
-#define REG_Motion_Burst 0x50
-#define REG_LiftCutoff_Tune_Timeout 0x58
-#define REG_LiftCutoff_Tune_Min_Length 0x5A
-#define REG_SROM_Load_Burst 0x62
-#define REG_Lift_Config 0x63
-#define REG_Raw_Data_Burst 0x64
-#define REG_LiftCutoff_Tune2 0x65
-
-#ifdef CONSOLE_ENABLE
-void print_byte(uint8_t byte);
-#endif
-
-typedef struct {
- int8_t motion;
- bool isMotion; // True if a motion is detected.
- bool isOnSurface; // True when a chip is on a surface
- int16_t dx; // displacement on x directions. Unit: Count. (CPI * Count = Inch value)
- int8_t mdx;
- int16_t dy; // displacement on y directions.
- int8_t mdy;
-} report_pmw_t;
-
-
-
-bool spi_start_adv(void);
-void spi_stop_adv(void);
-spi_status_t spi_write_adv(uint8_t reg_addr, uint8_t data);
-uint8_t spi_read_adv(uint8_t reg_addr);
-bool pmw_spi_init(void);
-void pmw_set_cpi(uint16_t cpi);
-void pmw_upload_firmware(void);
-bool pmw_check_signature(void);
-report_pmw_t pmw_read_burst(void);
-
-
-#define degToRad(angleInDegrees) ((angleInDegrees)*M_PI / 180.0)
-#define radToDeg(angleInRadians) ((angleInRadians)*180.0 / M_PI)
-#define constrain(amt, low, high) ((amt) < (low) ? (low) : ((amt) > (high) ? (high) : (amt)))
diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/pmw3360_firmware.h b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/pmw3360_firmware.h
deleted file mode 100644
index cca5a6a4d8..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/pmw3360_firmware.h
+++ /dev/null
@@ -1,300 +0,0 @@
-/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
- * Copyright 2019 Sunjun Kim
- * Copyright 2020 Ploopy Corporation
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General 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
-
-// clang-format off
-// Firmware Blob foor PMW3360
-const uint16_t firmware_length = 4094;
-// clang-format off
-const uint8_t firmware_data[] PROGMEM = { // SROM 0x04
-0x01, 0x04, 0x8e, 0x96, 0x6e, 0x77, 0x3e, 0xfe, 0x7e, 0x5f, 0x1d, 0xb8, 0xf2, 0x66, 0x4e,
-0xff, 0x5d, 0x19, 0xb0, 0xc2, 0x04, 0x69, 0x54, 0x2a, 0xd6, 0x2e, 0xbf, 0xdd, 0x19, 0xb0,
-0xc3, 0xe5, 0x29, 0xb1, 0xe0, 0x23, 0xa5, 0xa9, 0xb1, 0xc1, 0x00, 0x82, 0x67, 0x4c, 0x1a,
-0x97, 0x8d, 0x79, 0x51, 0x20, 0xc7, 0x06, 0x8e, 0x7c, 0x7c, 0x7a, 0x76, 0x4f, 0xfd, 0x59,
-0x30, 0xe2, 0x46, 0x0e, 0x9e, 0xbe, 0xdf, 0x1d, 0x99, 0x91, 0xa0, 0xa5, 0xa1, 0xa9, 0xd0,
-0x22, 0xc6, 0xef, 0x5c, 0x1b, 0x95, 0x89, 0x90, 0xa2, 0xa7, 0xcc, 0xfb, 0x55, 0x28, 0xb3,
-0xe4, 0x4a, 0xf7, 0x6c, 0x3b, 0xf4, 0x6a, 0x56, 0x2e, 0xde, 0x1f, 0x9d, 0xb8, 0xd3, 0x05,
-0x88, 0x92, 0xa6, 0xce, 0x1e, 0xbe, 0xdf, 0x1d, 0x99, 0xb0, 0xe2, 0x46, 0xef, 0x5c, 0x07,
-0x11, 0x5d, 0x98, 0x0b, 0x9d, 0x94, 0x97, 0xee, 0x4e, 0x45, 0x33, 0x6b, 0x44, 0xc7, 0x29,
-0x56, 0x27, 0x30, 0xc6, 0xa7, 0xd5, 0xf2, 0x56, 0xdf, 0xb4, 0x38, 0x62, 0xcb, 0xa0, 0xb6,
-0xe3, 0x0f, 0x84, 0x06, 0x24, 0x05, 0x65, 0x6f, 0x76, 0x89, 0xb5, 0x77, 0x41, 0x27, 0x82,
-0x66, 0x65, 0x82, 0xcc, 0xd5, 0xe6, 0x20, 0xd5, 0x27, 0x17, 0xc5, 0xf8, 0x03, 0x23, 0x7c,
-0x5f, 0x64, 0xa5, 0x1d, 0xc1, 0xd6, 0x36, 0xcb, 0x4c, 0xd4, 0xdb, 0x66, 0xd7, 0x8b, 0xb1,
-0x99, 0x7e, 0x6f, 0x4c, 0x36, 0x40, 0x06, 0xd6, 0xeb, 0xd7, 0xa2, 0xe4, 0xf4, 0x95, 0x51,
-0x5a, 0x54, 0x96, 0xd5, 0x53, 0x44, 0xd7, 0x8c, 0xe0, 0xb9, 0x40, 0x68, 0xd2, 0x18, 0xe9,
-0xdd, 0x9a, 0x23, 0x92, 0x48, 0xee, 0x7f, 0x43, 0xaf, 0xea, 0x77, 0x38, 0x84, 0x8c, 0x0a,
-0x72, 0xaf, 0x69, 0xf8, 0xdd, 0xf1, 0x24, 0x83, 0xa3, 0xf8, 0x4a, 0xbf, 0xf5, 0x94, 0x13,
-0xdb, 0xbb, 0xd8, 0xb4, 0xb3, 0xa0, 0xfb, 0x45, 0x50, 0x60, 0x30, 0x59, 0x12, 0x31, 0x71,
-0xa2, 0xd3, 0x13, 0xe7, 0xfa, 0xe7, 0xce, 0x0f, 0x63, 0x15, 0x0b, 0x6b, 0x94, 0xbb, 0x37,
-0x83, 0x26, 0x05, 0x9d, 0xfb, 0x46, 0x92, 0xfc, 0x0a, 0x15, 0xd1, 0x0d, 0x73, 0x92, 0xd6,
-0x8c, 0x1b, 0x8c, 0xb8, 0x55, 0x8a, 0xce, 0xbd, 0xfe, 0x8e, 0xfc, 0xed, 0x09, 0x12, 0x83,
-0x91, 0x82, 0x51, 0x31, 0x23, 0xfb, 0xb4, 0x0c, 0x76, 0xad, 0x7c, 0xd9, 0xb4, 0x4b, 0xb2,
-0x67, 0x14, 0x09, 0x9c, 0x7f, 0x0c, 0x18, 0xba, 0x3b, 0xd6, 0x8e, 0x14, 0x2a, 0xe4, 0x1b,
-0x52, 0x9f, 0x2b, 0x7d, 0xe1, 0xfb, 0x6a, 0x33, 0x02, 0xfa, 0xac, 0x5a, 0xf2, 0x3e, 0x88,
-0x7e, 0xae, 0xd1, 0xf3, 0x78, 0xe8, 0x05, 0xd1, 0xe3, 0xdc, 0x21, 0xf6, 0xe1, 0x9a, 0xbd,
-0x17, 0x0e, 0xd9, 0x46, 0x9b, 0x88, 0x03, 0xea, 0xf6, 0x66, 0xbe, 0x0e, 0x1b, 0x50, 0x49,
-0x96, 0x40, 0x97, 0xf1, 0xf1, 0xe4, 0x80, 0xa6, 0x6e, 0xe8, 0x77, 0x34, 0xbf, 0x29, 0x40,
-0x44, 0xc2, 0xff, 0x4e, 0x98, 0xd3, 0x9c, 0xa3, 0x32, 0x2b, 0x76, 0x51, 0x04, 0x09, 0xe7,
-0xa9, 0xd1, 0xa6, 0x32, 0xb1, 0x23, 0x53, 0xe2, 0x47, 0xab, 0xd6, 0xf5, 0x69, 0x5c, 0x3e,
-0x5f, 0xfa, 0xae, 0x45, 0x20, 0xe5, 0xd2, 0x44, 0xff, 0x39, 0x32, 0x6d, 0xfd, 0x27, 0x57,
-0x5c, 0xfd, 0xf0, 0xde, 0xc1, 0xb5, 0x99, 0xe5, 0xf5, 0x1c, 0x77, 0x01, 0x75, 0xc5, 0x6d,
-0x58, 0x92, 0xf2, 0xb2, 0x47, 0x00, 0x01, 0x26, 0x96, 0x7a, 0x30, 0xff, 0xb7, 0xf0, 0xef,
-0x77, 0xc1, 0x8a, 0x5d, 0xdc, 0xc0, 0xd1, 0x29, 0x30, 0x1e, 0x77, 0x38, 0x7a, 0x94, 0xf1,
-0xb8, 0x7a, 0x7e, 0xef, 0xa4, 0xd1, 0xac, 0x31, 0x4a, 0xf2, 0x5d, 0x64, 0x3d, 0xb2, 0xe2,
-0xf0, 0x08, 0x99, 0xfc, 0x70, 0xee, 0x24, 0xa7, 0x7e, 0xee, 0x1e, 0x20, 0x69, 0x7d, 0x44,
-0xbf, 0x87, 0x42, 0xdf, 0x88, 0x3b, 0x0c, 0xda, 0x42, 0xc9, 0x04, 0xf9, 0x45, 0x50, 0xfc,
-0x83, 0x8f, 0x11, 0x6a, 0x72, 0xbc, 0x99, 0x95, 0xf0, 0xac, 0x3d, 0xa7, 0x3b, 0xcd, 0x1c,
-0xe2, 0x88, 0x79, 0x37, 0x11, 0x5f, 0x39, 0x89, 0x95, 0x0a, 0x16, 0x84, 0x7a, 0xf6, 0x8a,
-0xa4, 0x28, 0xe4, 0xed, 0x83, 0x80, 0x3b, 0xb1, 0x23, 0xa5, 0x03, 0x10, 0xf4, 0x66, 0xea,
-0xbb, 0x0c, 0x0f, 0xc5, 0xec, 0x6c, 0x69, 0xc5, 0xd3, 0x24, 0xab, 0xd4, 0x2a, 0xb7, 0x99,
-0x88, 0x76, 0x08, 0xa0, 0xa8, 0x95, 0x7c, 0xd8, 0x38, 0x6d, 0xcd, 0x59, 0x02, 0x51, 0x4b,
-0xf1, 0xb5, 0x2b, 0x50, 0xe3, 0xb6, 0xbd, 0xd0, 0x72, 0xcf, 0x9e, 0xfd, 0x6e, 0xbb, 0x44,
-0xc8, 0x24, 0x8a, 0x77, 0x18, 0x8a, 0x13, 0x06, 0xef, 0x97, 0x7d, 0xfa, 0x81, 0xf0, 0x31,
-0xe6, 0xfa, 0x77, 0xed, 0x31, 0x06, 0x31, 0x5b, 0x54, 0x8a, 0x9f, 0x30, 0x68, 0xdb, 0xe2,
-0x40, 0xf8, 0x4e, 0x73, 0xfa, 0xab, 0x74, 0x8b, 0x10, 0x58, 0x13, 0xdc, 0xd2, 0xe6, 0x78,
-0xd1, 0x32, 0x2e, 0x8a, 0x9f, 0x2c, 0x58, 0x06, 0x48, 0x27, 0xc5, 0xa9, 0x5e, 0x81, 0x47,
-0x89, 0x46, 0x21, 0x91, 0x03, 0x70, 0xa4, 0x3e, 0x88, 0x9c, 0xda, 0x33, 0x0a, 0xce, 0xbc,
-0x8b, 0x8e, 0xcf, 0x9f, 0xd3, 0x71, 0x80, 0x43, 0xcf, 0x6b, 0xa9, 0x51, 0x83, 0x76, 0x30,
-0x82, 0xc5, 0x6a, 0x85, 0x39, 0x11, 0x50, 0x1a, 0x82, 0xdc, 0x1e, 0x1c, 0xd5, 0x7d, 0xa9,
-0x71, 0x99, 0x33, 0x47, 0x19, 0x97, 0xb3, 0x5a, 0xb1, 0xdf, 0xed, 0xa4, 0xf2, 0xe6, 0x26,
-0x84, 0xa2, 0x28, 0x9a, 0x9e, 0xdf, 0xa6, 0x6a, 0xf4, 0xd6, 0xfc, 0x2e, 0x5b, 0x9d, 0x1a,
-0x2a, 0x27, 0x68, 0xfb, 0xc1, 0x83, 0x21, 0x4b, 0x90, 0xe0, 0x36, 0xdd, 0x5b, 0x31, 0x42,
-0x55, 0xa0, 0x13, 0xf7, 0xd0, 0x89, 0x53, 0x71, 0x99, 0x57, 0x09, 0x29, 0xc5, 0xf3, 0x21,
-0xf8, 0x37, 0x2f, 0x40, 0xf3, 0xd4, 0xaf, 0x16, 0x08, 0x36, 0x02, 0xfc, 0x77, 0xc5, 0x8b,
-0x04, 0x90, 0x56, 0xb9, 0xc9, 0x67, 0x9a, 0x99, 0xe8, 0x00, 0xd3, 0x86, 0xff, 0x97, 0x2d,
-0x08, 0xe9, 0xb7, 0xb3, 0x91, 0xbc, 0xdf, 0x45, 0xc6, 0xed, 0x0f, 0x8c, 0x4c, 0x1e, 0xe6,
-0x5b, 0x6e, 0x38, 0x30, 0xe4, 0xaa, 0xe3, 0x95, 0xde, 0xb9, 0xe4, 0x9a, 0xf5, 0xb2, 0x55,
-0x9a, 0x87, 0x9b, 0xf6, 0x6a, 0xb2, 0xf2, 0x77, 0x9a, 0x31, 0xf4, 0x7a, 0x31, 0xd1, 0x1d,
-0x04, 0xc0, 0x7c, 0x32, 0xa2, 0x9e, 0x9a, 0xf5, 0x62, 0xf8, 0x27, 0x8d, 0xbf, 0x51, 0xff,
-0xd3, 0xdf, 0x64, 0x37, 0x3f, 0x2a, 0x6f, 0x76, 0x3a, 0x7d, 0x77, 0x06, 0x9e, 0x77, 0x7f,
-0x5e, 0xeb, 0x32, 0x51, 0xf9, 0x16, 0x66, 0x9a, 0x09, 0xf3, 0xb0, 0x08, 0xa4, 0x70, 0x96,
-0x46, 0x30, 0xff, 0xda, 0x4f, 0xe9, 0x1b, 0xed, 0x8d, 0xf8, 0x74, 0x1f, 0x31, 0x92, 0xb3,
-0x73, 0x17, 0x36, 0xdb, 0x91, 0x30, 0xd6, 0x88, 0x55, 0x6b, 0x34, 0x77, 0x87, 0x7a, 0xe7,
-0xee, 0x06, 0xc6, 0x1c, 0x8c, 0x19, 0x0c, 0x48, 0x46, 0x23, 0x5e, 0x9c, 0x07, 0x5c, 0xbf,
-0xb4, 0x7e, 0xd6, 0x4f, 0x74, 0x9c, 0xe2, 0xc5, 0x50, 0x8b, 0xc5, 0x8b, 0x15, 0x90, 0x60,
-0x62, 0x57, 0x29, 0xd0, 0x13, 0x43, 0xa1, 0x80, 0x88, 0x91, 0x00, 0x44, 0xc7, 0x4d, 0x19,
-0x86, 0xcc, 0x2f, 0x2a, 0x75, 0x5a, 0xfc, 0xeb, 0x97, 0x2a, 0x70, 0xe3, 0x78, 0xd8, 0x91,
-0xb0, 0x4f, 0x99, 0x07, 0xa3, 0x95, 0xea, 0x24, 0x21, 0xd5, 0xde, 0x51, 0x20, 0x93, 0x27,
-0x0a, 0x30, 0x73, 0xa8, 0xff, 0x8a, 0x97, 0xe9, 0xa7, 0x6a, 0x8e, 0x0d, 0xe8, 0xf0, 0xdf,
-0xec, 0xea, 0xb4, 0x6c, 0x1d, 0x39, 0x2a, 0x62, 0x2d, 0x3d, 0x5a, 0x8b, 0x65, 0xf8, 0x90,
-0x05, 0x2e, 0x7e, 0x91, 0x2c, 0x78, 0xef, 0x8e, 0x7a, 0xc1, 0x2f, 0xac, 0x78, 0xee, 0xaf,
-0x28, 0x45, 0x06, 0x4c, 0x26, 0xaf, 0x3b, 0xa2, 0xdb, 0xa3, 0x93, 0x06, 0xb5, 0x3c, 0xa5,
-0xd8, 0xee, 0x8f, 0xaf, 0x25, 0xcc, 0x3f, 0x85, 0x68, 0x48, 0xa9, 0x62, 0xcc, 0x97, 0x8f,
-0x7f, 0x2a, 0xea, 0xe0, 0x15, 0x0a, 0xad, 0x62, 0x07, 0xbd, 0x45, 0xf8, 0x41, 0xd8, 0x36,
-0xcb, 0x4c, 0xdb, 0x6e, 0xe6, 0x3a, 0xe7, 0xda, 0x15, 0xe9, 0x29, 0x1e, 0x12, 0x10, 0xa0,
-0x14, 0x2c, 0x0e, 0x3d, 0xf4, 0xbf, 0x39, 0x41, 0x92, 0x75, 0x0b, 0x25, 0x7b, 0xa3, 0xce,
-0x39, 0x9c, 0x15, 0x64, 0xc8, 0xfa, 0x3d, 0xef, 0x73, 0x27, 0xfe, 0x26, 0x2e, 0xce, 0xda,
-0x6e, 0xfd, 0x71, 0x8e, 0xdd, 0xfe, 0x76, 0xee, 0xdc, 0x12, 0x5c, 0x02, 0xc5, 0x3a, 0x4e,
-0x4e, 0x4f, 0xbf, 0xca, 0x40, 0x15, 0xc7, 0x6e, 0x8d, 0x41, 0xf1, 0x10, 0xe0, 0x4f, 0x7e,
-0x97, 0x7f, 0x1c, 0xae, 0x47, 0x8e, 0x6b, 0xb1, 0x25, 0x31, 0xb0, 0x73, 0xc7, 0x1b, 0x97,
-0x79, 0xf9, 0x80, 0xd3, 0x66, 0x22, 0x30, 0x07, 0x74, 0x1e, 0xe4, 0xd0, 0x80, 0x21, 0xd6,
-0xee, 0x6b, 0x6c, 0x4f, 0xbf, 0xf5, 0xb7, 0xd9, 0x09, 0x87, 0x2f, 0xa9, 0x14, 0xbe, 0x27,
-0xd9, 0x72, 0x50, 0x01, 0xd4, 0x13, 0x73, 0xa6, 0xa7, 0x51, 0x02, 0x75, 0x25, 0xe1, 0xb3,
-0x45, 0x34, 0x7d, 0xa8, 0x8e, 0xeb, 0xf3, 0x16, 0x49, 0xcb, 0x4f, 0x8c, 0xa1, 0xb9, 0x36,
-0x85, 0x39, 0x75, 0x5d, 0x08, 0x00, 0xae, 0xeb, 0xf6, 0xea, 0xd7, 0x13, 0x3a, 0x21, 0x5a,
-0x5f, 0x30, 0x84, 0x52, 0x26, 0x95, 0xc9, 0x14, 0xf2, 0x57, 0x55, 0x6b, 0xb1, 0x10, 0xc2,
-0xe1, 0xbd, 0x3b, 0x51, 0xc0, 0xb7, 0x55, 0x4c, 0x71, 0x12, 0x26, 0xc7, 0x0d, 0xf9, 0x51,
-0xa4, 0x38, 0x02, 0x05, 0x7f, 0xb8, 0xf1, 0x72, 0x4b, 0xbf, 0x71, 0x89, 0x14, 0xf3, 0x77,
-0x38, 0xd9, 0x71, 0x24, 0xf3, 0x00, 0x11, 0xa1, 0xd8, 0xd4, 0x69, 0x27, 0x08, 0x37, 0x35,
-0xc9, 0x11, 0x9d, 0x90, 0x1c, 0x0e, 0xe7, 0x1c, 0xff, 0x2d, 0x1e, 0xe8, 0x92, 0xe1, 0x18,
-0x10, 0x95, 0x7c, 0xe0, 0x80, 0xf4, 0x96, 0x43, 0x21, 0xf9, 0x75, 0x21, 0x64, 0x38, 0xdd,
-0x9f, 0x1e, 0x95, 0x16, 0xda, 0x56, 0x1d, 0x4f, 0x9a, 0x53, 0xb2, 0xe2, 0xe4, 0x18, 0xcb,
-0x6b, 0x1a, 0x65, 0xeb, 0x56, 0xc6, 0x3b, 0xe5, 0xfe, 0xd8, 0x26, 0x3f, 0x3a, 0x84, 0x59,
-0x72, 0x66, 0xa2, 0xf3, 0x75, 0xff, 0xfb, 0x60, 0xb3, 0x22, 0xad, 0x3f, 0x2d, 0x6b, 0xf9,
-0xeb, 0xea, 0x05, 0x7c, 0xd8, 0x8f, 0x6d, 0x2c, 0x98, 0x9e, 0x2b, 0x93, 0xf1, 0x5e, 0x46,
-0xf0, 0x87, 0x49, 0x29, 0x73, 0x68, 0xd7, 0x7f, 0xf9, 0xf0, 0xe5, 0x7d, 0xdb, 0x1d, 0x75,
-0x19, 0xf3, 0xc4, 0x58, 0x9b, 0x17, 0x88, 0xa8, 0x92, 0xe0, 0xbe, 0xbd, 0x8b, 0x1d, 0x8d,
-0x9f, 0x56, 0x76, 0xad, 0xaf, 0x29, 0xe2, 0xd9, 0xd5, 0x52, 0xf6, 0xb5, 0x56, 0x35, 0x57,
-0x3a, 0xc8, 0xe1, 0x56, 0x43, 0x19, 0x94, 0xd3, 0x04, 0x9b, 0x6d, 0x35, 0xd8, 0x0b, 0x5f,
-0x4d, 0x19, 0x8e, 0xec, 0xfa, 0x64, 0x91, 0x0a, 0x72, 0x20, 0x2b, 0xbc, 0x1a, 0x4a, 0xfe,
-0x8b, 0xfd, 0xbb, 0xed, 0x1b, 0x23, 0xea, 0xad, 0x72, 0x82, 0xa1, 0x29, 0x99, 0x71, 0xbd,
-0xf0, 0x95, 0xc1, 0x03, 0xdd, 0x7b, 0xc2, 0xb2, 0x3c, 0x28, 0x54, 0xd3, 0x68, 0xa4, 0x72,
-0xc8, 0x66, 0x96, 0xe0, 0xd1, 0xd8, 0x7f, 0xf8, 0xd1, 0x26, 0x2b, 0xf7, 0xad, 0xba, 0x55,
-0xca, 0x15, 0xb9, 0x32, 0xc3, 0xe5, 0x88, 0x97, 0x8e, 0x5c, 0xfb, 0x92, 0x25, 0x8b, 0xbf,
-0xa2, 0x45, 0x55, 0x7a, 0xa7, 0x6f, 0x8b, 0x57, 0x5b, 0xcf, 0x0e, 0xcb, 0x1d, 0xfb, 0x20,
-0x82, 0x77, 0xa8, 0x8c, 0xcc, 0x16, 0xce, 0x1d, 0xfa, 0xde, 0xcc, 0x0b, 0x62, 0xfe, 0xcc,
-0xe1, 0xb7, 0xf0, 0xc3, 0x81, 0x64, 0x73, 0x40, 0xa0, 0xc2, 0x4d, 0x89, 0x11, 0x75, 0x33,
-0x55, 0x33, 0x8d, 0xe8, 0x4a, 0xfd, 0xea, 0x6e, 0x30, 0x0b, 0xd7, 0x31, 0x2c, 0xde, 0x47,
-0xe3, 0xbf, 0xf8, 0x55, 0x42, 0xe2, 0x7f, 0x59, 0xe5, 0x17, 0xef, 0x99, 0x34, 0x69, 0x91,
-0xb1, 0x23, 0x8e, 0x20, 0x87, 0x2d, 0xa8, 0xfe, 0xd5, 0x8a, 0xf3, 0x84, 0x3a, 0xf0, 0x37,
-0xe4, 0x09, 0x00, 0x54, 0xee, 0x67, 0x49, 0x93, 0xe4, 0x81, 0x70, 0xe3, 0x90, 0x4d, 0xef,
-0xfe, 0x41, 0xb7, 0x99, 0x7b, 0xc1, 0x83, 0xba, 0x62, 0x12, 0x6f, 0x7d, 0xde, 0x6b, 0xaf,
-0xda, 0x16, 0xf9, 0x55, 0x51, 0xee, 0xa6, 0x0c, 0x2b, 0x02, 0xa3, 0xfd, 0x8d, 0xfb, 0x30,
-0x17, 0xe4, 0x6f, 0xdf, 0x36, 0x71, 0xc4, 0xca, 0x87, 0x25, 0x48, 0xb0, 0x47, 0xec, 0xea,
-0xb4, 0xbf, 0xa5, 0x4d, 0x9b, 0x9f, 0x02, 0x93, 0xc4, 0xe3, 0xe4, 0xe8, 0x42, 0x2d, 0x68,
-0x81, 0x15, 0x0a, 0xeb, 0x84, 0x5b, 0xd6, 0xa8, 0x74, 0xfb, 0x7d, 0x1d, 0xcb, 0x2c, 0xda,
-0x46, 0x2a, 0x76, 0x62, 0xce, 0xbc, 0x5c, 0x9e, 0x8b, 0xe7, 0xcf, 0xbe, 0x78, 0xf5, 0x7c,
-0xeb, 0xb3, 0x3a, 0x9c, 0xaa, 0x6f, 0xcc, 0x72, 0xd1, 0x59, 0xf2, 0x11, 0x23, 0xd6, 0x3f,
-0x48, 0xd1, 0xb7, 0xce, 0xb0, 0xbf, 0xcb, 0xea, 0x80, 0xde, 0x57, 0xd4, 0x5e, 0x97, 0x2f,
-0x75, 0xd1, 0x50, 0x8e, 0x80, 0x2c, 0x66, 0x79, 0xbf, 0x72, 0x4b, 0xbd, 0x8a, 0x81, 0x6c,
-0xd3, 0xe1, 0x01, 0xdc, 0xd2, 0x15, 0x26, 0xc5, 0x36, 0xda, 0x2c, 0x1a, 0xc0, 0x27, 0x94,
-0xed, 0xb7, 0x9b, 0x85, 0x0b, 0x5e, 0x80, 0x97, 0xc5, 0xec, 0x4f, 0xec, 0x88, 0x5d, 0x50,
-0x07, 0x35, 0x47, 0xdc, 0x0b, 0x3b, 0x3d, 0xdd, 0x60, 0xaf, 0xa8, 0x5d, 0x81, 0x38, 0x24,
-0x25, 0x5d, 0x5c, 0x15, 0xd1, 0xde, 0xb3, 0xab, 0xec, 0x05, 0x69, 0xef, 0x83, 0xed, 0x57,
-0x54, 0xb8, 0x64, 0x64, 0x11, 0x16, 0x32, 0x69, 0xda, 0x9f, 0x2d, 0x7f, 0x36, 0xbb, 0x44,
-0x5a, 0x34, 0xe8, 0x7f, 0xbf, 0x03, 0xeb, 0x00, 0x7f, 0x59, 0x68, 0x22, 0x79, 0xcf, 0x73,
-0x6c, 0x2c, 0x29, 0xa7, 0xa1, 0x5f, 0x38, 0xa1, 0x1d, 0xf0, 0x20, 0x53, 0xe0, 0x1a, 0x63,
-0x14, 0x58, 0x71, 0x10, 0xaa, 0x08, 0x0c, 0x3e, 0x16, 0x1a, 0x60, 0x22, 0x82, 0x7f, 0xba,
-0xa4, 0x43, 0xa0, 0xd0, 0xac, 0x1b, 0xd5, 0x6b, 0x64, 0xb5, 0x14, 0x93, 0x31, 0x9e, 0x53,
-0x50, 0xd0, 0x57, 0x66, 0xee, 0x5a, 0x4f, 0xfb, 0x03, 0x2a, 0x69, 0x58, 0x76, 0xf1, 0x83,
-0xf7, 0x4e, 0xba, 0x8c, 0x42, 0x06, 0x60, 0x5d, 0x6d, 0xce, 0x60, 0x88, 0xae, 0xa4, 0xc3,
-0xf1, 0x03, 0xa5, 0x4b, 0x98, 0xa1, 0xff, 0x67, 0xe1, 0xac, 0xa2, 0xb8, 0x62, 0xd7, 0x6f,
-0xa0, 0x31, 0xb4, 0xd2, 0x77, 0xaf, 0x21, 0x10, 0x06, 0xc6, 0x9a, 0xff, 0x1d, 0x09, 0x17,
-0x0e, 0x5f, 0xf1, 0xaa, 0x54, 0x34, 0x4b, 0x45, 0x8a, 0x87, 0x63, 0xa6, 0xdc, 0xf9, 0x24,
-0x30, 0x67, 0xc6, 0xb2, 0xd6, 0x61, 0x33, 0x69, 0xee, 0x50, 0x61, 0x57, 0x28, 0xe7, 0x7e,
-0xee, 0xec, 0x3a, 0x5a, 0x73, 0x4e, 0xa8, 0x8d, 0xe4, 0x18, 0xea, 0xec, 0x41, 0x64, 0xc8,
-0xe2, 0xe8, 0x66, 0xb6, 0x2d, 0xb6, 0xfb, 0x6a, 0x6c, 0x16, 0xb3, 0xdd, 0x46, 0x43, 0xb9,
-0x73, 0x00, 0x6a, 0x71, 0xed, 0x4e, 0x9d, 0x25, 0x1a, 0xc3, 0x3c, 0x4a, 0x95, 0x15, 0x99,
-0x35, 0x81, 0x14, 0x02, 0xd6, 0x98, 0x9b, 0xec, 0xd8, 0x23, 0x3b, 0x84, 0x29, 0xaf, 0x0c,
-0x99, 0x83, 0xa6, 0x9a, 0x34, 0x4f, 0xfa, 0xe8, 0xd0, 0x3c, 0x4b, 0xd0, 0xfb, 0xb6, 0x68,
-0xb8, 0x9e, 0x8f, 0xcd, 0xf7, 0x60, 0x2d, 0x7a, 0x22, 0xe5, 0x7d, 0xab, 0x65, 0x1b, 0x95,
-0xa7, 0xa8, 0x7f, 0xb6, 0x77, 0x47, 0x7b, 0x5f, 0x8b, 0x12, 0x72, 0xd0, 0xd4, 0x91, 0xef,
-0xde, 0x19, 0x50, 0x3c, 0xa7, 0x8b, 0xc4, 0xa9, 0xb3, 0x23, 0xcb, 0x76, 0xe6, 0x81, 0xf0,
-0xc1, 0x04, 0x8f, 0xa3, 0xb8, 0x54, 0x5b, 0x97, 0xac, 0x19, 0xff, 0x3f, 0x55, 0x27, 0x2f,
-0xe0, 0x1d, 0x42, 0x9b, 0x57, 0xfc, 0x4b, 0x4e, 0x0f, 0xce, 0x98, 0xa9, 0x43, 0x57, 0x03,
-0xbd, 0xe7, 0xc8, 0x94, 0xdf, 0x6e, 0x36, 0x73, 0x32, 0xb4, 0xef, 0x2e, 0x85, 0x7a, 0x6e,
-0xfc, 0x6c, 0x18, 0x82, 0x75, 0x35, 0x90, 0x07, 0xf3, 0xe4, 0x9f, 0x3e, 0xdc, 0x68, 0xf3,
-0xb5, 0xf3, 0x19, 0x80, 0x92, 0x06, 0x99, 0xa2, 0xe8, 0x6f, 0xff, 0x2e, 0x7f, 0xae, 0x42,
-0xa4, 0x5f, 0xfb, 0xd4, 0x0e, 0x81, 0x2b, 0xc3, 0x04, 0xff, 0x2b, 0xb3, 0x74, 0x4e, 0x36,
-0x5b, 0x9c, 0x15, 0x00, 0xc6, 0x47, 0x2b, 0xe8, 0x8b, 0x3d, 0xf1, 0x9c, 0x03, 0x9a, 0x58,
-0x7f, 0x9b, 0x9c, 0xbf, 0x85, 0x49, 0x79, 0x35, 0x2e, 0x56, 0x7b, 0x41, 0x14, 0x39, 0x47,
-0x83, 0x26, 0xaa, 0x07, 0x89, 0x98, 0x11, 0x1b, 0x86, 0xe7, 0x73, 0x7a, 0xd8, 0x7d, 0x78,
-0x61, 0x53, 0xe9, 0x79, 0xf5, 0x36, 0x8d, 0x44, 0x92, 0x84, 0xf9, 0x13, 0x50, 0x58, 0x3b,
-0xa4, 0x6a, 0x36, 0x65, 0x49, 0x8e, 0x3c, 0x0e, 0xf1, 0x6f, 0xd2, 0x84, 0xc4, 0x7e, 0x8e,
-0x3f, 0x39, 0xae, 0x7c, 0x84, 0xf1, 0x63, 0x37, 0x8e, 0x3c, 0xcc, 0x3e, 0x44, 0x81, 0x45,
-0xf1, 0x4b, 0xb9, 0xed, 0x6b, 0x36, 0x5d, 0xbb, 0x20, 0x60, 0x1a, 0x0f, 0xa3, 0xaa, 0x55,
-0x77, 0x3a, 0xa9, 0xae, 0x37, 0x4d, 0xba, 0xb8, 0x86, 0x6b, 0xbc, 0x08, 0x50, 0xf6, 0xcc,
-0xa4, 0xbd, 0x1d, 0x40, 0x72, 0xa5, 0x86, 0xfa, 0xe2, 0x10, 0xae, 0x3d, 0x58, 0x4b, 0x97,
-0xf3, 0x43, 0x74, 0xa9, 0x9e, 0xeb, 0x21, 0xb7, 0x01, 0xa4, 0x86, 0x93, 0x97, 0xee, 0x2f,
-0x4f, 0x3b, 0x86, 0xa1, 0x41, 0x6f, 0x41, 0x26, 0x90, 0x78, 0x5c, 0x7f, 0x30, 0x38, 0x4b,
-0x3f, 0xaa, 0xec, 0xed, 0x5c, 0x6f, 0x0e, 0xad, 0x43, 0x87, 0xfd, 0x93, 0x35, 0xe6, 0x01,
-0xef, 0x41, 0x26, 0x90, 0x99, 0x9e, 0xfb, 0x19, 0x5b, 0xad, 0xd2, 0x91, 0x8a, 0xe0, 0x46,
-0xaf, 0x65, 0xfa, 0x4f, 0x84, 0xc1, 0xa1, 0x2d, 0xcf, 0x45, 0x8b, 0xd3, 0x85, 0x50, 0x55,
-0x7c, 0xf9, 0x67, 0x88, 0xd4, 0x4e, 0xe9, 0xd7, 0x6b, 0x61, 0x54, 0xa1, 0xa4, 0xa6, 0xa2,
-0xc2, 0xbf, 0x30, 0x9c, 0x40, 0x9f, 0x5f, 0xd7, 0x69, 0x2b, 0x24, 0x82, 0x5e, 0xd9, 0xd6,
-0xa7, 0x12, 0x54, 0x1a, 0xf7, 0x55, 0x9f, 0x76, 0x50, 0xa9, 0x95, 0x84, 0xe6, 0x6b, 0x6d,
-0xb5, 0x96, 0x54, 0xd6, 0xcd, 0xb3, 0xa1, 0x9b, 0x46, 0xa7, 0x94, 0x4d, 0xc4, 0x94, 0xb4,
-0x98, 0xe3, 0xe1, 0xe2, 0x34, 0xd5, 0x33, 0x16, 0x07, 0x54, 0xcd, 0xb7, 0x77, 0x53, 0xdb,
-0x4f, 0x4d, 0x46, 0x9d, 0xe9, 0xd4, 0x9c, 0x8a, 0x36, 0xb6, 0xb8, 0x38, 0x26, 0x6c, 0x0e,
-0xff, 0x9c, 0x1b, 0x43, 0x8b, 0x80, 0xcc, 0xb9, 0x3d, 0xda, 0xc7, 0xf1, 0x8a, 0xf2, 0x6d,
-0xb8, 0xd7, 0x74, 0x2f, 0x7e, 0x1e, 0xb7, 0xd3, 0x4a, 0xb4, 0xac, 0xfc, 0x79, 0x48, 0x6c,
-0xbc, 0x96, 0xb6, 0x94, 0x46, 0x57, 0x2d, 0xb0, 0xa3, 0xfc, 0x1e, 0xb9, 0x52, 0x60, 0x85,
-0x2d, 0x41, 0xd0, 0x43, 0x01, 0x1e, 0x1c, 0xd5, 0x7d, 0xfc, 0xf3, 0x96, 0x0d, 0xc7, 0xcb,
-0x2a, 0x29, 0x9a, 0x93, 0xdd, 0x88, 0x2d, 0x37, 0x5d, 0xaa, 0xfb, 0x49, 0x68, 0xa0, 0x9c,
-0x50, 0x86, 0x7f, 0x68, 0x56, 0x57, 0xf9, 0x79, 0x18, 0x39, 0xd4, 0xe0, 0x01, 0x84, 0x33,
-0x61, 0xca, 0xa5, 0xd2, 0xd6, 0xe4, 0xc9, 0x8a, 0x4a, 0x23, 0x44, 0x4e, 0xbc, 0xf0, 0xdc,
-0x24, 0xa1, 0xa0, 0xc4, 0xe2, 0x07, 0x3c, 0x10, 0xc4, 0xb5, 0x25, 0x4b, 0x65, 0x63, 0xf4,
-0x80, 0xe7, 0xcf, 0x61, 0xb1, 0x71, 0x82, 0x21, 0x87, 0x2c, 0xf5, 0x91, 0x00, 0x32, 0x0c,
-0xec, 0xa9, 0xb5, 0x9a, 0x74, 0x85, 0xe3, 0x36, 0x8f, 0x76, 0x4f, 0x9c, 0x6d, 0xce, 0xbc,
-0xad, 0x0a, 0x4b, 0xed, 0x76, 0x04, 0xcb, 0xc3, 0xb9, 0x33, 0x9e, 0x01, 0x93, 0x96, 0x69,
-0x7d, 0xc5, 0xa2, 0x45, 0x79, 0x9b, 0x04, 0x5c, 0x84, 0x09, 0xed, 0x88, 0x43, 0xc7, 0xab,
-0x93, 0x14, 0x26, 0xa1, 0x40, 0xb5, 0xce, 0x4e, 0xbf, 0x2a, 0x42, 0x85, 0x3e, 0x2c, 0x3b,
-0x54, 0xe8, 0x12, 0x1f, 0x0e, 0x97, 0x59, 0xb2, 0x27, 0x89, 0xfa, 0xf2, 0xdf, 0x8e, 0x68,
-0x59, 0xdc, 0x06, 0xbc, 0xb6, 0x85, 0x0d, 0x06, 0x22, 0xec, 0xb1, 0xcb, 0xe5, 0x04, 0xe6,
-0x3d, 0xb3, 0xb0, 0x41, 0x73, 0x08, 0x3f, 0x3c, 0x58, 0x86, 0x63, 0xeb, 0x50, 0xee, 0x1d,
-0x2c, 0x37, 0x74, 0xa9, 0xd3, 0x18, 0xa3, 0x47, 0x6e, 0x93, 0x54, 0xad, 0x0a, 0x5d, 0xb8,
-0x2a, 0x55, 0x5d, 0x78, 0xf6, 0xee, 0xbe, 0x8e, 0x3c, 0x76, 0x69, 0xb9, 0x40, 0xc2, 0x34,
-0xec, 0x2a, 0xb9, 0xed, 0x7e, 0x20, 0xe4, 0x8d, 0x00, 0x38, 0xc7, 0xe6, 0x8f, 0x44, 0xa8,
-0x86, 0xce, 0xeb, 0x2a, 0xe9, 0x90, 0xf1, 0x4c, 0xdf, 0x32, 0xfb, 0x73, 0x1b, 0x6d, 0x92,
-0x1e, 0x95, 0xfe, 0xb4, 0xdb, 0x65, 0xdf, 0x4d, 0x23, 0x54, 0x89, 0x48, 0xbf, 0x4a, 0x2e,
-0x70, 0xd6, 0xd7, 0x62, 0xb4, 0x33, 0x29, 0xb1, 0x3a, 0x33, 0x4c, 0x23, 0x6d, 0xa6, 0x76,
-0xa5, 0x21, 0x63, 0x48, 0xe6, 0x90, 0x5d, 0xed, 0x90, 0x95, 0x0b, 0x7a, 0x84, 0xbe, 0xb8,
-0x0d, 0x5e, 0x63, 0x0c, 0x62, 0x26, 0x4c, 0x14, 0x5a, 0xb3, 0xac, 0x23, 0xa4, 0x74, 0xa7,
-0x6f, 0x33, 0x30, 0x05, 0x60, 0x01, 0x42, 0xa0, 0x28, 0xb7, 0xee, 0x19, 0x38, 0xf1, 0x64,
-0x80, 0x82, 0x43, 0xe1, 0x41, 0x27, 0x1f, 0x1f, 0x90, 0x54, 0x7a, 0xd5, 0x23, 0x2e, 0xd1,
-0x3d, 0xcb, 0x28, 0xba, 0x58, 0x7f, 0xdc, 0x7c, 0x91, 0x24, 0xe9, 0x28, 0x51, 0x83, 0x6e,
-0xc5, 0x56, 0x21, 0x42, 0xed, 0xa0, 0x56, 0x22, 0xa1, 0x40, 0x80, 0x6b, 0xa8, 0xf7, 0x94,
-0xca, 0x13, 0x6b, 0x0c, 0x39, 0xd9, 0xfd, 0xe9, 0xf3, 0x6f, 0xa6, 0x9e, 0xfc, 0x70, 0x8a,
-0xb3, 0xbc, 0x59, 0x3c, 0x1e, 0x1d, 0x6c, 0xf9, 0x7c, 0xaf, 0xf9, 0x88, 0x71, 0x95, 0xeb,
-0x57, 0x00, 0xbd, 0x9f, 0x8c, 0x4f, 0xe1, 0x24, 0x83, 0xc5, 0x22, 0xea, 0xfd, 0xd3, 0x0c,
-0xe2, 0x17, 0x18, 0x7c, 0x6a, 0x4c, 0xde, 0x77, 0xb4, 0x53, 0x9b, 0x4c, 0x81, 0xcd, 0x23,
-0x60, 0xaa, 0x0e, 0x25, 0x73, 0x9c, 0x02, 0x79, 0x32, 0x30, 0xdf, 0x74, 0xdf, 0x75, 0x19,
-0xf4, 0xa5, 0x14, 0x5c, 0xf7, 0x7a, 0xa8, 0xa5, 0x91, 0x84, 0x7c, 0x60, 0x03, 0x06, 0x3b,
-0xcd, 0x50, 0xb6, 0x27, 0x9c, 0xfe, 0xb1, 0xdd, 0xcc, 0xd3, 0xb0, 0x59, 0x24, 0xb2, 0xca,
-0xe2, 0x1c, 0x81, 0x22, 0x9d, 0x07, 0x8f, 0x8e, 0xb9, 0xbe, 0x4e, 0xfa, 0xfc, 0x39, 0x65,
-0xba, 0xbf, 0x9d, 0x12, 0x37, 0x5e, 0x97, 0x7e, 0xf3, 0x89, 0xf5, 0x5d, 0xf5, 0xe3, 0x09,
-0x8c, 0x62, 0xb5, 0x20, 0x9d, 0x0c, 0x53, 0x8a, 0x68, 0x1b, 0xd2, 0x8f, 0x75, 0x17, 0x5d,
-0xd4, 0xe5, 0xda, 0x75, 0x62, 0x19, 0x14, 0x6a, 0x26, 0x2d, 0xeb, 0xf8, 0xaf, 0x37, 0xf0,
-0x6c, 0xa4, 0x55, 0xb1, 0xbc, 0xe2, 0x33, 0xc0, 0x9a, 0xca, 0xb0, 0x11, 0x49, 0x4f, 0x68,
-0x9b, 0x3b, 0x6b, 0x3c, 0xcc, 0x13, 0xf6, 0xc7, 0x85, 0x61, 0x68, 0x42, 0xae, 0xbb, 0xdd,
-0xcd, 0x45, 0x16, 0x29, 0x1d, 0xea, 0xdb, 0xc8, 0x03, 0x94, 0x3c, 0xee, 0x4f, 0x82, 0x11,
-0xc3, 0xec, 0x28, 0xbd, 0x97, 0x05, 0x99, 0xde, 0xd7, 0xbb, 0x5e, 0x22, 0x1f, 0xd4, 0xeb,
-0x64, 0xd9, 0x92, 0xd9, 0x85, 0xb7, 0x6a, 0x05, 0x6a, 0xe4, 0x24, 0x41, 0xf1, 0xcd, 0xf0,
-0xd8, 0x3f, 0xf8, 0x9e, 0x0e, 0xcd, 0x0b, 0x7a, 0x70, 0x6b, 0x5a, 0x75, 0x0a, 0x6a, 0x33,
-0x88, 0xec, 0x17, 0x75, 0x08, 0x70, 0x10, 0x2f, 0x24, 0xcf, 0xc4, 0xe9, 0x42, 0x00, 0x61,
-0x94, 0xca, 0x1f, 0x3a, 0x76, 0x06, 0xfa, 0xd2, 0x48, 0x81, 0xf0, 0x77, 0x60, 0x03, 0x45,
-0xd9, 0x61, 0xf4, 0xa4, 0x6f, 0x3d, 0xd9, 0x30, 0xc3, 0x04, 0x6b, 0x54, 0x2a, 0xb7, 0xec,
-0x3b, 0xf4, 0x4b, 0xf5, 0x68, 0x52, 0x26, 0xce, 0xff, 0x5d, 0x19, 0x91, 0xa0, 0xa3, 0xa5,
-0xa9, 0xb1, 0xe0, 0x23, 0xc4, 0x0a, 0x77, 0x4d, 0xf9, 0x51, 0x20, 0xa3, 0xa5, 0xa9, 0xb1,
-0xc1, 0x00, 0x82, 0x86, 0x8e, 0x7f, 0x5d, 0x19, 0x91, 0xa0, 0xa3, 0xc4, 0xeb, 0x54, 0x0b,
-0x75, 0x68, 0x52, 0x07, 0x8c, 0x9a, 0x97, 0x8d, 0x79, 0x70, 0x62, 0x46, 0xef, 0x5c, 0x1b,
-0x95, 0x89, 0x71, 0x41, 0xe1, 0x21, 0xa1, 0xa1, 0xa1, 0xc0, 0x02, 0x67, 0x4c, 0x1a, 0xb6,
-0xcf, 0xfd, 0x78, 0x53, 0x24, 0xab, 0xb5, 0xc9, 0xf1, 0x60, 0x23, 0xa5, 0xc8, 0x12, 0x87,
-0x6d, 0x58, 0x13, 0x85, 0x88, 0x92, 0x87, 0x6d, 0x58, 0x32, 0xc7, 0x0c, 0x9a, 0x97, 0xac,
-0xda, 0x36, 0xee, 0x5e, 0x3e, 0xdf, 0x1d, 0xb8, 0xf2, 0x66, 0x2f, 0xbd, 0xf8, 0x72, 0x47,
-0xed, 0x58, 0x13, 0x85, 0x88, 0x92, 0x87, 0x8c, 0x7b, 0x55, 0x09, 0x90, 0xa2, 0xc6, 0xef,
-0x3d, 0xf8, 0x53, 0x24, 0xab, 0xd4, 0x2a, 0xb7, 0xec, 0x5a, 0x36, 0xee, 0x5e, 0x3e, 0xdf,
-0x3c, 0xfa, 0x76, 0x4f, 0xfd, 0x59, 0x30, 0xe2, 0x46, 0xef, 0x3d, 0xf8, 0x53, 0x05, 0x69,
-0x31, 0xc1, 0x00, 0x82, 0x86, 0x8e, 0x7f, 0x5d, 0x19, 0xb0, 0xe2, 0x27, 0xcc, 0xfb, 0x74,
-0x4b, 0x14, 0x8b, 0x94, 0x8b, 0x75, 0x68, 0x33, 0xc5, 0x08, 0x92, 0x87, 0x8c, 0x9a, 0xb6,
-0xcf, 0x1c, 0xba, 0xd7, 0x0d, 0x98, 0xb2, 0xe6, 0x2f, 0xdc, 0x1b, 0x95, 0x89, 0x71, 0x60,
-0x23, 0xc4, 0x0a, 0x96, 0x8f, 0x9c, 0xba, 0xf6, 0x6e, 0x3f, 0xfc, 0x5b, 0x15, 0xa8, 0xd2,
-0x26, 0xaf, 0xbd, 0xf8, 0x72, 0x66, 0x2f, 0xdc, 0x1b, 0xb4, 0xcb, 0x14, 0x8b, 0x94, 0xaa,
-0xb7, 0xcd, 0xf9, 0x51, 0x01, 0x80, 0x82, 0x86, 0x6f, 0x3d, 0xd9, 0x30, 0xe2, 0x27, 0xcc,
-0xfb, 0x74, 0x4b, 0x14, 0xaa, 0xb7, 0xcd, 0xf9, 0x70, 0x43, 0x04, 0x6b, 0x35, 0xc9, 0xf1,
-0x60, 0x23, 0xa5, 0xc8, 0xf3, 0x45, 0x08, 0x92, 0x87, 0x6d, 0x58, 0x32, 0xe6, 0x2f, 0xbd,
-0xf8, 0x72, 0x66, 0x4e, 0x1e, 0xbe, 0xfe, 0x7e, 0x7e, 0x7e, 0x5f, 0x1d, 0x99, 0x91, 0xa0,
-0xa3, 0xc4, 0x0a, 0x77, 0x4d, 0x18, 0x93, 0xa4, 0xab, 0xd4, 0x0b, 0x75, 0x49, 0x10, 0xa2,
-0xc6, 0xef, 0x3d, 0xf8, 0x53, 0x24, 0xab, 0xb5, 0xe8, 0x33, 0xe4, 0x4a, 0x16, 0xae, 0xde,
-0x1f, 0xbc, 0xdb, 0x15, 0xa8, 0xb3, 0xc5, 0x08, 0x73, 0x45, 0xe9, 0x31, 0xc1, 0xe1, 0x21,
-0xa1, 0xa1, 0xa1, 0xc0, 0x02, 0x86, 0x6f, 0x5c, 0x3a, 0xd7, 0x0d, 0x98, 0x93, 0xa4, 0xca,
-0x16, 0xae, 0xde, 0x1f, 0x9d, 0x99, 0xb0, 0xe2, 0x46, 0xef, 0x3d, 0xf8, 0x72, 0x47, 0x0c,
-0x9a, 0xb6, 0xcf, 0xfd, 0x59, 0x11, 0xa0, 0xa3, 0xa5, 0xc8, 0xf3, 0x45, 0x08, 0x92, 0x87,
-0x6d, 0x39, 0xf0, 0x43, 0x04, 0x8a, 0x96, 0xae, 0xde, 0x3e, 0xdf, 0x1d, 0x99, 0x91, 0xa0,
-0xc2, 0x06, 0x6f, 0x3d, 0xf8, 0x72, 0x47, 0x0c, 0x9a, 0x97, 0x8d, 0x98, 0x93, 0x85, 0x88,
-0x73, 0x45, 0xe9, 0x31, 0xe0, 0x23, 0xa5, 0xa9, 0xd0, 0x03, 0x84, 0x8a, 0x96, 0xae, 0xde,
-0x1f, 0xbc, 0xdb, 0x15, 0xa8, 0xd2, 0x26, 0xce, 0xff, 0x5d, 0x19, 0x91, 0x81, 0x80, 0x82,
-0x67, 0x2d, 0xd8, 0x13, 0xa4, 0xab, 0xd4, 0x0b, 0x94, 0xaa, 0xb7, 0xcd, 0xf9, 0x51, 0x20,
-0xa3, 0xa5, 0xc8, 0xf3, 0x45, 0xe9, 0x50, 0x22, 0xc6, 0xef, 0x5c, 0x3a, 0xd7, 0x0d, 0x98,
-0x93, 0x85, 0x88, 0x73, 0x64, 0x4a, 0xf7, 0x4d, 0xf9, 0x51, 0x20, 0xa3, 0xc4, 0x0a, 0x96,
-0xae, 0xde, 0x3e, 0xfe, 0x7e, 0x7e, 0x7e, 0x5f, 0x3c, 0xfa, 0x76, 0x4f, 0xfd, 0x78, 0x72,
-0x66, 0x2f, 0xbd, 0xd9, 0x30, 0xc3, 0xe5, 0x48, 0x12, 0x87, 0x8c, 0x7b, 0x55, 0x28, 0xd2,
-0x07, 0x8c, 0x9a, 0x97, 0xac, 0xda, 0x17, 0x8d, 0x79, 0x51, 0x20, 0xa3, 0xc4, 0xeb, 0x54,
-0x0b, 0x94, 0x8b, 0x94, 0xaa, 0xd6, 0x2e, 0xbf, 0xfc, 0x5b, 0x15, 0xa8, 0xd2, 0x26, 0xaf,
-0xdc, 0x1b, 0xb4, 0xea, 0x37, 0xec, 0x3b, 0xf4, 0x6a, 0x37, 0xcd, 0x18, 0x93, 0x85, 0x69,
-0x31, 0xc1, 0xe1, 0x40, 0xe3, 0x25, 0xc8, 0x12, 0x87, 0x8c, 0x9a, 0xb6, 0xcf, 0xfd, 0x59,
-0x11, 0xa0, 0xc2, 0x06, 0x8e, 0x7f, 0x5d, 0x38, 0xf2, 0x47, 0x0c, 0x7b, 0x74, 0x6a, 0x37,
-0xec, 0x5a, 0x36, 0xee, 0x3f, 0xfc, 0x7a, 0x76, 0x4f, 0x1c, 0x9b, 0x95, 0x89, 0x71, 0x41,
-0x00, 0x63, 0x44, 0xeb, 0x54, 0x2a, 0xd6, 0x0f, 0x9c, 0xba, 0xd7, 0x0d, 0x98, 0x93, 0x85,
-0x69, 0x31, 0xc1, 0x00, 0x82, 0x86, 0x8e, 0x9e, 0xbe, 0xdf, 0x3c, 0xfa, 0x57, 0x2c, 0xda,
-0x36, 0xee, 0x3f, 0xfc, 0x5b, 0x15, 0x89, 0x71, 0x41, 0x00, 0x82, 0x86, 0x8e, 0x7f, 0x5d,
-0x38, 0xf2, 0x47, 0xed, 0x58, 0x13, 0xa4, 0xca, 0xf7, 0x4d, 0xf9, 0x51, 0x01, 0x80, 0x63,
-0x44, 0xeb, 0x54, 0x2a, 0xd6, 0x2e, 0xbf, 0xdd, 0x19, 0x91, 0xa0, 0xa3, 0xa5, 0xa9, 0xb1,
-0xe0, 0x42, 0x06, 0x8e, 0x7f, 0x5d, 0x19, 0x91, 0xa0, 0xa3, 0xc4, 0x0a, 0x96, 0x8f, 0x7d,
-0x78, 0x72, 0x47, 0x0c, 0x7b, 0x74, 0x6a, 0x56, 0x2e, 0xde, 0x1f, 0xbc, 0xfa, 0x57, 0x0d,
-0x79, 0x51, 0x01, 0x61, 0x21, 0xa1, 0xc0, 0xe3, 0x25, 0xa9, 0xb1, 0xc1, 0xe1, 0x40, 0x02,
-0x67, 0x4c, 0x1a, 0x97, 0x8d, 0x98, 0x93, 0xa4, 0xab, 0xd4, 0x2a, 0xd6, 0x0f, 0x9c, 0x9b,
-0xb4, 0xcb, 0x14, 0xaa, 0xb7, 0xcd, 0xf9, 0x51, 0x20, 0xa3, 0xc4, 0xeb, 0x35, 0xc9, 0xf1,
-0x60, 0x42, 0x06, 0x8e, 0x7f, 0x7c, 0x7a, 0x76, 0x6e, 0x3f, 0xfc, 0x7a, 0x76, 0x6e, 0x5e,
-0x3e, 0xfe, 0x7e, 0x5f, 0x3c, 0xdb, 0x15, 0x89, 0x71, 0x41, 0xe1, 0x21, 0xc0, 0xe3, 0x44,
-0xeb, 0x54, 0x2a, 0xb7, 0xcd, 0xf9, 0x70, 0x62, 0x27, 0xad, 0xd8, 0x32, 0xc7, 0x0c, 0x7b,
-0x74, 0x4b, 0x14, 0xaa, 0xb7, 0xec, 0x3b, 0xd5, 0x28, 0xd2, 0x07, 0x6d, 0x39, 0xd1, 0x20,
-0xc2, 0xe7, 0x4c, 0x1a, 0x97, 0x8d, 0x98, 0xb2, 0xc7, 0x0c, 0x59, 0x28, 0xf3, 0x9b };
-
-// clang-format off
diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/pointer_transport.c b/keyboards/handwired/dactyl_manuform/5x6_right_trackball/pointer_transport.c
deleted file mode 100644
index 1a9aeb2e32..0000000000
--- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/pointer_transport.c
+++ /dev/null
@@ -1,616 +0,0 @@
-/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.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 <string.h>
-#include <stddef.h>
-
-#include "matrix.h"
-#include QMK_KEYBOARD_H
-
-#define ROWS_PER_HAND (MATRIX_ROWS / 2)
-#define SYNC_TIMER_OFFSET 2
-
-#ifdef RGBLIGHT_ENABLE
-# include "rgblight.h"
-#endif
-
-#ifdef BACKLIGHT_ENABLE
-# include "backlight.h"
-#endif
-
-#ifdef ENCODER_ENABLE
-# include "encoder.h"
-static pin_t encoders_pad[] = ENCODERS_PAD_A;
-# define NUMBER_OF_ENCODERS (sizeof(encoders_pad) / sizeof(pin_t))
-#endif
-
-#if defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT)
-# include "led_matrix.h"
-#endif
-#if defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT)
-# include "rgb_matrix.h"
-#endif
-
-#ifdef POINTING_DEVICE_ENABLE
-static uint16_t device_cpi = 0;
-static int8_t split_mouse_x = 0, split_mouse_y = 0;
-#endif
-
-#ifdef OLED_DRIVER_ENABLE
-# include "oled_driver.h"
-#endif
-
-#if defined(USE_I2C)
-
-# include "i2c_master.h"
-# include "i2c_slave.h"
-
-typedef struct _I2C_slave_buffer_t {
-# ifndef DISABLE_SYNC_TIMER
- uint32_t sync_timer;
-# endif
-# ifdef SPLIT_TRANSPORT_MIRROR
- matrix_row_t mmatrix[ROWS_PER_HAND];
-# endif
- matrix_row_t smatrix[ROWS_PER_HAND];
-# ifdef SPLIT_MODS_ENABLE
- uint8_t real_mods;
- uint8_t weak_mods;
-# ifndef NO_ACTION_ONESHOT
- uint8_t oneshot_mods;
-# endif
-# endif
-# ifdef BACKLIGHT_ENABLE
- uint8_t backlight_level;
-# endif
-# if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT)
- rgblight_syncinfo_t rgblight_sync;
-# endif
-# ifdef ENCODER_ENABLE
- uint8_t encoder_state[NUMBER_OF_ENCODERS];
-# endif
-# ifdef WPM_ENABLE
- uint8_t current_wpm;
-# endif
- int8_t mouse_x;
- int8_t mouse_y;
- uint16_t device_cpi;
- bool oled_on;
- layer_state_t t_layer_state;
- layer_state_t t_default_layer_state;
-# if defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT)
- led_eeconfig_t led_matrix;
- bool led_suspend_state;
-# endif
-# if defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT)
- rgb_config_t rgb_matrix;
- bool rgb_suspend_state;
-# endif
-} __attribute__((packed)) I2C_slave_buffer_t;
-
-static I2C_slave_buffer_t *const i2c_buffer = (I2C_slave_buffer_t *)i2c_slave_reg;
-
-# define I2C_BACKLIGHT_START offsetof(I2C_slave_buffer_t, backlight_level)
-# define I2C_RGB_START offsetof(I2C_slave_buffer_t, rgblight_sync)
-# define I2C_KEYMAP_MASTER_START offsetof(I2C_slave_buffer_t, mmatrix)
-# define I2C_KEYMAP_SLAVE_START offsetof(I2C_slave_buffer_t, smatrix)
-# define I2C_SYNC_TIME_START offsetof(I2C_slave_buffer_t, sync_timer)
-# define I2C_REAL_MODS_START offsetof(I2C_slave_buffer_t, real_mods)
-# define I2C_WEAK_MODS_START offsetof(I2C_slave_buffer_t, weak_mods)
-# define I2C_ONESHOT_MODS_START offsetof(I2C_slave_buffer_t, oneshot_mods)
-# define I2C_ENCODER_START offsetof(I2C_slave_buffer_t, encoder_state)
-# define I2C_WPM_START offsetof(I2C_slave_buffer_t, current_wpm)
-# define I2C_MOUSE_X_START offsetof(I2C_slave_buffer_t, mouse_x)
-# define I2C_MOUSE_Y_START offsetof(I2C_slave_buffer_t, mouse_y)
-# define I2C_MOUSE_DPI_START offsetof(I2C_slave_buffer_t, device_cpi)
-# define I2C_OLED_ON_START offsetof(I2C_slave_buffer_t, oled_on)
-# define I2C_LAYER_STATE_START offsetof(I2C_slave_buffer_t, t_layer_state)
-# define I2C_DEFAULT_LAYER_STATE_START offsetof(I2C_slave_buffer_t, t_default_layer_state)
-# define I2C_LED_MATRIX_START offsetof(I2C_slave_buffer_t, led_matrix)
-# define I2C_LED_SUSPEND_START offsetof(I2C_slave_buffer_t, led_suspend_state)
-# define I2C_RGB_MATRIX_START offsetof(I2C_slave_buffer_t, rgb_matrix)
-# define I2C_RGB_SUSPEND_START offsetof(I2C_slave_buffer_t, rgb_suspend_state)
-
-# define TIMEOUT 100
-
-# ifndef SLAVE_I2C_ADDRESS
-# define SLAVE_I2C_ADDRESS 0x32
-# endif
-
-// Get rows from other half over i2c
-bool transport_master(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) {
- i2c_readReg(SLAVE_I2C_ADDRESS, I2C_KEYMAP_SLAVE_START, (void *)slave_matrix, sizeof(i2c_buffer->smatrix), TIMEOUT);
-# ifdef SPLIT_TRANSPORT_MIRROR
- i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_KEYMAP_MASTER_START, (void *)master_matrix, sizeof(i2c_buffer->mmatrix), TIMEOUT);
-# endif
- // write backlight info
-# ifdef BACKLIGHT_ENABLE
- uint8_t level = is_backlight_enabled() ? get_backlight_level() : 0;
- if (level != i2c_buffer->backlight_level) {
- if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_BACKLIGHT_START, (void *)&level, sizeof(level), TIMEOUT) >= 0) {
- i2c_buffer->backlight_level = level;
- }
- }
-# endif
-
-# if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT)
- if (rgblight_get_change_flags()) {
- rgblight_syncinfo_t rgblight_sync;
- rgblight_get_syncinfo(&rgblight_sync);
- if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_RGB_START, (void *)&rgblight_sync, sizeof(rgblight_sync), TIMEOUT) >= 0) {
- rgblight_clear_change_flags();
- }
- }
-# endif
-
-# ifdef ENCODER_ENABLE
- i2c_readReg(SLAVE_I2C_ADDRESS, I2C_ENCODER_START, (void *)i2c_buffer->encoder_state, sizeof(i2c_buffer->encoder_state), TIMEOUT);
- encoder_update_raw(i2c_buffer->encoder_state);
-# endif
-
-# ifdef WPM_ENABLE
- uint8_t current_wpm = get_current_wpm();
- if (current_wpm != i2c_buffer->current_wpm) {
- if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_WPM_START, (void *)&current_wpm, sizeof(current_wpm), TIMEOUT) >= 0) {
- i2c_buffer->current_wpm = current_wpm;
- }
- }
-# endif
-
-# ifdef POINTING_DEVICE_ENABLE
- if (is_keyboard_left()) {
- report_mouse_t temp_report = pointing_device_get_report();
- i2c_readReg(SLAVE_I2C_ADDRESS, I2C_MOUSE_X_START, (void *)&i2c_buffer->mouse_x, sizeof(i2c_buffer->mouse_x), TIMEOUT);
- temp_report.x = i2c_buffer->mouse_x;
- i2c_readReg(SLAVE_I2C_ADDRESS, I2C_MOUSE_Y_START, (void *)&i2c_buffer->mouse_y, sizeof(i2c_buffer->mouse_y), TIMEOUT);
- temp_report.y = i2c_buffer->mouse_y;
- pointing_device_set_report(temp_report);
-
- if (device_cpi != i2c_buffer->device_cpi) {
- if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_MOUSE_DPI_START, (void *)&device_cpi, sizeof(device_cpi), TIMEOUT) >= 0) {
- i2c_buffer->device_cpi = device_cpi
- }
- }
- }
-# endif
-
-# ifdef SPLIT_MODS_ENABLE
- uint8_t real_mods = get_mods();
- if (real_mods != i2c_buffer->real_mods) {
- if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_REAL_MODS_START, (void *)&real_mods, sizeof(real_mods), TIMEOUT) >= 0) {
- i2c_buffer->real_mods = real_mods;
- }
- }
-
- uint8_t weak_mods = get_weak_mods();
- if (weak_mods != i2c_buffer->weak_mods) {
- if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_WEAK_MODS_START, (void *)&weak_mods, sizeof(weak_mods), TIMEOUT) >= 0) {
- i2c_buffer->weak_mods = weak_mods;
- }
- }
-
-# ifndef NO_ACTION_ONESHOT
- uint8_t oneshot_mods = get_oneshot_mods();
- if (oneshot_mods != i2c_buffer->oneshot_mods) {
- if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_ONESHOT_MODS_START, (void *)&oneshot_mods, sizeof(oneshot_mods), TIMEOUT) >= 0) {
- i2c_buffer->oneshot_mods = oneshot_mods;
- }
- }
-# endif
-# endif
-
- if (layer_state != i2c_buffer->t_layer_state) {
- if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_LAYER_STATE_START, (void *)&layer_state, sizeof(layer_state), TIMEOUT) >= 0) {
- i2c_buffer->t_layer_state = layer_state;
- }
- }
-
- if (default_layer_state != i2c_buffer->t_default_layer_state) {
- if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_DEFAULT_LAYER_STATE_START, (void *)&default_layer_state, sizeof(default_layer_state), TIMEOUT) >= 0) {
- i2c_buffer->t_default_layer_state = default_layer_state;
- }
- }
-
-# ifdef OLED_DRIVER_ENABLE
- bool is_oled_on = is_oled_on();
- if (is_oled_on != i2c_buffer->oled_on) {
- if (i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_LAYER_STATE_START, (void *)&is_oled_on, sizeof(is_oled_on), TIMEOUT) >= 0) {
- i2c_buffer->oled_on = is_oled_on;
- }
- }
-# endif
-
-# if defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT)
- i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_LED_MATRIX_START, (void *)led_matrix_eeconfig, sizeof(i2c_buffer->led_matrix), TIMEOUT);
- bool suspend_state = led_matrix_get_suspend_state();
- i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_LED_SUSPEND_START, (void *)suspend_state, sizeof(i2c_buffer->led_suspend_state), TIMEOUT);
-# endif
-# if defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT)
- i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_RGB_MATRIX_START, (void *)rgb_matrix_config, sizeof(i2c_buffer->rgb_matrix), TIMEOUT);
- bool suspend_state = rgb_matrix_get_suspend_state();
- i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_RGB_SUSPEND_START, (void *)suspend_state, sizeof(i2c_buffer->rgb_suspend_state), TIMEOUT);
-# endif
-
-# ifndef DISABLE_SYNC_TIMER
- i2c_buffer->sync_timer = sync_timer_read32() + SYNC_TIMER_OFFSET;
- i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_SYNC_TIME_START, (void *)&i2c_buffer->sync_timer, sizeof(i2c_buffer->sync_timer), TIMEOUT);
-# endif
-
- return true;
-}
-
-void transport_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) {
-# ifndef DISABLE_SYNC_TIMER
- sync_timer_update(i2c_buffer->sync_timer);
-# endif
- // Copy matrix to I2C buffer
- memcpy((void *)i2c_buffer->smatrix, (void *)slave_matrix, sizeof(i2c_buffer->smatrix));
-# ifdef SPLIT_TRANSPORT_MIRROR
- memcpy((void *)master_matrix, (void *)i2c_buffer->mmatrix, sizeof(i2c_buffer->mmatrix));
-# endif
-
-// Read Backlight Info
-# ifdef BACKLIGHT_ENABLE
- backlight_set(i2c_buffer->backlight_level);
-# endif
-
-# if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT)
- // Update the RGB with the new data
- if (i2c_buffer->rgblight_sync.status.change_flags != 0) {
- rgblight_update_sync(&i2c_buffer->rgblight_sync, false);
- i2c_buffer->rgblight_sync.status.change_flags = 0;
- }
-# endif
-
-# ifdef ENCODER_ENABLE
- encoder_state_raw(i2c_buffer->encoder_state);
-# endif
-
-# ifdef WPM_ENABLE
- set_current_wpm(i2c_buffer->current_wpm);
-# endif
-
-# ifdef POINTING_DEVICE_ENABLE
- if (!is_keyboard_left()) {
- static uint16_t cpi;
- if (cpi != i2c_buffer->device_cpi) {
- cpi = i2c_buffer->device_cpi;
- pmw_set_cpi(cpi);
- }
- i2c_buffer->mouse_x = split_mouse_x;
- i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_MOUSE_X_START, (void *)&i2c_buffer->mouse_x, sizeof(i2c_buffer->mouse_x), TIMEOUT);
- i2c_buffer->mouse_y = split_mouse_y;
- i2c_writeReg(SLAVE_I2C_ADDRESS, I2C_MOUSE_Y_START, (void *)&i2c_buffer->mouse_y, sizeof(i2c_buffer->mouse_y), TIMEOUT);
- }
-
-# endif
-
-# ifdef SPLIT_MODS_ENABLE
- set_mods(i2c_buffer->real_mods);
- set_weak_mods(i2c_buffer->weak_mods);
-# ifndef NO_ACTION_ONESHOT
- set_oneshot_mods(i2c_buffer->oneshot_mods);
-# endif
-# endif
-
- if (layer_state != i2c_buffer->t_layer_state) {
- layer_state = i2c_buffer->t_layer_state;
- }
- if (default_layer_state != i2c_buffer->t_default_layer_state) {
- default_layer_state = i2c_buffer->t_default_layer_state;
- }
-
-# ifdef OLED_DRIVER_ENABLE
- if (i2c_buffer->oled_on) {
- oled_on();
- } else {
- oled_off();
- }
-# endif
-
-# if defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT)
- memcpy((void *)i2c_buffer->led_matrix, (void *)led_matrix_eeconfig, sizeof(i2c_buffer->led_matrix));
- led_matrix_set_suspend_state(i2c_buffer->led_suspend_state);
-# endif
-# if defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT)
- memcpy((void *)i2c_buffer->rgb_matrix, (void *)rgb_matrix_config, sizeof(i2c_buffer->rgb_matrix));
- rgb_matrix_set_suspend_state(i2c_buffer->rgb_suspend_state);
-# endif
-}
-
-void transport_master_init(void) { i2c_init(); }
-
-void transport_slave_init(void) { i2c_slave_init(SLAVE_I2C_ADDRESS); }
-
-#else // USE_SERIAL
-
-# include "serial.h"
-
-typedef struct _Serial_s2m_buffer_t {
- // TODO: if MATRIX_COLS > 8 change to uint8_t packed_matrix[] for pack/unpack
- matrix_row_t smatrix[ROWS_PER_HAND];
-# ifdef ENCODER_ENABLE
- uint8_t encoder_state[NUMBER_OF_ENCODERS];
-# endif
- int8_t mouse_x;
- int8_t mouse_y;
-} __attribute__((packed)) Serial_s2m_buffer_t;
-
-typedef struct _Serial_m2s_buffer_t {
-# ifdef SPLIT_MODS_ENABLE
- uint8_t real_mods;
- uint8_t weak_mods;
-# ifndef NO_ACTION_ONESHOT
- uint8_t oneshot_mods;
-# endif
-# endif
-# ifndef DISABLE_SYNC_TIMER
- uint32_t sync_timer;
-# endif
-# ifdef SPLIT_TRANSPORT_MIRROR
- matrix_row_t mmatrix[ROWS_PER_HAND];
-# endif
-# ifdef BACKLIGHT_ENABLE
- uint8_t backlight_level;
-# endif
-# ifdef WPM_ENABLE
- uint8_t current_wpm;
-# endif
- uint16_t device_cpi;
- bool oled_on;
- layer_state_t t_layer_state;
- layer_state_t t_default_layer_state;
-# if defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT)
- led_eeconfig_t led_matrix;
- bool led_suspend_state;
-# endif
-# if defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT)
- rgb_config_t rgb_matrix;
- bool rgb_suspend_state;
-# endif
-} __attribute__((packed)) Serial_m2s_buffer_t;
-
-# if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT)
-// When MCUs on both sides drive their respective RGB LED chains,
-// it is necessary to synchronize, so it is necessary to communicate RGB
-// information. In that case, define RGBLIGHT_SPLIT with info on the number
-// of LEDs on each half.
-//
-// Otherwise, if the master side MCU drives both sides RGB LED chains,
-// there is no need to communicate.
-
-typedef struct _Serial_rgblight_t {
- rgblight_syncinfo_t rgblight_sync;
-} Serial_rgblight_t;
-
-volatile Serial_rgblight_t serial_rgblight = {};
-uint8_t volatile status_rgblight = 0;
-# endif
-
-volatile Serial_s2m_buffer_t serial_s2m_buffer = {};
-volatile Serial_m2s_buffer_t serial_m2s_buffer = {};
-uint8_t volatile status0 = 0;
-
-enum serial_transaction_id {
- GET_SLAVE_MATRIX = 0,
-# if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT)
- PUT_RGBLIGHT,
-# endif
-};
-
-SSTD_t transactions[] = {
- [GET_SLAVE_MATRIX] =
- {
- (uint8_t *)&status0,
- sizeof(serial_m2s_buffer),
- (uint8_t *)&serial_m2s_buffer,
- sizeof(serial_s2m_buffer),
- (uint8_t *)&serial_s2m_buffer,
- },
-# if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT)
- [PUT_RGBLIGHT] =
- {
- (uint8_t *)&status_rgblight, sizeof(serial_rgblight), (uint8_t *)&serial_rgblight, 0, NULL // no slave to master transfer
- },
-# endif
-};
-
-void transport_master_init(void) { soft_serial_initiator_init(transactions, TID_LIMIT(transactions)); }
-
-void transport_slave_init(void) { soft_serial_target_init(transactions, TID_LIMIT(transactions)); }
-
-# if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_SPLIT)
-
-// rgblight synchronization information communication.
-
-void transport_rgblight_master(void) {
- if (rgblight_get_change_flags()) {
- rgblight_get_syncinfo((rgblight_syncinfo_t *)&serial_rgblight.rgblight_sync);
- if (soft_serial_transaction(PUT_RGBLIGHT) == TRANSACTION_END) {
- rgblight_clear_change_flags();
- }
- }
-}
-
-void transport_rgblight_slave(void) {
- if (status_rgblight == TRANSACTION_ACCEPTED) {
- rgblight_update_sync((rgblight_syncinfo_t *)&serial_rgblight.rgblight_sync, false);
- status_rgblight = TRANSACTION_END;
- }
-}
-
-# else
-# define transport_rgblight_master()
-# define transport_rgblight_slave()
-# endif
-
-bool transport_master(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) {
-# ifndef SERIAL_USE_MULTI_TRANSACTION
- if (soft_serial_transaction() != TRANSACTION_END) {
- return false;
- }
-# else
- transport_rgblight_master();
- if (soft_serial_transaction(GET_SLAVE_MATRIX) != TRANSACTION_END) {
- return false;
- }
-# endif
-
- // TODO: if MATRIX_COLS > 8 change to unpack()
- for (int i = 0; i < ROWS_PER_HAND; ++i) {
- slave_matrix[i] = serial_s2m_buffer.smatrix[i];
-# ifdef SPLIT_TRANSPORT_MIRROR
- serial_m2s_buffer.mmatrix[i] = master_matrix[i];
-# endif
- }
-
-# ifdef BACKLIGHT_ENABLE
- // Write backlight level for slave to read
- serial_m2s_buffer.backlight_level = is_backlight_enabled() ? get_backlight_level() : 0;
-# endif
-
-# ifdef ENCODER_ENABLE
- encoder_update_raw((uint8_t *)serial_s2m_buffer.encoder_state);
-# endif
-
-# ifdef WPM_ENABLE
- // Write wpm to slave
- serial_m2s_buffer.current_wpm = get_current_wpm();
-# endif
-
-# ifdef SPLIT_MODS_ENABLE
- serial_m2s_buffer.real_mods = get_mods();
- serial_m2s_buffer.weak_mods = get_weak_mods();
-# ifndef NO_ACTION_ONESHOT
- serial_m2s_buffer.oneshot_mods = get_oneshot_mods();
-# endif
-# endif
-
-# ifdef POINTING_DEVICE_ENABLE
- if (is_keyboard_left()) {
- report_mouse_t temp_report = pointing_device_get_report();
- temp_report.x = serial_s2m_buffer.mouse_x;
- temp_report.y = serial_s2m_buffer.mouse_y;
- pointing_device_set_report(temp_report);
- serial_m2s_buffer.device_cpi = device_cpi;
- }
-# endif
-
- serial_m2s_buffer.t_layer_state = layer_state;
- serial_m2s_buffer.t_default_layer_state = default_layer_state;
-# ifdef OLED_DRIVER_ENABLE
- serial_m2s_buffer.oled_on = is_oled_on();
-# endif
-
-# if defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT)
- serial_m2s_buffer.led_matrix = led_matrix_eeconfig;
- serial_m2s_buffer.led_suspend_state = led_matrix_get_suspend_state();
-# endif
-# if defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT)
- serial_m2s_buffer.rgb_matrix = rgb_matrix_config;
- serial_m2s_buffer.rgb_suspend_state = rgb_matrix_get_suspend_state();
-# endif
-# ifndef DISABLE_SYNC_TIMER
- serial_m2s_buffer.sync_timer = sync_timer_read32() + SYNC_TIMER_OFFSET;
-# endif
- return true;
-}
-
-void transport_slave(matrix_row_t master_matrix[], matrix_row_t slave_matrix[]) {
- transport_rgblight_slave();
-# ifndef DISABLE_SYNC_TIMER
- sync_timer_update(serial_m2s_buffer.sync_timer);
-# endif
-
- // TODO: if MATRIX_COLS > 8 change to pack()
- for (int i = 0; i < ROWS_PER_HAND; ++i) {
- serial_s2m_buffer.smatrix[i] = slave_matrix[i];
-# ifdef SPLIT_TRANSPORT_MIRROR
- master_matrix[i] = serial_m2s_buffer.mmatrix[i];
-# endif
- }
-
-# ifdef BACKLIGHT_ENABLE
- backlight_set(serial_m2s_buffer.backlight_level);
-# endif
-
-# ifdef ENCODER_ENABLE
- encoder_state_raw((uint8_t *)serial_s2m_buffer.encoder_state);
-# endif
-
-# ifdef WPM_ENABLE
- set_current_wpm(serial_m2s_buffer.current_wpm);
-# endif
-
-# ifdef SPLIT_MODS_ENABLE
- set_mods(serial_m2s_buffer.real_mods);
- set_weak_mods(serial_m2s_buffer.weak_mods);
-# ifndef NO_ACTION_ONESHOT
- set_oneshot_mods(serial_m2s_buffer.oneshot_mods);
-# endif
-# endif
-
-# ifdef POINTING_DEVICE_ENABLE
- if (!is_keyboard_left()) {
- static uint16_t cpi;
- if (cpi != serial_m2s_buffer.device_cpi) {
- cpi = serial_m2s_buffer.device_cpi;
- pmw_set_cpi(cpi);
- }
- serial_s2m_buffer.mouse_x = split_mouse_x;
- serial_s2m_buffer.mouse_y = split_mouse_y;
- }
-# endif
-
- if (layer_state != serial_m2s_buffer.t_layer_state) {
- layer_state = serial_m2s_buffer.t_layer_state;
- }
- if (default_layer_state != serial_m2s_buffer.t_default_layer_state) {
- default_layer_state = serial_m2s_buffer.t_default_layer_state;
- }
-# ifdef OLED_DRIVER_ENABLE
- if (serial_m2s_buffer.oled_on) {
- oled_on();
- } else {
- oled_off();
- }
-# endif
-
-# if defined(LED_MATRIX_ENABLE) && defined(LED_MATRIX_SPLIT)
- led_matrix_eeconfig = serial_m2s_buffer.led_matrix;
- led_matrix_set_suspend_state(serial_m2s_buffer.led_suspend_state);
-# endif
-# if defined(RGB_MATRIX_ENABLE) && defined(RGB_MATRIX_SPLIT)
- rgb_matrix_config = serial_m2s_buffer.rgb_matrix;
- rgb_matrix_set_suspend_state(serial_m2s_buffer.rgb_suspend_state);
-# endif
-}
-
-#endif
-
-#ifdef POINTING_DEVICE_ENABLE
-void master_mouse_send(int8_t x, int8_t y) {
- split_mouse_x = x;
- split_mouse_y = y;
-}
-void trackball_set_cpi(uint16_t cpi) {
- if (!is_keyboard_left()) {
- pmw_set_cpi(cpi);
- } else {
- device_cpi = cpi;
- }
-}
-#endif
diff --git a/keyboards/handwired/dactyl_manuform/5x7/5x7.c b/keyboards/handwired/dactyl_manuform/5x7/5x7.c
index 135014d655..aae28e450c 100644
--- a/keyboards/handwired/dactyl_manuform/5x7/5x7.c
+++ b/keyboards/handwired/dactyl_manuform/5x7/5x7.c
@@ -1,23 +1 @@
#include "5x7.h"
-
-
-#ifdef SSD1306OLED
-void led_set_kb(uint8_t usb_led) {
- // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
- led_set_user(usb_led);
-}
-#endif
-
-void matrix_init_kb(void) {
-
- // // green led on
- // DDRD |= (1<<5);
- // PORTD &= ~(1<<5);
-
- // // orange led on
- // DDRB |= (1<<0);
- // PORTB &= ~(1<<0);
-
- matrix_init_user();
-};
-
diff --git a/keyboards/handwired/dactyl_manuform/5x7/5x7.h b/keyboards/handwired/dactyl_manuform/5x7/5x7.h
index c01fce957c..0c0c781be7 100644
--- a/keyboards/handwired/dactyl_manuform/5x7/5x7.h
+++ b/keyboards/handwired/dactyl_manuform/5x7/5x7.h
@@ -1,23 +1,16 @@
#pragma once
#include "dactyl_manuform.h"
-#include "quantum.h"
-#ifdef USE_I2C
-#include <stddef.h>
-#ifdef __AVR__
- #include <avr/io.h>
- #include <avr/interrupt.h>
-#endif
-#endif
+#define XXX KC_NO
#define LAYOUT_5x7( \
- L11, L12, L13, L14, L15, L16, L17, \
- L21, L22, L23, L24, L25, L26, L27, \
- L31, L32, L33, L34, L35, L36, L37, \
- L41, L42, L43, L44, L45, L46, \
- L51, L52, L53, L54, \
- L55, L56, \
+ L11, L12, L13, L14, L15, L16, L17, \
+ L21, L22, L23, L24, L25, L26, L27, \
+ L31, L32, L33, L34, L35, L36, L37, \
+ L41, L42, L43, L44, L45, L46, \
+ L51, L52, L53, L54, \
+ L55, L56, \
L65, L66, \
L63, L64, \
R11, R12, R13, R14, R15, R16, R17, \
@@ -25,21 +18,20 @@
R31, R32, R33, R34, R35, R36, R37, \
R42, R43, R44, R45, R46, R47, \
R54, R55, R56, R57, \
- R52, R53, \
- R62, R63, \
- R64, R65 \
- ) \
- { \
- { L11, L12, L13, L14, L15, L16, L17 }, \
- { L21, L22, L23, L24, L25, L26, L27 }, \
- { L31, L32, L33, L34, L35, L36, L37 }, \
- { L41, L42, L43, L44, L45, L46, KC_NO }, \
- { L51, L52, L53, L54, L55, L56, KC_NO }, \
- { KC_NO, KC_NO, L63, L64, L65, L66, KC_NO }, \
- { R11, R12, R13, R14, R15, R16, R17 }, \
- { R21, R22, R23, R24, R25, R26, R27 }, \
- { R31, R32, R33, R34, R35, R36, R37 }, \
- { KC_NO, R42, R43, R44, R45, R46, R47 }, \
- { KC_NO, R52, R53, R54, R55, R56, R57 }, \
- { KC_NO, R62, R63, R64, R65, KC_NO, KC_NO } \
+ R52, R53, \
+ R62, R63, \
+ R64, R65 \
+) { \
+ { L11, L12, L13, L14, L15, L16, L17 }, \
+ { L21, L22, L23, L24, L25, L26, L27 }, \
+ { L31, L32, L33, L34, L35, L36, L37 }, \
+ { L41, L42, L43, L44, L45, L46, XXX }, \
+ { L51, L52, L53, L54, L55, L56, XXX }, \
+ { XXX, XXX, L63, L64, L65, L66, XXX }, \
+ { R11, R12, R13, R14, R15, R16, R17 }, \
+ { R21, R22, R23, R24, R25, R26, R27 }, \
+ { R31, R32, R33, R34, R35, R36, R37 }, \
+ { XXX, R42, R43, R44, R45, R46, R47 }, \
+ { XXX, R52, R53, R54, R55, R56, R57 }, \
+ { XXX, R62, R63, R64, R65, XXX, XXX } \
}
diff --git a/keyboards/handwired/dactyl_manuform/5x7/config.h b/keyboards/handwired/dactyl_manuform/5x7/config.h
index 32c351a472..6b915d6118 100644
--- a/keyboards/handwired/dactyl_manuform/5x7/config.h
+++ b/keyboards/handwired/dactyl_manuform/5x7/config.h
@@ -20,9 +20,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define PRODUCT_ID 0x3537
-#define DEVICE_VER 0x0001
-#define PRODUCT Dactyl-Manuform (5x7)
+#define PRODUCT_ID 0x3537
+#define DEVICE_VER 0x0001
+#define PRODUCT Dactyl-Manuform (5x7)
/* key matrix size */
// Rows are doubled-up
diff --git a/keyboards/handwired/dactyl_manuform/5x7/info.json b/keyboards/handwired/dactyl_manuform/5x7/info.json
index 33ba1b0e79..18f5005dbf 100644
--- a/keyboards/handwired/dactyl_manuform/5x7/info.json
+++ b/keyboards/handwired/dactyl_manuform/5x7/info.json
@@ -7,80 +7,95 @@
"layouts": {
"LAYOUT_5x7": {
"layout": [
- {"label":"L11", "x":0, "y":0},
- {"label":"L12", "x":1, "y":0},
- {"label":"L13", "x":2, "y":0},
- {"label":"L14", "x":3, "y":0},
- {"label":"L15", "x":4, "y":0},
- {"label":"L16", "x":5, "y":0},
- {"label":"L17", "x":6, "y":0},
- {"label":"L21", "x":0, "y":1},
- {"label":"L22", "x":1, "y":1},
- {"label":"L23", "x":2, "y":1},
- {"label":"L24", "x":3, "y":1},
- {"label":"L25", "x":4, "y":1},
- {"label":"L26", "x":5, "y":1},
- {"label":"L27", "x":6, "y":1},
- {"label":"L31", "x":0, "y":2},
- {"label":"L32", "x":1, "y":2},
- {"label":"L33", "x":2, "y":2},
- {"label":"L34", "x":3, "y":2},
- {"label":"L35", "x":4, "y":2},
- {"label":"L36", "x":5, "y":2},
- {"label":"L37", "x":6, "y":2},
- {"label":"L41", "x":0, "y":3},
- {"label":"L42", "x":1, "y":3},
- {"label":"L43", "x":2, "y":3},
- {"label":"L44", "x":3, "y":3},
- {"label":"L45", "x":4, "y":3},
- {"label":"L46", "x":5, "y":3},
- {"label":"L51", "x":0, "y":4},
- {"label":"L52", "x":1, "y":4},
- {"label":"L53", "x":2, "y":4},
- {"label":"L54", "x":3, "y":4},
- {"label":"L55", "x":4, "y":5},
- {"label":"L56", "x":5, "y":5},
- {"label":"L65", "x":6, "y":6},
- {"label":"L66", "x":7, "y":6},
- {"label":"L63", "x":6, "y":7},
- {"label":"L64", "x":7, "y":7},
- {"label":"R11", "x":10, "y":0},
- {"label":"R12", "x":11, "y":0},
- {"label":"R13", "x":12, "y":0},
- {"label":"R14", "x":13, "y":0},
- {"label":"R15", "x":14, "y":0},
- {"label":"R16", "x":15, "y":0},
- {"label":"R17", "x":16, "y":0},
- {"label":"R21", "x":10, "y":1},
- {"label":"R22", "x":11, "y":1},
- {"label":"R23", "x":12, "y":1},
- {"label":"R24", "x":13, "y":1},
- {"label":"R25", "x":14, "y":1},
- {"label":"R26", "x":15, "y":1},
- {"label":"R27", "x":16, "y":1},
- {"label":"R31", "x":10, "y":2},
- {"label":"R32", "x":11, "y":2},
- {"label":"R33", "x":12, "y":2},
- {"label":"R34", "x":13, "y":2},
- {"label":"R35", "x":14, "y":2},
- {"label":"R36", "x":15, "y":2},
- {"label":"R37", "x":16, "y":2},
- {"label":"R42", "x":11, "y":3},
- {"label":"R43", "x":12, "y":3},
- {"label":"R44", "x":13, "y":3},
- {"label":"R45", "x":14, "y":3},
- {"label":"R46", "x":15, "y":3},
- {"label":"R47", "x":16, "y":3},
- {"label":"R54", "x":13, "y":4},
- {"label":"R55", "x":14, "y":4},
- {"label":"R56", "x":15, "y":4},
- {"label":"R57", "x":16, "y":4},
- {"label":"R52", "x":11, "y":5},
- {"label":"R53", "x":12, "y":5},
- {"label":"R62", "x":9, "y":6},
- {"label":"R63", "x":10, "y":6},
- {"label":"R64", "x":9, "y":7},
- {"label":"R65", "x":10, "y":7}
+ {"x": 0, "y": 0},
+ {"x": 1, "y": 0},
+ {"x": 2, "y": 0},
+ {"x": 3, "y": 0},
+ {"x": 4, "y": 0},
+ {"x": 5, "y": 0},
+ {"x": 6, "y": 0},
+
+ {"x": 0, "y": 1},
+ {"x": 1, "y": 1},
+ {"x": 2, "y": 1},
+ {"x": 3, "y": 1},
+ {"x": 4, "y": 1},
+ {"x": 5, "y": 1},
+ {"x": 6, "y": 1},
+
+ {"x": 0, "y": 2},
+ {"x": 1, "y": 2},
+ {"x": 2, "y": 2},
+ {"x": 3, "y": 2},
+ {"x": 4, "y": 2},
+ {"x": 5, "y": 2},
+ {"x": 6, "y": 2},
+
+ {"x": 0, "y": 3},
+ {"x": 1, "y": 3},
+ {"x": 2, "y": 3},
+ {"x": 3, "y": 3},
+ {"x": 4, "y": 3},
+ {"x": 5, "y": 3},
+
+ {"x": 0, "y": 4},
+ {"x": 1, "y": 4},
+ {"x": 2, "y": 4},
+ {"x": 3, "y": 4},
+
+ {"x": 4, "y": 5},
+ {"x": 5, "y": 5},
+
+ {"x": 6, "y": 6},
+ {"x": 7, "y": 6},
+
+ {"x": 6, "y": 7},
+ {"x": 7, "y": 7},
+
+ {"x": 10, "y": 0},
+ {"x": 11, "y": 0},
+ {"x": 12, "y": 0},
+ {"x": 13, "y": 0},
+ {"x": 14, "y": 0},
+ {"x": 15, "y": 0},
+ {"x": 16, "y": 0},
+
+ {"x": 10, "y": 1},
+ {"x": 11, "y": 1},
+ {"x": 12, "y": 1},
+ {"x": 13, "y": 1},
+ {"x": 14, "y": 1},
+ {"x": 15, "y": 1},
+ {"x": 16, "y": 1},
+
+ {"x": 10, "y": 2},
+ {"x": 11, "y": 2},
+ {"x": 12, "y": 2},
+ {"x": 13, "y": 2},
+ {"x": 14, "y": 2},
+ {"x": 15, "y": 2},
+ {"x": 16, "y": 2},
+
+ {"x": 11, "y": 3},
+ {"x": 12, "y": 3},
+ {"x": 13, "y": 3},
+ {"x": 14, "y": 3},
+ {"x": 15, "y": 3},
+ {"x": 16, "y": 3},
+
+ {"x": 13, "y": 4},
+ {"x": 14, "y": 4},
+ {"x": 15, "y": 4},
+ {"x": 16, "y": 4},
+
+ {"x": 11, "y": 5},
+ {"x": 12, "y": 5},
+
+ {"x": 9, "y": 6},
+ {"x": 10, "y": 6},
+
+ {"x":9, "y":7},
+ {"x":10, "y":7}
]
}
}
diff --git a/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/config.h
index 29ab59ad66..5a20f9473f 100644
--- a/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/config.h
+++ b/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/config.h
@@ -15,13 +15,11 @@ 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 USE_SERIAL
#define MASTER_LEFT
-// #define MASTER_RIGHT
+//#define MASTER_RIGHT
+
//#define EE_HANDS
-// Rows are doubled-up
diff --git a/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/keymap.c
index eb4deb6285..3aaeb9989b 100644
--- a/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/keymap.c
+++ b/keyboards/handwired/dactyl_manuform/5x7/keymaps/default/keymap.c
@@ -1,6 +1,5 @@
#include QMK_KEYBOARD_H
-
// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
@@ -10,71 +9,72 @@
#define _NUMPAD 2
// Some basic macros
-#define TASK LCTL(LSFT(KC_ESC))
-#define TAB_R LCTL(KC_TAB)
-#define TAB_L LCTL(LSFT(KC_TAB))
-#define TAB_RO LCTL(LSFT(KC_T))
+#define TASK LCTL(LSFT(KC_ESC))
+#define TAB_R LCTL(KC_TAB)
+#define TAB_L LCTL(LSFT(KC_TAB))
+#define TAB_RO LCTL(LSFT(KC_T))
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[_QWERTY] = LAYOUT_5x7(
- // left hand
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, TAB_RO,
- OSM(MOD_LSFT), KC_Z, KC_X, KC_C, KC_V, KC_B,
- KC_CAPS, KC_LGUI, TAB_L, TAB_R,
- TT(_FN), KC_SPC,
- KC_END, KC_HOME,
- KC_PSCR, TASK,
+ [_QWERTY] = LAYOUT_5x7(
+ // left hand
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, TAB_RO,
+ OSM(MOD_LSFT), KC_Z, KC_X, KC_C, KC_V, KC_B,
+ KC_CAPS, KC_LGUI, TAB_L, TAB_R,
+ TT(_FN), KC_SPC,
+ KC_END, KC_HOME,
+ KC_PSCR, TASK,
// right hand
- KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV,
- KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- TG(_NUMPAD), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, OSM(MOD_RSFT),
- KC_LEFT, KC_UP, KC_DOWN, KC_RGHT,
- KC_BSPC, KC_ENT,
- KC_PGUP, KC_PGDN,
- KC_LCTL, KC_LALT),
+ KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV,
+ KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ TG(_NUMPAD), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, OSM(MOD_RSFT),
+ KC_LEFT, KC_UP, KC_DOWN, KC_RGHT,
+ KC_BSPC, KC_ENT,
+ KC_PGUP, KC_PGDN,
+ KC_LCTL, KC_LALT
+ ),
-[_FN] = LAYOUT_5x7(
- // left hand
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
- _______, _______, _______, KC_UP, _______, _______, _______,
- _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, RESET,
- _______, _______, _______, _______, _______, _______,
- KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT,
- _______, _______,
- _______, _______,
- _______, _______,
+ [_FN] = LAYOUT_5x7(
+ // left hand
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
+ _______, _______, _______, KC_UP, _______, _______, _______,
+ _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, RESET,
+ _______, _______, _______, _______, _______, _______,
+ KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT,
+ _______, _______,
+ _______, _______,
+ _______, _______,
// right hand
- KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______,
- KC_DEL, _______,
- _______, _______,
- _______, _______),
+ KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ KC_DEL, _______,
+ _______, _______,
+ _______, _______
+ ),
-[_NUMPAD] = LAYOUT_5x7(
- // left hand
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______,
- _______, _______,
- _______, _______,
+ [_NUMPAD] = LAYOUT_5x7(
+ // left hand
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______,
+ _______, _______,
+ _______, _______,
// right hand
- _______, _______, KC_NLCK, _______, KC_PMNS, KC_PPLS, _______,
- _______, _______, KC_P7, KC_P8, KC_P9, _______, _______,
- _______, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______,
- _______, KC_P1, KC_P2, KC_P3, KC_PSLS, _______,
- KC_P0, KC_PDOT, _______, _______,
- _______, KC_PENT,
- _______, _______,
- _______, _______),
-
+ _______, _______, KC_NLCK, _______, KC_PMNS, KC_PPLS, _______,
+ _______, _______, KC_P7, KC_P8, KC_P9, _______, _______,
+ _______, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______,
+ _______, KC_P1, KC_P2, KC_P3, KC_PSLS, _______,
+ KC_P0, KC_PDOT, _______, _______,
+ _______, KC_PENT,
+ _______, _______,
+ _______, _______
+ ),
};
diff --git a/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/config.h b/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/config.h
index 29ab59ad66..5a20f9473f 100644
--- a/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/config.h
+++ b/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/config.h
@@ -15,13 +15,11 @@ 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 USE_SERIAL
#define MASTER_LEFT
-// #define MASTER_RIGHT
+//#define MASTER_RIGHT
+
//#define EE_HANDS
-// Rows are doubled-up
diff --git a/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/keymap.c b/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/keymap.c
index 07c5ec9ba3..5f5ef54df1 100644
--- a/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/keymap.c
+++ b/keyboards/handwired/dactyl_manuform/5x7/keymaps/via/keymap.c
@@ -1,6 +1,5 @@
#include QMK_KEYBOARD_H
-
// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
@@ -11,113 +10,114 @@
#define _BLANK 3
// Some basic macros
-#define TASK LCTL(LSFT(KC_ESC))
-#define TAB_R LCTL(KC_TAB)
-#define TAB_L LCTL(LSFT(KC_TAB))
-#define TAB_RO LCTL(LSFT(KC_T))
+#define TASK LCTL(LSFT(KC_ESC))
+#define TAB_R LCTL(KC_TAB)
+#define TAB_L LCTL(LSFT(KC_TAB))
+#define TAB_RO LCTL(LSFT(KC_T))
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[_QWERTY] = LAYOUT_5x7(
- // left hand
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, TAB_RO,
- OSM(MOD_LSFT), KC_Z, KC_X, KC_C, KC_V, KC_B,
- KC_CAPS, KC_LGUI, TAB_L, TAB_R,
- TT(_FN), KC_SPC,
- KC_END, KC_HOME,
- KC_PSCR, TASK,
+ [_QWERTY] = LAYOUT_5x7(
+ // left hand
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, TAB_RO,
+ OSM(MOD_LSFT), KC_Z, KC_X, KC_C, KC_V, KC_B,
+ KC_CAPS, KC_LGUI, TAB_L, TAB_R,
+ TT(_FN), KC_SPC,
+ KC_END, KC_HOME,
+ KC_PSCR, TASK,
// right hand
- KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV,
- KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- TG(_NUMPAD), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, OSM(MOD_RSFT),
- KC_LEFT, KC_UP, KC_DOWN, KC_RGHT,
- KC_BSPC, KC_ENT,
- KC_PGUP, KC_PGDN,
- KC_LCTL, KC_LALT),
+ KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV,
+ KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ TG(_NUMPAD), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, OSM(MOD_RSFT),
+ KC_LEFT, KC_UP, KC_DOWN, KC_RGHT,
+ KC_BSPC, KC_ENT,
+ KC_PGUP, KC_PGDN,
+ KC_LCTL, KC_LALT
+ ),
-[_FN] = LAYOUT_5x7(
- // left hand
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
- _______, _______, _______, KC_UP, _______, _______, _______,
- _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, RESET,
- _______, _______, _______, _______, _______, _______,
- KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT,
- _______, _______,
- _______, _______,
- _______, _______,
+ [_FN] = LAYOUT_5x7(
+ // left hand
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
+ _______, _______, _______, KC_UP, _______, _______, _______,
+ _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, RESET,
+ _______, _______, _______, _______, _______, _______,
+ KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT,
+ _______, _______,
+ _______, _______,
+ _______, _______,
// right hand
- KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______,
- KC_DEL, _______,
- _______, _______,
- _______, _______),
+ KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ KC_DEL, _______,
+ _______, _______,
+ _______, _______
+ ),
-[_NUMPAD] = LAYOUT_5x7(
- // left hand
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______,
- _______, _______,
- _______, _______,
+ [_NUMPAD] = LAYOUT_5x7(
+ // left hand
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______,
+ _______, _______,
+ _______, _______,
// right hand
- _______, _______, KC_NLCK, _______, KC_PMNS, KC_PPLS, _______,
- _______, _______, KC_P7, KC_P8, KC_P9, _______, _______,
- _______, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______,
- _______, KC_P1, KC_P2, KC_P3, KC_PSLS, _______,
- KC_P0, KC_PDOT, _______, _______,
- _______, KC_PENT,
- _______, _______,
- _______, _______),
-
+ _______, _______, KC_NLCK, _______, KC_PMNS, KC_PPLS, _______,
+ _______, _______, KC_P7, KC_P8, KC_P9, _______, _______,
+ _______, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______,
+ _______, KC_P1, KC_P2, KC_P3, KC_PSLS, _______,
+ KC_P0, KC_PDOT, _______, _______,
+ _______, KC_PENT,
+ _______, _______,
+ _______, _______
+ ),
-[_NUMPAD] = LAYOUT_5x7(
- // left hand
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______,
- _______, _______,
- _______, _______,
+ [_NUMPAD] = LAYOUT_5x7(
+ // left hand
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______,
+ _______, _______,
+ _______, _______,
// right hand
- _______, _______, KC_NLCK, _______, KC_PMNS, KC_PPLS, _______,
- _______, _______, KC_P7, KC_P8, KC_P9, _______, _______,
- _______, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______,
- _______, KC_P1, KC_P2, KC_P3, KC_PSLS, _______,
- KC_P0, KC_PDOT, _______, _______,
- _______, KC_PENT,
- _______, _______,
- _______, _______),
+ _______, _______, KC_NLCK, _______, KC_PMNS, KC_PPLS, _______,
+ _______, _______, KC_P7, KC_P8, KC_P9, _______, _______,
+ _______, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______,
+ _______, KC_P1, KC_P2, KC_P3, KC_PSLS, _______,
+ KC_P0, KC_PDOT, _______, _______,
+ _______, KC_PENT,
+ _______, _______,
+ _______, _______
+ ),
-[_BLANK] = LAYOUT_5x7(
- // left hand
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______,
- _______, _______,
- _______, _______,
+ [_BLANK] = LAYOUT_5x7(
+ // left hand
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______,
+ _______, _______,
+ _______, _______,
// right hand
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______,
- _______, _______,
- _______, _______),
-
-
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______,
+ _______, _______,
+ _______, _______
+ )
};
diff --git a/keyboards/handwired/dactyl_manuform/5x7/rules.mk b/keyboards/handwired/dactyl_manuform/5x7/rules.mk
index 7508070515..9a9bf7d69f 100644
--- a/keyboards/handwired/dactyl_manuform/5x7/rules.mk
+++ b/keyboards/handwired/dactyl_manuform/5x7/rules.mk
@@ -1,20 +1,23 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
+# change yes to no to disable
#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = no # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no # Enable Bluetooth
+AUDIO_ENABLE = no # Audio output
+SPLIT_KEYBOARD = yes
diff --git a/keyboards/handwired/dactyl_manuform/6x6/6x6.c b/keyboards/handwired/dactyl_manuform/6x6/6x6.c
index 9eb27531a8..7d3524a571 100644
--- a/keyboards/handwired/dactyl_manuform/6x6/6x6.c
+++ b/keyboards/handwired/dactyl_manuform/6x6/6x6.c
@@ -1,23 +1 @@
#include "6x6.h"
-
-
-#ifdef SSD1306OLED
-void led_set_kb(uint8_t usb_led) {
- // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
- led_set_user(usb_led);
-}
-#endif
-
-void matrix_init_kb(void) {
-
- // // green led on
- // DDRD |= (1<<5);
- // PORTD &= ~(1<<5);
-
- // // orange led on
- // DDRB |= (1<<0);
- // PORTB &= ~(1<<0);
-
- matrix_init_user();
-};
-
diff --git a/keyboards/handwired/dactyl_manuform/6x6/6x6.h b/keyboards/handwired/dactyl_manuform/6x6/6x6.h
index 039e6b40df..821abe0308 100644
--- a/keyboards/handwired/dactyl_manuform/6x6/6x6.h
+++ b/keyboards/handwired/dactyl_manuform/6x6/6x6.h
@@ -1,42 +1,33 @@
#pragma once
#include "dactyl_manuform.h"
-#include "quantum.h"
+#define XXX KC_NO
-#ifdef USE_I2C
-#include <stddef.h>
-#ifdef __AVR__
- #include <avr/io.h>
- #include <avr/interrupt.h>
-#endif
-#endif
-
-#define LAYOUT_6x6(\
- L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
- L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
- L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
- L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
- L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, R45, \
- L52, L53, R52, R53, \
- L54, L55, R50, R51, \
- L64, L65, R60, R61, \
- L62, L63, R62, R63 \
- ) \
- { \
- { L00, L01, L02, L03, L04, L05 }, \
- { L10, L11, L12, L13, L14, L15 }, \
- { L20, L21, L22, L23, L24, L25 }, \
- { L30, L31, L32, L33, L34, L35 }, \
- { L40, L41, L42, L43, L44, L45 }, \
- { KC_NO, KC_NO, L52, L53, L54, L55 }, \
- { KC_NO, KC_NO, L62, L63, L64, L65 }, \
- \
- { R00, R01, R02, R03, R04, R05 }, \
- { R10, R11, R12, R13, R14, R15 }, \
- { R20, R21, R22, R23, R24, R25 }, \
- { R30, R31, R32, R33, R34, R35 }, \
- { R40, R41, R42, R43, R44, R45 }, \
- { R50, R51, R52, R53, KC_NO, KC_NO }, \
- { R60, R61, R62, R63, KC_NO, KC_NO } \
+#define LAYOUT_6x6( \
+ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
+ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
+ L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
+ L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
+ L40, L41, L42, L43, L44, L45, R40, R41, R42, R43, R44, R45, \
+ L52, L53, R52, R53, \
+ L54, L55, R50, R51, \
+ L64, L65, R60, R61, \
+ L62, L63, R62, R63 \
+) { \
+ { L00, L01, L02, L03, L04, L05 }, \
+ { L10, L11, L12, L13, L14, L15 }, \
+ { L20, L21, L22, L23, L24, L25 }, \
+ { L30, L31, L32, L33, L34, L35 }, \
+ { L40, L41, L42, L43, L44, L45 }, \
+ { XXX, XXX, L52, L53, L54, L55 }, \
+ { XXX, XXX, L62, L63, L64, L65 }, \
+\
+ { R00, R01, R02, R03, R04, R05 }, \
+ { R10, R11, R12, R13, R14, R15 }, \
+ { R20, R21, R22, R23, R24, R25 }, \
+ { R30, R31, R32, R33, R34, R35 }, \
+ { R40, R41, R42, R43, R44, R45 }, \
+ { R50, R51, R52, R53, XXX, XXX }, \
+ { R60, R61, R62, R63, XXX, XXX } \
}
diff --git a/keyboards/handwired/dactyl_manuform/6x6/config.h b/keyboards/handwired/dactyl_manuform/6x6/config.h
index dd47f44c91..9323e33029 100644
--- a/keyboards/handwired/dactyl_manuform/6x6/config.h
+++ b/keyboards/handwired/dactyl_manuform/6x6/config.h
@@ -20,9 +20,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define PRODUCT_ID 0x3636
-#define DEVICE_VER 0x0001
-#define PRODUCT Dactyl-Manuform (6x6)
+#define PRODUCT_ID 0x3636
+#define DEVICE_VER 0x0001
+#define PRODUCT Dactyl-Manuform (6x6)
/* key matrix size */
// Rows are doubled-up
diff --git a/keyboards/handwired/dactyl_manuform/6x6/info.json b/keyboards/handwired/dactyl_manuform/6x6/info.json
index e617b39a82..6873873a7f 100644
--- a/keyboards/handwired/dactyl_manuform/6x6/info.json
+++ b/keyboards/handwired/dactyl_manuform/6x6/info.json
@@ -7,82 +7,99 @@
"layouts": {
"LAYOUT_6x6": {
"layout": [
- {"label":"L00", "x":0, "y":0},
- {"label":"L01", "x":1, "y":0},
- {"label":"L02", "x":2, "y":0},
- {"label":"L03", "x":3, "y":0},
- {"label":"L04", "x":4, "y":0},
- {"label":"L05", "x":5, "y":0},
- {"label":"R00", "x":11, "y":0},
- {"label":"R01", "x":12, "y":0},
- {"label":"R02", "x":13, "y":0},
- {"label":"R03", "x":14, "y":0},
- {"label":"R04", "x":15, "y":0},
- {"label":"R05", "x":16, "y":0},
- {"label":"L10", "x":0, "y":1},
- {"label":"L11", "x":1, "y":1},
- {"label":"L12", "x":2, "y":1},
- {"label":"L13", "x":3, "y":1},
- {"label":"L14", "x":4, "y":1},
- {"label":"L15", "x":5, "y":1},
- {"label":"R10", "x":11, "y":1},
- {"label":"R11", "x":12, "y":1},
- {"label":"R12", "x":13, "y":1},
- {"label":"R13", "x":14, "y":1},
- {"label":"R14", "x":15, "y":1},
- {"label":"R15", "x":16, "y":1},
- {"label":"L20", "x":0, "y":2},
- {"label":"L21", "x":1, "y":2},
- {"label":"L22", "x":2, "y":2},
- {"label":"L23", "x":3, "y":2},
- {"label":"L24", "x":4, "y":2},
- {"label":"L25", "x":5, "y":2},
- {"label":"R20", "x":11, "y":2},
- {"label":"R21", "x":12, "y":2},
- {"label":"R22", "x":13, "y":2},
- {"label":"R23", "x":14, "y":2},
- {"label":"R24", "x":15, "y":2},
- {"label":"R25", "x":16, "y":2},
- {"label":"L30", "x":0, "y":3},
- {"label":"L31", "x":1, "y":3},
- {"label":"L32", "x":2, "y":3},
- {"label":"L33", "x":3, "y":3},
- {"label":"L34", "x":4, "y":3},
- {"label":"L35", "x":5, "y":3},
- {"label":"R30", "x":11, "y":3},
- {"label":"R31", "x":12, "y":3},
- {"label":"R32", "x":13, "y":3},
- {"label":"R33", "x":14, "y":3},
- {"label":"R34", "x":15, "y":3},
- {"label":"R35", "x":16, "y":3},
- {"label":"L40", "x":0, "y":4},
- {"label":"L41", "x":1, "y":4},
- {"label":"L42", "x":2, "y":4},
- {"label":"L43", "x":3, "y":4},
- {"label":"L44", "x":4, "y":4},
- {"label":"L45", "x":5, "y":4},
- {"label":"R40", "x":11, "y":4},
- {"label":"R41", "x":12, "y":4},
- {"label":"R42", "x":13, "y":4},
- {"label":"R43", "x":14, "y":4},
- {"label":"R44", "x":15, "y":4},
- {"label":"R45", "x":16, "y":4},
- {"label":"L52", "x":2, "y":5},
- {"label":"L53", "x":3, "y":5},
- {"label":"R52", "x":13, "y":5},
- {"label":"R53", "x":14, "y":5},
- {"label":"L54", "x":4, "y":6},
- {"label":"L55", "x":5, "y":6},
- {"label":"R50", "x":11, "y":6},
- {"label":"R51", "x":12, "y":6},
- {"label":"L64", "x":6, "y":7},
- {"label":"L65", "x":7, "y":7},
- {"label":"R60", "x":9, "y":7},
- {"label":"R61", "x":10, "y":7},
- {"label":"L62", "x":6, "y":8},
- {"label":"L63", "x":7, "y":8},
- {"label":"R62", "x":9, "y":8},
- {"label":"R63", "x":10, "y":8}
+ {"x": 0, "y": 0},
+ {"x": 1, "y": 0},
+ {"x": 2, "y": 0},
+ {"x": 3, "y": 0},
+ {"x": 4, "y": 0},
+ {"x": 5, "y": 0},
+
+ {"x": 11, "y": 0},
+ {"x": 12, "y": 0},
+ {"x": 13, "y": 0},
+ {"x": 14, "y": 0},
+ {"x": 15, "y": 0},
+ {"x": 16, "y": 0},
+
+ {"x": 0, "y": 1},
+ {"x": 1, "y": 1},
+ {"x": 2, "y": 1},
+ {"x": 3, "y": 1},
+ {"x": 4, "y": 1},
+ {"x": 5, "y": 1},
+
+ {"x": 11, "y": 1},
+ {"x": 12, "y": 1},
+ {"x": 13, "y": 1},
+ {"x": 14, "y": 1},
+ {"x": 15, "y": 1},
+ {"x": 16, "y": 1},
+
+ {"x": 0, "y": 2},
+ {"x": 1, "y": 2},
+ {"x": 2, "y": 2},
+ {"x": 3, "y": 2},
+ {"x": 4, "y": 2},
+ {"x": 5, "y": 2},
+
+ {"x": 11, "y": 2},
+ {"x": 12, "y": 2},
+ {"x": 13, "y": 2},
+ {"x": 14, "y": 2},
+ {"x": 15, "y": 2},
+ {"x": 16, "y": 2},
+
+ {"x": 0, "y": 3},
+ {"x": 1, "y": 3},
+ {"x": 2, "y": 3},
+ {"x": 3, "y": 3},
+ {"x": 4, "y": 3},
+ {"x": 5, "y": 3},
+
+ {"x": 11, "y": 3},
+ {"x": 12, "y": 3},
+ {"x": 13, "y": 3},
+ {"x": 14, "y": 3},
+ {"x": 15, "y": 3},
+ {"x": 16, "y": 3},
+
+ {"x": 0, "y": 4},
+ {"x": 1, "y": 4},
+ {"x": 2, "y": 4},
+ {"x": 3, "y": 4},
+ {"x": 4, "y": 4},
+ {"x": 5, "y": 4},
+
+ {"x": 11, "y": 4},
+ {"x": 12, "y": 4},
+ {"x": 13, "y": 4},
+ {"x": 14, "y": 4},
+ {"x": 15, "y": 4},
+ {"x": 16, "y": 4},
+
+ {"x": 2, "y": 5},
+ {"x": 3, "y": 5},
+
+ {"x": 13, "y": 5},
+ {"x": 14, "y": 5},
+
+ {"x": 4, "y": 6},
+ {"x": 5, "y": 6},
+
+ {"x": 11, "y": 6},
+ {"x": 12, "y": 6},
+
+ {"x": 6, "y": 7},
+ {"x": 7, "y": 7},
+
+ {"x": 9, "y": 7},
+ {"x": 10, "y": 7},
+
+ {"x": 6, "y": 8},
+ {"x": 7, "y": 8},
+
+ {"x": 9, "y": 8},
+ {"x": 10, "y": 8}
]
}
}
diff --git a/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/config.h b/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/config.h
index 29ab59ad66..5a20f9473f 100644
--- a/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/config.h
+++ b/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/config.h
@@ -15,13 +15,11 @@ 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 USE_SERIAL
#define MASTER_LEFT
-// #define MASTER_RIGHT
+//#define MASTER_RIGHT
+
//#define EE_HANDS
-// Rows are doubled-up
diff --git a/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/keymap.c
index fd2e5f413d..41e96b53d7 100644
--- a/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/keymap.c
+++ b/keyboards/handwired/dactyl_manuform/6x6/keymaps/default/keymap.c
@@ -1,6 +1,5 @@
#include QMK_KEYBOARD_H
-
#define _QWERTY 0
#define _LOWER 1
#define _RAISE 2
@@ -9,45 +8,39 @@
#define LOWER MO(_LOWER)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT_6x6(
-
- 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_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_BSLASH,
- KC_LBRC,KC_RBRC, KC_PLUS, KC_EQL,
- RAISE,KC_SPC, KC_ENT, LOWER,
- KC_TAB,KC_HOME, KC_END, KC_DEL,
- KC_BSPC, KC_GRV, KC_LGUI, KC_LALT
- ),
-
- [_LOWER] = LAYOUT_6x6(
-
- 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_TILD,KC_EXLM, KC_AT ,KC_HASH,KC_DLR ,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_DEL,
- _______,_______,_______,_______,_______,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_PSCR, _______, KC_P0,
- _______,_______, _______,_______,
- _______,_______, _______,_______,
- _______,_______, _______,_______
- ),
-
- [_RAISE] = LAYOUT_6x6(
-
- KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,
- _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS ,KC_SLCK,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_EQL ,_______,
- _______,_______, _______,_______,
+ [_QWERTY] = LAYOUT_6x6(
+ 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_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_BSLASH,
+ KC_LBRC,KC_RBRC, KC_PLUS, KC_EQL,
+ RAISE,KC_SPC, KC_ENT, LOWER,
+ KC_TAB,KC_HOME, KC_END, KC_DEL,
+ KC_BSPC, KC_GRV, KC_LGUI, KC_LALT
+ ),
+
+ [_LOWER] = LAYOUT_6x6(
+ 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_TILD,KC_EXLM, KC_AT ,KC_HASH,KC_DLR ,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_DEL,
+ _______,_______,_______,_______,_______,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_PSCR, _______, KC_P0,
+ _______,_______, _______,_______,
+ _______,_______, _______,_______,
+ _______,_______, _______,_______
+ ),
+
+ [_RAISE] = LAYOUT_6x6(
+ KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,
+ _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS ,KC_SLCK,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_EQL ,_______,
+ _______,_______, _______,_______,
_______,_______, _______,_______,
_______,_______, _______,_______
- ),
-
+ )
};
diff --git a/keyboards/handwired/dactyl_manuform/6x6/rules.mk b/keyboards/handwired/dactyl_manuform/6x6/rules.mk
index 7508070515..9a9bf7d69f 100644
--- a/keyboards/handwired/dactyl_manuform/6x6/rules.mk
+++ b/keyboards/handwired/dactyl_manuform/6x6/rules.mk
@@ -1,20 +1,23 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
+# change yes to no to disable
#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = no # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no # Enable Bluetooth
+AUDIO_ENABLE = no # Audio output
+SPLIT_KEYBOARD = yes
diff --git a/keyboards/handwired/dactyl_manuform/config.h b/keyboards/handwired/dactyl_manuform/config.h
index 6c4ec0f193..18942f9e5f 100644
--- a/keyboards/handwired/dactyl_manuform/config.h
+++ b/keyboards/handwired/dactyl_manuform/config.h
@@ -21,14 +21,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
/* USB Device descriptor parameter */
-#define VENDOR_ID 0x444D
-#define MANUFACTURER tshort
+#define VENDOR_ID 0x444D
+#define MANUFACTURER tshort
/* mouse config */
-#define MOUSEKEY_INTERVAL 20
-#define MOUSEKEY_DELAY 0
-#define MOUSEKEY_TIME_TO_MAX 60
-#define MOUSEKEY_MAX_SPEED 7
+#define MOUSEKEY_INTERVAL 20
+#define MOUSEKEY_DELAY 0
+#define MOUSEKEY_TIME_TO_MAX 60
+#define MOUSEKEY_MAX_SPEED 7
#define MOUSEKEY_WHEEL_DELAY 0
/* Set 0 if debouncing isn't needed */
@@ -44,21 +44,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Enables This makes it easier for fast typists to use dual-function keys */
#define PERMISSIVE_HOLD
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-// #define NO_DEBUG
-
-/* disable print */
-// #define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
diff --git a/keyboards/handwired/dactyl_manuform/dactyl_manuform.h b/keyboards/handwired/dactyl_manuform/dactyl_manuform.h
index 1b6b105ece..11c9997771 100644
--- a/keyboards/handwired/dactyl_manuform/dactyl_manuform.h
+++ b/keyboards/handwired/dactyl_manuform/dactyl_manuform.h
@@ -1,32 +1,21 @@
#pragma once
-#ifdef KEYBOARD_handwired_dactyl_manuform_4x5
- #include "4x5.h"
-#elif KEYBOARD_handwired_dactyl_manuform_4x6
- #include "4x6.h"
-#elif KEYBOARD_handwired_dactyl_manuform_5x6
- #include "5x6.h"
-#elif KEYBOARD_handwired_dactyl_manuform_5x6_5
- #include "5x6_5.h"
-#elif KEYBOARD_handwired_dactyl_manuform_5x6_2_5
- #include "5x6_2_5.h"
-#elif KEYBOARD_handwired_dactyl_manuform_5x7
- #include "5x7.h"
-#elif KEYBOARD_handwired_dactyl_manuform_6x6
- #include "6x6.h"
-#elif KEYBOARD_handwired_dactyl_manuform_dmote_62key
- #include "62key.h"
-#elif KEYBOARD_handwired_dactyl_manuform_5x6_right_trackball
-# include "5x6_right_trackball.h"
+#if defined(KEYBOARD_handwired_dactyl_manuform_4x5)
+# include "4x5.h"
+#elif defined(KEYBOARD_handwired_dactyl_manuform_4x6)
+# include "4x6.h"
+#elif defined(KEYBOARD_handwired_dactyl_manuform_5x6)
+# include "5x6.h"
+#elif defined(KEYBOARD_handwired_dactyl_manuform_5x6_5)
+# include "5x6_5.h"
+#elif defined(KEYBOARD_handwired_dactyl_manuform_5x6_2_5)
+# include "5x6_2_5.h"
+#elif defined(KEYBOARD_handwired_dactyl_manuform_5x7)
+# include "5x7.h"
+#elif defined(KEYBOARD_handwired_dactyl_manuform_6x6)
+# include "6x6.h"
+#elif defined(KEYBOARD_handwired_dactyl_manuform_dmote_62key)
+# include "62key.h"
#endif
#include "quantum.h"
-
-
-#ifdef USE_I2C
-#include <stddef.h>
-#ifdef __AVR__
- #include <avr/io.h>
- #include <avr/interrupt.h>
-#endif
-#endif
diff --git a/keyboards/handwired/dactyl_manuform/dmote/62key/62key.c b/keyboards/handwired/dactyl_manuform/dmote/62key/62key.c
index e5d444277d..8d0d95e166 100644
--- a/keyboards/handwired/dactyl_manuform/dmote/62key/62key.c
+++ b/keyboards/handwired/dactyl_manuform/dmote/62key/62key.c
@@ -1,5 +1 @@
#include "62key.h"
-
-void matrix_init_kb(void) {
- matrix_init_user();
-};
diff --git a/keyboards/handwired/dactyl_manuform/dmote/62key/62key.h b/keyboards/handwired/dactyl_manuform/dmote/62key/62key.h
index 2734101654..2d52e7e5fb 100644
--- a/keyboards/handwired/dactyl_manuform/dmote/62key/62key.h
+++ b/keyboards/handwired/dactyl_manuform/dmote/62key/62key.h
@@ -1,15 +1,6 @@
#pragma once
#include "dactyl_manuform.h"
-#include "quantum.h"
-
-#ifdef USE_I2C
-#include <stddef.h>
-#ifdef __AVR__
- #include <avr/io.h>
- #include <avr/interrupt.h>
-#endif
-#endif
// This uses the same coordinate system as the program that defines
// the case model, but not the same coordinates.
@@ -21,34 +12,33 @@
// cluster so that everything can be contained in a 6x6 pattern.
#define LAYOUT_62key( \
- LA_20, LA_10, LF_35, LF_25, LF_15, LF_05, \
- LF_55, LF_45, LF_34, LF_24, LF_14, LF_04, \
- LF_54, LF_44, LF_33, LF_23, LF_13, LF_03, \
- LF_53, LF_43, LF_32, LF_22, LF_12, \
- LF_21, LT_21, LT_22, \
+ LA_20, LA_10, LF_35, LF_25, LF_15, LF_05, \
+ LF_55, LF_45, LF_34, LF_24, LF_14, LF_04, \
+ LF_54, LF_44, LF_33, LF_23, LF_13, LF_03, \
+ LF_53, LF_43, LF_32, LF_22, LF_12, \
+ LF_21, LT_21, LT_22, \
LT_10, LT_11, LT_12, \
- LT_01, LT_02, \
- \
- RF_05, RF_15, RF_25, RF_35, RA_10, RA_20, \
- RF_04, RF_14, RF_24, RF_34, RF_45, RF_55, \
- RF_03, RF_13, RF_23, RF_33, RF_44, RF_54, \
- RF_12, RF_22, RF_32, RF_43, RF_53, \
- RT_22, RT_21, RF_21, \
- RT_12, RT_11, RT_10, \
- RT_02, RT_01 \
- ) \
- { \
+ LT_01, LT_02, \
+\
+ RF_05, RF_15, RF_25, RF_35, RA_10, RA_20, \
+ RF_04, RF_14, RF_24, RF_34, RF_45, RF_55, \
+ RF_03, RF_13, RF_23, RF_33, RF_44, RF_54, \
+ RF_12, RF_22, RF_32, RF_43, RF_53, \
+ RT_22, RT_21, RF_21, \
+ RT_12, RT_11, RT_10, \
+ RT_02, RT_01 \
+) { \
{ LA_20, LA_10, LF_35, LF_25, LF_15, LF_05 }, \
{ LF_55, LF_45, LF_34, LF_24, LF_14, LF_04 }, \
{ LF_54, LF_44, LF_33, LF_23, LF_13, LF_03 }, \
{ LF_53, LF_43, LF_32, LF_22, LF_12, LT_22 }, \
{ KC_NO, KC_NO, LT_21, LF_21, LT_11, LT_12 }, \
{ KC_NO, KC_NO, LT_10, KC_NO, LT_01, LT_02 }, \
- \
+\
{ RA_20, RA_10, RF_35, RF_25, RF_15, RF_05 }, \
{ RF_55, RF_45, RF_34, RF_24, RF_14, RF_04 }, \
{ RF_54, RF_44, RF_33, RF_23, RF_13, RF_03 }, \
{ RF_53, RF_43, RF_32, RF_22, RF_12, RT_22 }, \
{ KC_NO, KC_NO, RT_21, RF_21, RT_11, RT_12 }, \
- { KC_NO, KC_NO, RT_10, KC_NO, RT_01, RT_02 }, \
- }
+ { KC_NO, KC_NO, RT_10, KC_NO, RT_01, RT_02 } \
+}
diff --git a/keyboards/handwired/dactyl_manuform/dmote/62key/config.h b/keyboards/handwired/dactyl_manuform/dmote/62key/config.h
index cb21327070..cb65d8c19c 100644
--- a/keyboards/handwired/dactyl_manuform/dmote/62key/config.h
+++ b/keyboards/handwired/dactyl_manuform/dmote/62key/config.h
@@ -1,9 +1,10 @@
#pragma once
#include "config_common.h"
-#define PRODUCT_ID 0x3632
-#define DEVICE_VER 0x0001
-#define PRODUCT DMOTE (62-key)
+
+#define PRODUCT_ID 0x3632
+#define DEVICE_VER 0x0001
+#define PRODUCT DMOTE (62-key)
#define MATRIX_ROWS 12
#define MATRIX_COLS 6
@@ -48,5 +49,3 @@
#define RGB_DI_PIN D1
#define RGBLED_NUM 6 // Used when chaining strips
#define RGBLED_SPLIT { 3, 3 } // Used when not chaining strips
-#define ws2812_PORTREG PORTD
-#define ws2812_DDRREG DDRD
diff --git a/keyboards/handwired/dactyl_manuform/dmote/62key/info.json b/keyboards/handwired/dactyl_manuform/dmote/62key/info.json
index 8e54b8db4d..ce492e70ab 100644
--- a/keyboards/handwired/dactyl_manuform/dmote/62key/info.json
+++ b/keyboards/handwired/dactyl_manuform/dmote/62key/info.json
@@ -7,84 +7,82 @@
"layouts": {
"LAYOUT_62key": {
"layout": [
- {"x":0, "y":0},
- {"x":1, "y":0},
- {"x":2, "y":0},
- {"x":3, "y":0},
- {"x":4, "y":0},
- {"x":5, "y":0},
+ {"x": 0, "y": 0},
+ {"x": 1, "y": 0},
+ {"x": 2, "y": 0},
+ {"x": 3, "y": 0},
+ {"x": 4, "y": 0},
+ {"x": 5, "y": 0},
- {"x":0, "y":1},
- {"x":1, "y":1},
- {"x":2, "y":1},
- {"x":3, "y":1},
- {"x":4, "y":1},
- {"x":5, "y":1},
+ {"x": 0, "y": 1},
+ {"x": 1, "y": 1},
+ {"x": 2, "y": 1},
+ {"x": 3, "y": 1},
+ {"x": 4, "y": 1},
+ {"x": 5, "y": 1},
- {"x":0, "y":2},
- {"x":1, "y":2},
- {"x":2, "y":2},
- {"x":3, "y":2},
- {"x":4, "y":2},
- {"x":5, "y":2},
+ {"x": 0, "y": 2},
+ {"x": 1, "y": 2},
+ {"x": 2, "y": 2},
+ {"x": 3, "y": 2},
+ {"x": 4, "y": 2},
+ {"x": 5, "y": 2},
- {"x":0, "y":3},
- {"x":1, "y":3},
- {"x":2, "y":3},
- {"x":3, "y":3},
- {"x":4, "y":3},
+ {"x": 0, "y": 3},
+ {"x": 1, "y": 3},
+ {"x": 2, "y": 3},
+ {"x": 3, "y": 3},
+ {"x": 4, "y": 3},
- {"x":3, "y":4},
- {"x":4.5, "y":4.5},
- {"x":5.5, "y":4.5},
+ {"x": 3, "y": 4},
+ {"x": 4.5, "y": 4.5},
+ {"x": 5.5, "y": 4.5},
- {"x":4, "y":5.5},
- {"x":5, "y":5.5},
- {"x":6, "y":5.5},
+ {"x": 4, "y": 5.5},
+ {"x": 5, "y": 5.5},
+ {"x": 6, "y": 5.5},
- {"x":4.5, "y":6.5},
- {"x":5.5, "y":6.5},
+ {"x": 4.5, "y": 6.5},
+ {"x": 5.5, "y": 6.5},
+ {"x": 9, "y": 0},
+ {"x": 10, "y": 0},
+ {"x": 11, "y": 0},
+ {"x": 12, "y": 0},
+ {"x": 13, "y": 0},
+ {"x": 14, "y": 0},
- {"x":9, "y":0},
- {"x":10, "y":0},
- {"x":11, "y":0},
- {"x":12, "y":0},
- {"x":13, "y":0},
- {"x":14, "y":0},
+ {"x": 9, "y": 1},
+ {"x": 10, "y": 1},
+ {"x": 11, "y": 1},
+ {"x": 12, "y": 1},
+ {"x": 13, "y": 1},
+ {"x": 14, "y": 1},
- {"x":9, "y":1},
- {"x":10, "y":1},
- {"x":11, "y":1},
- {"x":12, "y":1},
- {"x":13, "y":1},
- {"x":14, "y":1},
+ {"x": 9, "y": 2},
+ {"x": 10, "y": 2},
+ {"x": 11, "y": 2},
+ {"x": 12, "y": 2},
+ {"x": 13, "y": 2},
+ {"x": 14, "y": 2},
- {"x":9, "y":2},
- {"x":10, "y":2},
- {"x":11, "y":2},
- {"x":12, "y":2},
- {"x":13, "y":2},
- {"x":14, "y":2},
+ {"x": 10, "y": 3},
+ {"x": 11, "y": 3},
+ {"x": 12, "y": 3},
+ {"x": 13, "y": 3},
+ {"x": 14, "y": 3},
- {"x":10, "y":3},
- {"x":11, "y":3},
- {"x":12, "y":3},
- {"x":13, "y":3},
- {"x":14, "y":3},
+ {"x": 8.5, "y": 4.5},
+ {"x": 9.5, "y": 4.5},
+ {"x": 11, "y": 4},
- {"x":8.5, "y":4.5},
- {"x":9.5, "y":4.5},
- {"x":11, "y":4},
+ {"x": 8, "y": 5.5},
+ {"x": 9, "y": 5.5},
+ {"x": 10, "y": 5.5},
- {"x":8, "y":5.5},
- {"x":9, "y":5.5},
- {"x":10, "y":5.5},
-
- {"x":8.5, "y":6.5},
- {"x":9.5, "y":6.5}
+ {"x": 8.5, "y": 6.5},
+ {"x": 9.5, "y": 6.5}
]
}
}
}
-
diff --git a/keyboards/handwired/dactyl_manuform/dmote/62key/keymaps/default/keymap.c b/keyboards/handwired/dactyl_manuform/dmote/62key/keymaps/default/keymap.c
index 25bd7da392..d11f075481 100644
--- a/keyboards/handwired/dactyl_manuform/dmote/62key/keymaps/default/keymap.c
+++ b/keyboards/handwired/dactyl_manuform/dmote/62key/keymaps/default/keymap.c
@@ -1,9 +1,8 @@
-#include "62key.h"
-#include "rgblight.h"
+#include QMK_KEYBOARD_H
+
#include "keymap_colemak.h"
#include "sendstring_colemak.h"
-
// Automatic Layer ID:
enum layer_names {
_QWERTY, // OS-side Colemak. Default.
@@ -14,71 +13,71 @@ enum layer_names {
// Shorthand:
#define LAYER_N MO(_NUMERIC)
#define LAYER_C TG(_COLEMAK)
-#define PASTE LSFT(KC_INS) // Terminal-compatible paste.
-#define SLQ RALT(KC_9) // Single left-side quotation mark (in Colemak).
-#define SRQ RALT(KC_0)
-#define EMDASH RALT(LSFT(KC_MINUS)) // Em dash character (in Colemak).
+#define PASTE LSFT(KC_INS) // Terminal-compatible paste.
+#define SLQ RALT(KC_9) // Single left-side quotation mark (in Colemak).
+#define SRQ RALT(KC_0)
+#define EMDASH RALT(LSFT(KC_MINUS)) // Em dash character (in Colemak).
#define BK_LCTL CTL_T(KC_LBRACKET)
#define BK_RCTL RCTL_T(KC_RBRACKET)
// TODO: Mod-tap ALT with a curvilinear brace.
// https://github.com/qmk/qmk_firmware/pull/2055
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[_QWERTY] = LAYOUT_62key(
- KC_VOLD, KC_VOLU, CM_W, CM_F, CM_P, CM_G,
- KC_TAB, CM_Q, CM_R, CM_S, CM_T, CM_D,
- KC_BSPC, CM_A, CM_X, CM_C, CM_V, CM_B,
- SLQ, CM_Z, KC_HOME, KC_PGUP, KC_END,
- KC_PGDN, KC_ENT, KC_SPC,
- KC_LSPO, KC_LGUI, KC_MINS,
- BK_LCTL, KC_LALT,
-
- CM_J, CM_L, CM_U, CM_Y, KC_MPLY, KC_MUTE,
- CM_H, CM_N, CM_E, CM_I, CM_SCLN, KC_BSLS,
- CM_K, CM_M, KC_COMM, KC_DOT, CM_O, KC_QUOT,
- KC_LEFT, KC_UP, KC_RGHT, KC_SLSH, SRQ,
- KC_DEL, KC_ESC, KC_DOWN,
- KC_EQL, LAYER_N, KC_RSPC,
- KC_RALT, BK_RCTL
-),
-
-[_COLEMAK] = LAYOUT_62key(
- _______, _______, KC_W, KC_F, KC_P, KC_G,
- _______, KC_Q, KC_R, KC_S, KC_T, KC_D,
- _______, KC_A, KC_X, KC_C, KC_V, KC_B,
- _______, KC_Z, _______, _______, _______,
- _______, _______, _______,
- _______, _______, _______,
- _______, _______,
-
- KC_J, KC_L, KC_U, KC_Y, _______, _______,
- KC_H, KC_N, KC_E, KC_I, KC_SCLN, _______,
- KC_K, KC_M, _______, _______, KC_O, _______,
- _______, _______, _______, _______, _______,
- _______, _______, _______,
- _______, _______, _______,
- _______, _______
-),
-
-[_NUMERIC] = LAYOUT_62key(
- LAYER_C, KC_INS, KC_F2, KC_F3, KC_F4, KC_F5,
- KC_F12, KC_F1, KC_2, KC_3, KC_4, KC_5,
- _______, KC_1, KC_AT, KC_HASH, KC_DLR, KC_PERC,
- KC_GRV, KC_EXLM, KC_BTN1, KC_WH_U, KC_BTN2,
- KC_WH_D, RGB_MOD, _______,
- _______, _______, EMDASH,
- _______, _______,
-
- KC_F6, KC_F7, KC_F8, KC_F9, RESET, KC_WAKE, // *
- KC_6, KC_7, KC_8, KC_9, KC_F10, KC_F11,
- KC_CIRC, KC_AMPR, KC_ASTR, KC_APP, KC_0, PASTE,
- KC_MS_L, KC_MS_U, KC_MS_R, KC_PSCR, RGB_TOG,
- KC_ACL1, KC_ACL2, KC_MS_D,
- KC_ACL0, _______, _______,
- _______, _______
-)
+ [_QWERTY] = LAYOUT_62key(
+ KC_VOLD, KC_VOLU, CM_W, CM_F, CM_P, CM_G,
+ KC_TAB, CM_Q, CM_R, CM_S, CM_T, CM_D,
+ KC_BSPC, CM_A, CM_X, CM_C, CM_V, CM_B,
+ SLQ, CM_Z, KC_HOME, KC_PGUP, KC_END,
+ KC_PGDN, KC_ENT, KC_SPC,
+ KC_LSPO, KC_LGUI, KC_MINS,
+ BK_LCTL, KC_LALT,
+
+ CM_J, CM_L, CM_U, CM_Y, KC_MPLY, KC_MUTE,
+ CM_H, CM_N, CM_E, CM_I, CM_SCLN, KC_BSLS,
+ CM_K, CM_M, KC_COMM, KC_DOT, CM_O, KC_QUOT,
+ KC_LEFT, KC_UP, KC_RGHT, KC_SLSH, SRQ,
+ KC_DEL, KC_ESC, KC_DOWN,
+ KC_EQL, LAYER_N, KC_RSPC,
+ KC_RALT, BK_RCTL
+ ),
+
+ [_COLEMAK] = LAYOUT_62key(
+ _______, _______, KC_W, KC_F, KC_P, KC_G,
+ _______, KC_Q, KC_R, KC_S, KC_T, KC_D,
+ _______, KC_A, KC_X, KC_C, KC_V, KC_B,
+ _______, KC_Z, _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______,
+
+ KC_J, KC_L, KC_U, KC_Y, _______, _______,
+ KC_H, KC_N, KC_E, KC_I, KC_SCLN, _______,
+ KC_K, KC_M, _______, _______, KC_O, _______,
+ _______, _______, _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______
+ ),
+
+ [_NUMERIC] = LAYOUT_62key(
+ LAYER_C, KC_INS, KC_F2, KC_F3, KC_F4, KC_F5,
+ KC_F12, KC_F1, KC_2, KC_3, KC_4, KC_5,
+ _______, KC_1, KC_AT, KC_HASH, KC_DLR, KC_PERC,
+ KC_GRV, KC_EXLM, KC_BTN1, KC_WH_U, KC_BTN2,
+ KC_WH_D, RGB_MOD, _______,
+ _______, _______, EMDASH,
+ _______, _______,
+
+ KC_F6, KC_F7, KC_F8, KC_F9, RESET, KC_WAKE, // *
+ KC_6, KC_7, KC_8, KC_9, KC_F10, KC_F11,
+ KC_CIRC, KC_AMPR, KC_ASTR, KC_APP, KC_0, PASTE,
+ KC_MS_L, KC_MS_U, KC_MS_R, KC_PSCR, RGB_TOG,
+ KC_ACL1, KC_ACL2, KC_MS_D,
+ KC_ACL0, _______, _______,
+ _______, _______
+ )
};
+
// *KC_WAKE: Used in place of KC_SLEP because X11 with i3 on prerelease
// Debian 10 was seeing duplicate keypress and release events for sleep
// (regardless of i3 binding), which ruined the function.
@@ -111,22 +110,19 @@ void modal_leds(void) {
uint16_t hue = 355; // Rough match to printed case.
uint8_t saturation = 255;
uint8_t value = 0;
- if (layer_state_is(_COLEMAK)) { hue -= 50; saturation -= 20; value += 20; };
- if (layer_state_is(_NUMERIC)) { value += 30; };
- if (mods & MOD_MASK_SHIFT) { saturation -= 20; value += 30; };
- if (mods & MOD_MASK_ALT) { hue -= 100; saturation -= 20; value += 30; };
- if (mods & MOD_MASK_CTRL) { hue -= 200; saturation -= 20; value += 30; };
+ if (layer_state_is(_COLEMAK)) { hue -= 50; saturation -= 20; value += 20; }
+ if (layer_state_is(_NUMERIC)) { value += 30; }
+ if (mods & MOD_MASK_SHIFT) { saturation -= 20; value += 30; }
+ if (mods & MOD_MASK_ALT) { hue -= 100; saturation -= 20; value += 30; }
+ if (mods & MOD_MASK_CTRL) { hue -= 200; saturation -= 20; value += 30; }
// rgblight_sethsv_eeprom_helper is not a great API function but it does
// affect both halves of a split keyboard.
rgblight_sethsv_eeprom_helper(hue, saturation, value, false);
_leds_dirty = false;
}
-void matrix_init_user(void) {
-}
-
void matrix_scan_user(void) {
- if (_leds_dirty) { modal_leds(); };
+ if (_leds_dirty) { modal_leds(); }
}
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
@@ -134,12 +130,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// Static lighting is amenable to customization.
rgblight_mode(RGBLIGHT_MODE_STATIC_LIGHT);
_initialized = true;
- };
+ }
if (keycode == KC_WAKE) {
// Turn the lights off before going to sleep.
rgblight_sethsv_eeprom_helper(0, 0, 0, false);
} else {
_leds_dirty = true;
- };
+ }
return true;
}
diff --git a/keyboards/handwired/dactyl_manuform/rules.mk b/keyboards/handwired/dactyl_manuform/rules.mk
deleted file mode 100644
index 1ba5f5a093..0000000000
--- a/keyboards/handwired/dactyl_manuform/rules.mk
+++ /dev/null
@@ -1,34 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-# Teensy halfkay
-# Pro Micro caterina
-# Atmel DFU atmel-dfu
-# LUFA DFU lufa-dfu
-# QMK DFU qmk-dfu
-# ATmega32A bootloadHID
-# ATmega328P USBasp
-BOOTLOADER = caterina
-
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
-CONSOLE_ENABLE = no # Console for debug(+400)
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-
-SPLIT_KEYBOARD = yes
diff --git a/keyboards/handwired/daishi/daishi.h b/keyboards/handwired/daishi/daishi.h
index 49e3775897..0d0c57ab20 100644
--- a/keyboards/handwired/daishi/daishi.h
+++ b/keyboards/handwired/daishi/daishi.h
@@ -2,8 +2,6 @@
#include "quantum.h"
-#define encoder_update(clockwise) encoder_update_user(uint8_t index, clockwise)
-
// The first section contains all of the arguments
// The second converts the arguments into a two-dimensional array
#define LAYOUT( \
diff --git a/keyboards/handwired/daishi/keymaps/default/keymap.c b/keyboards/handwired/daishi/keymaps/default/keymap.c
index 5214e8b6f4..a1ef825ff2 100644
--- a/keyboards/handwired/daishi/keymaps/default/keymap.c
+++ b/keyboards/handwired/daishi/keymaps/default/keymap.c
@@ -82,8 +82,8 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true;
};
-bool encoder_update(bool clockwise) {
- if (clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ if (clockwise) {
tap_code(KC_VOLU);
} else {
tap_code(KC_VOLD);
diff --git a/keyboards/handwired/frankie_macropad/keymaps/default/config.h b/keyboards/handwired/frankie_macropad/keymaps/default/config.h
new file mode 100644
index 0000000000..dd687cad58
--- /dev/null
+++ b/keyboards/handwired/frankie_macropad/keymaps/default/config.h
@@ -0,0 +1,19 @@
+/* Copyright 2021 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 LAYER_STATE_8BIT
diff --git a/keyboards/handwired/frenchdev/keymaps/default/keymap.c b/keyboards/handwired/frenchdev/keymaps/default/keymap.c
index b0713b730c..2ef10ca11f 100644
--- a/keyboards/handwired/frenchdev/keymaps/default/keymap.c
+++ b/keyboards/handwired/frenchdev/keymaps/default/keymap.c
@@ -65,9 +65,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_BASE] = LAYOUT(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \
- KC_ESC, BP_DQOT, BP_LGIL, BP_RGIL, BP_LPRN, BP_RPRN, BP_DTRM, BP_DCRC, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, KC_BSPC, \
- KC_TAB, BP_B, BP_ECUT, BP_O, BP_P, BP_EGRV, BP_UNDS, BP_EQL, BP_K, BP_V, BP_D, BP_L, BP_J, KC_ENT, \
- BP_GRV, BP_A, BP_U, BP_E, BP_I, BP_F, BP_SCLN, BP_EXLM, BP_C, BP_T, BP_S, BP_R, BP_N, BP_APOS, \
+ KC_ESC, BP_DQUO, BP_LDAQ, BP_RDAQ, BP_LPRN, BP_RPRN, BP_DIAE, BP_DCIR, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, KC_BSPC, \
+ KC_TAB, BP_B, BP_EACU, BP_O, BP_P, BP_EGRV, BP_UNDS, BP_EQL, BP_K, BP_V, BP_D, BP_L, BP_J, KC_ENT, \
+ BP_GRV, BP_A, BP_U, BP_E, BP_I, BP_F, BP_SCLN, BP_EXLM, BP_C, BP_T, BP_S, BP_R, BP_N, BP_QUOT, \
M_SF, BP_Z, BP_AGRV, BP_Y, BP_X, KC_RBRC, M_SFS, BP_CBSP, L2INS, L2LOC, BP_CDEL, M_SFS, BP_M, BP_G, KC_UP, BP_H, BP_Q, M_SF, \
KC_LCTL, KC_LGUI, KC_PSLS, BP_DOT, BP_COMM, KC_SPACE,M_L1E, KC_LALT, KC_CAPS, M_L1E, KC_SPACE, KC_LEFT, KC_DOWN, KC_RIGHT,BP_COLN, KC_RCTL, \
//left pedals
@@ -97,9 +97,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_SYMBOLS] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
- KC_TRNS, BP_DCUR, BP_PARG, BP_SECT, BP_DGRK, KC_TRNS, BP_TILD, BP_DCAR, BP_LEQL, BP_GEQL, BP_PSMS, BP_OBEL, BP_TIMS, KC_TRNS, \
- KC_TRNS, BP_BSLS, BP_ASTR, BP_LCBR, BP_RCBR, BP_GRV, KC_TRNS, BP_DIFF, BP_HASH, BP_LBRC, BP_RBRC, BP_PERC, BP_PMIL, KC_TRNS, \
- KC_TRNS, BP_EQL, BP_UGRV, BP_LPRN, BP_RPRN, BP_PLUS, BP_COLN, BP_QEST, BP_CCED, BP_LESS, BP_GRTR, BP_AMPR, BP_UNDS, KC_TRNS, \
+ KC_TRNS, BP_CURR, BP_PARA, BP_SECT, BP_DGRK, KC_TRNS, BP_TILD, BP_CARN, BP_LEQL, BP_GEQL, BP_PLMN, BP_DIV, BP_MUL, KC_TRNS, \
+ KC_TRNS, BP_BSLS, BP_ASTR, BP_LCBR, BP_RCBR, BP_GRV, KC_TRNS, BP_NEQL, BP_HASH, BP_LBRC, BP_RBRC, BP_PERC, BP_PERM, KC_TRNS, \
+ KC_TRNS, BP_EQL, BP_UGRV, BP_LPRN, BP_RPRN, BP_PLUS, BP_COLN, BP_QUES, BP_CCED, BP_LABK, BP_RABK, BP_AMPR, BP_UNDS, KC_TRNS, \
KC_TRNS, M_UN, M_CUT, M_CP, M_PS, M_SE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BP_DLR, BP_EQL, KC_PGUP, BP_PIPE, BP_SLSH, KC_TRNS, \
KC_TRNS, KC_TRNS, BP_BSLS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END, KC_TRNS, KC_TRNS, \
//left pedals
diff --git a/keyboards/handwired/frenchdev/rules.mk b/keyboards/handwired/frenchdev/rules.mk
index abf4e62c4b..a77baaa9a7 100644
--- a/keyboards/handwired/frenchdev/rules.mk
+++ b/keyboards/handwired/frenchdev/rules.mk
@@ -29,7 +29,6 @@ UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
RGBLIGHT_ENABLE = no
-API_SYSEX_ENABLE = no
# project specific files
SRC = i2c_master.c \
diff --git a/keyboards/handwired/freoduo/rules.mk b/keyboards/handwired/freoduo/rules.mk
index e3da3753e4..d8923557d6 100644
--- a/keyboards/handwired/freoduo/rules.mk
+++ b/keyboards/handwired/freoduo/rules.mk
@@ -11,7 +11,7 @@ BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
+COMMAND_ENABLE = no # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
@@ -21,4 +21,4 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
VELOCIKEY_ENABLE = yes
-SPLIT_KEYBOARD = yes \ No newline at end of file
+SPLIT_KEYBOARD = yes
diff --git a/keyboards/handwired/hnah40rgb/config.h b/keyboards/handwired/hnah40rgb/config.h
index e6271738c0..3d558f97fc 100644
--- a/keyboards/handwired/hnah40rgb/config.h
+++ b/keyboards/handwired/hnah40rgb/config.h
@@ -60,7 +60,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-#define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended
+// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set
diff --git a/keyboards/handwired/jot50/rules.mk b/keyboards/handwired/jot50/rules.mk
index d01dfefa5e..bc18e18601 100644
--- a/keyboards/handwired/jot50/rules.mk
+++ b/keyboards/handwired/jot50/rules.mk
@@ -28,7 +28,6 @@ AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/handwired/jotanck/rules.mk b/keyboards/handwired/jotanck/rules.mk
index 2a233cccd0..6f9f693f5c 100644
--- a/keyboards/handwired/jotanck/rules.mk
+++ b/keyboards/handwired/jotanck/rules.mk
@@ -28,7 +28,6 @@ AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/handwired/jotpad16/rules.mk b/keyboards/handwired/jotpad16/rules.mk
index 79c32c5c35..73e87b906c 100644
--- a/keyboards/handwired/jotpad16/rules.mk
+++ b/keyboards/handwired/jotpad16/rules.mk
@@ -28,7 +28,6 @@ AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/handwired/p1800fl/rules.mk b/keyboards/handwired/p1800fl/rules.mk
deleted file mode 100644
index cde197a0db..0000000000
--- a/keyboards/handwired/p1800fl/rules.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-# Teensy halfkay
-# Pro Micro caterina
-# Atmel DFU atmel-dfu
-# LUFA DFU lufa-dfu
-# QMK DFU qmk-dfu
-# ATmega32A bootloadHID
-# ATmega328P USBasp
-BOOTLOADER = qmk-dfu
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
-MIDI_ENABLE = no # MIDI support
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
diff --git a/keyboards/handwired/p65rgb/config.h b/keyboards/handwired/p65rgb/config.h
index c50fc2826a..142d3c03ea 100644
--- a/keyboards/handwired/p65rgb/config.h
+++ b/keyboards/handwired/p65rgb/config.h
@@ -40,7 +40,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGB_DI_PIN B4
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
diff --git a/keyboards/handwired/p65rgb/rules.mk b/keyboards/handwired/p65rgb/rules.mk
index 00d15f090f..792f066b70 100644
--- a/keyboards/handwired/p65rgb/rules.mk
+++ b/keyboards/handwired/p65rgb/rules.mk
@@ -2,19 +2,12 @@
MCU = atmega32u4
# Bootloader selection
-# Teensy halfkay
-# Pro Micro caterina
-# Atmel DFU atmel-dfu
-# LUFA DFU lufa-dfu
-# QMK DFU qmk-dfu
-# ATmega32A bootloadHID
-# ATmega328P USBasp
BOOTLOADER = qmk-dfu
# Build Options
# change yes to no to disable
#
-BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
@@ -30,3 +23,4 @@ RGB_MATRIX_DRIVER = WS2812
MIDI_ENABLE = no # MIDI support
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
+LTO_ENABLE = yes
diff --git a/keyboards/handwired/prime_exl/keymaps/via/keymap.c b/keyboards/handwired/prime_exl/keymaps/via/keymap.c
index 1b62d25ba4..c707e8a20d 100644
--- a/keyboards/handwired/prime_exl/keymaps/via/keymap.c
+++ b/keyboards/handwired/prime_exl/keymaps/via/keymap.c
@@ -90,7 +90,7 @@ void led_set_user(uint8_t usb_led) {
}
//function for layer indicator LED
-uint32_t layer_state_set_user(uint32_t state)
+layer_state_t layer_state_set_user(layer_state_t state)
{
if (biton32(state) == 1) {
writePinHigh(C6);
diff --git a/keyboards/handwired/promethium/config.h b/keyboards/handwired/promethium/config.h
index ba2c25ea1d..48eb39f72d 100644
--- a/keyboards/handwired/promethium/config.h
+++ b/keyboards/handwired/promethium/config.h
@@ -20,23 +20,26 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
/* USB Device descriptor parameter */
-#define VENDOR_ID 0x17EF // Lenovo
+#define VENDOR_ID 0x17EF // Lenovo
//#define PRODUCT_ID 0x6009 // ThinkPad Keyboard with TrackPoint
//#define PRODUCT_ID 0x6047 // ThinkPad Compact USB Keyboard with TrackPoint
-#define PRODUCT_ID 0x6048 // ThinkPad Compact Bluetooth Keyboard with TrackPoint
+#define PRODUCT_ID 0x6048 // ThinkPad Compact Bluetooth Keyboard with TrackPoint
//#define PRODUCT_ID 0x6067 // ThinkPad Pro Docking Station
-#define DEVICE_VER 0x0001
-#define MANUFACTURER Priyadi
-#define PRODUCT Promethium Keyboard
+#define DEVICE_VER 0x0001
+#define MANUFACTURER Priyadi
+#define PRODUCT Promethium Keyboard
/* key matrix size */
-#define MATRIX_COLS 6
-#define MATRIX_ROWS 9
+#define MATRIX_COLS 6
+#define MATRIX_ROWS 9
/* default pin-out */
-#define MATRIX_COL_PINS { F4, F1, F0, D6, D0, D1 }
-#define MATRIX_ROW_PINS { F5, F6, F7 }
-#define TRACKPOINT_PINS { B7, B6, D7 }
+#define MATRIX_COL_PINS \
+ { F4, F1, F0, D6, D0, D1 }
+#define MATRIX_ROW_PINS \
+ { F5, F6, F7, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN }
+#define TRACKPOINT_PINS \
+ { B7, B6, D7 }
#define UNUSED_PINS
/*
@@ -48,15 +51,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
*
-*/
-#define DIODE_DIRECTION COL2ROW
+ */
+#define DIODE_DIRECTION COL2ROW
// #define BACKLIGHT_PIN B7
// #define BACKLIGHT_BREATHING
// #define BACKLIGHT_LEVELS 3
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCE 5
+#define DEBOUNCE 5
/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST
@@ -90,9 +93,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define FORCE_NKRO
/* key combination for command */
-#define IS_COMMAND() ( \
- get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT) | MOD_BIT(KC_LCTRL) | MOD_BIT(KC_RCTRL)) \
-)
+#define IS_COMMAND() (get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT) | MOD_BIT(KC_LCTRL) | MOD_BIT(KC_RCTRL)))
/* control how magic key switches layers */
//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
@@ -149,178 +150,178 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_FUNCTION
#define PS2_MOUSE_INIT_DELAY 2000
-#define BATTERY_POLL 30000
-#define MAX_VOLTAGE 4.2
-#define MIN_VOLTAGE 3.2
+#define BATTERY_POLL 30000
+#define MAX_VOLTAGE 4.2
+#define MIN_VOLTAGE 3.2
-#ifndef __ASSEMBLER__ // assembler doesn't like enum in .h file
+#ifndef __ASSEMBLER__ // assembler doesn't like enum in .h file
enum led_sequence {
- LED_IND_LINUX,
- LED_IND_APPLE,
- LED_IND_WINDOWS,
- LED_IND_QWERTY,
- LED_IND_ALT,
- LED_IND_AUDIO,
- LED_IND_BLUETOOTH,
- LED_IND_USB,
-
- LED_IND_BATTERY,
- LED_IND_CAPSLOCK,
- LED_IND_GUI,
- LED_IND_FUN,
- LED_IND_NUM,
- LED_IND_PUNC,
- LED_IND_EMOJI,
- LED_IND_GREEK,
-
- LED_BKSP,
- LED_ENT,
- LED_RSFT,
- LED_RCTL,
-
- LED_RALT,
- LED_SLSH,
- LED_SCLN,
- LED_P,
-
- LED_O,
- LED_L,
- LED_DOT,
- LED_RGUI,
-
- LED_GREEK,
- LED_COMM,
- LED_K,
- LED_I,
-
- LED_U,
- LED_J,
- LED_M,
- LED_FUN,
-
- LED_RSPC,
- LED_N,
- LED_HH,
- LED_Y,
-
- LED_TRACKPOINT3,
- LED_TRACKPOINT2,
- LED_TRACKPOINT1,
-
- LED_T,
- LED_G,
- LED_B,
- LED_LSPC,
-
- LED_NUM,
- LED_V,
- LED_F,
- LED_R,
-
- LED_E,
- LED_D,
- LED_C,
- LED_EMPTY,
-
- LED_LGUI,
- LED_X,
- LED_S,
- LED_W,
-
- LED_Q,
- LED_A,
- LED_Z,
- LED_LALT,
-
- LED_LCTL,
- LED_LSFT,
- LED_ESC,
- LED_TAB,
-
- LED_TOTAL
+ LED_IND_LINUX,
+ LED_IND_APPLE,
+ LED_IND_WINDOWS,
+ LED_IND_QWERTY,
+ LED_IND_ALT,
+ LED_IND_AUDIO,
+ LED_IND_BLUETOOTH,
+ LED_IND_USB,
+
+ LED_IND_BATTERY,
+ LED_IND_CAPSLOCK,
+ LED_IND_GUI,
+ LED_IND_FUN,
+ LED_IND_NUM,
+ LED_IND_PUNC,
+ LED_IND_EMOJI,
+ LED_IND_GREEK,
+
+ LED_BKSP,
+ LED_ENT,
+ LED_RSFT,
+ LED_RCTL,
+
+ LED_RALT,
+ LED_SLSH,
+ LED_SCLN,
+ LED_P,
+
+ LED_O,
+ LED_L,
+ LED_DOT,
+ LED_RGUI,
+
+ LED_GREEK,
+ LED_COMM,
+ LED_K,
+ LED_I,
+
+ LED_U,
+ LED_J,
+ LED_M,
+ LED_FUN,
+
+ LED_RSPC,
+ LED_N,
+ LED_HH,
+ LED_Y,
+
+ LED_TRACKPOINT3,
+ LED_TRACKPOINT2,
+ LED_TRACKPOINT1,
+
+ LED_T,
+ LED_G,
+ LED_B,
+ LED_LSPC,
+
+ LED_NUM,
+ LED_V,
+ LED_F,
+ LED_R,
+
+ LED_E,
+ LED_D,
+ LED_C,
+ LED_EMPTY,
+
+ LED_LGUI,
+ LED_X,
+ LED_S,
+ LED_W,
+
+ LED_Q,
+ LED_A,
+ LED_Z,
+ LED_LALT,
+
+ LED_LCTL,
+ LED_LSFT,
+ LED_ESC,
+ LED_TAB,
+
+ LED_TOTAL
};
-#define RGB_DI_PIN B5
-#define RGBSPS_NUM LED_TOTAL
+# define RGB_DI_PIN B5
+# define RGBSPS_NUM LED_TOTAL
#endif
/* PS/2 mouse */
#ifdef PS2_USE_BUSYWAIT
-# define PS2_CLOCK_PORT PORTD
-# define PS2_CLOCK_PIN PIND
-# define PS2_CLOCK_DDR DDRD
-# define PS2_CLOCK_BIT 3
-# define PS2_DATA_PORT PORTD
-# define PS2_DATA_PIN PIND
-# define PS2_DATA_DDR DDRD
-# define PS2_DATA_BIT 2
+# define PS2_CLOCK_PORT PORTD
+# define PS2_CLOCK_PIN PIND
+# define PS2_CLOCK_DDR DDRD
+# define PS2_CLOCK_BIT 3
+# define PS2_DATA_PORT PORTD
+# define PS2_DATA_PIN PIND
+# define PS2_DATA_DDR DDRD
+# define PS2_DATA_BIT 2
#endif
/* PS/2 mouse interrupt version */
#ifdef PS2_USE_INT
/* uses INT1 for clock line(ATMega32U4) */
-#define PS2_CLOCK_PORT PORTD
-#define PS2_CLOCK_PIN PIND
-#define PS2_CLOCK_DDR DDRD
-#define PS2_CLOCK_BIT 3
-#define PS2_DATA_PORT PORTD
-#define PS2_DATA_PIN PIND
-#define PS2_DATA_DDR DDRD
-#define PS2_DATA_BIT 2
-
-#define PS2_INT_INIT() do { \
- EICRA |= ((1<<ISC31) | \
- (0<<ISC30)); \
-} while (0)
-#define PS2_INT_ON() do { \
- EIMSK |= (1<<INT3); \
-} while (0)
-#define PS2_INT_OFF() do { \
- EIMSK &= ~(1<<INT3); \
-} while (0)
-#define PS2_INT_VECT INT3_vect
+# define PS2_CLOCK_PORT PORTD
+# define PS2_CLOCK_PIN PIND
+# define PS2_CLOCK_DDR DDRD
+# define PS2_CLOCK_BIT 3
+# define PS2_DATA_PORT PORTD
+# define PS2_DATA_PIN PIND
+# define PS2_DATA_DDR DDRD
+# define PS2_DATA_BIT 2
+
+# define PS2_INT_INIT() \
+ do { \
+ EICRA |= ((1 << ISC31) | (0 << ISC30)); \
+ } while (0)
+# define PS2_INT_ON() \
+ do { \
+ EIMSK |= (1 << INT3); \
+ } while (0)
+# define PS2_INT_OFF() \
+ do { \
+ EIMSK &= ~(1 << INT3); \
+ } while (0)
+# define PS2_INT_VECT INT3_vect
#endif
/* PS/2 mouse USART version */
#ifdef PS2_USE_USART
/* XCK for clock line and RXD for data line */
-#define PS2_CLOCK_PORT PORTD
-#define PS2_CLOCK_PIN PIND
-#define PS2_CLOCK_DDR DDRD
-#define PS2_CLOCK_BIT 5
-#define PS2_DATA_PORT PORTD
-#define PS2_DATA_PIN PIND
-#define PS2_DATA_DDR DDRD
-#define PS2_DATA_BIT 2
+# define PS2_CLOCK_PORT PORTD
+# define PS2_CLOCK_PIN PIND
+# define PS2_CLOCK_DDR DDRD
+# define PS2_CLOCK_BIT 5
+# define PS2_DATA_PORT PORTD
+# define PS2_DATA_PIN PIND
+# define PS2_DATA_DDR DDRD
+# define PS2_DATA_BIT 2
/* synchronous, odd parity, 1-bit stop, 8-bit data, sample at falling edge */
/* set DDR of CLOCK as input to be slave */
-#define PS2_USART_INIT() do { \
- PS2_CLOCK_DDR &= ~(1<<PS2_CLOCK_BIT); \
- PS2_DATA_DDR &= ~(1<<PS2_DATA_BIT); \
- UCSR1C = ((1 << UMSEL10) | \
- (3 << UPM10) | \
- (0 << USBS1) | \
- (3 << UCSZ10) | \
- (0 << UCPOL1)); \
- UCSR1A = 0; \
- UBRR1H = 0; \
- UBRR1L = 0; \
-} while (0)
-#define PS2_USART_RX_INT_ON() do { \
- UCSR1B = ((1 << RXCIE1) | \
- (1 << RXEN1)); \
-} while (0)
-#define PS2_USART_RX_POLL_ON() do { \
- UCSR1B = (1 << RXEN1); \
-} while (0)
-#define PS2_USART_OFF() do { \
- UCSR1C = 0; \
- UCSR1B &= ~((1 << RXEN1) | \
- (1 << TXEN1)); \
-} while (0)
-#define PS2_USART_RX_READY (UCSR1A & (1<<RXC1))
-#define PS2_USART_RX_DATA UDR1
-#define PS2_USART_ERROR (UCSR1A & ((1<<FE1) | (1<<DOR1) | (1<<UPE1)))
-#define PS2_USART_RX_VECT USART1_RX_vect
+# define PS2_USART_INIT() \
+ do { \
+ PS2_CLOCK_DDR &= ~(1 << PS2_CLOCK_BIT); \
+ PS2_DATA_DDR &= ~(1 << PS2_DATA_BIT); \
+ UCSR1C = ((1 << UMSEL10) | (3 << UPM10) | (0 << USBS1) | (3 << UCSZ10) | (0 << UCPOL1)); \
+ UCSR1A = 0; \
+ UBRR1H = 0; \
+ UBRR1L = 0; \
+ } while (0)
+# define PS2_USART_RX_INT_ON() \
+ do { \
+ UCSR1B = ((1 << RXCIE1) | (1 << RXEN1)); \
+ } while (0)
+# define PS2_USART_RX_POLL_ON() \
+ do { \
+ UCSR1B = (1 << RXEN1); \
+ } while (0)
+# define PS2_USART_OFF() \
+ do { \
+ UCSR1C = 0; \
+ UCSR1B &= ~((1 << RXEN1) | (1 << TXEN1)); \
+ } while (0)
+# define PS2_USART_RX_READY (UCSR1A & (1 << RXC1))
+# define PS2_USART_RX_DATA UDR1
+# define PS2_USART_ERROR (UCSR1A & ((1 << FE1) | (1 << DOR1) | (1 << UPE1)))
+# define PS2_USART_RX_VECT USART1_RX_vect
#endif
diff --git a/keyboards/handwired/promethium/rules.mk b/keyboards/handwired/promethium/rules.mk
index 4b96e2f691..52caf4b594 100644
--- a/keyboards/handwired/promethium/rules.mk
+++ b/keyboards/handwired/promethium/rules.mk
@@ -33,7 +33,6 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
PS2_MOUSE_ENABLE = yes
PS2_USE_INT = yes
-API_SYSEX_ENABLE = no
CUSTOM_MATRIX = yes
BLUETOOTH = AdafruitBLE
diff --git a/keyboards/handwired/pteron/keymaps/FSund/keymap.c b/keyboards/handwired/pteron/keymaps/FSund/keymap.c
index a52e842977..98acdcf339 100644
--- a/keyboards/handwired/pteron/keymaps/FSund/keymap.c
+++ b/keyboards/handwired/pteron/keymaps/FSund/keymap.c
@@ -65,9 +65,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_QWERTY] = 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_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_AA,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_OE, KC_AE,
+ 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_AA,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_OE, KC_AE,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSHIFT,
LOWER, KC_SPC, KC_LALT, KC_LGUI, KC_RGUI, KC_RALT, KC_ENT, RAISE
),
@@ -87,23 +87,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_LOWER] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, F_BSLH, F_FSLH, F_SBRL, F_SBRR, F_EQL, KC_DEL,
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, F_ABRL, F_ABRR, F_RBRL, F_RBRR, F_TIMES, F_TILD,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, F_BSLH, F_FSLH, F_SBRL, F_SBRR, F_EQL, KC_DEL,
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, F_ABRL, F_ABRR, F_RBRL, F_RBRR, F_TIMES, F_TILD,
_______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, F_CBRL, F_CBRR, F_PLUS, _______,
_______, _______, _______, _______, _______, _______, _______, _______
),
[_RAISE] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_AA,
- F_SECT, S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), F_QUEST, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, F_APOS,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_AA,
+ F_SECT, S(KC_1), S(KC_2), S(KC_3), S(KC_4), S(KC_5), F_QUEST, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, F_APOS,
_______, S(KC_6), G(KC_2), G(KC_3), G(KC_4), G(KC_5), F_HAT, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______,
_______, _______, _______, _______, _______, _______, _______, _______
),
[_ADJUST] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, F_UML, F_GRAVE, F_ACUTE, _______, RESET, _______, _______, _______, _______, KC_PSCR, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, _______,
@@ -111,6 +111,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
)
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
diff --git a/keyboards/handwired/reddot/keymaps/default/keymap.c b/keyboards/handwired/reddot/keymaps/default/keymap.c
index 246a03b4d7..9ac394f7f7 100644
--- a/keyboards/handwired/reddot/keymaps/default/keymap.c
+++ b/keyboards/handwired/reddot/keymaps/default/keymap.c
@@ -5,18 +5,18 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TAB, KC_CAPS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, TG(1), KC_PSLS, KC_PAST, KC_PMNS, \
- KC_LALT, FR_AMP, FR_EACU, FR_QUOT, FR_APOS, FR_LPRN, KC_BSPC, KC_DEL, FR_MINS, FR_EGRV, FR_UNDS, FR_CCED, FR_AGRV, FR_RPRN, FR_EQL, KC_INS, KC_HOME, KC_PGUP, \
+ KC_LALT, FR_AMPR, FR_EACU, FR_DQUO, FR_QUOT, FR_LPRN, KC_BSPC, KC_DEL, FR_MINS, FR_EGRV, FR_UNDS, FR_CCED, FR_AGRV, FR_RPRN, FR_EQL, KC_INS, KC_HOME, KC_PGUP, \
KC_LGUI, FR_A, FR_Z, KC_E, KC_R, KC_T, KC_LSFT, KC_ENT, KC_ENT, KC_Y, KC_U, KC_I, KC_O, KC_P, FR_CIRC, FR_DLR, KC_DEL, KC_END, KC_PGDN, KC_PPLS, \
KC_LCTL, FR_Q, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, FR_M, FR_UGRV, FR_ASTR, KC_P1, KC_UP, KC_P3, \
- FR_LESS, FR_W, KC_X, KC_C, KC_V, KC_B, KC_SPC, KC_SPC, KC_N, FR_COMM, FR_SCLN, FR_COLN, FR_EXLM, KC_ALGR, KC_LEFT, KC_DOWN, KC_RGHT, KC_PENT \
+ FR_LABK, FR_W, KC_X, KC_C, KC_V, KC_B, KC_SPC, KC_SPC, KC_N, FR_COMM, FR_SCLN, FR_COLN, FR_EXLM, KC_ALGR, KC_LEFT, KC_DOWN, KC_RGHT, KC_PENT \
),
[1] = LAYOUT(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TAB, KC_CAPS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_PSLS, KC_PAST, KC_PMNS, \
- KC_LALT, FR_AMP, FR_EACU, FR_QUOT, FR_APOS, FR_LPRN, KC_BSPC, KC_DEL, FR_MINS, FR_EGRV, FR_UNDS, FR_CCED, FR_AGRV, FR_RPRN, FR_EQL, KC_7, KC_8, KC_9, \
+ KC_LALT, FR_AMPR, FR_EACU, FR_DQUO, FR_QUOT, FR_LPRN, KC_BSPC, KC_DEL, FR_MINS, FR_EGRV, FR_UNDS, FR_CCED, FR_AGRV, FR_RPRN, FR_EQL, KC_7, KC_8, KC_9, \
KC_LGUI, FR_A, FR_Z, KC_E, KC_R, KC_T, KC_LSFT, KC_ENT, KC_ENT, KC_Y, KC_U, KC_I, KC_O, KC_P, FR_CIRC, FR_DLR, KC_4, KC_5, KC_6, KC_PPLS, \
KC_LCTL, FR_Q, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, FR_M, FR_UGRV, FR_ASTR, KC_1, KC_2, KC_3, \
- FR_LESS, FR_W, KC_X, KC_C, KC_V, KC_B, KC_SPC, KC_SPC, KC_N, FR_COMM, FR_SCLN, FR_COLN, FR_EXLM, KC_ALGR, KC_LEFT, KC_DOWN, KC_RGHT, KC_PENT \
+ FR_LABK, FR_W, KC_X, KC_C, KC_V, KC_B, KC_SPC, KC_SPC, KC_N, FR_COMM, FR_SCLN, FR_COLN, FR_EXLM, KC_ALGR, KC_LEFT, KC_DOWN, KC_RGHT, KC_PENT \
),
};
diff --git a/keyboards/handwired/swiftrax/astro65/config.h b/keyboards/handwired/swiftrax/astro65/config.h
index 84cc9b53c5..6f77ba2006 100644
--- a/keyboards/handwired/swiftrax/astro65/config.h
+++ b/keyboards/handwired/swiftrax/astro65/config.h
@@ -26,13 +26,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MANUFACTURER Swiftrax
#define PRODUCT Astro65
/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 16
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 16
// ROWS: Top to bottom, COLS: Left to right
-#define MATRIX_ROW_PINS { B0, B3, F7, B1, B2 }
-#define MATRIX_COL_PINS { E6, D5, C7, C6, B6, B5, B4, D7, D6, D4, F0, F1, F4, F5, F6 }
+#define MATRIX_ROW_PINS \
+ { B0, B3, F7, B1, B2 }
+#define MATRIX_COL_PINS \
+ { E6, D5, D3, D4, D6, D7, B4, B5, B6, C6, C7, F6, F5, F4, F1, F0 }
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c b/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c
index c84efe2915..ba0018a70f 100644
--- a/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c
+++ b/keyboards/handwired/symmetric70_proto/matrix_debug/matrix.c
@@ -32,7 +32,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# define MATRIX_DEBUG_DELAY_END()
# define MATRIX_DEBUG_GAP()
#else
-# define MATRIX_DEBUG_GAP() asm volatile("nop \n nop":::"memory")
+# define MATRIX_DEBUG_GAP() asm volatile("nop \n nop" ::: "memory")
#endif
#ifndef MATRIX_IO_DELAY_ALWAYS
@@ -44,16 +44,16 @@ static pin_t direct_pins[MATRIX_ROWS][MATRIX_COLS] = DIRECT_PINS;
#elif (DIODE_DIRECTION == ROW2COL) || (DIODE_DIRECTION == COL2ROW)
static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
-# ifdef MATRIX_MUL_SELECT
-static const pin_t col_sel[MATRIX_COLS] = MATRIX_MUL_SEL;
-# endif
+# ifdef MATRIX_MUL_SELECT
+static const pin_t col_sel[MATRIX_COLS] = MATRIX_MUL_SEL;
+# endif
#endif
#ifdef MATRIX_IO_DELAY_PORTS
-static const pin_t delay_ports[] = { MATRIX_IO_DELAY_PORTS };
-static const port_data_t delay_masks[] = { MATRIX_IO_DELAY_MASKS };
+static const pin_t delay_ports[] = {MATRIX_IO_DELAY_PORTS};
+static const port_data_t delay_masks[] = {MATRIX_IO_DELAY_MASKS};
# ifdef MATRIX_IO_DELAY_MULSEL
-static const uint8_t delay_sel[] = { MATRIX_IO_DELAY_MULSEL };
+static const uint8_t delay_sel[] = {MATRIX_IO_DELAY_MULSEL};
# endif
#endif
@@ -120,10 +120,10 @@ static void unselect_rows(void) {
}
static void init_pins(void) {
-#ifdef MATRIX_MUL_SELECT
+# ifdef MATRIX_MUL_SELECT
setPinOutput(MATRIX_MUL_SELECT);
writePinLow(MATRIX_MUL_SELECT);
-#endif
+# endif
unselect_rows();
for (uint8_t x = 0; x < MATRIX_COLS; x++) {
setPinInputHigh_atomic(col_pins[x]);
@@ -141,10 +141,10 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
// For each col...
for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) {
// Select the col pin to read (active low)
-#ifdef MATRIX_MUL_SELECT
- writePin(MATRIX_MUL_SELECT,col_sel[col_index]);
+# ifdef MATRIX_MUL_SELECT
+ writePin(MATRIX_MUL_SELECT, col_sel[col_index]);
waitInputPinDelay();
-#endif
+# endif
uint8_t pin_state = readPin(col_pins[col_index]);
// Populate the matrix row with the state of the col pin
@@ -153,37 +153,38 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
// Unselect row
unselect_row(current_row);
-#ifdef MATRIX_IO_DELAY_PORTS
+# ifdef MATRIX_IO_DELAY_PORTS
if (current_row_value) { // wait for col signal to go HIGH
bool is_pressed;
do {
MATRIX_DEBUG_DELAY_START();
is_pressed = false;
- for (uint8_t i = 0; i < sizeof(delay_ports)/sizeof(pin_t); i++ ) {
-# ifdef MATRIX_IO_DELAY_MULSEL
+ for (uint8_t i = 0; i < sizeof(delay_ports) / sizeof(pin_t); i++) {
+# ifdef MATRIX_IO_DELAY_MULSEL
writePin(MATRIX_MUL_SELECT, delay_sel[i]);
waitInputPinDelay();
-# endif
- is_pressed |= ( (readPort(delay_ports[i]) & delay_masks[i]) != delay_masks[i] );
+# endif
+ is_pressed |= ((readPort(delay_ports[i]) & delay_masks[i]) != delay_masks[i]);
}
MATRIX_DEBUG_DELAY_END();
} while (is_pressed);
}
-#endif
-#ifdef MATRIX_IO_DELAY_ADAPTIVE
+# endif
+# ifdef MATRIX_IO_DELAY_ADAPTIVE
if (current_row_value) { // wait for col signal to go HIGH
for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) {
MATRIX_DEBUG_DELAY_START();
-#ifdef MATRIX_MUL_SELECT
- writePin(MATRIX_MUL_SELECT,col_sel[col_index]);
+# ifdef MATRIX_MUL_SELECT
+ writePin(MATRIX_MUL_SELECT, col_sel[col_index]);
waitInputPinDelay();
-#endif
- while (readPin(col_pins[col_index]) == 0) {}
+# endif
+ while (readPin(col_pins[col_index]) == 0) {
+ }
MATRIX_DEBUG_DELAY_END();
}
}
-#endif
-#ifdef MATRIX_IO_DELAY_ADAPTIVE2
+# endif
+# ifdef MATRIX_IO_DELAY_ADAPTIVE2
if (current_row_value) { // wait for col signal to go HIGH
pin_t state;
do {
@@ -192,19 +193,19 @@ static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row)
for (uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) {
MATRIX_DEBUG_DELAY_END();
MATRIX_DEBUG_DELAY_START();
-#ifdef MATRIX_MUL_SELECT
- writePin(MATRIX_MUL_SELECT,col_sel[col_index]);
+# ifdef MATRIX_MUL_SELECT
+ writePin(MATRIX_MUL_SELECT, col_sel[col_index]);
waitInputPinDelay();
-#endif
+# endif
state |= (readPin(col_pins[col_index]) == 0);
}
MATRIX_DEBUG_DELAY_END();
} while (state);
}
-#endif
+# endif
if (MATRIX_IO_DELAY_ALWAYS || current_row + 1 < MATRIX_ROWS) {
MATRIX_DEBUG_DELAY_START();
- matrix_output_unselect_delay(); // wait for col signal to go HIGH
+ matrix_output_unselect_delay(current_row, current_row_value != 0); // wait for col signal to go HIGH
MATRIX_DEBUG_DELAY_END();
}
@@ -237,6 +238,7 @@ static void init_pins(void) {
static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col) {
bool matrix_changed = false;
+ bool key_pressed = false;
// Select col
select_col(current_col);
@@ -252,6 +254,7 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col)
if (readPin(row_pins[row_index]) == 0) {
// Pin LO, set col bit
current_row_value |= (MATRIX_ROW_SHIFTER << current_col);
+ key_pressed = true;
} else {
// Pin HI, clear col bit
current_row_value &= ~(MATRIX_ROW_SHIFTER << current_col);
@@ -267,7 +270,7 @@ static bool read_rows_on_col(matrix_row_t current_matrix[], uint8_t current_col)
// Unselect col
unselect_col(current_col);
if (MATRIX_IO_DELAY_ALWAYS || current_col + 1 < MATRIX_COLS) {
- matrix_output_unselect_delay(); // wait for col signal to go HIGH
+ matrix_output_unselect_delay(current_col, key_pressed); // wait for col signal to go HIGH
}
return matrix_changed;
@@ -311,11 +314,13 @@ uint8_t matrix_scan(void) {
changed |= read_rows_on_col(raw_matrix, current_col);
}
#endif
- MATRIX_DEBUG_SCAN_END(); MATRIX_DEBUG_GAP();
+ MATRIX_DEBUG_SCAN_END();
+ MATRIX_DEBUG_GAP();
MATRIX_DEBUG_SCAN_START();
debounce(raw_matrix, matrix, MATRIX_ROWS, changed);
- MATRIX_DEBUG_SCAN_END(); MATRIX_DEBUG_GAP();
+ MATRIX_DEBUG_SCAN_END();
+ MATRIX_DEBUG_GAP();
MATRIX_DEBUG_SCAN_START();
matrix_scan_quantum();
diff --git a/keyboards/handwired/symmetric70_proto/proton_c/proton_c.c b/keyboards/handwired/symmetric70_proto/proton_c/proton_c.c
index 3fe5bc297c..dfdc9d7597 100644
--- a/keyboards/handwired/symmetric70_proto/proton_c/proton_c.c
+++ b/keyboards/handwired/symmetric70_proto/proton_c/proton_c.c
@@ -4,9 +4,9 @@
/* In tmk_core/common/wait.h, the implementation for PROTOCOL_CHIBIOS
* calls 'chThdSleepMicroseconds(1)' when 'wait_us(0)'.
* However, 'wait_us(0)' should do nothing. */
-void matrix_output_unselect_delay(void) {
-# if !defined(MATRIX_IO_DELAY) || MATRIX_IO_DELAY > 0
+void matrix_output_unselect_delay(uint8_t line, bool key_pressed) {
+# if !defined(MATRIX_IO_DELAY) || MATRIX_IO_DELAY > 0
matrix_io_delay();
-# endif
+# endif
}
#endif
diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/4x6_right.c b/keyboards/handwired/tractyl_manuform/4x6_right/4x6_right.c
new file mode 100644
index 0000000000..7ea4d97472
--- /dev/null
+++ b/keyboards/handwired/tractyl_manuform/4x6_right/4x6_right.c
@@ -0,0 +1,67 @@
+/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.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 "4x6_right.h"
+
+#ifdef RGB_MATRIX_ENABLE
+led_config_t g_led_config = { {
+ { 24, 23, 18, 17, 10, 9 },
+ { 25, 22, 19, 16, 11, 8 },
+ { 26, 21, 20, 15, 12, 7 },
+ { NO_LED, NO_LED, NO_LED, 14, 13, 6 },
+ { NO_LED, NO_LED, NO_LED, 14, 13, 6 },
+ { 51, 50, 45, 44, 37, 36 },
+ { 52, 49, 46, 43, 38, 35 },
+ { 53, 48, 47, 42, 39, 34 },
+ { NO_LED, NO_LED, NO_LED, 41, 40, 33 },
+ { NO_LED, NO_LED, NO_LED, 41, 40, 33 }
+}, {
+ { 85, 16 }, { 50, 13 }, { 16, 20 }, { 16, 38 }, { 50, 48 }, { 85, 52 }, { 95, 63 },
+ { 85, 39 }, { 85, 21 }, { 85, 4 }, { 68, 2 }, { 68, 19 }, { 68, 37 }, { 80, 58 },
+ { 60, 55 }, { 50, 35 }, { 50, 13 }, { 50, 0 }, { 33, 3 }, { 33, 20 }, { 33, 37 },
+ { 16, 42 }, { 16, 24 }, { 16, 7 }, { 0, 7 }, { 0, 24 }, { 0, 41 }, { 139, 16 },
+ { 174, 13 }, { 208, 20 }, { 208, 38 }, { 174, 48 }, { 139, 52 }, { 129, 63 }, { 139, 39 },
+ { 139, 21 }, { 139, 4 }, { 156, 2 }, { 156, 19 }, { 156, 37 }, { 144, 58 }, { 164, 55 },
+ { 174, 35 }, { 174, 13 }, { 174, 0 }, { 191, 3 }, { 191, 20 }, { 191, 37 }, { 208, 42 },
+ { 208, 24 }, { 208, 7 }, { 224, 7 }, { 224, 24 }, { 224, 41 }
+}, {
+ 2, 2, 2, 2, 2, 2, 1,
+ 4, 4, 4, 4, 4, 4, 1,
+ 1, 4, 4, 4, 4, 4, 4,
+ 4, 4, 4, 1, 1, 1, 2,
+ 2, 2, 2, 2, 2, 1, 4,
+ 4, 4, 4, 4, 4, 1, 1,
+ 4, 4, 4, 4, 4, 4, 4,
+ 4, 4, 1, 1, 1
+} };
+#endif
+
+#ifdef SWAP_HANDS_ENABLE
+const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
+ /* Left hand, matrix positions */
+ {{5, 5}, {4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}},
+ {{5, 6}, {4, 6}, {3, 6}, {2, 6}, {1, 6}, {0, 6}},
+ {{5, 7}, {4, 7}, {3, 7}, {2, 7}, {1, 7}, {0, 7}},
+ {{5, 8}, {4, 8}, {3, 8}, {2, 8}, {1, 8}, {0, 8}},
+ {{5, 9}, {4, 9}, {3, 9}, {2, 9}, {1, 9}, {0, 9}},
+ /* Right hand, matrix positions */
+ {{5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
+ {{5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
+ {{5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
+ {{5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}},
+ {{5, 4}, {4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4}}
+};
+#endif
diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/4x6_right.h b/keyboards/handwired/tractyl_manuform/4x6_right/4x6_right.h
new file mode 100644
index 0000000000..66b5880785
--- /dev/null
+++ b/keyboards/handwired/tractyl_manuform/4x6_right/4x6_right.h
@@ -0,0 +1,47 @@
+/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#include "tractyl_manuform.h"
+#include "quantum.h"
+
+#define ___ KC_NO
+
+// clang-format off
+#define LAYOUT_4x6_right(\
+ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
+ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
+ L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
+ L32, L33, R32, R33, \
+ L34, L35, R31, \
+ L44, L45, R41, \
+ L42, L43, R42, R43 \
+ ) \
+ { \
+ { L00, L01, L02, L03, L04, L05 }, \
+ { L10, L11, L12, L13, L14, L15 }, \
+ { L20, L21, L22, L23, L24, L25 }, \
+ { ___, ___, L32, L33, L34, L35 }, \
+ { ___, ___, L42, L43, L44, L45 }, \
+ \
+ { R00, R01, R02, R03, R04, R05 }, \
+ { R10, R11, R12, R13, R14, R15 }, \
+ { R20, R21, R22, R23, R24, R25 }, \
+ { ___, R31, R32, R33, ___, ___ }, \
+ { ___, R41, R42, R43, ___, ___ } \
+}
+// clang-format on
diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/config.h b/keyboards/handwired/tractyl_manuform/4x6_right/config.h
new file mode 100644
index 0000000000..2f29778f33
--- /dev/null
+++ b/keyboards/handwired/tractyl_manuform/4x6_right/config.h
@@ -0,0 +1,91 @@
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+#define PRODUCT_ID 0x3537
+#define DEVICE_VER 0x0001
+#define PRODUCT Tractyl Manuform(4x6)
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 10
+#define MATRIX_COLS 6
+
+// wiring of each half
+#define MATRIX_COL_PINS { C0, C1, C2, C3, C4, C5 }
+#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4 }
+
+#define DIODE_DIRECTION COL2ROW
+
+// WS2812 RGB LED strip input and number of LEDs
+#define RGB_DI_PIN E7
+#define DRIVER_LED_TOTAL 62
+#define RGB_MATRIX_SPLIT { 32, 30 }
+#define RGB_DISABLE_WHEN_USB_SUSPENDED
+#define RGB_MATRIX_KEYPRESSES
+// #define RGB_MATRIX_KEYRELEASES
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 80
+
+#define SPLIT_TRANSPORT_MIRROR
+#define SPLIT_HAND_PIN A6
+
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* number of backlight levels */
+// #define BACKLIGHT_LEVELS 3
+
+// #define DEBUG_LED_PIN D6
+
+#define ROTATIONAL_TRANSFORM_ANGLE -25
+
+/* Bootmagic Lite key configuration */
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0
+#define BOOTMAGIC_LITE_ROW_RIGHT 4
+#define BOOTMAGIC_LITE_COLUMN_RIGHT 5
+
+#define AUDIO_PIN C6
+#define AUDIO_PIN_ALT B7
+
+#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095
+#define DYNAMIC_KEYMAP_LAYER_COUNT 16
+#define LAYER_STATE_16BIT
+
+/* serial.c configuration for split keyboard */
+#define SOFT_SERIAL_PIN D3
+#define EE_HANDS
+
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
+
+#define SERIAL_USE_MULTI_TRANSACTION
+#define SPLIT_TRANSACTION_IDS_KB RPC_ID_STATE_SYNC, RPC_ID_SLAVE_STATE
diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/info.json b/keyboards/handwired/tractyl_manuform/4x6_right/info.json
index 8a413ec44f..03a570730f 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/info.json
+++ b/keyboards/handwired/tractyl_manuform/4x6_right/info.json
@@ -1,11 +1,11 @@
{
- "keyboard_name": "Dactyl Manuform 5x6",
+ "keyboard_name": "Tractyl Manuform 4x6",
"url": "",
- "maintainer": "qmk",
+ "maintainer": "drashna",
"width": 17,
"height": 8,
"layouts": {
- "LAYOUT_5x6_right_trackball": {
+ "LAYOUT_5x6_right": {
"layout": [
{"label":"L00", "x":0, "y":0},
{"label":"L01", "x":1, "y":0},
diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/default/keymap.c b/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/default/keymap.c
new file mode 100644
index 0000000000..d79f60b12c
--- /dev/null
+++ b/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/default/keymap.c
@@ -0,0 +1,62 @@
+/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+enum custom_layers {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+};
+
+#define RAISE MO(_RAISE)
+#define LOWER MO(_LOWER)
+
+#define RAISE MO(_RAISE)
+#define LOWER MO(_LOWER)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[_QWERTY] = LAYOUT_4x6_right(
+ 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_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_BSLASH,
+ KC_LBRC,KC_RBRC, KC_PLUS, KC_EQL,
+ RAISE, KC_SPC, LOWER,
+ KC_TAB, KC_HOME, KC_ENT,
+ KC_BSPC,KC_GRV, KC_LGUI,KC_DEL
+),
+
+[_LOWER] = LAYOUT_4x6_right(
+ _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, RESET, 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_PSCR, _______, KC_P0,
+ _______,_______, _______,
+ _______,_______, _______,
+ _______,_______, _______,_______
+),
+
+[_RAISE] = LAYOUT_4x6_right(
+ _______,RESET, _______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS, KC_SLCK,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_EQL ,_______,
+ _______,_______, _______,
+ _______,_______, _______,
+ _______,_______, _______,_______
+),
+};
diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/config.h b/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/config.h
index dedd1f5fe2..21bc8e616a 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/config.h
+++ b/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/config.h
@@ -17,13 +17,12 @@
#pragma once
// #define USE_I2C
-#define SELECT_SOFT_SERIAL_SPEED 0
+// #define SELECT_SOFT_SERIAL_SPEED 1
// #define SERIAL_USE_MULTI_TRANSACTION
#define SPLIT_MODS_ENABLE
#define EE_HANDS
-#define TRACKBALL_DPI_OPTIONS \
- { 1200, 1800, 2600, 3400 }
+#define TRACKBALL_DPI_OPTIONS { 1200, 1800, 2600, 3400 }
#define RGBLIGHT_MAX_BRIGHTNESS 60
@@ -35,5 +34,3 @@
#define OLED_DISPLAY_128X64
#define OLED_BRIGHTNESS 50
-
-#define MK_KINETIC_SPEED
diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/keymap.c b/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/keymap.c
new file mode 100644
index 0000000000..28683cef3e
--- /dev/null
+++ b/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/keymap.c
@@ -0,0 +1,217 @@
+/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.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 "drashna.h"
+
+// clang-format off
+#define LAYOUT_4x6_right_wrapper(...) LAYOUT_4x6_right(__VA_ARGS__)
+#define LAYOUT_4x6_right_base( \
+ K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
+ K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \
+ K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \
+ ) \
+ LAYOUT_4x6_right_wrapper( \
+ SH_TT, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, SH_TT, \
+ LALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \
+ OS_LSFT, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \
+ OS_LGUI, OS_LALT, OS_RGUI, OS_RALT, \
+ KC_PSCR, KC_GRV, MEH_T(KC_BTN3), \
+ KC_SPC, OS_LGUI, KC_ENT, \
+ BK_LWER, TT(_MOUSE), TT(_MOUSE), DL_RAIS \
+ )
+#define LAYOUT_base_wrapper(...) LAYOUT_4x6_right_base(__VA_ARGS__)
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper(
+ _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
+ _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
+ _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
+ ),
+
+ [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper(
+ ______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________,
+ ______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________,
+ ______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________
+ ),
+ [_DEFAULT_LAYER_3] = LAYOUT_base_wrapper(
+ _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
+ _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
+ _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
+ ),
+
+ [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper(
+ _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
+ _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
+ _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
+ ),
+
+ [_MOUSE] = LAYOUT_4x6_right(
+ _______, _______, _______, _______, _______, _______, KC_WH_U, _______, _______, _______, DPI_CONFIG, _______,
+ _______, _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN6, _______,
+ _______, _______, _______, _______, _______, _______, KC_BTN7, KC_BTN4, KC_BTN5, KC_BTN8, _______, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______, _______
+ ),
+ [_GAMEPAD] = LAYOUT_4x6_right(
+ KC_F1, KC_K, KC_Q, KC_W, KC_E, KC_R, _______, _______, _______, _______, _______, _______,
+ KC_TAB, KC_G, KC_A, KC_S, KC_D, KC_F, _______, _______, _______, _______, _______, _______,
+ KC_LCTL, KC_LSFT, KC_Z, KC_X, KC_C, KC_H, _______, _______, _______, _______, _______, _______,
+ KC_I, KC_T, TG_GAME, KC_NO,
+ KC_V, KC_O, _______,
+ KC_SPC, KC_P, _______,
+ KC_H, KC_LGUI, _______, _______
+ ),
+ [_DIABLO] = LAYOUT_4x6_right(
+ KC_TAB, KC_S, KC_I, KC_F, KC_M, KC_T, _______, _______, _______, _______, _______, _______,
+ KC_Q, KC_1, KC_2, KC_3, KC_4, KC_G, _______, _______, _______, _______, _______, _______,
+ KC_LCTL, KC_D3_1, KC_D3_2, KC_D3_3, KC_D3_4, KC_Z, _______, _______, _______, _______, _______, _______,
+ KC_F, KC_L, KC_NO, TG_DBLO,
+ KC_DIABLO_CLEAR, KC_F, _______,
+ SFT_T(KC_SPC), KC_J, _______,
+ ALT_T(KC_Q), KC_LGUI, _______, _______
+ ),
+ [_LOWER] = LAYOUT_4x6_right_wrapper(
+ KC_F12, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_F11,
+ _______, _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE,
+ _______, _________________LOWER_L3__________________, _________________LOWER_R3__________________, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______, _______
+ ),
+ [_RAISE] = LAYOUT_4x6_right_wrapper(
+ KC_F12, _________________RAISE_L1__________________, _________________RAISE_R1__________________, KC_F11,
+ _______, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS,
+ _______, _________________RAISE_L3__________________, _________________RAISE_R3__________________, _______,
+ _______, _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______, _______
+ ),
+ [_ADJUST] = LAYOUT_4x6_right_wrapper(
+ KC_MAKE, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, KC_RST,
+ VRSN, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, EEP_RST,
+ UC_MOD, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, TG_MODS,
+ HPT_DWLI, HPT_DWLD, TG_GAME, TG_DBLO,
+ HPT_TOG, HPT_BUZ, KC_NUKE,
+ _______, _______, _______,
+ _______, _______, KC_NUKE, _______
+ ),
+};
+// clang-format on
+
+#ifdef POINTING_DEVICE_ENABLE
+static uint16_t mouse_timer = 0;
+static uint16_t mouse_debounce_timer = 0;
+static uint8_t mouse_keycode_tracker = 0;
+bool tap_toggling = false;
+
+void process_mouse_user(report_mouse_t* mouse_report, int16_t x, int16_t y) {
+ if ((x || y) && timer_elapsed(mouse_timer) > 125) {
+ mouse_timer = timer_read();
+ if (!layer_state_is(_MOUSE) && !(layer_state_is(_GAMEPAD) || layer_state_is(_DIABLO)) && timer_elapsed(mouse_debounce_timer) > 125) {
+ layer_on(_MOUSE);
+ }
+ }
+
+# ifdef TAPPING_TERM_PER_KEY
+ if (timer_elapsed(mouse_debounce_timer) > get_tapping_term(KC_BTN1, NULL)
+# else
+ if (timer_elapsed(mouse_debounce_timer) > TAPPING_TERM
+# endif
+ || (layer_state_is(_GAMEPAD) || layer_state_is(_DIABLO))) {
+ mouse_report->x = x;
+ mouse_report->y = y;
+ }
+# ifdef OLED_DRIVER_ENABLE
+ if (x || y) oled_timer = timer_read32();
+# endif
+}
+
+void matrix_scan_keymap(void) {
+ if (timer_elapsed(mouse_timer) > 650 && layer_state_is(_MOUSE) && !mouse_keycode_tracker && !tap_toggling) {
+ layer_off(_MOUSE);
+ }
+ if (tap_toggling) {
+ if (!layer_state_is(_MOUSE)) {
+ layer_on(_MOUSE);
+ }
+ }
+}
+
+bool process_record_keymap(uint16_t keycode, keyrecord_t* record) {
+ switch (keycode) {
+ case TT(_MOUSE):
+ {
+ if (record->event.pressed) {
+ mouse_keycode_tracker++;
+ } else {
+# if TAPPING_TOGGLE != 0
+ if (record->tap.count == TAPPING_TOGGLE) {
+ tap_toggling ^= 1;
+# if TAPPING_TOGGLE == 1
+ if (!tap_toggling) mouse_keycode_tracker -= record->tap.count + 1;
+# else
+ if (!tap_toggling) mouse_keycode_tracker -= record->tap.count;
+# endif
+ } else {
+ mouse_keycode_tracker--;
+ }
+# endif
+ }
+ mouse_timer = timer_read();
+ break;
+ }
+ case MO(_MOUSE):
+ case DPI_CONFIG:
+ case KC_MS_UP ... KC_MS_WH_RIGHT:
+ record->event.pressed ? mouse_keycode_tracker++ : mouse_keycode_tracker--;
+ mouse_timer = timer_read();
+ break;
+ default:
+ if (layer_state_is(_MOUSE) && !mouse_keycode_tracker) {
+ layer_off(_MOUSE);
+ }
+ mouse_keycode_tracker = 0;
+ mouse_debounce_timer = timer_read();
+ break;
+ }
+ return true;
+}
+
+layer_state_t layer_state_set_keymap(layer_state_t state) {
+ if (layer_state_cmp(state, _GAMEPAD) || layer_state_cmp(state, _DIABLO)) {
+ state |= (1UL << _MOUSE);
+ }
+ return state;
+}
+#endif
+
+void matrix_init_keymap(void) {
+#ifdef AUDIO_ENABLE
+ extern audio_config_t audio_config;
+
+ if (!is_keyboard_master()) {
+ audio_stop_all();
+ audio_config.enable = false;
+ }
+#endif
+}
+
+void keyboard_post_init_keymap(void) { matrix_init_keymap(); }
diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/rules.mk b/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/rules.mk
index 754f0e45de..d658d45bfc 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/rules.mk
+++ b/keyboards/handwired/tractyl_manuform/4x6_right/keymaps/drashna/rules.mk
@@ -1,6 +1,7 @@
RGBLIGHT_STARTUP_ANIMATION = yes
-COMMAND_ENABLE = no
AUDIO_ENABLE = yes
+HAPTIC_ENABLE = no
+COMMAND_ENABLE = no
TAP_DANCE_ENABLE = yes
UNICODE_ENABLE = yes
OLED_DRIVER_ENABLE = yes
diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/readme.md b/keyboards/handwired/tractyl_manuform/4x6_right/readme.md
index b6e38dc845..b6e38dc845 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/readme.md
+++ b/keyboards/handwired/tractyl_manuform/4x6_right/readme.md
diff --git a/keyboards/handwired/tractyl_manuform/4x6_right/rules.mk b/keyboards/handwired/tractyl_manuform/4x6_right/rules.mk
new file mode 100644
index 0000000000..6be8a89f6d
--- /dev/null
+++ b/keyboards/handwired/tractyl_manuform/4x6_right/rules.mk
@@ -0,0 +1,33 @@
+# MCU name
+MCU = at90usb1286
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no # Enable Bluetooth
+AUDIO_ENABLE = no # Audio output
+RGB_MATRIX_ENABLE = no
+RGB_MATRIX_DRIVER = WS2812
+
+
+POINTING_DEVICE_ENABLE = yes
+MOUSE_SHARED_EP = no
+
+SPLIT_KEYBOARD = yes
+
+SRC += drivers/sensors/pmw3360.c
+QUANTUM_LIB_SRC += spi_master.c tm_sync.c
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/5x6_right.c b/keyboards/handwired/tractyl_manuform/5x6_right/5x6_right.c
new file mode 100644
index 0000000000..af9cbda49d
--- /dev/null
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/5x6_right.c
@@ -0,0 +1,39 @@
+/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.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 "5x6_right.h"
+
+#ifdef SWAP_HANDS_ENABLE
+const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
+ /* Left hand, matrix positions */
+ {{5, 6}, {4, 6}, {3, 6}, {2, 6}, {1, 6}, {0, 6}},
+ {{5, 7}, {4, 7}, {3, 7}, {2, 7}, {1, 7}, {0, 7}},
+ {{5, 8}, {4, 8}, {3, 8}, {2, 8}, {1, 8}, {0, 8}},
+ {{5, 9}, {4, 9}, {3, 9}, {2, 9}, {1, 9}, {0, 9}},
+ {{5, 10}, {4, 10}, {3, 10}, {2, 10}, {1, 10}, {0, 10}},
+ {{5, 11}, {4, 11}, {3, 11}, {2, 11}, {1, 11}, {0, 11}},
+ /* Right hand, matrix positions */
+ {{5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
+ {{5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
+ {{5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
+ {{5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}},
+ {{5, 4}, {4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4}},
+ {{5, 5}, {4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}}};
+
+# ifdef ENCODER_MAP_ENABLE
+const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = {1, 0};
+# endif
+#endif
diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.h b/keyboards/handwired/tractyl_manuform/5x6_right/5x6_right.h
index c8650f73d3..90dc46d7e2 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.h
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/5x6_right.h
@@ -16,16 +16,13 @@
#pragma once
-#include "dactyl_manuform.h"
+#include "tractyl_manuform.h"
#include "quantum.h"
-#include "spi_master.h"
-#include "pmw3360.h"
-#include "pointing_device.h"
-
#define ___ KC_NO
-#define LAYOUT_5x6_right_trackball(\
+// clang-format off
+#define LAYOUT_5x6_right(\
L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
@@ -50,24 +47,4 @@
{ ___, R41, R42, R43, ___, ___ }, \
{ ___, R51, R52, R53, ___, ___ } \
}
-
-
-void process_wheel(report_mouse_t* mouse_report);
-void process_wheel_user(report_mouse_t* mouse_report, int16_t h, int16_t v);
-
-typedef union {
- uint32_t raw;
- struct {
- uint8_t dpi_config;
- };
-} keyboard_config_t;
-
-extern keyboard_config_t keyboard_config;
-
-enum ploopy_keycodes {
- DPI_CONFIG = SAFE_RANGE,
- KEYMAP_SAFE_RANGE,
-};
-
-void master_mouse_send(int8_t x, int8_t y);
-void trackball_set_cpi(uint16_t cpi);
+// clang-format on
diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/config.h
index bc6d66bb9d..915582c07e 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/config.h
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/config.h
@@ -20,9 +20,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define PRODUCT_ID 0x3536
-#define DEVICE_VER 0x0001
-#define PRODUCT Tractyl-Manuform (5x6 with right side Trackball)
+#define PRODUCT_ID 0x3536
+#define DEVICE_VER 0x0001
+#define PRODUCT Tractyl Manuform(5x6)
/* key matrix size */
// Rows are doubled-up
@@ -30,43 +30,63 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_COLS 6
// wiring of each half
-#define MATRIX_COL_PINS { C0, C1, C2, C3, C4, C5 }
-#define MATRIX_ROW_PINS { F7, F6, F5, F4, F3, F2 }
+#define MATRIX_COL_PINS \
+ { C0, C1, C2, C3, C4, C5 }
+#define MATRIX_ROW_PINS \
+ { F7, F6, F5, F4, F3, F2 }
#define DIODE_DIRECTION COL2ROW
// WS2812 RGB LED strip input and number of LEDs
-#define RGB_DI_PIN E7
-#define RGBLED_NUM 58
+#define RGB_DI_PIN E7
+#define RGBLED_NUM 20
#define RGBLIGHT_SPLIT
-#define RGBLED_SPLIT { 30 , 28 }
+#define RGBLED_SPLIT \
+ { 10, 10 }
#define RGBLIGHT_SLEEP
// #define RGBW
-#define RGBLIGHT_LIMIT_VAL 100
+#define RGBLIGHT_LIMIT_VAL 100
/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST
/* number of backlight levels */
// #define BACKLIGHT_LEVELS 3
-#define DEBUG_LED_PIN D6
+#define DEBUG_LED_PIN D6
-#define USB_POLLING_INTERVAL_MS 1
-
-#define ROTATIONAL_TRANSFORM_ANGLE -25
+#define ROTATIONAL_TRANSFORM_ANGLE -25
/* Bootmagic Lite key configuration */
-#define BOOTMAGIC_LITE_ROW 0
-#define BOOTMAGIC_LITE_COLUMN 0
-#define BOOTMAGIC_LITE_ROW_RIGHT 6
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0
+#define BOOTMAGIC_LITE_ROW_RIGHT 6
#define BOOTMAGIC_LITE_COLUMN_RIGHT 5
-#define AUDIO_PIN C6
-#define AUDIO_PIN_ALT B7
+#define AUDIO_PIN C6
+#define AUDIO_PIN_ALT B7
-#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095
-#define DYNAMIC_KEYMAP_LAYER_COUNT 16
+#define DYNAMIC_KEYMAP_LAYER_COUNT 16
+#define LAYER_STATE_16BIT
/* serial.c configuration for split keyboard */
-#undef SOFT_SERIAL_PIN
#define SOFT_SERIAL_PIN D2
+#define EE_HANDS
+
+#define ENCODERS_PAD_A \
+ { D5 }
+#define ENCODERS_PAD_B \
+ { D6 }
+#define ENCODER_RESOLUTION 4
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
+
+#define SERIAL_USE_MULTI_TRANSACTION
+#define SPLIT_TRANSACTION_IDS_KB RPC_ID_STATE_SYNC, RPC_ID_SLAVE_STATE
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/info.json b/keyboards/handwired/tractyl_manuform/5x6_right/info.json
new file mode 100644
index 0000000000..b6d4db4e7b
--- /dev/null
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/info.json
@@ -0,0 +1,75 @@
+{
+ "keyboard_name": "Tractyl Manuform 5x6",
+ "url": "",
+ "maintainer": "drashna",
+ "width": 17,
+ "height": 8,
+ "layouts": {
+ "LAYOUT_5x6_right": {
+ "layout": [
+ {"label":"L00", "x":0, "y":0},
+ {"label":"L01", "x":1, "y":0},
+ {"label":"L02", "x":2, "y":0},
+ {"label":"L03", "x":3, "y":0},
+ {"label":"L04", "x":4, "y":0},
+ {"label":"L05", "x":5, "y":0},
+ {"label":"R00", "x":11, "y":0},
+ {"label":"R01", "x":12, "y":0},
+ {"label":"R02", "x":13, "y":0},
+ {"label":"R03", "x":14, "y":0},
+ {"label":"R04", "x":15, "y":0},
+ {"label":"R05", "x":16, "y":0},
+ {"label":"L10", "x":0, "y":1},
+ {"label":"L11", "x":1, "y":1},
+ {"label":"L12", "x":2, "y":1},
+ {"label":"L13", "x":3, "y":1},
+ {"label":"L14", "x":4, "y":1},
+ {"label":"L15", "x":5, "y":1},
+ {"label":"R10", "x":11, "y":1},
+ {"label":"R11", "x":12, "y":1},
+ {"label":"R12", "x":13, "y":1},
+ {"label":"R13", "x":14, "y":1},
+ {"label":"R14", "x":15, "y":1},
+ {"label":"R15", "x":16, "y":1},
+ {"label":"L20", "x":0, "y":2},
+ {"label":"L21", "x":1, "y":2},
+ {"label":"L22", "x":2, "y":2},
+ {"label":"L23", "x":3, "y":2},
+ {"label":"L24", "x":4, "y":2},
+ {"label":"L25", "x":5, "y":2},
+ {"label":"R20", "x":11, "y":2},
+ {"label":"R21", "x":12, "y":2},
+ {"label":"R22", "x":13, "y":2},
+ {"label":"R23", "x":14, "y":2},
+ {"label":"R24", "x":15, "y":2},
+ {"label":"R25", "x":16, "y":2},
+ {"label":"L30", "x":0, "y":3},
+ {"label":"L31", "x":1, "y":3},
+ {"label":"L32", "x":2, "y":3},
+ {"label":"L33", "x":3, "y":3},
+ {"label":"L34", "x":4, "y":3},
+ {"label":"L35", "x":5, "y":3},
+ {"label":"R30", "x":11, "y":3},
+ {"label":"R31", "x":12, "y":3},
+ {"label":"R32", "x":13, "y":3},
+ {"label":"R33", "x":14, "y":3},
+ {"label":"R34", "x":15, "y":3},
+ {"label":"R35", "x":16, "y":3},
+ {"label":"L42", "x":2, "y":4},
+ {"label":"L43", "x":3, "y":4},
+ {"label":"R42", "x":13, "y":4},
+ {"label":"R43", "x":14, "y":4},
+ {"label":"L44", "x":4, "y":5},
+ {"label":"L45", "x":5, "y":5},
+ {"label":"R41", "x":12, "y":5},
+ {"label":"L54", "x":6, "y":6},
+ {"label":"L55", "x":7, "y":6},
+ {"label":"R51", "x":10, "y":6},
+ {"label":"L52", "x":6, "y":7},
+ {"label":"L53", "x":7, "y":7},
+ {"label":"R52", "x":9, "y":7},
+ {"label":"R53", "x":10, "y":7}
+ ]
+ }
+ }
+}
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/default/keymap.c b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/default/keymap.c
new file mode 100644
index 0000000000..30dafdf516
--- /dev/null
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/default/keymap.c
@@ -0,0 +1,63 @@
+/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include QMK_KEYBOARD_H
+
+enum custom_layers {
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+};
+
+
+#define RAISE MO(_RAISE)
+#define LOWER MO(_LOWER)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QWERTY] = LAYOUT_5x6_right(
+ 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_BSLASH,
+ KC_LBRC,KC_RBRC, KC_PLUS, KC_EQL,
+ RAISE,KC_SPC, LOWER,
+ KC_TAB,KC_HOME, KC_DEL,
+ KC_BSPC, KC_GRV, KC_LGUI, KC_ENT
+ ),
+
+ [_LOWER] = LAYOUT_5x6_right(
+ KC_TILD,KC_EXLM, KC_AT ,KC_HASH,KC_DLR ,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_DEL,
+ _______,_______,_______,_______,_______,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_PSCR, _______, KC_P0,
+ _______,_______, _______,
+ _______,_______, _______,
+ _______,_______, _______,_______
+
+ ),
+
+ [_RAISE] = LAYOUT_5x6_right(
+ KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 ,
+ _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NLCK,KC_INS ,KC_SLCK,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_EQL ,_______,
+ _______,_______, _______,
+ _______,_______, _______,
+ _______,_______, _______,_______
+ ),
+};
diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/post_config.h b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h
index 40f1029b5d..21bc8e616a 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/post_config.h
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h
@@ -16,18 +16,21 @@
#pragma once
-#ifndef MOUSEKEY_WHEEL_DELTA
-# define MOUSEKEY_WHEEL_DELTA 1
-#endif
-#ifndef MOUSEKEY_WHEEL_DELAY
-# define MOUSEKEY_WHEEL_DELAY 200
-#endif
-#ifndef MOUSEKEY_WHEEL_INTERVAL
-# define MOUSEKEY_WHEEL_INTERVAL 50
-#endif
-#ifndef MOUSEKEY_WHEEL_MAX_SPEED
-# define MOUSEKEY_WHEEL_MAX_SPEED 8
-#endif
-#ifndef MOUSEKEY_WHEEL_TIME_TO_MAX
-# define MOUSEKEY_WHEEL_TIME_TO_MAX 80
-#endif
+// #define USE_I2C
+// #define SELECT_SOFT_SERIAL_SPEED 1
+// #define SERIAL_USE_MULTI_TRANSACTION
+#define SPLIT_MODS_ENABLE
+#define EE_HANDS
+
+#define TRACKBALL_DPI_OPTIONS { 1200, 1800, 2600, 3400 }
+
+#define RGBLIGHT_MAX_BRIGHTNESS 60
+
+#undef DEBOUNCE
+#define DEBOUNCE 10
+
+#define SOLENOID_PIN F1
+#define SOLENOID_DEFAULT_DWELL 8
+
+#define OLED_DISPLAY_128X64
+#define OLED_BRIGHTNESS 50
diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/keymap.c b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c
index b3300daa9c..a57da64d54 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/drashna/keymap.c
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c
@@ -17,85 +17,59 @@
#include "drashna.h"
// clang-format off
-#define LAYOUT_5x6_right_trackball_wrapper(...) LAYOUT_5x6_right_trackball(__VA_ARGS__)
-#define LAYOUT_5x6_right_trackball_base( \
+#define LAYOUT_5x6_right_wrapper(...) LAYOUT_5x6_right(__VA_ARGS__)
+#define LAYOUT_5x6_right_base( \
K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, \
K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, \
K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \
) \
- LAYOUT_5x6_right_trackball_wrapper( \
- KC_ESC, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, KC_MINS, \
+ LAYOUT_5x6_right_wrapper( \
+ KC_ESC, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, UC_IRNY, \
SH_TT, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, SH_TT, \
LALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \
OS_LSFT, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \
- OS_LALT, OS_LGUI, TG_GAME, TG_DBLO, \
- OS_LGUI, KC_GRV, OS_RGUI, \
+ OS_LALT, OS_LGUI, OS_RGUI, OS_RALT, \
+ KC_MUTE, KC_GRV, KC_BTN3, \
KC_SPC, OS_LGUI, KC_ENT, \
BK_LWER, TT(_MOUSE), TT(_MOUSE), DL_RAIS \
)
-#define LAYOUT_5x6_right_trackball_base_wrapper(...) LAYOUT_5x6_right_trackball_base(__VA_ARGS__)
-
+#define LAYOUT_base_wrapper(...) LAYOUT_5x6_right_base(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT_5x6_right_trackball_base_wrapper(
+ [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper(
_________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
_________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
_________________QWERTY_L3_________________, _________________QWERTY_R3_________________
),
- [_COLEMAK] = LAYOUT_5x6_right_trackball_base_wrapper(
+ [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper(
+ ______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________,
+ ______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________,
+ ______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________
+ ),
+ [_DEFAULT_LAYER_3] = LAYOUT_base_wrapper(
_________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
_________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
_________________COLEMAK_L3________________, _________________COLEMAK_R3________________
),
- [_DVORAK] = LAYOUT_5x6_right_trackball_base_wrapper(
+ [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper(
_________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
_________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
_________________DVORAK_L3_________________, _________________DVORAK_R3_________________
),
- [_WORKMAN] = LAYOUT_5x6_right_trackball_base_wrapper(
- _________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
- _________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
- _________________WORKMAN_L3________________, _________________WORKMAN_R3________________
- ),
-
- [_NORMAN] = LAYOUT_5x6_right_trackball_base_wrapper(
- _________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
- _________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
- _________________NORMAN_L3_________________, _________________NORMAN_R3_________________
- ),
-
- [_MALTRON] = LAYOUT_5x6_right_trackball_base_wrapper(
- _________________MALTRON_L1________________, _________________MALTRON_R1________________,
- _________________MALTRON_L2________________, _________________MALTRON_R2________________,
- _________________MALTRON_L3________________, _________________MALTRON_R3________________
- ),
-
- [_EUCALYN] = LAYOUT_5x6_right_trackball_base_wrapper(
- _________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
- _________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
- _________________EUCALYN_L3________________, _________________EUCALYN_R3________________
- ),
-
- [_CARPLAX] = LAYOUT_5x6_right_trackball_base_wrapper(
- _____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
- _____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
- _____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
- ),
-
- [_MOUSE] = LAYOUT_5x6_right_trackball(
+ [_MOUSE] = LAYOUT_5x6_right(
_______, _______, _______, _______, _______, _______, DPI_CONFIG, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, KC_WH_U, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, KC_WH_D, KC_BTN1, KC_BTN3, KC_BTN2, KC_BTN6, _______,
_______, _______, _______, _______, _______, _______, KC_BTN7, KC_BTN4, KC_BTN5, KC_BTN8, _______, _______,
_______, _______, _______, _______,
- _______, _______, _______,
+ _______, _______, KC_BTN3,
_______, _______, _______,
_______, _______, _______, _______
),
- [_GAMEPAD] = LAYOUT_5x6_right_trackball(
+ [_GAMEPAD] = LAYOUT_5x6_right(
KC_ESC, KC_NO, KC_1, KC_2, KC_3, KC_4, DPI_CONFIG, _______, _______, _______, _______, _______,
KC_F1, KC_K, KC_Q, KC_W, KC_E, KC_R, _______, _______, _______, _______, _______, _______,
KC_TAB, KC_G, KC_A, KC_S, KC_D, KC_F, _______, _______, _______, _______, _______, _______,
@@ -105,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_SPC, KC_P, _______,
KC_H, KC_LGUI, _______, _______
),
- [_DIABLO] = LAYOUT_5x6_right_trackball(
+ [_DIABLO] = LAYOUT_5x6_right(
KC_ESC, KC_V, KC_D, KC_LALT, KC_NO, KC_NO, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO,
KC_TAB, KC_S, KC_I, KC_F, KC_M, KC_T, _______, _______, _______, _______, _______, _______,
KC_Q, KC_1, KC_2, KC_3, KC_4, KC_G, _______, _______, _______, _______, _______, _______,
@@ -115,7 +89,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
SFT_T(KC_SPC), KC_J, _______,
ALT_T(KC_Q), KC_LGUI, _______, _______
),
- [_LOWER] = LAYOUT_5x6_right_trackball_wrapper(
+ [_LOWER] = LAYOUT_5x6_right_wrapper(
KC_F12, _________________FUNC_LEFT_________________, _________________FUNC_RIGHT________________, KC_F11,
_______, _________________LOWER_L1__________________, _________________LOWER_R1__________________, _______,
_______, _________________LOWER_L2__________________, _________________LOWER_R2__________________, KC_PIPE,
@@ -125,7 +99,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______,
_______, _______, _______, _______
),
- [_RAISE] = LAYOUT_5x6_right_trackball_wrapper(
+ [_RAISE] = LAYOUT_5x6_right_wrapper(
KC_F12, _________________FUNC_LEFT_________________, _________________FUNC_RIGHT________________, KC_F11,
KC_GRV, _________________RAISE_L1__________________, _________________RAISE_R1__________________, _______,
_______, _________________RAISE_L2__________________, _________________RAISE_R2__________________, KC_BSLS,
@@ -135,17 +109,44 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______,
_______, _______, _______, _______
),
- [_ADJUST] = LAYOUT_5x6_right_trackball_wrapper(
+ [_ADJUST] = LAYOUT_5x6_right_wrapper(
KC_MAKE, ___________________BLANK___________________, _________________ADJUST_R1_________________, KC_RST,
VRSN, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, EEP_RST,
- _______, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, TG_MODS,
+ UC_MOD, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, TG_MODS,
_______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, KC_MPLY,
- HPT_DWLI, HPT_DWLD, _______, _______,
+ HPT_DWLI, HPT_DWLD, TG_GAME, TG_DBLO,
HPT_TOG, HPT_BUZ, KC_NUKE,
_______, _______, _______,
_______, _______, KC_NUKE, _______
),
};
+
+#define BASE_ENCODERS { { KC_VOLD, KC_VOLU }, { KC_WH_D, KC_WH_U } }
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_DEFAULT_LAYER_1] = BASE_ENCODERS,
+ [_DEFAULT_LAYER_2] = BASE_ENCODERS,
+ [_DEFAULT_LAYER_3] = BASE_ENCODERS,
+ [_DEFAULT_LAYER_4] = BASE_ENCODERS,
+ [_GAMEPAD] = { { _______, _______ }, { _______, _______ } },
+ [_DIABLO] = { { _______, _______ }, { _______, _______ } },
+ [_MOUSE] = { { _______, _______ }, { KC_WH_D, KC_WH_U } },
+ [_MEDIA] = { { _______, _______ }, { _______, _______ } },
+ [_RAISE] = { { _______, _______ }, { KC_PGDN, KC_PGUP } },
+ [_LOWER] = { { RGB_MOD, RGB_RMOD}, { RGB_HUD, RGB_HUI } },
+ [_ADJUST] = { { CK_DOWN, CK_UP }, { _______, _______ } },
+};
+#else
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ if (index == 0) {
+ tap_code_delay(clockwise ? KC_VOLU : KC_VOLD, 5);
+ } else if (index == 1) {
+ tap_code_delay(clockwise ? KC_WH_U : KC_WH_D, 5);
+ }
+ return false;
+}
+#endif
// clang-format on
#ifdef POINTING_DEVICE_ENABLE
@@ -189,26 +190,27 @@ void matrix_scan_keymap(void) {
bool process_record_keymap(uint16_t keycode, keyrecord_t* record) {
switch (keycode) {
- case TT(_MOUSE): {
- if (record->event.pressed) {
- mouse_keycode_tracker++;
- } else {
+ case TT(_MOUSE):
+ {
+ if (record->event.pressed) {
+ mouse_keycode_tracker++;
+ } else {
# if TAPPING_TOGGLE != 0
- if (record->tap.count == TAPPING_TOGGLE) {
- tap_toggling ^= 1;
+ if (record->tap.count == TAPPING_TOGGLE) {
+ tap_toggling ^= 1;
# if TAPPING_TOGGLE == 1
- if (!tap_toggling) mouse_keycode_tracker -= record->tap.count + 1;
+ if (!tap_toggling) mouse_keycode_tracker -= record->tap.count + 1;
# else
- if (!tap_toggling) mouse_keycode_tracker -= record->tap.count;
+ if (!tap_toggling) mouse_keycode_tracker -= record->tap.count;
# endif
- } else {
- mouse_keycode_tracker--;
- }
+ } else {
+ mouse_keycode_tracker--;
+ }
# endif
+ }
+ mouse_timer = timer_read();
+ break;
}
- mouse_timer = timer_read();
- break;
- }
case MO(_MOUSE):
case DPI_CONFIG:
case KC_MS_UP ... KC_MS_WH_RIGHT:
@@ -216,11 +218,12 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t* record) {
mouse_timer = timer_read();
break;
default:
+ if (IS_NOEVENT(record->event)) break;
if (layer_state_is(_MOUSE) && !mouse_keycode_tracker) {
layer_off(_MOUSE);
}
mouse_keycode_tracker = 0;
- mouse_debounce_timer = timer_read();
+ mouse_debounce_timer = timer_read();
break;
}
return true;
@@ -228,7 +231,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t* record) {
layer_state_t layer_state_set_keymap(layer_state_t state) {
if (layer_state_cmp(state, _GAMEPAD) || layer_state_cmp(state, _DIABLO)) {
- state |= (1UL << _MOUSE);
+ state |= ((layer_state_t)1 << _MOUSE);
}
return state;
}
@@ -245,6 +248,4 @@ void matrix_init_keymap(void) {
#endif
}
-void keyboard_post_init_keymap(void) {
- matrix_init_keymap();
-}
+void keyboard_post_init_keymap(void) { matrix_init_keymap(); }
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rgblight_breathe_table.h b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rgblight_breathe_table.h
new file mode 100644
index 0000000000..fb921079bf
--- /dev/null
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rgblight_breathe_table.h
@@ -0,0 +1,117 @@
+#pragma once
+
+#define RGBLIGHT_EFFECT_BREATHE_TABLE
+
+// clang-format off
+
+// Breathing center: 1.85
+// Breathing max: 100
+
+const uint8_t PROGMEM rgblight_effect_breathe_table[] = {
+#if RGBLIGHT_BREATHE_TABLE_SIZE == 256
+ 0x0D, 0x0E, 0x0E, 0x0F, 0x0F, 0x10, 0x10, 0x11,
+ 0x11, 0x12, 0x13, 0x13, 0x14, 0x14, 0x15, 0x16,
+ 0x16, 0x17, 0x18, 0x18, 0x19, 0x19, 0x1A, 0x1B,
+ 0x1B, 0x1C, 0x1D, 0x1E, 0x1E, 0x1F, 0x20, 0x20,
+ 0x21, 0x22, 0x22, 0x23, 0x24, 0x25, 0x25, 0x26,
+ 0x27, 0x28, 0x28, 0x29, 0x2A, 0x2B, 0x2B, 0x2C,
+ 0x2D, 0x2E, 0x2E, 0x2F, 0x30, 0x31, 0x31, 0x32,
+ 0x33, 0x34, 0x34, 0x35, 0x36, 0x37, 0x38, 0x38,
+ 0x39, 0x3A, 0x3B, 0x3B, 0x3C, 0x3D, 0x3D, 0x3E,
+ 0x3F, 0x40, 0x40, 0x41, 0x42, 0x42, 0x43, 0x44,
+ 0x44, 0x45, 0x46, 0x46, 0x47, 0x48, 0x48, 0x49,
+ 0x4A, 0x4A, 0x4B, 0x4B, 0x4C, 0x4C, 0x4D, 0x4D,
+ 0x4E, 0x4E, 0x4F, 0x4F, 0x50, 0x50, 0x51, 0x51,
+ 0x51, 0x52, 0x52, 0x53, 0x53, 0x53, 0x54, 0x54,
+ 0x54, 0x54, 0x55, 0x55, 0x55, 0x55, 0x55, 0x56,
+ 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56,
+ 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x56,
+ 0x56, 0x55, 0x55, 0x55, 0x55, 0x55, 0x54, 0x54,
+ 0x54, 0x54, 0x53, 0x53, 0x53, 0x52, 0x52, 0x51,
+ 0x51, 0x51, 0x50, 0x50, 0x4F, 0x4F, 0x4E, 0x4E,
+ 0x4D, 0x4D, 0x4C, 0x4C, 0x4B, 0x4B, 0x4A, 0x4A,
+ 0x49, 0x48, 0x48, 0x47, 0x46, 0x46, 0x45, 0x44,
+ 0x44, 0x43, 0x42, 0x42, 0x41, 0x40, 0x40, 0x3F,
+ 0x3E, 0x3D, 0x3D, 0x3C, 0x3B, 0x3B, 0x3A, 0x39,
+ 0x38, 0x38, 0x37, 0x36, 0x35, 0x34, 0x34, 0x33,
+ 0x32, 0x31, 0x31, 0x30, 0x2F, 0x2E, 0x2E, 0x2D,
+ 0x2C, 0x2B, 0x2B, 0x2A, 0x29, 0x28, 0x28, 0x27,
+ 0x26, 0x25, 0x25, 0x24, 0x23, 0x22, 0x22, 0x21,
+ 0x20, 0x20, 0x1F, 0x1E, 0x1E, 0x1D, 0x1C, 0x1B,
+ 0x1B, 0x1A, 0x19, 0x19, 0x18, 0x18, 0x17, 0x16,
+ 0x16, 0x15, 0x14, 0x14, 0x13, 0x13, 0x12, 0x11,
+ 0x11, 0x10, 0x10, 0x0F, 0x0F, 0x0E, 0x0E, 0x0D
+#endif
+
+#if RGBLIGHT_BREATHE_TABLE_SIZE == 128
+ 0x0D, 0x0E, 0x0F, 0x10,
+ 0x11, 0x13, 0x14, 0x15,
+ 0x16, 0x18, 0x19, 0x1A,
+ 0x1B, 0x1D, 0x1E, 0x20,
+ 0x21, 0x22, 0x24, 0x25,
+ 0x27, 0x28, 0x2A, 0x2B,
+ 0x2D, 0x2E, 0x30, 0x31,
+ 0x33, 0x34, 0x36, 0x38,
+ 0x39, 0x3B, 0x3C, 0x3D,
+ 0x3F, 0x40, 0x42, 0x43,
+ 0x44, 0x46, 0x47, 0x48,
+ 0x4A, 0x4B, 0x4C, 0x4D,
+ 0x4E, 0x4F, 0x50, 0x51,
+ 0x51, 0x52, 0x53, 0x54,
+ 0x54, 0x55, 0x55, 0x55,
+ 0x56, 0x56, 0x56, 0x56,
+ 0x56, 0x56, 0x56, 0x56,
+ 0x56, 0x55, 0x55, 0x54,
+ 0x54, 0x53, 0x53, 0x52,
+ 0x51, 0x50, 0x4F, 0x4E,
+ 0x4D, 0x4C, 0x4B, 0x4A,
+ 0x49, 0x48, 0x46, 0x45,
+ 0x44, 0x42, 0x41, 0x40,
+ 0x3E, 0x3D, 0x3B, 0x3A,
+ 0x38, 0x37, 0x35, 0x34,
+ 0x32, 0x31, 0x2F, 0x2E,
+ 0x2C, 0x2B, 0x29, 0x28,
+ 0x26, 0x25, 0x23, 0x22,
+ 0x20, 0x1F, 0x1E, 0x1C,
+ 0x1B, 0x19, 0x18, 0x17,
+ 0x16, 0x14, 0x13, 0x12,
+ 0x11, 0x10, 0x0F, 0x0E
+#endif
+
+#if RGBLIGHT_BREATHE_TABLE_SIZE == 64
+ 0x0D, 0x0F,
+ 0x11, 0x14,
+ 0x16, 0x19,
+ 0x1B, 0x1E,
+ 0x21, 0x24,
+ 0x27, 0x2A,
+ 0x2D, 0x30,
+ 0x33, 0x36,
+ 0x39, 0x3C,
+ 0x3F, 0x42,
+ 0x44, 0x47,
+ 0x4A, 0x4C,
+ 0x4E, 0x50,
+ 0x51, 0x53,
+ 0x54, 0x55,
+ 0x56, 0x56,
+ 0x56, 0x56,
+ 0x56, 0x55,
+ 0x54, 0x53,
+ 0x51, 0x4F,
+ 0x4D, 0x4B,
+ 0x49, 0x46,
+ 0x44, 0x41,
+ 0x3E, 0x3B,
+ 0x38, 0x35,
+ 0x32, 0x2F,
+ 0x2C, 0x29,
+ 0x26, 0x23,
+ 0x20, 0x1E,
+ 0x1B, 0x18,
+ 0x16, 0x13,
+ 0x11, 0x0F
+#endif
+};
+
+static const int table_scale = 256 / sizeof(rgblight_effect_breathe_table);
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rules.mk
new file mode 100644
index 0000000000..b95b166d8d
--- /dev/null
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/rules.mk
@@ -0,0 +1,12 @@
+RGBLIGHT_ENABLE = yes
+RGBLIGHT_STARTUP_ANIMATION = yes
+AUDIO_ENABLE = yes
+HAPTIC_ENABLE = no
+COMMAND_ENABLE = no
+TAP_DANCE_ENABLE = yes
+UNICODE_ENABLE = yes
+OLED_DRIVER_ENABLE = yes
+WPM_ENABLE = yes
+ENCODER_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
+# DEBOUNCE_TYPE = sym_eager_pk
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/readme.md b/keyboards/handwired/tractyl_manuform/5x6_right/readme.md
new file mode 100644
index 0000000000..b6e38dc845
--- /dev/null
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/readme.md
@@ -0,0 +1,21 @@
+# Drashna's Dactyl Manuform (5x6) with a right side trackball
+
+![](https://preview.redd.it/zwt91036m3y51.jpg?width=960&crop=smart&auto=webp&s=e030deb7d8285c95a1a30c69a7e7a71f750e87bb)
+
+It's a Dactyl Manuform with an integrated thumb based trackball, using the pmw3360 optical sensor.
+
+It's powered by 2x Teensy++ 2.0's, using Drashna's [Teensy VBUS Hack](https://docs.qmk.fm/#/feature_split_keyboard?id=hardware-considerations-and-mods) for better detection.
+
+
+* Keyboard Maintainer: [Drashna Jael're](https://github.com/drashna)
+* Hardware Supported: [Design files](https://gitlab.com/keyboards1/dm_r_track/-/tree/master/boolean), [Teensy++ 2.0 (2x)](https://www.pjrc.com/store/teensypp.html), [PMW3360 Optical Sensor](https://www.tindie.com/products/jkicklighter/pmw3360-motion-sensor/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make handwired/dactyl_manuform/5x6_right_trackball:default
+
+Flashing example for this keyboard:
+
+ make handwired/dactyl_manuform/5x6_right_trackball: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/handwired/dactyl_manuform/5x6_right_trackball/rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/rules.mk
index 3fb9ab2a84..a71929a543 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/rules.mk
+++ b/keyboards/handwired/tractyl_manuform/5x6_right/rules.mk
@@ -11,21 +11,21 @@ BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
+COMMAND_ENABLE = no # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
+NKRO_ENABLE = yes # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
SWAP_HANDS_ENABLE = yes
+
POINTING_DEVICE_ENABLE = yes
MOUSE_SHARED_EP = no
SPLIT_KEYBOARD = yes
-SPLIT_TRANSPORT = custom
-SRC += pmw3360.c
-QUANTUM_LIB_SRC += pointer_transport.c serial.c i2c_master.c i2c_slave.c spi_master.c
+SRC += drivers/sensors/pmw3360.c
+QUANTUM_LIB_SRC += spi_master.c tm_sync.c
diff --git a/keyboards/converter/ibm_5291/config.h b/keyboards/handwired/tractyl_manuform/config.h
index adf66cc697..e6ab57da9e 100644
--- a/keyboards/converter/ibm_5291/config.h
+++ b/keyboards/handwired/tractyl_manuform/config.h
@@ -1,5 +1,6 @@
/*
-Copyright 2018 listofoptions <listofoptions@gmail.com>
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -19,21 +20,24 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x6060
-#define DEVICE_VER 0x0001
-#define MANUFACTURER QMK
-#define PRODUCT 5291 keyboard converter
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0x44DD
+#define MANUFACTURER Drashna
-#define MATRIX_ROWS 24
-#define MATRIX_COLS 4
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
-#define MATRIX_ROW_PINS {B2, B3, B4, B5, B6}
-#define MATRIX_COL_PINS {B0, B1}
-#define MATRIX_DATA_PIN D0
-#define MATRIX_STROBE_PIN D1
-#define LED_PIN D6
+#define USB_POLLING_INTERVAL_MS 1
+/* disable debug print */
+// #define NO_DEBUG
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCE 0
+/* disable print */
+// #define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
diff --git a/keyboards/handwired/tractyl_manuform/post_config.h b/keyboards/handwired/tractyl_manuform/post_config.h
new file mode 100644
index 0000000000..147e928735
--- /dev/null
+++ b/keyboards/handwired/tractyl_manuform/post_config.h
@@ -0,0 +1,96 @@
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+// mouse config
+# ifndef MOUSEKEY_MOVE_DELTA
+# ifndef MK_KINETIC_SPEED
+# define MOUSEKEY_MOVE_DELTA 5
+# else
+# define MOUSEKEY_MOVE_DELTA 25
+# endif
+# endif
+# ifndef MOUSEKEY_DELAY
+# ifndef MK_KINETIC_SPEED
+# define MOUSEKEY_DELAY 300
+# else
+# define MOUSEKEY_DELAY 8
+# endif
+# endif
+# ifndef MOUSEKEY_INTERVAL
+# ifndef MK_KINETIC_SPEED
+# define MOUSEKEY_INTERVAL 50
+# else
+# define MOUSEKEY_INTERVAL 20
+# endif
+# endif
+# ifndef MOUSEKEY_MAX_SPEED
+# define MOUSEKEY_MAX_SPEED 7
+# endif
+# ifndef MOUSEKEY_TIME_TO_MAX
+# define MOUSEKEY_TIME_TO_MAX 60
+# endif
+# ifndef MOUSEKEY_INITIAL_SPEED
+# define MOUSEKEY_INITIAL_SPEED 100
+# endif
+# ifndef MOUSEKEY_BASE_SPEED
+# define MOUSEKEY_BASE_SPEED 1000
+# endif
+# ifndef MOUSEKEY_DECELERATED_SPEED
+# define MOUSEKEY_DECELERATED_SPEED 400
+# endif
+# ifndef MOUSEKEY_ACCELERATED_SPEED
+# define MOUSEKEY_ACCELERATED_SPEED 3000
+# endif
+
+
+// mouse scroll config
+# ifndef MOUSEKEY_WHEEL_DELAY
+# define MOUSEKEY_WHEEL_DELAY 15
+# endif
+# ifndef MOUSEKEY_WHEEL_DELTA
+# define MOUSEKEY_WHEEL_DELTA 1
+# endif
+# ifndef MOUSEKEY_WHEEL_INTERVAL
+# define MOUSEKEY_WHEEL_INTERVAL 50
+# endif
+# ifndef MOUSEKEY_WHEEL_MAX_SPEED
+# define MOUSEKEY_WHEEL_MAX_SPEED 8
+# endif
+# ifndef MOUSEKEY_WHEEL_TIME_TO_MAX
+# define MOUSEKEY_WHEEL_TIME_TO_MAX 80
+# endif
+
+# ifndef MOUSEKEY_WHEEL_INITIAL_MOVEMENTS
+# define MOUSEKEY_WHEEL_INITIAL_MOVEMENTS 8
+# endif
+# ifndef MOUSEKEY_WHEEL_BASE_MOVEMENTS
+# define MOUSEKEY_WHEEL_BASE_MOVEMENTS 48
+# endif
+# ifndef MOUSEKEY_WHEEL_ACCELERATED_MOVEMENTS
+# define MOUSEKEY_WHEEL_ACCELERATED_MOVEMENTS 48
+# endif
+# ifndef MOUSEKEY_WHEEL_DECELERATED_MOVEMENTS
+# define MOUSEKEY_WHEEL_DECELERATED_MOVEMENTS 8
+# endif
+
+
+#ifndef DEBOUNCE
+# define DEBOUNCE 5
+#endif
diff --git a/keyboards/handwired/tractyl_manuform/readme.md b/keyboards/handwired/tractyl_manuform/readme.md
new file mode 100644
index 0000000000..3221da0e9d
--- /dev/null
+++ b/keyboards/handwired/tractyl_manuform/readme.md
@@ -0,0 +1,159 @@
+Dactyl Manuform (4x5, 5x6, 5x7, 6x6)
+======
+the [Dactyl-Manuform](https://github.com/tshort/dactyl-keyboard) is a split curved keyboard based on the design of [adereth dactyl](https://github.com/adereth/dactyl-keyboard) and thumb cluster design of the [manuform](https://geekhack.org/index.php?topic=46015.0) keyboard, the hardware is similar to the let's split keyboard. all information needed for making one is in the first link.
+![Imgur](https://i.imgur.com/7y0Vbyd.jpg)
+
+
+## First Time Setup
+
+Download or clone the `qmk_firmware` repo and navigate to its top level directory. Once your build environment is setup, you'll be able to generate the default .hex using:
+
+Depending on your Layout chose one of the follwing commands:
+
+```
+$ make handwired/dactyl_manuform/YOUR_LAYOUT:YOUR_KEYMAP_NAME
+```
+
+example:
+```
+$ make handwired/dactyl_manuform/4x5:default
+```
+
+If everything worked correctly you will see a file:
+
+```
+dactyl_manuform_YOUR_LAYOUT_YOUR_KEYMAP_NAME.hex
+```
+
+For more information on customizing keymaps, take a look at the primary documentation for [Customizing Your Keymap](/docs/faq_keymap.md) in the main readme.md.
+
+
+## Keymaps
+
+### [Keymaps 4x5](/keyboards/handwired/dactyl_manuform/4x5/keymaps/)
+
+#### Default
+Simple QWERTY layout with 3 Layers.
+#### Dvorak
+
+### [Keymaps 5x6](/keyboards/handwired/dactyl_manuform/5x6/keymaps/)
+
+#### Default
+Just a copy of the Impstyle keymap. Feel free to adjust it.
+
+#### Impstyle
+A simple QWERTY keymap with 3 Layers. Both sides are connected via serial and the Left ist the master.
+
+### [Keymaps 5x7 aka almost Ergodox](/keyboards/handwired/dactyl_manuform/5x7/keymaps/)
+#### Default
+Keymap of Loligagger from geekhack.
+
+### [Keymaps 6x6](/keyboards/handwired/dactyl_manuform/6x6/keymaps/)
+
+#### Default
+Simple QWERTY layout with 3 Layers.
+
+## Required Hardware
+
+Apart from diodes and key switches for the keyboard matrix in each half, you
+will need:
+
+* 2 Arduino Pro Micros. You can find these on AliExpress for ≈3.50USD each.
+* 2 TRRS sockets and 1 TRRS cable, or 2 TRS sockets and 1 TRS cable
+
+Alternatively, you can use any sort of cable and socket that has at least 3
+wires. If you want to use I2C to communicate between halves, you will need a
+cable with at least 4 wires and 2x 4.7kΩ pull-up resistors
+
+## Optional Hardware
+A speaker can be hooked-up to either side to the `5` (`C6`) pin and `GND`, and turned on via `AUDIO_ENABLE`.
+
+## Wiring
+
+The 3 wires of the TRS/TRRS cable need to connect GND, VCC, and digital pin 3 (i.e.
+PD0 on the ATmega32u4) between the two Pro Micros.
+
+Next, wire your key matrix to any of the remaining 17 IO pins of the pro micro
+and modify the `matrix.c` accordingly.
+
+The wiring for serial:
+
+![serial wiring](https://i.imgur.com/C3D1GAQ.png)
+
+The wiring for i2c:
+
+![i2c wiring](https://i.imgur.com/Hbzhc6E.png)
+
+The pull-up resistors may be placed on either half. It is also possible
+to use 4 resistors and have the pull-ups in both halves, but this is
+unnecessary in simple use cases.
+
+You can change your configuration between serial and i2c by modifying your `config.h` file.
+
+## Notes on Software Configuration
+
+the keymaps in here are for the 4x5 layout of the keyboard only.
+
+## Flashing
+
+To flash your firmware take a look at: [Flashing Instructions and Bootloader Information](https://docs.qmk.fm/#/flashing)
+
+
+## Choosing which board to plug the USB cable into (choosing Master)
+
+Because the two boards are identical, the firmware has logic to differentiate the left and right board.
+
+It uses two strategies to figure things out: looking at the EEPROM (memory on the chip) or looking if the current board has the usb cable.
+
+The EEPROM approach requires additional setup (flashing the eeprom) but allows you to swap the usb cable to either side.
+
+The USB cable approach is easier to setup and if you just want the usb cable on the left board, you do not need to do anything extra.
+
+### Setting the left hand as master
+
+If you always plug the usb cable into the left board, nothing extra is needed as this is the default. Comment out `EE_HANDS` and comment out `I2C_MASTER_RIGHT` or `MASTER_RIGHT` if for some reason it was set.
+
+### Setting the right hand as master
+
+If you always plug the usb cable into the right board, add an extra flag to your `config.h`
+```
+ #define MASTER_RIGHT
+```
+
+### Setting EE_hands to use either hands as master
+
+If you define `EE_HANDS` in your `config.h`, you will need to set the
+EEPROM for the left and right halves.
+
+The EEPROM is used to store whether the
+half is left handed or right handed. This makes it so that the same firmware
+file will run on both hands instead of having to flash left and right handed
+versions of the firmware to each half. To flash the EEPROM file for the left
+half run:
+```
+make handwired/dactyl_promicro:default:dfu-split-left
+make handwired/dactyl_promicro:default:dfu-split-right
+```
+
+After you have flashed the EEPROM, you then need to set `EE_HANDS` in your config.h, rebuild the hex files and reflash.
+
+Note that you need to program both halves, but you have the option of using
+different keymaps for each half. You could program the left half with a QWERTY
+layout and the right half with a Colemak layout using bootmagic's default layout option.
+Then if you connect the left half to a computer by USB the keyboard will use QWERTY and Colemak when the
+right half is connected.
+
+
+Notes on Using Pro Micro 3.3V
+-----------------------------
+
+Do update the `F_CPU` parameter in `rules.mk` to `8000000` which reflects
+the frequency on the 3.3V board.
+
+Also, if the slave board is producing weird characters in certain columns,
+update the following line in `matrix.c` to the following:
+
+```
+// wait_us(30); // without this wait read unstable value.
+wait_us(300); // without this wait read unstable value.
+```
diff --git a/keyboards/handwired/tractyl_manuform/tm_sync.c b/keyboards/handwired/tractyl_manuform/tm_sync.c
new file mode 100644
index 0000000000..f0a611206d
--- /dev/null
+++ b/keyboards/handwired/tractyl_manuform/tm_sync.c
@@ -0,0 +1,132 @@
+/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.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/>.
+ */
+
+#ifdef SPLIT_TRANSACTION_IDS_KB
+
+# include "tractyl_manuform.h"
+# include "transactions.h"
+# include <string.h>
+# include "drivers/sensors/pmw3360.h"
+
+kb_runtime_config_t kb_state;
+kb_slave_data_t kb_slave;
+
+void slave_state_sync(uint8_t initiator2target_buffer_size, const void* initiator2target_buffer, uint8_t target2initiator_buffer_size, void* target2initiator_buffer) {
+ if (target2initiator_buffer_size == sizeof(kb_slave)) {
+ memcpy(target2initiator_buffer, &kb_slave, sizeof(kb_slave));
+ if (kb_slave.mouse_x > 127) {
+ kb_slave.mouse_x -= 127;
+ } else if (kb_slave.mouse_x < -127) {
+ kb_slave.mouse_x += 127;
+ } else {
+ kb_slave.mouse_x = 0;
+ }
+
+ if (kb_slave.mouse_y > 127) {
+ kb_slave.mouse_y -= 127;
+ } else if (kb_slave.mouse_y < -127) {
+ kb_slave.mouse_y += 127;
+ } else {
+ kb_slave.mouse_y = 0;
+ }
+ }
+}
+
+void pointer_state_sync(uint8_t initiator2target_buffer_size, const void* initiator2target_buffer, uint8_t target2initiator_buffer_size, void* target2initiator_buffer) {
+ if (initiator2target_buffer_size == sizeof(kb_state)) {
+ memcpy(&kb_state, initiator2target_buffer, sizeof(kb_state));
+ }
+}
+
+void keyboard_post_init_kb(void) {
+ // Register keyboard state sync split transaction
+ transaction_register_rpc(RPC_ID_STATE_SYNC, pointer_state_sync);
+ transaction_register_rpc(RPC_ID_SLAVE_STATE, slave_state_sync);
+
+ keyboard_post_init_user();
+}
+
+void kb_state_update(void) {
+# ifdef POINTING_DEVICE_ENABLE
+ if (is_keyboard_master() && !is_keyboard_left()) {
+ static uint16_t cpi = 0;
+ if (cpi != kb_state.device_cpi) {
+ cpi = kb_state.device_cpi;
+ pmw_set_cpi(cpi);
+ }
+ }
+# endif
+}
+
+void kb_post_state_update(void) {
+# ifdef POINTING_DEVICE_ENABLE
+ if (is_keyboard_master() && is_keyboard_left()) {
+ report_mouse_t temp_report = pointing_device_get_report();
+ temp_report.x = kb_slave.mouse_x;
+ temp_report.y = kb_slave.mouse_y;
+ pointing_device_set_report(temp_report);
+ }
+# endif
+}
+
+void kb_state_sync(void) {
+ if (is_keyboard_master()) {
+ // Keep track of the last state, so that we can tell if we need to propagate to slave
+ static kb_runtime_config_t last_kb_state;
+ static uint32_t last_sync = 0;
+ static uint32_t mouse_sync = 0;
+ bool needs_sync = false;
+
+ // Check if the state values are different
+ if (memcmp(&kb_state, &last_kb_state, sizeof(kb_runtime_config_t))) {
+ needs_sync = true;
+ memcpy(&last_kb_state, &kb_state, sizeof(kb_runtime_config_t));
+ }
+ // Send to slave every 500ms regardless of state change
+ if (timer_elapsed32(last_sync) > 500) {
+ needs_sync = true;
+ }
+
+ // Perform the sync if requested
+ if (needs_sync) {
+ if (transaction_rpc_send(RPC_ID_STATE_SYNC, sizeof(kb_runtime_config_t), &kb_state)) {
+ last_sync = timer_read32();
+ }
+ }
+
+ if (is_keyboard_left()) {
+ if (timer_elapsed32(mouse_sync) >= 5) {
+ // always sync slave data, since it may contain device reports.
+ if (transaction_rpc_recv(RPC_ID_SLAVE_STATE, sizeof(kb_slave_data_t), &kb_slave)) {
+ if (kb_slave.mouse_x >= -127 && kb_slave.mouse_x <= 127 && kb_slave.mouse_y >= -127 && kb_slave.mouse_y <= 127) {
+ mouse_sync = timer_read32();
+ }
+ }
+ }
+ }
+ }
+}
+
+void housekeeping_task_kb(void) {
+ // Update kb_state so we can send to slave
+ kb_state_update();
+
+ // Data sync from master to slave
+ kb_state_sync();
+
+ kb_post_state_update();
+}
+#endif
diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.c b/keyboards/handwired/tractyl_manuform/tractyl_manuform.c
index 4048fb233c..49a8336829 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/5x6_right_trackball.c
+++ b/keyboards/handwired/tractyl_manuform/tractyl_manuform.c
@@ -1,4 +1,4 @@
-/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+/* Copyright 2020 Christopher Courtney <drashna@live.com> (@drashna)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -14,10 +14,14 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "5x6_right_trackball.h"
+#include "tractyl_manuform.h"
+#include "transactions.h"
+#include <string.h>
+#include "drivers/sensors/pmw3360.h"
#ifndef TRACKBALL_DPI_OPTIONS
-# define TRACKBALL_DPI_OPTIONS { 1200, 1600, 2400 }
+# define TRACKBALL_DPI_OPTIONS \
+ { 1200, 1600, 2400 }
# ifndef TRACKBALL_DPI_DEFAULT
# define TRACKBALL_DPI_DEFAULT 1
# endif
@@ -26,12 +30,15 @@
# define TRACKBALL_DPI_DEFAULT 0
#endif
+extern kb_runtime_config_t kb_state;
+extern kb_slave_data_t kb_slave;
+
keyboard_config_t keyboard_config;
-uint16_t dpi_array[] = TRACKBALL_DPI_OPTIONS;
+uint16_t dpi_array[] = TRACKBALL_DPI_OPTIONS;
#define DPI_OPTION_SIZE (sizeof(dpi_array) / sizeof(uint16_t))
-bool BurstState = false; // init burst state for Trackball module
-uint16_t MotionStart = 0; // Timer for accel, 0 is resting state
+bool BurstState = false; // init burst state for Trackball module
+uint16_t MotionStart = 0; // Timer for accel, 0 is resting state
__attribute__((weak)) void process_mouse_user(report_mouse_t* mouse_report, int16_t x, int16_t y) {
mouse_report->x = x;
@@ -53,12 +60,8 @@ __attribute__((weak)) void process_mouse(report_mouse_t* mouse_report) {
MotionStart = timer_read();
}
- if (debug_mouse) {
- dprintf("Delt] d: %d t: %u\n", abs(data.dx) + abs(data.dy), MotionStart);
- }
- if (debug_mouse) {
- dprintf("Pre ] X: %d, Y: %d\n", data.dx, data.dy);
- }
+ if (debug_mouse) { dprintf("Delt] d: %d t: %u\n", abs(data.dx) + abs(data.dy), MotionStart); }
+ if (debug_mouse) { dprintf("Pre ] X: %d, Y: %d\n", data.dx, data.dy); }
#if defined(PROFILE_LINEAR)
float scale = float(timer_elaspsed(MotionStart)) / 1000.0;
data.dx *= scale;
@@ -85,7 +88,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) {
#ifdef POINTING_DEVICE_ENABLE
if (keycode == DPI_CONFIG && record->event.pressed) {
- if ((get_mods()|get_oneshot_mods()) & MOD_MASK_SHIFT) {
+ if ((get_mods() | get_oneshot_mods()) & MOD_MASK_SHIFT) {
keyboard_config.dpi_config = (keyboard_config.dpi_config - 1) % DPI_OPTION_SIZE;
} else {
keyboard_config.dpi_config = (keyboard_config.dpi_config + 1) % DPI_OPTION_SIZE;
@@ -146,19 +149,11 @@ void pointing_device_init(void) {
trackball_set_cpi(dpi_array[keyboard_config.dpi_config]);
}
-static bool has_report_changed(report_mouse_t new, report_mouse_t old) {
- return (new.buttons != old.buttons) ||
- (new.x && new.x != old.x) ||
- (new.y && new.y != old.y) ||
- (new.h && new.h != old.h) ||
- (new.v && new.v != old.v);
-}
+static bool has_report_changed(report_mouse_t new, report_mouse_t old) { return (new.buttons != old.buttons) || (new.x&& new.x != old.x) || (new.y&& new.y != old.y) || (new.h&& new.h != old.h) || (new.v&& new.v != old.v); }
void pointing_device_task(void) {
report_mouse_t mouse_report = pointing_device_get_report();
- if (!is_keyboard_left()) {
- process_mouse(&mouse_report);
- }
+ if (!is_keyboard_left()) { process_mouse(&mouse_report); }
pointing_device_set_report(mouse_report);
pointing_device_send();
@@ -178,24 +173,20 @@ void matrix_init_kb(void) {
// is safe to just read DPI setting since matrix init
// comes before pointing device init.
keyboard_config.raw = eeconfig_read_kb();
- if (keyboard_config.dpi_config > DPI_OPTION_SIZE) {
- eeconfig_init_kb();
- }
+ if (keyboard_config.dpi_config > DPI_OPTION_SIZE) { eeconfig_init_kb(); }
matrix_init_user();
}
#ifdef POINTING_DEVICE_ENABLE
void pointing_device_send(void) {
- static report_mouse_t old_report = {};
- report_mouse_t mouseReport = pointing_device_get_report();
+ static report_mouse_t old_report = {};
+ report_mouse_t mouseReport = pointing_device_get_report();
if (is_keyboard_master()) {
int8_t x = mouseReport.x, y = mouseReport.y;
mouseReport.x = 0;
mouseReport.y = 0;
process_mouse_user(&mouseReport, x, y);
- if (has_report_changed(mouseReport, old_report)) {
- host_mouse_send(&mouseReport);
- }
+ if (has_report_changed(mouseReport, old_report)) { host_mouse_send(&mouseReport); }
} else {
master_mouse_send(mouseReport.x, mouseReport.y);
}
@@ -203,26 +194,25 @@ void pointing_device_send(void) {
mouseReport.y = 0;
mouseReport.v = 0;
mouseReport.h = 0;
- old_report = mouseReport;
+ old_report = mouseReport;
pointing_device_set_report(mouseReport);
}
#endif
-#ifdef SWAP_HANDS_ENABLE
-const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
- /* Left hand, matrix positions */
- {{5, 6}, {4, 6}, {3, 6}, {2, 6}, {1, 6}, {0, 6}},
- {{5, 7}, {4, 7}, {3, 7}, {2, 7}, {1, 7}, {0, 7}},
- {{5, 8}, {4, 8}, {3, 8}, {2, 8}, {1, 8}, {0, 8}},
- {{5, 9}, {4, 9}, {3, 9}, {2, 9}, {1, 9}, {0, 9}},
- {{5, 10}, {4, 10}, {3, 10}, {2, 10}, {1, 10}, {0, 10}},
- {{5, 11}, {4, 11}, {3, 11}, {2, 11}, {1, 11}, {0, 11}},
- /* Right hand, matrix positions */
- {{5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
- {{5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
- {{5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
- {{5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}},
- {{5, 4}, {4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4}},
- {{5, 5}, {4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}}
-};
+#ifdef POINTING_DEVICE_ENABLE
+void master_mouse_send(int8_t x, int8_t y) {
+#ifdef SPLIT_TRANSACTION_IDS_KB
+ kb_slave.mouse_x += x;
+ kb_slave.mouse_y += y;
+#endif
+}
+void trackball_set_cpi(uint16_t cpi) {
+ if (!is_keyboard_left()) {
+ pmw_set_cpi(cpi);
+ } else {
+#ifdef SPLIT_TRANSACTION_IDS_KB
+ kb_state.device_cpi = cpi;
+#endif
+ }
+}
#endif
diff --git a/keyboards/draculad/keymaps/pimoroni/pimoroni_trackball.h b/keyboards/handwired/tractyl_manuform/tractyl_manuform.h
index cfcd5a47a1..151e496fc6 100644
--- a/keyboards/draculad/keymaps/pimoroni/pimoroni_trackball.h
+++ b/keyboards/handwired/tractyl_manuform/tractyl_manuform.h
@@ -19,17 +19,37 @@
#include "quantum.h"
#include "pointing_device.h"
-#ifndef TRACKBALL_ADDRESS
-# define TRACKBALL_ADDRESS 0x0A
+#if defined(KEYBOARD_handwired_tractyl_manuform_5x6_right)
+# include "5x6_right.h"
+#elif defined(KEYBOARD_handwired_tractyl_manuform_4x6_right)
+# include "4x6_right.h"
#endif
-#define TRACKBALL_WRITE ((TRACKBALL_ADDRESS << 1) | I2C_WRITE)
-#define TRACKBALL_READ ((TRACKBALL_ADDRESS << 1) | I2C_READ)
-void trackball_set_rgbw(uint8_t red, uint8_t green, uint8_t blue, uint8_t white);
-void trackball_check_click(bool pressed, report_mouse_t *mouse);
-void trackball_register_button(bool pressed, enum mouse_buttons button);
+void process_mouse(report_mouse_t* mouse_report);
+void process_mouse_user(report_mouse_t* mouse_report, int16_t x, int16_t y);
-float trackball_get_precision(void);
-void trackball_set_precision(float precision);
-bool trackball_is_scrolling(void);
-void trackball_set_scrolling(bool scroll); \ No newline at end of file
+typedef union {
+ uint32_t raw;
+ struct {
+ uint8_t dpi_config;
+ };
+} keyboard_config_t;
+
+extern keyboard_config_t keyboard_config;
+
+enum ploopy_keycodes {
+ DPI_CONFIG = SAFE_RANGE,
+ KEYMAP_SAFE_RANGE,
+};
+
+void master_mouse_send(int8_t x, int8_t y);
+void trackball_set_cpi(uint16_t cpi);
+
+typedef struct {
+ uint16_t device_cpi;
+} kb_runtime_config_t;
+
+typedef struct {
+ int16_t mouse_x;
+ int16_t mouse_y;
+} kb_slave_data_t;
diff --git a/keyboards/handwired/tritium_numpad/keymaps/blu/keymap.c b/keyboards/handwired/tritium_numpad/keymaps/blu/keymap.c
index 958c17e428..b618675295 100644
--- a/keyboards/handwired/tritium_numpad/keymaps/blu/keymap.c
+++ b/keyboards/handwired/tritium_numpad/keymaps/blu/keymap.c
@@ -6,7 +6,7 @@ void keyboard_pre_init_user(void)
setPinOutput(B0);
}
-uint32_t layer_state_set_user(uint32_t state)
+layer_state_t layer_state_set_user(layer_state_t state)
{
// Switch layer LED accordingly
switch (biton32(state)) {
@@ -22,19 +22,19 @@ uint32_t layer_state_set_user(uint32_t state)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_ortho_6x4(
- KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
- KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_P4, KC_P5, KC_P6, KC_BSPC,
- KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_P0, KC_UP, KC_PDOT, TT(1),
+ KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
+ KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_P4, KC_P5, KC_P6, KC_BSPC,
+ KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_P0, KC_UP, KC_PDOT, TT(1),
KC_LEFT, KC_DOWN, KC_RGHT, BL_STEP
),
[1] = LAYOUT_ortho_6x4(
- KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_K, KC_NO, KC_NO,
- KC_H, KC_NO, KC_L, KC_NO,
- KC_NO, KC_J, KC_NO, KC_NO,
- KC_LSFT, KC_Z, KC_X, KC_TRNS,
+ KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, KC_K, KC_NO, KC_NO,
+ KC_H, KC_NO, KC_L, KC_NO,
+ KC_NO, KC_J, KC_NO, KC_NO,
+ KC_LSFT, KC_Z, KC_X, KC_TRNS,
KC_NO, KC_NO, KC_NO, KC_NO
)
};
diff --git a/keyboards/handwired/tritium_numpad/rules.mk b/keyboards/handwired/tritium_numpad/rules.mk
index 42dfc5cbec..ddb43bdb56 100644
--- a/keyboards/handwired/tritium_numpad/rules.mk
+++ b/keyboards/handwired/tritium_numpad/rules.mk
@@ -27,4 +27,4 @@ AUDIO_ENABLE = no
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-LAYOUTS = numpad_6x4 ortho_6x4 nontra_6x4
+LAYOUTS = numpad_6x4 ortho_6x4
diff --git a/keyboards/handwired/wulkan/keymaps/default/keymap.c b/keyboards/handwired/wulkan/keymaps/default/keymap.c
index fec8442ee3..ad503114fc 100644
--- a/keyboards/handwired/wulkan/keymaps/default/keymap.c
+++ b/keyboards/handwired/wulkan/keymaps/default/keymap.c
@@ -8,21 +8,21 @@ enum layers {
};
enum unicode_names {
- SE_AA_HIGH,
- SE_AE_HIGH,
- SE_OE_HIGH,
- SE_AA_LOW,
- SE_AE_LOW,
- SE_OE_LOW,
+ SE_ARNG_HIGH,
+ SE_ADIA_HIGH,
+ SE_ODIA_HIGH,
+ SE_ARNG_LOW,
+ SE_ADIA_LOW,
+ SE_ODIA_LOW,
};
const uint32_t PROGMEM unicode_map[] = {
- [SE_AA_HIGH] = 0x00C5,
- [SE_AE_HIGH] = 0x00C4,
- [SE_OE_HIGH] = 0x00D6,
- [SE_AA_LOW] = 0x00E5,
- [SE_AE_LOW] = 0x00E4,
- [SE_OE_LOW] = 0x00F6,
+ [SE_ARNG_HIGH] = 0x00C5,
+ [SE_ADIA_HIGH] = 0x00C4,
+ [SE_ODIA_HIGH] = 0x00D6,
+ [SE_ARNG_LOW] = 0x00E5,
+ [SE_ADIA_LOW] = 0x00E4,
+ [SE_ODIA_LOW] = 0x00F6,
};
#define LOWER MO(_LOWER)
@@ -95,8 +95,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ADJUST] = LAYOUT_ortho_4x12(
- _______, RESET, _______, _______, KC_WH_U, _______, _______, KC_MS_U, _______, _______, XP(SE_AA_LOW, SE_AA_HIGH), KC_DEL,
- _______, _______, _______, _______, KC_WH_D, _______, KC_MS_L, KC_MS_D, KC_MS_R, XP(SE_OE_LOW, SE_OE_HIGH), XP(SE_AE_LOW, SE_AE_HIGH), _______,
+ _______, RESET, _______, _______, KC_WH_U, _______, _______, KC_MS_U, _______, _______, XP(SE_ARNG_LOW, SE_ARNG_HIGH), KC_DEL,
+ _______, _______, _______, _______, KC_WH_D, _______, KC_MS_L, KC_MS_D, KC_MS_R, XP(SE_ODIA_LOW, SE_ODIA_HIGH), XP(SE_ADIA_LOW, SE_ADIA_HIGH), _______,
_______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, KC_BTN1, _______, KC_BTN2, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
diff --git a/keyboards/handwired/xealous/rules.mk b/keyboards/handwired/xealous/rules.mk
index 2d816ab7ce..93dd6cf232 100644
--- a/keyboards/handwired/xealous/rules.mk
+++ b/keyboards/handwired/xealous/rules.mk
@@ -36,6 +36,4 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
SRC += matrix.c
DEBOUNCE_TYPE = eager_pk
-LAYOUTS = split60
-
DEFAULT_FOLDER = handwired/xealous/rev1
diff --git a/keyboards/helix/rev2/keymaps/default/rules.mk b/keyboards/helix/rev2/keymaps/default/rules.mk
index 206e836ec0..c16f3e2b87 100644
--- a/keyboards/helix/rev2/keymaps/default/rules.mk
+++ b/keyboards/helix/rev2/keymaps/default/rules.mk
@@ -5,7 +5,7 @@
# See TOP/keyboards/helix/rules.mk for a list of options that can be set.
# See TOP/docs/config_options.md for more information.
#
-LTO_ENABLE = no # if firmware size over limit, try this option
+LTO_ENABLE = yes # if firmware size over limit, try this option
# Helix Spacific Build Options
# you can uncomment and edit follows 7 Variables
diff --git a/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c b/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c
index 0dae2524d8..a22a4b1663 100644
--- a/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c
+++ b/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c
@@ -72,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_BASE] = LAYOUT( \
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, \
- JP_ZHTG, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, \
+ JP_ZKHK, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, \
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, JP_COLN, \
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT, \
KC_LCTL, KC_LALT, KC_LGUI, ML_ADJ, ML_LOW, KC_SPC, KC_BSPC, KC_SPC, KC_SPC, ML_RAI, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT \
@@ -95,7 +95,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, \
KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, \
KC_H, KC_J, KC_K, KC_L, KC_SCLN, JP_COLN, XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, \
- KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_ENT, JP_ZHTG, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, \
+ KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_ENT, JP_ZKHK, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, \
KC_SPC, ML_RAIE, JP_RBRC, KC_APP, KC_LEFT, KC_DOWN, KC_RGHT, ML_ADJ, KC_LCTL, KC_LALT, KC_LGUI, JP_LBRC, ML_LOWE, KC_BSPC \
),
diff --git a/keyboards/helix/rev2/keymaps/froggy_106/keymap.c b/keyboards/helix/rev2/keymaps/froggy_106/keymap.c
index d32c4fa0ca..3a433e56fd 100644
--- a/keyboards/helix/rev2/keymaps/froggy_106/keymap.c
+++ b/keyboards/helix/rev2/keymaps/froggy_106/keymap.c
@@ -103,7 +103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
OSM(MOD_LCTL), OSM(MOD_LALT), OSM(MOD_LGUI), L_SYM, L_NUM, OPT_TAP_SP, KC_ENT, _______, _______, _______, _______, _______, _______, _______ \
),
[_BASE_106] = LAYOUT( \
- LCTL(KC_Z), JP_SCLN, JP_LBRC, JP_LPRN, JP_LT, JP_LCBR, _______, _______, _______, _______, _______, _______, \
+ LCTL(KC_Z), JP_SCLN, JP_LBRC, JP_LPRN, JP_LABK, JP_LCBR, _______, _______, _______, _______, _______, _______, \
KANA, KC_P, KC_K, KC_R, KC_A, KC_F, _______, _______, _______, _______, _______, _______, \
KC_BSPC, KC_D, KC_T, KC_H, KC_E, KC_O, _______, _______, _______, _______, _______, _______, \
OSM(MOD_LSFT), KC_Y, KC_S, KC_N, KC_I, KC_U, KC_SPC, _______, _______, _______, _______, _______, _______, _______, \
@@ -131,7 +131,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______,_______, KC_COMM,DESKTOP, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
),
[_OPT_106] = LAYOUT( \
- KC_ESC, JP_COLN,JP_RBRC, JP_RPRN,JP_GT, JP_RCBR, _______, _______, _______, _______, _______, _______, \
+ KC_ESC, JP_COLN,JP_RBRC, JP_RPRN,JP_RABK, JP_RCBR, _______, _______, _______, _______, _______, _______, \
EISU, KC_J, KC_M, KC_B, JP_QUOT, KC_TAB, _______, _______, _______, _______, _______, _______, \
KC_DOT, KC_V, KC_C, KC_L, KC_Z, KC_Q, _______, _______, _______, _______, _______, _______, \
_______, KC_X, KC_G, KC_W, JP_MINS, KC_DEL, KC_ESC, _______, _______, _______, _______, _______, _______, _______, \
@@ -363,7 +363,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
//case JP_SCLN: // == KC_SCLN
case JP_LBRC:
case JP_LPRN:
- //case JP_LT: // == KC_LT
+ //case JP_LABK: // == KC_LT
case JP_LCBR:
if (IS_MODE_106()) {
if (keycode == KC_LBRC || keycode == KC_LPRN || keycode == KC_LCBR)
diff --git a/keyboards/helix/rev3_4rows/config.h b/keyboards/helix/rev3_4rows/config.h
index 9102104bfc..95eb8bf0cf 100644
--- a/keyboards/helix/rev3_4rows/config.h
+++ b/keyboards/helix/rev3_4rows/config.h
@@ -68,7 +68,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
diff --git a/keyboards/helix/rev3_4rows/rev3_4rows.c b/keyboards/helix/rev3_4rows/rev3_4rows.c
index 4477b39226..7b32941106 100644
--- a/keyboards/helix/rev3_4rows/rev3_4rows.c
+++ b/keyboards/helix/rev3_4rows/rev3_4rows.c
@@ -31,7 +31,7 @@ void set_mac_mode(bool macmode) {
}
#ifdef DIP_SWITCH_ENABLE
-void dip_switch_update_kb(uint8_t index, bool active) {
+bool dip_switch_update_kb(uint8_t index, bool active) {
switch (index) {
case 0:
if(active) { // Left no.1 Helix rev3 common
@@ -44,5 +44,6 @@ void dip_switch_update_kb(uint8_t index, bool active) {
dip_switch_update_user(index, active);
break;
}
+ return true;
}
#endif
diff --git a/keyboards/helix/rev3_5rows/config.h b/keyboards/helix/rev3_5rows/config.h
index 4dda76206b..a373de7d12 100644
--- a/keyboards/helix/rev3_5rows/config.h
+++ b/keyboards/helix/rev3_5rows/config.h
@@ -68,7 +68,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
diff --git a/keyboards/helix/rev3_5rows/rev3_5rows.c b/keyboards/helix/rev3_5rows/rev3_5rows.c
index 4477b39226..7b32941106 100644
--- a/keyboards/helix/rev3_5rows/rev3_5rows.c
+++ b/keyboards/helix/rev3_5rows/rev3_5rows.c
@@ -31,7 +31,7 @@ void set_mac_mode(bool macmode) {
}
#ifdef DIP_SWITCH_ENABLE
-void dip_switch_update_kb(uint8_t index, bool active) {
+bool dip_switch_update_kb(uint8_t index, bool active) {
switch (index) {
case 0:
if(active) { // Left no.1 Helix rev3 common
@@ -44,5 +44,6 @@ void dip_switch_update_kb(uint8_t index, bool active) {
dip_switch_update_user(index, active);
break;
}
+ return true;
}
#endif
diff --git a/keyboards/hhkb/ansi/keymaps/shela/keymap_jis2us.h b/keyboards/hhkb/ansi/keymaps/shela/keymap_jis2us.h
index 916a403eb6..0b811fd03a 100644
--- a/keyboards/hhkb/ansi/keymaps/shela/keymap_jis2us.h
+++ b/keyboards/hhkb/ansi/keymaps/shela/keymap_jis2us.h
@@ -40,10 +40,10 @@ const uint16_t PROGMEM keymap_jis2us[][2] = {
[KC_BSLS] = { JP_YEN, JP_PIPE }, /* ] and } -> \ and | */
[KC_NUHS] = { JP_YEN, JP_PIPE }, /* ] and } -> \ and | */
[KC_SCLN] = { JP_SCLN, JP_COLN }, /* ; and + -> ; and : */
- [KC_QUOT] = { JP_QUOT, JP_DQT }, /* : and * -> ' and " */
+ [KC_QUOT] = { JP_QUOT, JP_DQUO }, /* : and * -> ' and " */
[KC_GRV] = { JP_GRV, JP_TILD }, /* Han/Zen -> ` and ~ */
- [KC_COMM] = { JP_COMM, JP_LT }, /* , and < -> , and < */
- [KC_DOT] = { JP_DOT, JP_GT }, /* . and > -> . and > */
+ [KC_COMM] = { JP_COMM, JP_LABK }, /* , and < -> , and < */
+ [KC_DOT] = { JP_DOT, JP_RABK }, /* . and > -> . and > */
[KC_SLSH] = { JP_SLSH, JP_QUES }, /* / and ? -> / and ? */
};
// clang-format on
diff --git a/keyboards/hhkb/ansi/matrix.c b/keyboards/hhkb/ansi/matrix.c
index 879eb337cf..529ba8b8fc 100644
--- a/keyboards/hhkb/ansi/matrix.c
+++ b/keyboards/hhkb/ansi/matrix.c
@@ -26,6 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "util.h"
#include "timer.h"
#include "matrix.h"
+#include "avr/timer_avr.h"
#include "hhkb_avr.h"
#include <avr/wdt.h>
#include "suspend.h"
diff --git a/keyboards/hhkb/jp/matrix.c b/keyboards/hhkb/jp/matrix.c
index fed2b3c3a9..c0dca6a990 100644
--- a/keyboards/hhkb/jp/matrix.c
+++ b/keyboards/hhkb/jp/matrix.c
@@ -26,6 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "util.h"
#include "timer.h"
#include "matrix.h"
+#include "avr/timer_avr.h"
#include "hhkb_avr.h"
#include <avr/wdt.h>
#include "suspend.h"
diff --git a/keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c b/keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c
index fde2637154..d59438f6b3 100644
--- a/keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c
+++ b/keyboards/hineybush/h87a/keymaps/gam3cat/keymap.c
@@ -244,7 +244,7 @@ void matrix_scan_user(void) {
}
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
switch (biton32(state)) {
case _BL:
custom_backlight_level(0);
diff --git a/keyboards/hineybush/h87a/keymaps/gam3cat/rules.mk b/keyboards/hineybush/h87a/keymaps/gam3cat/rules.mk
index 8ac43eadbc..a54fb01f97 100644
--- a/keyboards/hineybush/h87a/keymaps/gam3cat/rules.mk
+++ b/keyboards/hineybush/h87a/keymaps/gam3cat/rules.mk
@@ -18,6 +18,5 @@ UNICODEMAP_ENABLE = no # Enable extended unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
#VARIABLE_TRACE = no # Use this to debug changes to variable values
-API_SYSEX_ENABLE = no # This enables using the Quantum SYSEX API to send strings(+5390)
KEY_LOCK_ENABLE = no # This enables key lock(+260)
SPLIT_KEYBOARD = no # This enables split keyboard support and includes all necessary files located at quantum/split_common
diff --git a/keyboards/hs60/v1/config.h b/keyboards/hs60/v1/config.h
index 68c75b2af0..41246b6ee8 100644
--- a/keyboards/hs60/v1/config.h
+++ b/keyboards/hs60/v1/config.h
@@ -118,7 +118,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define RGB_MATRIX_KEYPRESSES // reacts to keypresses (will slow down matrix scan by a lot)
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-#define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended
+// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 215
#define DRIVER_ADDR_1 0b1110100
diff --git a/keyboards/hs60/v1/v1.c b/keyboards/hs60/v1/v1.c
index 70c1c2128e..58b19b6408 100644
--- a/keyboards/hs60/v1/v1.c
+++ b/keyboards/hs60/v1/v1.c
@@ -91,7 +91,7 @@ void raw_hid_receive( uint8_t *data, uint8_t length )
#ifdef HS60_ANSI
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
@@ -199,7 +199,7 @@ led_config_t g_led_config = { {
#else
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/hs60/v2/ansi/rules.mk b/keyboards/hs60/v2/ansi/rules.mk
index 1a0c1abbd8..c8030e7040 100644
--- a/keyboards/hs60/v2/ansi/rules.mk
+++ b/keyboards/hs60/v2/ansi/rules.mk
@@ -31,6 +31,6 @@ LAYOUTS = 60_ansi
# project specific files
SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
- drivers/issi/is31fl3733.c \
+ drivers/led/issi/is31fl3733.c \
quantum/color.c \
drivers/chibios/i2c_master.c
diff --git a/keyboards/hs60/v2/hhkb/rules.mk b/keyboards/hs60/v2/hhkb/rules.mk
index 87d86ccd4c..62c067cb2e 100644
--- a/keyboards/hs60/v2/hhkb/rules.mk
+++ b/keyboards/hs60/v2/hhkb/rules.mk
@@ -29,6 +29,6 @@ CIE1931_CURVE = yes
# project specific files
SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
- drivers/issi/is31fl3733.c \
+ drivers/led/issi/is31fl3733.c \
quantum/color.c \
drivers/chibios/i2c_master.c
diff --git a/keyboards/hs60/v2/iso/rules.mk b/keyboards/hs60/v2/iso/rules.mk
index 53b801289d..34cfa9e559 100644
--- a/keyboards/hs60/v2/iso/rules.mk
+++ b/keyboards/hs60/v2/iso/rules.mk
@@ -31,6 +31,6 @@ LAYOUTS = 60_iso
# project specific files
SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
- drivers/issi/is31fl3733.c \
+ drivers/led/issi/is31fl3733.c \
quantum/color.c \
drivers/chibios/i2c_master.c
diff --git a/keyboards/hub20/keymaps/left_hand_numpad/keymap.c b/keyboards/hub20/keymaps/left_hand_numpad/keymap.c
index 395ebc15b4..b5817ab3c5 100644
--- a/keyboards/hub20/keymaps/left_hand_numpad/keymap.c
+++ b/keyboards/hub20/keymaps/left_hand_numpad/keymap.c
@@ -15,15 +15,13 @@
*/
#include QMK_KEYBOARD_H
-
-
// #define LED_MERGE_NUMPAD_LEFT_HANDED_PLUS TRUE
// #define LED_MERGE_NUMPAD_LEFT_HANDED_ENTER TRUE
// #define LED_MERGE_NUMPAD_LEFT_HANDED_ZERO TRUE
+#define MO_NLCK LT(1, KC_NLCK) // Numlock on tap, layer change on hold
-#define MO_NLCK LT(1, KC_NLCK) // Numlock on tap, layer change on hold
-
+// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_left_handed(
KC_MUTE, KC_MPLY,
@@ -42,8 +40,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______
)
};
+// clang-format of
-void encoder_update_user(uint8_t index, bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) { /* Left Encoder */
if (clockwise) {
tap_code(KC_VOLU);
@@ -57,5 +56,5 @@ void encoder_update_user(uint8_t index, bool clockwise) {
tap_code(KC_MPRV);
}
}
+ return true;
}
-
diff --git a/keyboards/hub20/keymaps/right_hand_numpad/keymap.c b/keyboards/hub20/keymaps/right_hand_numpad/keymap.c
index 89466d31ba..ad3e5f49a3 100644
--- a/keyboards/hub20/keymaps/right_hand_numpad/keymap.c
+++ b/keyboards/hub20/keymaps/right_hand_numpad/keymap.c
@@ -15,15 +15,13 @@
*/
#include QMK_KEYBOARD_H
-
-
// #define LED_MERGE_NUMPAD_RIGHT_HANDED_PLUS TRUE
// #define LED_MERGE_NUMPAD_RIGHT_HANDED_ENTER TRUE
// #define LED_MERGE_NUMPAD_RIGHT_HANDED_ZERO TRUE
+#define MO_NLCK LT(1, KC_NLCK) // Numlock on tap, layer change on hold
-#define MO_NLCK LT(1, KC_NLCK) // Numlock on tap, layer change on hold
-
+// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//NOT TESTED, WAITING ENDORSEMENT FROM MANUFACTURER
@@ -44,11 +42,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______
)
};
+// clang-format on
-
-
-
-void encoder_update_user(uint8_t index, bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) { /* Left Encoder */
if (clockwise) {
tap_code(KC_VOLU);
@@ -62,5 +58,5 @@ void encoder_update_user(uint8_t index, bool clockwise) {
tap_code(KC_MPRV);
}
}
+ return true;
}
-
diff --git a/keyboards/inett_studio/sqx/hotswap/hotswap.c b/keyboards/inett_studio/sqx/hotswap/hotswap.c
index be8985c87e..5b3c8df822 100644
--- a/keyboards/inett_studio/sqx/hotswap/hotswap.c
+++ b/keyboards/inett_studio/sqx/hotswap/hotswap.c
@@ -20,7 +20,7 @@
#include "hotswap.h"
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/inett_studio/sqx/universal/universal.c b/keyboards/inett_studio/sqx/universal/universal.c
index 42d99330d5..dd431a7f45 100644
--- a/keyboards/inett_studio/sqx/universal/universal.c
+++ b/keyboards/inett_studio/sqx/universal/universal.c
@@ -20,7 +20,7 @@
#include "universal.h"
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/infinity60/keymaps/jpetermans/keymap.c b/keyboards/infinity60/keymaps/jpetermans/keymap.c
index c34d56ec85..3c2e0d4da8 100644
--- a/keyboards/infinity60/keymaps/jpetermans/keymap.c
+++ b/keyboards/infinity60/keymaps/jpetermans/keymap.c
@@ -11,20 +11,25 @@
//IS31 chip has 8 available led pages, using 0 for all leds and 7 for single toggles
#define max_pages 6
-enum ic60_keycodes {
- NUMPAD,
- FNAV,
- MEDIA,
- BACKLIGHT,
- BRIGHT,
- DIM,
- ALL,
- GAME,
+enum led_modes {
+ MODE_ALL,
+ MODE_GAME,
MODE_SINGLE,
MODE_PAGE,
MODE_FLASH
};
+enum macro_id {
+ LED_ALL = SAFE_RANGE,
+ LED_GAME,
+ LED_BACKLIGHT,
+ LED_BRIGHT,
+ LED_DIM,
+ LED_SINGLE,
+ LED_PAGE,
+ LED_FLASH
+};
+
uint8_t current_layer_global = 0;
uint8_t led_mode_global = MODE_SINGLE;
uint8_t backlight_status_global = 1; //init on/off state of backlight
@@ -77,10 +82,10 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* media */
[_MEDIA] = LAYOUT_60_ansi_split_bs_rshift( \
- _______,F(MODE_SINGLE),F(MODE_PAGE),F(MODE_FLASH),_______,_______,_______, _______, _______, _______,KC_MUTE, KC_VOLD, KC_VOLU,_______,KC_NO,\
+ _______,LED_SINGLE,LED_PAGE,LED_FLASH,_______,_______,_______, _______, _______, _______,KC_MUTE, KC_VOLD, KC_VOLU,_______,KC_NO,\
_______,_______,_______,_______,_______,_______,_______, _______, _______, _______,_______, _______,_______,_______,\
- _______,_______,_______,_______,_______,F(GAME),_______, _______, _______, _______,_______, _______,_______, \
- _______,_______,F(ALL) ,F(BRIGHT),F(DIM),F(BACKLIGHT),_______, _______, KC_MPRV, KC_MNXT,KC_MSTP, _______,KC_NO, \
+ _______,_______,_______,_______,_______,LED_GAME,_______, _______, _______, _______,_______, _______,_______, \
+ _______,_______,LED_ALL ,LED_BRIGHT,LED_DIM,LED_BACKLIGHT,_______, _______, KC_MPRV, KC_MNXT,KC_MSTP, _______,KC_NO, \
_______,_______,_______, KC_MPLY, _______,_______, _______,_______ \
),
/* ~ */
@@ -101,22 +106,6 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
};
-//id for user defined functions and macros
-enum function_id {
- NONE,
-};
-
-enum macro_id {
- ACTION_LEDS_ALL,
- ACTION_LEDS_GAME,
- ACTION_LEDS_BACKLIGHT,
- ACTION_LEDS_BRIGHT,
- ACTION_LEDS_DIM,
- ACTION_LEDS_SINGLE,
- ACTION_LEDS_PAGE,
- ACTION_LEDS_FLASH
-};
-
/* ==================================
* LED MAPPING
* ==================================*/
@@ -158,74 +147,62 @@ uint8_t led_game[5] = {
47,48,51
};
-//======== qmk functions =========
-const uint16_t fn_actions[] = {
- [ALL] = ACTION_FUNCTION(ACTION_LEDS_ALL),
- [GAME] = ACTION_FUNCTION(ACTION_LEDS_GAME),
- [BACKLIGHT] = ACTION_FUNCTION(ACTION_LEDS_BACKLIGHT),
- [BRIGHT] = ACTION_FUNCTION(ACTION_LEDS_BRIGHT),
- [DIM] = ACTION_FUNCTION(ACTION_LEDS_DIM),
- [MODE_SINGLE] = ACTION_FUNCTION(ACTION_LEDS_SINGLE),
- [MODE_PAGE] = ACTION_FUNCTION(ACTION_LEDS_PAGE),
- [MODE_FLASH] = ACTION_FUNCTION(ACTION_LEDS_FLASH),
-};
-
-/* custom action function */
-void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
msg_t msg;
- switch(id) {
- case ACTION_LEDS_ALL:
+ switch(keycode) {
+ case LED_ALL:
if(record->event.pressed) {
- led_mode_global = led_mode_global == ALL ? MODE_SINGLE : ALL;
+ led_mode_global = led_mode_global == MODE_ALL ? MODE_SINGLE : MODE_ALL;
msg=TOGGLE_ALL;
chMBPost(&led_mailbox, msg, TIME_IMMEDIATE);
}
- break;
+ return false;
- case ACTION_LEDS_BACKLIGHT:
+ case LED_BACKLIGHT:
if(record->event.pressed) {
backlight_status_global ^= 1;
msg=(backlight_status_global << 8) | TOGGLE_BACKLIGHT;
chMBPost(&led_mailbox, msg, TIME_IMMEDIATE);
}
- break;
+ return false;
- case ACTION_LEDS_GAME:
+ case LED_GAME:
if(record->event.pressed) {
- led_mode_global = led_mode_global == GAME ? MODE_SINGLE : GAME;
+ led_mode_global = led_mode_global == MODE_GAME ? MODE_SINGLE : MODE_GAME;
msg=(4 << 8) | DISPLAY_PAGE;
chMBPost(&led_mailbox, msg, TIME_IMMEDIATE);
}
- break;
+ return false;
- case ACTION_LEDS_BRIGHT:
+ case LED_BRIGHT:
if(record->event.pressed) {
msg=(1 << 8) | STEP_BRIGHTNESS;
chMBPost(&led_mailbox, msg, TIME_IMMEDIATE);
}
- break;
+ return false;
- case ACTION_LEDS_DIM:
+ case LED_DIM:
if(record->event.pressed) {
msg=(0 << 8) | STEP_BRIGHTNESS;
chMBPost(&led_mailbox, msg, TIME_IMMEDIATE);
}
- break;
+ return false;
//set led_mode for matrix_scan to toggle leds
- case ACTION_LEDS_SINGLE:
+ case LED_SINGLE:
led_mode_global = MODE_SINGLE;
- break;
- case ACTION_LEDS_PAGE:
+ return false;
+ case LED_PAGE:
led_mode_global = MODE_PAGE;
- break;
- case ACTION_LEDS_FLASH:
+ return false;
+ case LED_FLASH:
led_mode_global = MODE_FLASH;
- break;
+ return false;
}
+ return true;
}
// Runs just one time when the keyboard initializes.
@@ -257,7 +234,7 @@ void matrix_scan_user(void) {
return;
}
- if (led_layer_state != layer_state && led_mode_global != GAME && led_mode_global != ALL) {
+ if (led_layer_state != layer_state && led_mode_global != MODE_GAME && led_mode_global != MODE_ALL) {
//check mode
//Turn on layer indicator or page depending on mode
switch(led_mode_global) {
diff --git a/keyboards/ivy/rules.mk b/keyboards/ivy/rules.mk
index 97c9aa1364..e3499b6306 100644
--- a/keyboards/ivy/rules.mk
+++ b/keyboards/ivy/rules.mk
@@ -27,7 +27,6 @@ AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c b/keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c
index 2b13f63edf..7572b9e073 100644
--- a/keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c
+++ b/keyboards/jc65/v32u4/keymaps/gam3cat/keymap.c
@@ -223,7 +223,7 @@ void matrix_scan_user(void) {
}
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
switch (biton32(state)) {
case _BL:
custom_backlight_level(0);
diff --git a/keyboards/jc65/v32u4/keymaps/gam3cat/rules.mk b/keyboards/jc65/v32u4/keymaps/gam3cat/rules.mk
index aaffae573b..e0bce1611d 100644
--- a/keyboards/jc65/v32u4/keymaps/gam3cat/rules.mk
+++ b/keyboards/jc65/v32u4/keymaps/gam3cat/rules.mk
@@ -17,6 +17,5 @@ UNICODE_ENABLE = no # Unicode
UNICODEMAP_ENABLE = no # Enable extended unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6#VARIABLE_TRACE = no # Use this to debug changes to variable values
-API_SYSEX_ENABLE = no # This enables using the Quantum SYSEX API to send strings(+5390)
KEY_LOCK_ENABLE = no # This enables key lock(+260)
SPLIT_KEYBOARD = no # This enables split keyboard support and includes all necessary files located at quantum/split_common
diff --git a/keyboards/jian/keymaps/advanced/keymap.c b/keyboards/jian/keymaps/advanced/keymap.c
index 25108aa13d..4aad7b65ad 100644
--- a/keyboards/jian/keymaps/advanced/keymap.c
+++ b/keyboards/jian/keymaps/advanced/keymap.c
@@ -278,7 +278,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#endif // ALT_LAYOUTS_ENABLE
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
diff --git a/keyboards/jisplit89/keymaps/salicylic/keymap.c b/keyboards/jisplit89/keymaps/salicylic/keymap.c
index a4c7c99f1d..ffd3b853b5 100644
--- a/keyboards/jisplit89/keymaps/salicylic/keymap.c
+++ b/keyboards/jisplit89/keymaps/salicylic/keymap.c
@@ -84,7 +84,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
JP_QUOT, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_P6, KC_P7, KC_P8, KC_P9, JP_ASTR, JP_SLSH, _______, _______, KC_HOME,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
-LCTL_T(JP_QUOT),JP_HASH, JP_DQT, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, _______, KC_END,
+LCTL_T(JP_QUOT),JP_HASH,JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, _______, KC_END,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
SFT_T(JP_CIRC),JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_P0, KC_P1, KC_P2, KC_P3, JP_PLUS, _______, KC_PGDN, KC_UP, KC_PGUP,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
diff --git a/keyboards/jj40/keymaps/oscillope/rules.mk b/keyboards/jj40/keymaps/oscillope/rules.mk
index a121bbc770..a75f13b5e8 100644
--- a/keyboards/jj40/keymaps/oscillope/rules.mk
+++ b/keyboards/jj40/keymaps/oscillope/rules.mk
@@ -6,9 +6,6 @@ CONSOLE_ENABLE = no
COMMAND_ENABLE = yes
BACKLIGHT_ENABLE = no
-BACKLIGHT_CUSTOM_DRIVER = no
-
RGBLIGHT_ENABLE = no
-RGBLIGHT_CUSTOM_DRIVER = no
KEY_LOCK_ENABLE = yes
diff --git a/keyboards/jj40/keymaps/skewwhiffy/keymap.c b/keyboards/jj40/keymaps/skewwhiffy/keymap.c
index 6b193a15cb..e6eef65d50 100644
--- a/keyboards/jj40/keymaps/skewwhiffy/keymap.c
+++ b/keyboards/jj40/keymaps/skewwhiffy/keymap.c
@@ -56,19 +56,19 @@ enum Layers {
// Custom hotkeys
#define _TERM LCTL(UK_QUOT) // Hotkey for terminal
-#define _S_TAB S(UK_TAB)
-#define _C_LEFT LCTL(UK_LEFT)
-#define _C_RGHT LCTL(UK_RGHT)
-#define _A_LEFT LALT(UK_LEFT)
-#define _A_RGHT LALT(UK_RGHT)
+#define _S_TAB S(KC_TAB)
+#define _C_LEFT LCTL(KC_LEFT)
+#define _C_RGHT LCTL(KC_RGHT)
+#define _A_LEFT LALT(KC_LEFT)
+#define _A_RGHT LALT(KC_RGHT)
// Custom hotkeys
#define _TERM LCTL(UK_QUOT) // Hotkey for terminal
-#define _S_TAB S(UK_TAB)
-#define _C_LEFT LCTL(UK_LEFT)
-#define _C_RGHT LCTL(UK_RGHT)
-#define _A_LEFT LALT(UK_LEFT)
-#define _A_RGHT LALT(UK_RGHT)
+#define _S_TAB S(KC_TAB)
+#define _C_LEFT LCTL(KC_LEFT)
+#define _C_RGHT LCTL(KC_RGHT)
+#define _A_LEFT LALT(KC_LEFT)
+#define _A_RGHT LALT(KC_RGHT)
enum custom_keycodes {
IJ_OMN = SAFE_RANGE // IntelliJ Omnibox
@@ -92,7 +92,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
UK_Q, UK_W, UK_F, UK_P, UK_G, _______, _______, UK_J, UK_L, UK_U, UK_Y, UK_SCLN, \
UK_A, UK_R, UK_S, UK_T, UK_D, _______, _______, UK_H, UK_N, UK_E, UK_I, UK_O, \
_Z_SFT, _X_NB, _C_SY, _V_NAL, UK_B, _______, _______, UK_K, _M_NAR, _COM_SY, _DOT_NB, _SLSH, \
- UK_LSFT, UK_LCTL, UK_LALT, UK_LGUI, UK_SPC, UK_ENT, UK_DEL, UK_BSPC, UK_RGUI, UK_RALT, UK_RCTL, UK_RSFT \
+ KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_ENT, KC_DEL, KC_BSPC, KC_RGUI, KC_RALT, KC_RCTL, KC_RSFT \
),
/* Dvorak
@@ -145,15 +145,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* '-----------------------------------------------------------------------------------------------------------'
*/
[nbl] = LAYOUT_ortho_4x12( \
- _______, UK_F7, UK_F8, UK_F9, UK_F10, _______, _______, _______, UK_7, UK_8, UK_9, _______, \
- _______, UK_F4, UK_F5, UK_F6, UK_F11, _______, _______, _______, UK_4, UK_5, UK_6, _______, \
- _______, __NBL, UK_F2, UK_F3, UK_F12, _______, _______, UK_0, UK_1, UK_2, UK_3, UK_DOT, \
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, UK_7, UK_8, UK_9, _______, \
+ _______, KC_F4, KC_F5, KC_F6, KC_F11, _______, _______, _______, UK_4, UK_5, UK_6, _______, \
+ _______, __NBL, KC_F2, KC_F3, KC_F12, _______, _______, UK_0, UK_1, UK_2, UK_3, UK_DOT, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
),
[nbr] = LAYOUT_ortho_4x12( \
- _______, UK_F7, UK_F8, UK_F9, UK_F10, _______, _______, _______, UK_7, UK_8, UK_9, _______, \
- _______, UK_F4, UK_F5, UK_F6, UK_F11, _______, _______, _______, UK_4, UK_5, UK_6, _______, \
- _______, UK_F1, UK_F2, UK_F3, UK_F12, _______, _______, UK_0, UK_1, UK_2, __NBR, UK_DOT, \
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, UK_7, UK_8, UK_9, _______, \
+ _______, KC_F4, KC_F5, KC_F6, KC_F11, _______, _______, _______, UK_4, UK_5, UK_6, _______, \
+ _______, KC_F1, KC_F2, KC_F3, KC_F12, _______, _______, UK_0, UK_1, UK_2, __NBR, UK_DOT, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
),
@@ -194,15 +194,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* '-----------------------------------------------------------------------------------------------------------'
*/
[nal] = LAYOUT_ortho_4x12( \
- UK_ESC, _C_LEFT, UK_UP, _C_RGHT, RGB_RMOD,RGB_HUD, RGB_HUI, RGB_TOG, UK_PSCR, UK_SLCK, UK_PAUS, DF(dv), \
- UK_TAB, UK_LEFT, UK_DOWN, UK_RGHT, RGB_MOD, RGB_SAD, RGB_SAI, DF(cm), UK_INS, UK_HOME, UK_PGUP, _TERM, \
- _S_TAB, _A_LEFT, IJ_OMN, __NAL, _______, RGB_VAD, RGB_VAI, _______, UK_SLCK, UK_END, UK_PGDN, DF(qw), \
+ KC_ESC, _C_LEFT, KC_UP, _C_RGHT, RGB_RMOD,RGB_HUD, RGB_HUI, RGB_TOG, KC_PSCR, KC_SLCK, KC_PAUS, DF(dv), \
+ KC_TAB, KC_LEFT, KC_DOWN, KC_RGHT, RGB_MOD, RGB_SAD, RGB_SAI, DF(cm), KC_INS, KC_HOME, KC_PGUP, _TERM, \
+ _S_TAB, _A_LEFT, IJ_OMN, __NAL, _______, RGB_VAD, RGB_VAI, _______, KC_SLCK, KC_END, KC_PGDN, DF(qw), \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
),
[nar] = LAYOUT_ortho_4x12( \
- UK_ESC, _C_LEFT, UK_UP, _C_RGHT, RGB_RMOD,RGB_HUD, RGB_HUI, RGB_TOG, UK_PSCR, UK_SLCK, UK_PAUS, DF(dv), \
- UK_TAB, UK_LEFT, UK_DOWN, UK_RGHT, RGB_MOD, RGB_SAD, RGB_SAI, DF(cm), UK_INS, UK_HOME, UK_PGUP, _TERM, \
- _S_TAB, _A_LEFT, IJ_OMN, _A_RGHT, _______, RGB_VAD, RGB_VAI, _______, __NAR, UK_END, UK_PGDN, DF(qw), \
+ KC_ESC, _C_LEFT, KC_UP, _C_RGHT, RGB_RMOD,RGB_HUD, RGB_HUI, RGB_TOG, KC_PSCR, KC_SLCK, KC_PAUS, DF(dv), \
+ KC_TAB, KC_LEFT, KC_DOWN, KC_RGHT, RGB_MOD, RGB_SAD, RGB_SAI, DF(cm), KC_INS, KC_HOME, KC_PGUP, _TERM, \
+ _S_TAB, _A_LEFT, IJ_OMN, _A_RGHT, _______, RGB_VAD, RGB_VAI, _______, __NAR, KC_END, KC_PGDN, DF(qw), \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
),
};
diff --git a/keyboards/jj50/keymaps/abstractkb/keymap.c b/keyboards/jj50/keymaps/abstractkb/keymap.c
index 2de5ce6b99..e257649369 100644
--- a/keyboards/jj50/keymaps/abstractkb/keymap.c
+++ b/keyboards/jj50/keymaps/abstractkb/keymap.c
@@ -41,7 +41,7 @@ void keyboard_post_init_user(void) {
led_set_user(host_keyboard_leds());
}
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
switch (biton32(state)) {
case _RAISE:
rgblight_sethsv_noeeprom(170,255,255);
@@ -60,7 +60,7 @@ uint32_t layer_state_set_user(uint32_t state) {
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
break;
}
-
+
return state;
}
@@ -106,7 +106,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MO(_FN), KC_LCTL, KC_LGUI, KC_LALT, MO(_LOWER),KC_SPC,KC_SPC,MO(_RAISE),KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
),
-
+
[_RAISE] = LAYOUT( \
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
@@ -115,7 +115,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY \
),
-
+
[_LOWER] = LAYOUT( \
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \
_______, KC_GRV, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, KC_BSLS, _______, \
@@ -123,8 +123,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
),
-
-
+
+
[_FN] = LAYOUT( \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
diff --git a/keyboards/jj50/keymaps/abstractkb_gergomatch/keymap.c b/keyboards/jj50/keymaps/abstractkb_gergomatch/keymap.c
index 9c129ba9ab..baedbb4dd2 100644
--- a/keyboards/jj50/keymaps/abstractkb_gergomatch/keymap.c
+++ b/keyboards/jj50/keymaps/abstractkb_gergomatch/keymap.c
@@ -41,7 +41,7 @@ void keyboard_post_init_user(void) {
led_set_user(host_keyboard_leds());
}
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
switch (biton32(state)) {
case _FUNC:
rgblight_sethsv_noeeprom(170,255,255);
@@ -60,7 +60,7 @@ uint32_t layer_state_set_user(uint32_t state) {
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
break;
}
-
+
return state;
}
@@ -106,7 +106,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, MO(_META), KC_LGUI, KC_LALT, MO(_SYM),KC_SPC,KC_SPC,MO(_FUNC),KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
),
-
+
[_FUNC] = LAYOUT( \
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
@@ -115,7 +115,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY \
),
-
+
[_SYM] = LAYOUT( \
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \
_______,S(KC_1),S(KC_2),S(KC_LBRC),S(KC_RBRC),S(KC_BSLS),_______, S(KC_MINS), _______, _______, _______, _______, \
@@ -123,8 +123,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, S(KC_5), S(KC_6), KC_LBRC,KC_RBRC,S(KC_GRV), S(KC_7),KC_EQL, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
),
-
-
+
+
[_META] = LAYOUT( \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
diff --git a/keyboards/k_type/is31fl3733-dual.h b/keyboards/k_type/is31fl3733-dual.h
index 272bcdc417..aab170a3fd 100644
--- a/keyboards/k_type/is31fl3733-dual.h
+++ b/keyboards/k_type/is31fl3733-dual.h
@@ -28,7 +28,7 @@ typedef struct is31_led {
uint8_t b;
} __attribute__((packed)) is31_led;
-extern const is31_led g_is31_leds[DRIVER_LED_TOTAL];
+extern const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL];
void IS31FL3733_init(uint8_t bus, uint8_t addr, uint8_t sync);
bool IS31FL3733_write_register(uint8_t index, uint8_t addr, uint8_t reg, uint8_t data);
diff --git a/keyboards/k_type/k_type.c b/keyboards/k_type/k_type.c
index 61c5881454..924862277f 100644
--- a/keyboards/k_type/k_type.c
+++ b/keyboards/k_type/k_type.c
@@ -23,7 +23,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "is31fl3733-dual.h"
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{ 0, B_1, A_1, C_1 },
{ 0, B_2, A_2, C_2 },
{ 0, B_3, A_3, C_3 },
diff --git a/keyboards/kbdfans/bella/rgb/config.h b/keyboards/kbdfans/bella/rgb/config.h
index f56049690b..07594a34ab 100644
--- a/keyboards/kbdfans/bella/rgb/config.h
+++ b/keyboards/kbdfans/bella/rgb/config.h
@@ -37,7 +37,7 @@
/* disable these deprecated features by default */
#ifdef RGB_MATRIX_ENABLE
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
diff --git a/keyboards/kbdfans/bella/rgb/rgb.c b/keyboards/kbdfans/bella/rgb/rgb.c
index e197d9b538..17cf992146 100644
--- a/keyboards/kbdfans/bella/rgb/rgb.c
+++ b/keyboards/kbdfans/bella/rgb/rgb.c
@@ -15,7 +15,7 @@
*/
#include "rgb.h"
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{0, CS18_SW1, CS17_SW1, CS16_SW1}, /* RGB6 */
{0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB32 */
{0, CS18_SW4, CS17_SW4, CS16_SW4}, /* RGB45 */
diff --git a/keyboards/kbdfans/bella/rgb_iso/config.h b/keyboards/kbdfans/bella/rgb_iso/config.h
index fc7a9d7c08..4fda998677 100644
--- a/keyboards/kbdfans/bella/rgb_iso/config.h
+++ b/keyboards/kbdfans/bella/rgb_iso/config.h
@@ -37,7 +37,7 @@
/* disable these deprecated features by default */
#ifdef RGB_MATRIX_ENABLE
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
diff --git a/keyboards/kbdfans/bella/rgb_iso/rgb_iso.c b/keyboards/kbdfans/bella/rgb_iso/rgb_iso.c
index 1a853ac8af..0c431b1543 100644
--- a/keyboards/kbdfans/bella/rgb_iso/rgb_iso.c
+++ b/keyboards/kbdfans/bella/rgb_iso/rgb_iso.c
@@ -15,7 +15,7 @@
*/
#include "rgb_iso.h"
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{0, CS18_SW1, CS17_SW1, CS16_SW1}, /* RGB6 */
{0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB32 */
{0, CS18_SW4, CS17_SW4, CS16_SW4}, /* RGB45 */
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/mkiirgb.c b/keyboards/kbdfans/kbd67/mkiirgb/mkiirgb.c
index 323cb23848..2826c08988 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/mkiirgb.c
+++ b/keyboards/kbdfans/kbd67/mkiirgb/mkiirgb.c
@@ -1,6 +1,6 @@
#include "mkiirgb.h"
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{0, C8_8, C7_8, C6_8}, // LA17
{0, C9_8, C7_7, C6_7}, // LA16
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v1/config.h b/keyboards/kbdfans/kbd67/mkiirgb/v1/config.h
index a832110d3c..b0b7e1dad2 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/v1/config.h
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v1/config.h
@@ -16,9 +16,9 @@
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
#define DEBOUNCE 3
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_KEYPRESSES
-#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#define DISABLE_RGB_MATRIX_BAND_SAT
#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
diff --git a/keyboards/kbdfans/kbd67/mkiirgb/v2/config.h b/keyboards/kbdfans/kbd67/mkiirgb/v2/config.h
index 1ac9c770db..51e732f101 100644
--- a/keyboards/kbdfans/kbd67/mkiirgb/v2/config.h
+++ b/keyboards/kbdfans/kbd67/mkiirgb/v2/config.h
@@ -16,10 +16,10 @@
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
#define DEBOUNCE 3
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
-#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#define DISABLE_RGB_MATRIX_BAND_SAT
#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
diff --git a/keyboards/kbdfans/kbd67/rev1/keymaps/default/config.h b/keyboards/kbdfans/kbd67/rev1/keymaps/default/config.h
index a3ed4f762a..90fb10ebbe 100644
--- a/keyboards/kbdfans/kbd67/rev1/keymaps/default/config.h
+++ b/keyboards/kbdfans/kbd67/rev1/keymaps/default/config.h
@@ -16,4 +16,4 @@
#pragma once
-// place overrides here
+#define LAYER_STATE_8BIT
diff --git a/keyboards/kbdfans/kbd67/rev2/info.json b/keyboards/kbdfans/kbd67/rev2/info.json
index b5cc796544..208a13c586 100644
--- a/keyboards/kbdfans/kbd67/rev2/info.json
+++ b/keyboards/kbdfans/kbd67/rev2/info.json
@@ -235,7 +235,7 @@
{"x":14, "y":4},
{"x":15, "y":4}]
},
- "LAYOUT_65_ansi_blocker_splitbs": {
+ "LAYOUT_65_ansi_blocker_split_bs": {
"layout": [
{"x":0, "y":0},
{"x":1, "y":0},
diff --git a/keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c b/keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c
index 1e0fc8ad7e..6bbbdd87c1 100644
--- a/keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c
+++ b/keyboards/kbdfans/kbd6x/keymaps/othi/keymap.c
@@ -29,15 +29,15 @@
void eeconfig_init_user(void) {
set_unicode_input_mode(UC_LNX);
}
-#define DE_AE UC(0x00E4)
-#define DE_SS UC(0x00DF)
-#define DE_OE UC(0x00F6)
-#define DE_UE UC(0x00FC)
-#define DE_AE_CAP UC(0x00C4)
-#define DE_OE_CAP UC(0x00D6)
-#define DE_UE_CAP UC(0x00DC)
-
-uint32_t layer_state_set_user(uint32_t state) {
+#define DE_ADIA UC(0x00E4)
+#define DE_SS UC(0x00DF)
+#define DE_ODIA UC(0x00F6)
+#define DE_UDIA UC(0x00FC)
+#define DE_ADIA_CAP UC(0x00C4)
+#define DE_ODIA_CAP UC(0x00D6)
+#define DE_UDIA_CAP UC(0x00DC)
+
+layer_state_t layer_state_set_user(layer_state_t state) {
switch (biton32(state)) {
case NM_MODE:
rgblight_setrgb (0x00, 0x66, 0x00);
@@ -174,15 +174,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[ACCENT] = LAYOUT(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
- _______, RGB_TOG, RGB_MODE_PLAIN, _______, _______, _______, _______, _______, DE_UE, _______, _______, _______, _______, _______,
- _______, DE_AE, UC_Z, DE_SS, _______, _______, _______, _______, _______, _______, DE_OE, _______, _______,
+ _______, RGB_TOG, RGB_MODE_PLAIN, _______, _______, _______, _______, _______, DE_UDIA, _______, _______, _______, _______, _______,
+ _______, DE_ADIA, UC_Z, DE_SS, _______, _______, _______, _______, _______, _______, DE_ODIA, _______, _______,
OSL(ACCENT_CAP), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(CL),
_______, _______, _______, _______, _______, _______, _______
),
[ACCENT_CAP] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, DE_UE_CAP, _______, _______, _______, _______, _______,
- _______, DE_AE_CAP, _______, DE_SS, _______, _______, _______, _______, _______, _______, DE_OE_CAP, _______, TO(CL),
+ _______, _______, _______, _______, _______, _______, _______, _______, DE_UDIA_CAP, _______, _______, _______, _______, _______,
+ _______, DE_ADIA_CAP, _______, DE_SS, _______, _______, _______, _______, _______, _______, DE_ODIA_CAP, _______, TO(CL),
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/kbdfans/kbd75/keymaps/adit/keymap.c b/keyboards/kbdfans/kbd75/keymaps/adit/keymap.c
index 7785157880..af4243c49d 100644
--- a/keyboards/kbdfans/kbd75/keymaps/adit/keymap.c
+++ b/keyboards/kbdfans/kbd75/keymaps/adit/keymap.c
@@ -1,7 +1,5 @@
#include QMK_KEYBOARD_H
-#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
-
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
@@ -23,37 +21,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
)
};
-
-enum function_id {
- SHIFT_ESC,
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [0] = ACTION_FUNCTION(SHIFT_ESC),
-};
-
-void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
- static uint8_t shift_esc_shift_mask;
- switch (id) {
- case SHIFT_ESC:
- shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
- if (record->event.pressed) {
- if (shift_esc_shift_mask) {
- add_key(KC_GRV);
- send_keyboard_report();
- } else {
- add_key(KC_ESC);
- send_keyboard_report();
- }
- } else {
- if (shift_esc_shift_mask) {
- del_key(KC_GRV);
- send_keyboard_report();
- } else {
- del_key(KC_ESC);
- send_keyboard_report();
- }
- }
- break;
- }
-}
diff --git a/keyboards/kbdfans/kbd75/keymaps/edulpn/keymap.c b/keyboards/kbdfans/kbd75/keymaps/edulpn/keymap.c
index 533d83fdbb..998f1a25d2 100644
--- a/keyboards/kbdfans/kbd75/keymaps/edulpn/keymap.c
+++ b/keyboards/kbdfans/kbd75/keymaps/edulpn/keymap.c
@@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
)
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
switch (biton32(state)) {
case WINDOWS_LAYER:
rgblight_setrgb_blue();
diff --git a/keyboards/kbdfans/kbdmini/config.h b/keyboards/kbdfans/kbdmini/config.h
index 5a36e983d1..fc65f43411 100644
--- a/keyboards/kbdfans/kbdmini/config.h
+++ b/keyboards/kbdfans/kbdmini/config.h
@@ -35,7 +35,7 @@
#ifdef RGB_MATRIX_ENABLE
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
diff --git a/keyboards/kbdfans/kbdmini/kbdmini.c b/keyboards/kbdfans/kbdmini/kbdmini.c
index 0e0df2f9af..799803c6fa 100644
--- a/keyboards/kbdfans/kbdmini/kbdmini.c
+++ b/keyboards/kbdfans/kbdmini/kbdmini.c
@@ -1,6 +1,6 @@
#include "kbdmini.h"
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{ 0, B_9, A_9, C_9 }, //LA33
{ 0, B_10, A_10, C_10 }, //LA37
{ 0, B_11, A_11, C_11 }, //LA41
diff --git a/keyboards/kbdfans/maja/config.h b/keyboards/kbdfans/maja/config.h
index d8553766bb..3722c8381d 100755
--- a/keyboards/kbdfans/maja/config.h
+++ b/keyboards/kbdfans/maja/config.h
@@ -18,9 +18,9 @@
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
#define DEBOUNCE 3
#define RGB_DISABLE_AFTER_TIMEOUT 0
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true
+#define RGB_DISABLE_WHEN_USB_SUSPENDED
#define RGB_MATRIX_KEYPRESSES
-#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#define DISABLE_RGB_MATRIX_BAND_SAT
#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
diff --git a/keyboards/kbdfans/maja/maja.c b/keyboards/kbdfans/maja/maja.c
index a0afcbda8a..9619a84b48 100755
--- a/keyboards/kbdfans/maja/maja.c
+++ b/keyboards/kbdfans/maja/maja.c
@@ -1,6 +1,6 @@
#include "maja.h"
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{0, C2_1, C3_1, C4_1}, // LA0
{0, C1_1, C3_2, C4_2}, // LA1
{0, C1_2, C2_2, C4_3}, // LA2
diff --git a/keyboards/kc60/keymaps/stanleylai/keymap.c b/keyboards/kc60/keymaps/stanleylai/keymap.c
index 887b5da728..54428f2875 100644
--- a/keyboards/kc60/keymaps/stanleylai/keymap.c
+++ b/keyboards/kc60/keymaps/stanleylai/keymap.c
@@ -16,7 +16,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Base Default Layer
// Mac Modifier Layout. Use BootMagic to toggle GUI and ALT positions.
[_BL] = LAYOUT(
- F(0), 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_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, \
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \
LT(_FL, KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_NO, KC_ENT, \
KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, MO(_FL), KC_UP, \
@@ -46,39 +46,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_NO, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS),
#endif
};
-
-
-enum function_id {
- SHIFT_ESC,
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [0] = ACTION_FUNCTION(SHIFT_ESC),
-};
-
-#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
-void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
- static uint8_t shift_esc_shift_mask;
- switch (id) {
- case SHIFT_ESC:
- shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
- if (record->event.pressed) {
- if (shift_esc_shift_mask) {
- add_key(KC_GRV);
- send_keyboard_report();
- } else {
- add_key(KC_ESC);
- send_keyboard_report();
- }
- } else {
- if (shift_esc_shift_mask) {
- del_key(KC_GRV);
- send_keyboard_report();
- } else {
- del_key(KC_ESC);
- send_keyboard_report();
- }
- }
- break;
- }
-}
diff --git a/keyboards/keebio/bdn9/keymaps/vosechu-ksp/keymap.c b/keyboards/keebio/bdn9/keymaps/vosechu-ksp/keymap.c
index d1792d2b29..a449c3ec3d 100644
--- a/keyboards/keebio/bdn9/keymaps/vosechu-ksp/keymap.c
+++ b/keyboards/keebio/bdn9/keymaps/vosechu-ksp/keymap.c
@@ -58,7 +58,7 @@ bool panic_mode = false;
bool flight_mode = false;
bool rcs_mode = false;
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
base_mode = false;
panic_mode = false;
flight_mode = false;
diff --git a/keyboards/keebio/bfo9000/keymaps/abstractkb/keymap.c b/keyboards/keebio/bfo9000/keymaps/abstractkb/keymap.c
index f97f0abf1a..29531b9973 100644
--- a/keyboards/keebio/bfo9000/keymaps/abstractkb/keymap.c
+++ b/keyboards/keebio/bfo9000/keymaps/abstractkb/keymap.c
@@ -21,11 +21,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_LIST] = LAYOUT( \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, TO(_BASE), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
@@ -41,7 +41,7 @@ void matrix_post_init_user(void) {
led_set_user(host_keyboard_leds());
}
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
switch (biton32(state)) {
case _LIST:
rgblight_sethsv_noeeprom(0,255,255);
@@ -52,7 +52,7 @@ uint32_t layer_state_set_user(uint32_t state) {
rgblight_mode_noeeprom(RGBLIGHT_MODE_STATIC_LIGHT);
break;
}
-
+
return state;
}
diff --git a/keyboards/keebio/bfo9000/keymaps/insertsnideremarks/keymap.c b/keyboards/keebio/bfo9000/keymaps/insertsnideremarks/keymap.c
index d15569ee96..ba272ca63c 100644
--- a/keyboards/keebio/bfo9000/keymaps/insertsnideremarks/keymap.c
+++ b/keyboards/keebio/bfo9000/keymaps/insertsnideremarks/keymap.c
@@ -61,7 +61,7 @@ void dance_LAYER_reset(qk_tap_dance_state_t *state, void *user_data) {
}
qk_tap_dance_action_t tap_dance_actions[] = {
-[ADJ] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_LAYER_finished, dance_LAYER_reset), // Double-tap to activate Adjust layer via oneshot layer
+[ADJ] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_LAYER_finished, dance_LAYER_reset), // Double-tap to activate Adjust layer via oneshot layer
[LBCB] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_LCBR), // Left bracket on a single-tap, left brace on a double-tap
[RBCB] = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, KC_RCBR), // Right bracket on a single-tap, right brace on a double-tap
[EQPL] = ACTION_TAP_DANCE_DOUBLE(KC_EQL, KC_PLUS), // Plus sign on a single-tap, equal sign on a double-tap
@@ -77,7 +77,7 @@ qk_tap_dance_action_t tap_dance_actions[] = {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Colemak
(Default layer; keys separated by /: tap for first, hold for second; uses Space Cadet Shifts)
- ,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
+ ,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
| ESC | F1 | F2 | F3 | F4 | F5 | | | | | Adjust| | F12 | F6 | F7 | F8 | F9 | F10 | F11 |
|-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
| = | 1 | 2 | 3 | 4 | 5 | | | | | Numpad| | | 6 | 7 | 8 | 9 | 0 | - |
@@ -93,16 +93,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_COLEMAK] = LAYOUT( \
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, ADJUST, _______, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, NUMPAD, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, _______, _______, KC_HOME, KC_PAUS, _______, _______, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
- CTLESC, KC_A, KC_R, KC_S, KC_T, KC_D, _______, _______, KC_PGUP, KC_SLCK, _______, _______, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, CTLESC, ALTAPP, KC_PGDN, KC_PSCR, KC_RALT, KC_RCTL, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
- KC_INS, KC_GRV, KC_LBRC, KC_RBRC, ALTAPP, SPCFN, ENTNS, KC_BSPC, KC_END, _______, KC_ENT, DELNS, BSPCFN, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, NUMPAD, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, _______, _______, KC_HOME, KC_PAUS, _______, _______, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
+ CTLESC, KC_A, KC_R, KC_S, KC_T, KC_D, _______, _______, KC_PGUP, KC_SLCK, _______, _______, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
+ KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, CTLESC, ALTAPP, KC_PGDN, KC_PSCR, KC_RALT, KC_RCTL, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
+ KC_INS, KC_GRV, KC_LBRC, KC_RBRC, ALTAPP, SPCFN, ENTNS, KC_BSPC, KC_END, _______, KC_ENT, DELNS, BSPCFN, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* QWERTY
(Keys separated by /: tap for first, hold for second; uses Space Cadet Shifts)
- ,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
+ ,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
| ESC | F1 | F2 | F3 | F4 | F5 | | | | | Adjust| | F12 | F6 | F7 | F8 | F9 | F10 | F11 |
|-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
| = | 1 | 2 | 3 | 4 | 5 | | | | | Numpad| | | 6 | 7 | 8 | 9 | 0 | - |
@@ -118,16 +118,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_QWERTY] = LAYOUT( \
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, ADJUST, _______, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, NUMPAD, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_HOME, KC_PAUS, _______, _______, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- CTLESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_PGUP, KC_SLCK, _______, _______, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, CTLESC, ALTAPP, KC_PGDN, KC_PSCR, KC_RALT, KC_RCTL, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
- KC_INS, KC_GRV, KC_LBRC, KC_RBRC, ALTAPP, SPCFN, ENTNS, KC_BSPC, KC_END, _______, KC_ENT, DELNS, BSPCFN, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, NUMPAD, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_HOME, KC_PAUS, _______, _______, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ CTLESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_PGUP, KC_SLCK, _______, _______, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, CTLESC, ALTAPP, KC_PGDN, KC_PSCR, KC_RALT, KC_RCTL, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
+ KC_INS, KC_GRV, KC_LBRC, KC_RBRC, ALTAPP, SPCFN, ENTNS, KC_BSPC, KC_END, _______, KC_ENT, DELNS, BSPCFN, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Numbers/Symbols layer
(Multiple characters: single-tap for first, double-tap for second)
- ,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
+ ,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
| | | | | | | | | | | | | | | | | | | |
|-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
| F12 | F1 | F2 | F3 | F4 | F5 | | | | | | | | F6 | F7 | F8 | F9 | F10 | F12 |
@@ -160,7 +160,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
/* Function layer
- ,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
+ ,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
| | | | | | | | | | | | | | | | | | | |
|-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
| F12 | F1 | F2 | F3 | F4 | F5 | | | | | | | | F6 | F7 | F8 | F9 | F10 | F12 |
@@ -194,7 +194,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Numpad layer
(Left side duplicates layout from the Numbers layer, just with numpad output; right side layout close to PC numpad layout)
- ,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
+ ,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
| | | | | | | | | | | | | | | | | | | |
|-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
| | NumLk | | | | | | | | | | | Tab | NumLk | KP / | KP * | KP - | | |
@@ -219,7 +219,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Colemak gaming/vanilla
(Limited access to Function or Numbers layers; mainly used for gaming; Ent/NS + Del/NS2 on right side to access Adjust layer)
- ,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
+ ,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
| ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | | Adjust| | F12 | F6 | F7 | F8 | F9 | F10 | F11 |
|-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
| = | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | | Numpad| | | 6 | 7 | 8 | 9 | 0 | - |
@@ -235,16 +235,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_COLEMAKGM] = LAYOUT( \
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, ADJUST, _______, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, NUMPAD, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_HOME, KC_PAUS, _______, _______, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
- KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_PGUP, KC_SLCK, _______, _______, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ESC, KC_LALT, KC_PGDN, KC_PSCR, KC_RALT, KC_RCTL, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_INS, KC_GRV, KC_LBRC, KC_RBRC, KC_LALT, KC_SPC, KC_ENT, KC_BSPC, KC_END, _______, ENTNS, DELNS, BSPCFN, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, NUMPAD, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_HOME, KC_PAUS, _______, _______, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
+ KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_PGUP, KC_SLCK, _______, _______, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ESC, KC_LALT, KC_PGDN, KC_PSCR, KC_RALT, KC_RCTL, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_INS, KC_GRV, KC_LBRC, KC_RBRC, KC_LALT, KC_SPC, KC_ENT, KC_BSPC, KC_END, _______, ENTNS, DELNS, BSPCFN, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* QWERTY gaming/vanilla
(Limited access to Function or Numbers layers; mainly used for gaming; Ent/NS + Del/NS2 on right side to access Adjust layer)
- ,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
+ ,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
| ESC | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | | Adjust| | F12 | F6 | F7 | F8 | F9 | F10 | F11 |
|-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
| = | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | | Numpad| | | 6 | 7 | 8 | 9 | 0 | - |
@@ -260,16 +260,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_QWERTYGM] = LAYOUT( \
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, ADJUST, _______, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, NUMPAD, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_HOME, KC_PAUS, _______, _______, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_PGUP, KC_SLCK, _______, _______, 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_ESC, KC_LALT, KC_PGDN, KC_PSCR, KC_RALT, KC_RCTL, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_INS, KC_GRV, KC_LBRC, KC_RBRC, KC_LALT, KC_SPC, KC_ENT, KC_BSPC, KC_END, _______, ENTNS, DELNS, BSPCFN, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, NUMPAD, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_HOME, KC_PAUS, _______, _______, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_PGUP, KC_SLCK, _______, _______, 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_ESC, KC_LALT, KC_PGDN, KC_PSCR, KC_RALT, KC_RCTL, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
+ KC_INS, KC_GRV, KC_LBRC, KC_RBRC, KC_LALT, KC_SPC, KC_ENT, KC_BSPC, KC_END, _______, ENTNS, DELNS, BSPCFN, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Adjust layer
(Enter/Number + Delete/Number2 under non-gaming/vanilla layers or press & hold Adjust key on function row; Numpad is a toggle)
- ,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
+ ,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------.
| | | | | | | | | | | | | | | | | | | |
|-------+-------+-------+-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------+-------+-------+-------|
| |Colemak| Qwerty| |ColmkGM| QWGM | | | | | | | | Numpad| | | | | RESET |
@@ -304,7 +304,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _NUMBERS, _NUMBERS2, _ADJUST);
}
diff --git a/keyboards/keebio/bfo9000/keymaps/tuesdayjohn/keymap.c b/keyboards/keebio/bfo9000/keymaps/tuesdayjohn/keymap.c
index e42f6797e7..fe951ac019 100644
--- a/keyboards/keebio/bfo9000/keymaps/tuesdayjohn/keymap.c
+++ b/keyboards/keebio/bfo9000/keymaps/tuesdayjohn/keymap.c
@@ -50,7 +50,7 @@ void dance_LAYER_reset(qk_tap_dance_state_t *state, void *user_data) {
}
qk_tap_dance_action_t tap_dance_actions[] = {
-[ADJ] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_LAYER_finished, dance_LAYER_reset), // Double-tap to activate Adjust layer via oneshot layer
+[ADJ] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_LAYER_finished, dance_LAYER_reset), // Double-tap to activate Adjust layer via oneshot layer
[LBCB] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_LCBR), // Left bracket on a single-tap, left brace on a double-tap
[RBCB] = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, KC_RCBR), // Right bracket on a single-tap, right brace on a double-tap
[EQPL] = ACTION_TAP_DANCE_DOUBLE(KC_EQL, KC_PLUS), // Plus sign on a single-tap, equal sign on a double-tap
@@ -97,7 +97,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
Colemak
(Default layer; keys separated by /: tap for first, hold for second; uses Space Cadet Shifts)
- ,--------------------------------------------------------------------------------. ,--------------------------------------------------------------------------------.
+ ,--------------------------------------------------------------------------------. ,--------------------------------------------------------------------------------.
| ESC | F1 | F2 | F3 | F4 | F5 | | | | | Adjust | | F12 | F6 | F7 | F8 | F9 | F10 | F11 |
|--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
| = | 1 | 2 | 3 | 4 | 5 | | | | | Numpad | | | 6 | 7 | 8 | 9 | 0 | - |
@@ -113,17 +113,17 @@ Colemak
*/
[_COLEMAK] = LAYOUT( \
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, ADJUST, _______, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, NUMPAD, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, _______, _______, KC_HOME, KC_PAUS, _______, _______, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
- CTLESC, KC_A, KC_R, KC_S, KC_T, KC_D, _______, _______, KC_PGUP, KC_SLCK, _______, _______, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, CTLESC, ALTAPP, KC_PGDN, KC_PSCR, KC_RALT, KC_RCTL, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
- KC_INS, KC_GRV, KC_LBRC, KC_RBRC, ALTAPP, SPCFN, ENTNS, KC_BSPC, KC_END, _______, KC_ENT, DELNS, BSPCFN, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, NUMPAD, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, _______, _______, KC_HOME, KC_PAUS, _______, _______, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS,
+ CTLESC, KC_A, KC_R, KC_S, KC_T, KC_D, _______, _______, KC_PGUP, KC_SLCK, _______, _______, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
+ KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, CTLESC, ALTAPP, KC_PGDN, KC_PSCR, KC_RALT, KC_RCTL, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
+ KC_INS, KC_GRV, KC_LBRC, KC_RBRC, ALTAPP, SPCFN, ENTNS, KC_BSPC, KC_END, _______, KC_ENT, DELNS, BSPCFN, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/*
QWERTY
(Keys separated by /: tap for first, hold for second; uses Space Cadet Shifts)
- ,--------------------------------------------------------------------------------. ,--------------------------------------------------------------------------------.
+ ,--------------------------------------------------------------------------------. ,--------------------------------------------------------------------------------.
| ESC | F1 | F2 | F3 | F4 | F5 | | | | | Adjust | | F12 | F6 | F7 | F8 | F9 | F10 | F11 |
|--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
| = | 1 | 2 | 3 | 4 | 5 | | | | | Numpad | | | 6 | 7 | 8 | 9 | 0 | - |
@@ -139,17 +139,17 @@ QWERTY
*/
[_QWERTY] = LAYOUT( \
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, ADJUST, _______, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, NUMPAD, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_HOME, KC_PAUS, _______, _______, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- CTLESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_PGUP, KC_SLCK, _______, _______, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, CTLESC, ALTAPP, KC_PGDN, KC_PSCR, KC_RALT, KC_RCTL, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
- KC_INS, KC_GRV, KC_LBRC, KC_RBRC, ALTAPP, SPCFN, ENTNS, KC_BSPC, KC_END, _______, KC_ENT, DELNS, BSPCFN, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, NUMPAD, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_HOME, KC_PAUS, _______, _______, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ CTLESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_PGUP, KC_SLCK, _______, _______, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, CTLESC, ALTAPP, KC_PGDN, KC_PSCR, KC_RALT, KC_RCTL, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
+ KC_INS, KC_GRV, KC_LBRC, KC_RBRC, ALTAPP, SPCFN, ENTNS, KC_BSPC, KC_END, _______, KC_ENT, DELNS, BSPCFN, KC_RGUI, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/*
Numbers/Symbols layer
(Multiple characters: single-tap for first, double-tap for second)
- ,--------------------------------------------------------------------------------. ,--------------------------------------------------------------------------------.
+ ,--------------------------------------------------------------------------------. ,--------------------------------------------------------------------------------.
| | | | | | | | | | | | | | | | | | | |
|--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
| F12 | F1 | F2 | F3 | F4 | F5 | | | | | | | | F6 | F7 | F8 | F9 | F10 | F12 |
@@ -183,7 +183,7 @@ Numbers/Symbols layer
/*
Function layer
- ,--------------------------------------------------------------------------------. ,--------------------------------------------------------------------------------.
+ ,--------------------------------------------------------------------------------. ,--------------------------------------------------------------------------------.
| | | | | | | | | | | | | | | | | | | |
|--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
| F12 | F1 | F2 | F3 | F4 | F5 | | | | | | | | F6 | F7 | F8 | F9 | F10 | F12 |
@@ -218,7 +218,7 @@ Function layer
/*
Numpad layer
(Left side duplicates layout from the Numbers layer, just with numpad output; right side layout close to PC numpad layout)
- ,--------------------------------------------------------------------------------. ,--------------------------------------------------------------------------------.
+ ,--------------------------------------------------------------------------------. ,--------------------------------------------------------------------------------.
| | | | | | | | | | | | | | | | | | | |
|--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
| | NumLk | | | | | | | | | | | Tab | NumLk | KP / | KP * | KP - | | |
@@ -244,7 +244,7 @@ Numpad layer
/*
Gaming
(Toggle gaming layer with limited dual-role keys and layer access; NKRO turned on by default; Ent/NS + Delete/Numbers2 to access Adjust layer)
- ,--------------------------------------------------------------------------------. ,--------------------------------------------------------------------------------.
+ ,--------------------------------------------------------------------------------. ,--------------------------------------------------------------------------------.
| | | | | | | F6 | F7 | F8 | | | | | | | | | | |
|--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
| | | | | | | 6 | 7 | 8 | | | | | | | | | | |
@@ -260,17 +260,17 @@ Gaming
*/
[_GAMING] = LAYOUT( \
_______, _______, _______, _______, _______, _______, KC_F6, KC_F7, KC_F8, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_6, KC_7, KC_8, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_J, KC_L, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_LCTL, _______, _______, _______, _______, _______, KC_H, KC_N, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_LSFT, _______, _______, _______, _______, _______, KC_ESC, KC_LALT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RSFT,
- _______, _______, _______, _______, KC_LALT, KC_SPC, KC_ENT, KC_BSPC, _______, _______, ENTNS, _______, _______, _______, _______, _______, _______, _______
+ _______, _______, _______, _______, _______, _______, KC_6, KC_7, KC_8, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, KC_J, KC_L, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_LCTL, _______, _______, _______, _______, _______, KC_H, KC_N, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ KC_LSFT, _______, _______, _______, _______, _______, KC_ESC, KC_LALT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RSFT,
+ _______, _______, _______, _______, KC_LALT, KC_SPC, KC_ENT, KC_BSPC, _______, _______, ENTNS, _______, _______, _______, _______, _______, _______, _______
),
/*
Adjust layer
(Press and hold Adjust key on the function row or Enter/Number + Delete/Number2 to access; Numpad and NKRO are on toggle)
- ,--------------------------------------------------------------------------------. ,--------------------------------------------------------------------------------.
+ ,--------------------------------------------------------------------------------. ,--------------------------------------------------------------------------------.
| | | | | | | | | | | | | | | | | | | |
|--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
| | Colemak| Qwerty | | Gaming | | | | | | | | | Numpad | | | | | RESET |
@@ -304,7 +304,7 @@ Adjust layer
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _NUMBERS, _NUMBERS2, _ADJUST);
}
diff --git a/keyboards/keebio/iris/keymaps/antonlindstrom/keymap.c b/keyboards/keebio/iris/keymaps/antonlindstrom/keymap.c
index ce2fee792a..ff98545ba3 100644
--- a/keyboards/keebio/iris/keymaps/antonlindstrom/keymap.c
+++ b/keyboards/keebio/iris/keymaps/antonlindstrom/keymap.c
@@ -13,10 +13,6 @@
#define KC_RASE MO(_RAISE)
#define KC_RST RESET
-#define KC_AA SE_AA
-#define KC_AE SE_AE
-#define KC_OE SE_OSLH
-
#define KC_LBR SE_LBRC
#define KC_RBR SE_RBRC
@@ -26,9 +22,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//,----+----+----+----+----+----. ,----+----+----+----+----+----.
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_AA ,
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , SE_ARNG ,
//|----+----+----+----+----+----| |----+----+----+----+----+----|
- KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_OE , KC_AE ,
+ KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , SE_ODIA , SE_ADIA ,
//|----+----+----+----+----+----+----. ,----|----+----+----+----+----+----|
KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_B ,KC_LBR ,KC_RBR , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_MINS,
//`----+----+----+--+-+----+----+----/ \----+----+----+----+----+----+----'
@@ -42,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
SE_ACUT,RGB_TOG,RGB_MOD,RGB_M_B,RGB_M_K,_______, _______,_______,_______,_______,_______,SE_ASTR,
//|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
- _______,_______,SE_LESS,SE_GRTR,SE_PIPE,SE_SLSH, SE_BSLS,SE_LCBR,SE_RCBR,SE_LBRC,SE_RBRC,SE_APOS,
+ _______,_______,SE_LABK,SE_RABK,SE_PIPE,SE_SLSH, SE_BSLS,SE_LCBR,SE_RCBR,SE_LBRC,SE_RBRC,SE_QUOT,
//|-------+-------+-------+-------+-------+-------+-------. ,-------|-------+-------+-------+-------+-------+-------|
_______,KC_NUBS,_______,_______,_______,_______,SE_LCBR, SE_RCBR,_______,_______,_______,_______,_______,_______,
//`-------+-------+-------+--+----+-------+-------+-------/ \-------+-------+-------+-------+-------+-------+-------'
diff --git a/keyboards/keebio/iris/keymaps/drashna/keymap.c b/keyboards/keebio/iris/keymaps/drashna/keymap.c
index fe5e67b52f..45b05e3502 100644
--- a/keyboards/keebio/iris/keymaps/drashna/keymap.c
+++ b/keyboards/keebio/iris/keymaps/drashna/keymap.c
@@ -38,58 +38,32 @@
OS_LSFT, CTL_T(K21), K22, K23, K24, K25, OS_LALT, OS_RGUI, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \
KC_GRV, KC_SPC, LT(_LOWER,KC_BSPC), LT(_RAISE,KC_DEL), KC_ENT, RAISE \
)
-#define LAYOUT_iris_base_wrapper(...) LAYOUT_iris_base(__VA_ARGS__)
+#define LAYOUT_base_wrapper(...) LAYOUT_iris_base(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT_iris_base_wrapper(
- _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
- _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
- _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
- ),
-
- [_COLEMAK] = LAYOUT_iris_base_wrapper(
- _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
- _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
- _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
- ),
-
- [_DVORAK] = LAYOUT_iris_base_wrapper(
- _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
- _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
- _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
- ),
-
- [_WORKMAN] = LAYOUT_iris_base_wrapper(
- _________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
- _________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
- _________________WORKMAN_L3________________, _________________WORKMAN_R3________________
- ),
-
- [_NORMAN] = LAYOUT_iris_base_wrapper(
- _________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
- _________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
- _________________NORMAN_L3_________________, _________________NORMAN_R3_________________
- ),
-
- [_MALTRON] = LAYOUT_iris_base_wrapper(
- _________________MALTRON_L1________________, _________________MALTRON_R1________________,
- _________________MALTRON_L2________________, _________________MALTRON_R2________________,
- _________________MALTRON_L3________________, _________________MALTRON_R3________________
- ),
-
- [_EUCALYN] = LAYOUT_iris_base_wrapper(
- _________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
- _________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
- _________________EUCALYN_L3________________, _________________EUCALYN_R3________________
- ),
-
- [_CARPLAX] = LAYOUT_iris_base_wrapper(
- _____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
- _____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
- _____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
- ),
+ [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper(
+ _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
+ _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
+ _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
+ ),
+
+ [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper(
+ ______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________,
+ ______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________,
+ ______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________
+ ),
+ [_DEFAULT_LAYER_3] = LAYOUT_base_wrapper(
+ _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
+ _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
+ _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
+ ),
+
+ [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper(
+ _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
+ _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
+ _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
+ ),
[_GAMEPAD] = LAYOUT_wrapper(
KC_ESC, KC_NO, KC_1, KC_2, KC_3, KC_4, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/keebio/iris/keymaps/drashna_lp/keymap.c b/keyboards/keebio/iris/keymaps/drashna_lp/keymap.c
deleted file mode 100644
index ff7bd09c0c..0000000000
--- a/keyboards/keebio/iris/keymaps/drashna_lp/keymap.c
+++ /dev/null
@@ -1 +0,0 @@
-// placeholder
diff --git a/keyboards/keebio/iris/keymaps/drashna_lp/rules.mk b/keyboards/keebio/iris/keymaps/drashna_lp/rules.mk
deleted file mode 100644
index d3f6f5550f..0000000000
--- a/keyboards/keebio/iris/keymaps/drashna_lp/rules.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-USER_NAME := drashna
-SRC += ../drashna/keymap.c
-
-include $(KEYBOARD_PATH_2)/keymaps/drashna/rules.mk
-
-AUDIO_ENABLE = no
-BACKLIGHT_ENABLE = yes
diff --git a/keyboards/keebio/iris/keymaps/drashna_old/config.h b/keyboards/keebio/iris/keymaps/drashna_old/config.h
deleted file mode 100644
index f08b22dca0..0000000000
--- a/keyboards/keebio/iris/keymaps/drashna_old/config.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-/* Use I2C or Serial, not both */
-#include "../drashna/config.h"
-
-#ifdef RGBLIGHT_ENABLE
-# undef RGBLED_NUM
-# define RGBLED_NUM 16 // Number of LEDs
-# undef RGBLED_SPLIT
-# define RGBLED_SPLIT { 8, 8 }
-#endif
-
-#undef PRODUCT
-#ifdef KEYBOARD_keebio_iris_rev2
-# define PRODUCT Drashna Hacked Iris Rev.2 (16 LED)
-#endif
-
-#undef SHFT_LED1
-#define SHFT_LED1 5
-#undef SHFT_LED2
-#define SHFT_LED2 10
-
-#undef CTRL_LED1
-#define CTRL_LED1 6
-#undef CTRL_LED2
-#define CTRL_LED2 9
-
-#undef ALT_LED1
-#define ALT_LED1 7
-#undef GUI_LED1
-#define GUI_LED1 8
diff --git a/keyboards/keebio/iris/keymaps/drashna_old/keymap.c b/keyboards/keebio/iris/keymaps/drashna_old/keymap.c
deleted file mode 100644
index ff7bd09c0c..0000000000
--- a/keyboards/keebio/iris/keymaps/drashna_old/keymap.c
+++ /dev/null
@@ -1 +0,0 @@
-// placeholder
diff --git a/keyboards/keebio/iris/keymaps/drashna_old/rules.mk b/keyboards/keebio/iris/keymaps/drashna_old/rules.mk
deleted file mode 100644
index 73f37c6c55..0000000000
--- a/keyboards/keebio/iris/keymaps/drashna_old/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-USER_NAME := drashna
-SRC += ../drashna/keymap.c
-
-include $(KEYBOARD_PATH_2)/keymaps/drashna/rules.mk
diff --git a/keyboards/keebio/iris/keymaps/nstickney/keymap.c b/keyboards/keebio/iris/keymaps/nstickney/keymap.c
index 16b2d0de33..b689238340 100644
--- a/keyboards/keebio/iris/keymaps/nstickney/keymap.c
+++ b/keyboards/keebio/iris/keymaps/nstickney/keymap.c
@@ -18,13 +18,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[SYMB] = LAYOUT(
// ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐ ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
- UC(0x00EF),UC(0x00A1),UC(0x00B2),UC(0x00B3),UC(0x00A4),UC(0x20AC), UC(0x00BC),UC(0x00BD),UC(0x00BE),UC(0x2018),UC(0x2019),_______,
+ UC(0x00EF),UC(0x00A1),UC(0x00B2),UC(0x00B3),UC(0x00A4),UC(0x20AC), UC(0x00BC),UC(0x00BD),UC(0x00BE),UC(0x2018),UC(0x2019),_______,
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
- _______, UC(0x00E4),UC(0x00E5),UC(0x00E9),UC(0x00AE),UC(0x00FE), UC(0x00FC),UC(0x00FA),UC(0x00ED),UC(0x00F3),UC(0x00F6),_______,
+ _______, UC(0x00E4),UC(0x00E5),UC(0x00E9),UC(0x00AE),UC(0x00FE), UC(0x00FC),UC(0x00FA),UC(0x00ED),UC(0x00F3),UC(0x00F6),_______,
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
_______, UC(0x00E1),UC(0x00DF),UC(0x00F0),UC(0x00EC),UC(0x00ED), UC(0x00EE),UC(0x00E0),UC(0x00E2),UC(0x00F8),UC(0x00B6),UC(0x00B4),
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐ ┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
- _______, UC(0x00E6),UC(0x00E8),UC(0x00A9),UC(0x00EA),UC(0x00EB),_______, _______, UC(0x00F1),UC(0x00FD),UC(0x00E7),UC(0x00F4),UC(0x00BF),_______,
+ _______, UC(0x00E6),UC(0x00E8),UC(0x00A9),UC(0x00EA),UC(0x00EB),_______, _______, UC(0x00F1),UC(0x00FD),UC(0x00E7),UC(0x00F4),UC(0x00BF),_______,
// └──────────┴──────────┴──────────┴────┬─────┴────┬─────┴────┬─────┴────┬─────┘ └────┬─────┴────┬─────┴────┬─────┴────┬─────┴──────────┴──────────┴──────────┘
UC(0x00BF),_______, UC(0x00AC), UC(0x00B1),_______, UC(0x00D7)
// └──────────┴──────────┴──────────┘ └──────────┴──────────┴──────────┘
@@ -32,13 +32,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[SYSH] = LAYOUT(
// ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐ ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
- UC(0x00CF),UC(0x00B9),UC(0x2200),UC(0x2201),UC(0x00A3),UC(0x00A5), UC(0x00B5),UC(0x00AB),UC(0x00BB),UC(0x201C),UC(0x201D),_______,
+ UC(0x00CF),UC(0x00B9),UC(0x2200),UC(0x2201),UC(0x00A3),UC(0x00A5), UC(0x00B5),UC(0x00AB),UC(0x00BB),UC(0x201C),UC(0x201D),_______,
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
- _______, UC(0x00C4),UC(0x00C5),UC(0x00C9),UC(0x2122),UC(0x00DE), UC(0x00DC),UC(0x00DA),UC(0x00CD),UC(0x00D3),UC(0x00D6),_______,
+ _______, UC(0x00C4),UC(0x00C5),UC(0x00C9),UC(0x2122),UC(0x00DE), UC(0x00DC),UC(0x00DA),UC(0x00CD),UC(0x00D3),UC(0x00D6),_______,
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
_______, UC(0x00C1),UC(0x00A7),UC(0x00D0),UC(0x00CC),UC(0x00CD), UC(0x00CE),UC(0x00C1),UC(0x00C2),UC(0x00D8),UC(0x00B0),UC(0x00A8),
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐ ┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
- _______, UC(0x00C6),UC(0x00C8),UC(0x00A2),UC(0x00CA),UC(0x00CB),_______, _______, UC(0x00D1),UC(0x00DD),UC(0x00C7),UC(0x00D4),UC(0x203D),_______,
+ _______, UC(0x00C6),UC(0x00C8),UC(0x00A2),UC(0x00CA),UC(0x00CB),_______, _______, UC(0x00D1),UC(0x00DD),UC(0x00C7),UC(0x00D4),UC(0x203D),_______,
// └──────────┴──────────┴──────────┴────┬─────┴────┬─────┴────┬─────┴────┬─────┘ └────┬─────┴────┬─────┴────┬─────┴────┬─────┴──────────┴──────────┴──────────┘
UC(0x203D),_______, UC(0x00A6), UC(0x00AA),_______, UC(0x00F7)
// └──────────┴──────────┴──────────┘ └──────────┴──────────┴──────────┘
@@ -46,13 +46,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[NUMP] = LAYOUT(
// ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐ ┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
- _______, _______, KC_P7, KC_P8, KC_P9, KC_PSLS, _______, KC_P7, KC_P8, KC_P9, KC_PSLS, _______,
+ _______, _______, KC_P7, KC_P8, KC_P9, KC_PSLS, _______, KC_P7, KC_P8, KC_P9, KC_PSLS, _______,
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
- _______, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______,
+ _______, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______, KC_P4, KC_P5, KC_P6, KC_PAST, _______,
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
- _______, _______, KC_P1, KC_P2, KC_P3, KC_PMNS, _______, KC_P1, KC_P2, KC_P3, KC_PMNS, _______,
+ _______, _______, KC_P1, KC_P2, KC_P3, KC_PMNS, _______, KC_P1, KC_P2, KC_P3, KC_PMNS, _______,
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐ ┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
- _______, _______, KC_P0, KC_PCMM, KC_PDOT, KC_PPLS, _______, _______, _______, KC_P0, KC_PCMM, KC_PDOT, KC_PPLS, _______,
+ _______, _______, KC_P0, KC_PCMM, KC_PDOT, KC_PPLS, _______, _______, _______, KC_P0, KC_PCMM, KC_PDOT, KC_PPLS, _______,
// └──────────┴──────────┴──────────┴────┬─────┴────┬─────┴────┬─────┴────┬─────┘ └────┬─────┴────┬─────┴────┬─────┴────┬─────┴──────────┴──────────┴──────────┘
_______, _______, _______, KC_PENT, _______, _______
// └──────────┴──────────┴──────────┘ └──────────┴──────────┴──────────┘
@@ -66,7 +66,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤ ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
KC_PAUS, RGB_TOG, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_BRIU, KC_CLR,
// ├──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┐ ┌──────────┼──────────┼──────────┼──────────┼──────────┼──────────┼──────────┤
- _______, KC_MPRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_MNXT, KC_F11, KC_F12, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_BRID, _______,
+ _______, KC_MPRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_MNXT, KC_F11, KC_F12, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_BRID, _______,
// └──────────┴──────────┴──────────┴────┬─────┴────┬─────┴────┬─────┴────┬─────┘ └────┬─────┴────┬─────┴────┬─────┴────┬─────┴──────────┴──────────┴──────────┘
_______, _______, _______, _______, _______, _______
// └──────────┴──────────┴──────────┘ └──────────┴──────────┴──────────┘
@@ -87,7 +87,7 @@ void keyboard_post_init_user(void) {
};
// Turn on RGB underglow according to active layer
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
switch (biton32(state)) {
case FCTN: rgblight_sethsv_noeeprom(96, 255, 255); break;
case NUMP: rgblight_sethsv_noeeprom(162, 255, 255); break;
diff --git a/keyboards/keebio/iris/keymaps/olligranlund_nordic/keymap.c b/keyboards/keebio/iris/keymaps/olligranlund_nordic/keymap.c
index 9027bdab64..dd7996a28d 100644
--- a/keyboards/keebio/iris/keymaps/olligranlund_nordic/keymap.c
+++ b/keyboards/keebio/iris/keymaps/olligranlund_nordic/keymap.c
@@ -38,19 +38,15 @@ enum custom_keycodes {
#define KC_ADJ ADJUST
#define KC_RST RESET
-#define KC_AA SE_AA
-#define KC_AE SE_AE
-#define KC_OE SE_OSLH
-
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT(
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
-LT(_LOWER, KC_TAB),KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_AA,
+LT(_LOWER, KC_TAB),KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, SE_ARNG,
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_OE, KC_AE,
+ KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SE_ODIA, SE_ADIA,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, RAISE, KC_BSPC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_MINS,
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
@@ -66,7 +62,7 @@ LT(_LOWER, KC_TAB),KC_Q, KC_W, KC_E, KC_R, KC_T, KC_
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
KC_TRNS, KC_VOLD, KC_MUTE, KC_VOLU, KC_TRNS, SE_BSLS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, SE_LBRC, SE_RBRC,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_GRAVE, KC_CIRC, KC_QUOTE, SE_LESS, SE_GRTR,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_GRAVE, KC_CIRC, KC_QUOTE, SE_LABK, SE_RABK,
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
diff --git a/keyboards/keebio/iris/rev2/rules.mk b/keyboards/keebio/iris/rev2/rules.mk
index 765fa7f07a..197bad4764 100644
--- a/keyboards/keebio/iris/rev2/rules.mk
+++ b/keyboards/keebio/iris/rev2/rules.mk
@@ -32,3 +32,5 @@ RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
SPLIT_KEYBOARD = yes
+
+LTO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/keebio/iris/rev3/rules.mk b/keyboards/keebio/iris/rev3/rules.mk
index ea92bc98f5..b64eab5a4b 100644
--- a/keyboards/keebio/iris/rev3/rules.mk
+++ b/keyboards/keebio/iris/rev3/rules.mk
@@ -33,3 +33,4 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
SPLIT_KEYBOARD = yes
ENCODER_ENABLE = yes
+LTO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/keebio/iris/rev4/rules.mk b/keyboards/keebio/iris/rev4/rules.mk
index ea92bc98f5..121fd68478 100644
--- a/keyboards/keebio/iris/rev4/rules.mk
+++ b/keyboards/keebio/iris/rev4/rules.mk
@@ -19,7 +19,7 @@ BOOTLOADER = qmk-dfu
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
+CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
@@ -33,3 +33,5 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
SPLIT_KEYBOARD = yes
ENCODER_ENABLE = yes
+
+LTO_ENABLE = yes
diff --git a/keyboards/keebio/kbo5000/rules.mk b/keyboards/keebio/kbo5000/rules.mk
index 5292231d58..9b99f02cbc 100644
--- a/keyboards/keebio/kbo5000/rules.mk
+++ b/keyboards/keebio/kbo5000/rules.mk
@@ -17,7 +17,7 @@ BOOTLOADER = atmel-dfu
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
+CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
diff --git a/keyboards/keebio/levinson/keymaps/issmirnov/keymap.c b/keyboards/keebio/levinson/keymaps/issmirnov/keymap.c
index 0023b8424f..d9edfebaa0 100644
--- a/keyboards/keebio/levinson/keymaps/issmirnov/keymap.c
+++ b/keyboards/keebio/levinson/keymaps/issmirnov/keymap.c
@@ -87,7 +87,7 @@ void matrix_scan_user(void) {
// only runs when when the layer is changed, good for updating LED's and clearing sticky state
// RGB modes: https://github.com/qmk/qmk_firmware/blob/master/quantum/rgblight.h
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
#ifdef RGBLIGHT_ENABLE
layer_state_set_rgb(state);
#endif
diff --git a/keyboards/keebio/levinson/keymaps/xtonhasvim/keymap.c b/keyboards/keebio/levinson/keymaps/xtonhasvim/keymap.c
index b9341ff35a..16aa965d7d 100644
--- a/keyboards/keebio/levinson/keymaps/xtonhasvim/keymap.c
+++ b/keyboards/keebio/levinson/keymaps/xtonhasvim/keymap.c
@@ -232,6 +232,6 @@ void set_state_leds(void) {
}
}
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
}
diff --git a/keyboards/keebio/nyquist/keymaps/pitty/keymap.c b/keyboards/keebio/nyquist/keymaps/pitty/keymap.c
index 4dec42b853..31912bb63e 100644
--- a/keyboards/keebio/nyquist/keymaps/pitty/keymap.c
+++ b/keyboards/keebio/nyquist/keymaps/pitty/keymap.c
@@ -139,7 +139,7 @@ bool rgb_layer_change = true;
#define rgblight_set_white rgblight_sethsv (0x00, 0x00, 0xFF);
#define rgblight_set_black rgblight_sethsv (0x00, 0x00, 0x00);
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
#ifdef RGBLIGHT_ENABLE
uint8_t default_layer = eeconfig_read_default_layer();
if (rgb_layer_change) {
diff --git a/keyboards/keebio/nyquist/keymaps/skug/keymap.c b/keyboards/keebio/nyquist/keymaps/skug/keymap.c
index be77cb24b6..f9f66892a3 100644
--- a/keyboards/keebio/nyquist/keymaps/skug/keymap.c
+++ b/keyboards/keebio/nyquist/keymaps/skug/keymap.c
@@ -19,12 +19,10 @@
extern keymap_config_t keymap_config;
-#define CT_APOS CTL_T(SE_APOS)
+#define CT_APOS CTL_T(SE_QUOT)
#define CT_TILD CTL_T(SE_TILD)
-#define MD_OSLH LT(MDIA, SE_OSLH)
-#define SM_AE LT(SYMB, SE_AE)
-#define SE_LT SE_LESS
-#define SE_GT LSFT(SE_LESS)
+#define MD_ODIA LT(MDIA, SE_ODIA)
+#define SM_ADIA LT(SYMB, SE_ADIA)
enum layer_names {
BASE,
@@ -61,8 +59,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[BASE] = LAYOUT( \
// LEFT HAND RIGHT HAND
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS, \
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, SE_AA, \
- MO(ARRW), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, MD_OSLH, SM_AE, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, SE_ARNG, \
+ MO(ARRW), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, MD_ODIA, SM_ADIA, \
KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SE_MINS, KC_RSPC, \
CT_APOS, SE_ACUT, KC_LALT, KC_BSPC, KC_SPC, KC_LGUI, KC_ENT, KC_SPC, KC_BSPC, KC_ALGR, SE_ASTR, CT_TILD \
),
@@ -83,8 +81,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[GAME] = LAYOUT( \
// LEFT HAND RIGHT HAND
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS, \
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, SE_AA, \
- MO(ARRW), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, MD_OSLH, SM_AE, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, SE_ARNG, \
+ MO(ARRW), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, MD_ODIA, SM_ADIA, \
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SE_MINS, KC_RSFT, \
KC_LCTL, SE_ACUT, KC_LALT, KC_BSPC, KC_SPC, KC_LGUI, KC_ENT, KC_SPC, KC_BSPC, KC_ALGR, SE_ASTR, KC_RCTL \
),
@@ -107,7 +105,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_EXLM, SE_AT, SE_LCBR, SE_RCBR, SE_PIPE, KC_UP, KC_7, KC_8, KC_9, SE_ASTR, KC_F12, \
_______, KC_HASH, SE_DLR, SE_LPRN, SE_RPRN, SE_GRV, KC_DOWN, KC_4, KC_5, KC_6, SE_PLUS, _______, \
_______, KC_PERC, SE_CIRC, SE_LBRC, SE_RBRC, SE_TILD, SE_AMPR, KC_1, KC_2, KC_3, SE_MINS, _______, \
- _______, _______, _______, SE_LT, SE_GT, _______, _______, _______, KC_DOT, KC_0, SE_EQL, _______ \
+ _______, _______, _______, SE_LABK, SE_RABK, _______, _______, _______, KC_DOT, KC_0, SE_EQL, _______ \
),
/* Media layer
diff --git a/keyboards/keebio/nyquist/nyquist.h b/keyboards/keebio/nyquist/nyquist.h
index 25da44172b..63d7680f06 100644
--- a/keyboards/keebio/nyquist/nyquist.h
+++ b/keyboards/keebio/nyquist/nyquist.h
@@ -11,17 +11,3 @@
#endif
#include "quantum.h"
-
-#define LAYOUT_ortho_4x12( \
- L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
- L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
- L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
- L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \
- ) \
- LAYOUT_ortho_5x12( \
- L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
- L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
- L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
- L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, \
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO \
- )
diff --git a/keyboards/keebio/nyquist/rev1/rev1.h b/keyboards/keebio/nyquist/rev1/rev1.h
index 20f53b3b44..5896a826cc 100644
--- a/keyboards/keebio/nyquist/rev1/rev1.h
+++ b/keyboards/keebio/nyquist/rev1/rev1.h
@@ -34,6 +34,22 @@
{ R35, R34, R33, R32, R31, R30 }, \
{ R45, R44, R43, R42, R41, R40 } \
}
+#define LAYOUT_ortho_4x12( \
+ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
+ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
+ L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
+ L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \
+ ) \
+ { \
+ { L00, L01, L02, L03, L04, L05 }, \
+ { L10, L11, L12, L13, L14, L15 }, \
+ { L20, L21, L22, L23, L24, L25 }, \
+ { L30, L31, L32, L33, L34, L35 }, \
+ { R05, R04, R03, R02, R01, R00 }, \
+ { R15, R14, R13, R12, R11, R10 }, \
+ { R25, R24, R23, R22, R21, R20 }, \
+ { R35, R34, R33, R32, R31, R30 } \
+ }
#else
// Keymap with right side flipped
// (TRRS jack on both halves are to the right)
@@ -56,6 +72,22 @@
{ R30, R31, R32, R33, R34, R35 }, \
{ R40, R41, R42, R43, R44, R45 } \
}
+#define LAYOUT_ortho_4x12( \
+ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
+ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
+ L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
+ L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \
+ ) \
+ { \
+ { L00, L01, L02, L03, L04, L05 }, \
+ { L10, L11, L12, L13, L14, L15 }, \
+ { L20, L21, L22, L23, L24, L25 }, \
+ { L30, L31, L32, L33, L34, L35 }, \
+ { R00, R01, R02, R03, R04, R05 }, \
+ { R10, R11, R12, R13, R14, R15 }, \
+ { R20, R21, R22, R23, R24, R25 }, \
+ { R30, R31, R32, R33, R34, R35 } \
+ }
#endif
#define LAYOUT_ortho_5x12 LAYOUT
diff --git a/keyboards/keebio/nyquist/rev2/rev2.h b/keyboards/keebio/nyquist/rev2/rev2.h
index 20f53b3b44..5896a826cc 100644
--- a/keyboards/keebio/nyquist/rev2/rev2.h
+++ b/keyboards/keebio/nyquist/rev2/rev2.h
@@ -34,6 +34,22 @@
{ R35, R34, R33, R32, R31, R30 }, \
{ R45, R44, R43, R42, R41, R40 } \
}
+#define LAYOUT_ortho_4x12( \
+ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
+ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
+ L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
+ L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \
+ ) \
+ { \
+ { L00, L01, L02, L03, L04, L05 }, \
+ { L10, L11, L12, L13, L14, L15 }, \
+ { L20, L21, L22, L23, L24, L25 }, \
+ { L30, L31, L32, L33, L34, L35 }, \
+ { R05, R04, R03, R02, R01, R00 }, \
+ { R15, R14, R13, R12, R11, R10 }, \
+ { R25, R24, R23, R22, R21, R20 }, \
+ { R35, R34, R33, R32, R31, R30 } \
+ }
#else
// Keymap with right side flipped
// (TRRS jack on both halves are to the right)
@@ -56,6 +72,22 @@
{ R30, R31, R32, R33, R34, R35 }, \
{ R40, R41, R42, R43, R44, R45 } \
}
+#define LAYOUT_ortho_4x12( \
+ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
+ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
+ L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
+ L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \
+ ) \
+ { \
+ { L00, L01, L02, L03, L04, L05 }, \
+ { L10, L11, L12, L13, L14, L15 }, \
+ { L20, L21, L22, L23, L24, L25 }, \
+ { L30, L31, L32, L33, L34, L35 }, \
+ { R00, R01, R02, R03, R04, R05 }, \
+ { R10, R11, R12, R13, R14, R15 }, \
+ { R20, R21, R22, R23, R24, R25 }, \
+ { R30, R31, R32, R33, R34, R35 } \
+ }
#endif
#define LAYOUT_ortho_5x12 LAYOUT
diff --git a/keyboards/keebio/nyquist/rev3/rev3.h b/keyboards/keebio/nyquist/rev3/rev3.h
index 274b83926b..506fcc6e36 100644
--- a/keyboards/keebio/nyquist/rev3/rev3.h
+++ b/keyboards/keebio/nyquist/rev3/rev3.h
@@ -31,4 +31,21 @@
{ R40, R41, R42, R43, R44, R45 } \
}
+#define LAYOUT_ortho_4x12( \
+ L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
+ L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
+ L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
+ L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \
+ ) \
+ { \
+ { L00, L01, L02, L03, L04, L05 }, \
+ { L10, L11, L12, L13, L14, L15 }, \
+ { L20, L21, L22, L23, L24, L25 }, \
+ { L30, L31, L32, L33, L34, L35 }, \
+ { R00, R01, R02, R03, R04, R05 }, \
+ { R10, R11, R12, R13, R14, R15 }, \
+ { R20, R21, R22, R23, R24, R25 }, \
+ { R30, R31, R32, R33, R34, R35 } \
+ }
+
#define LAYOUT_ortho_5x12 LAYOUT
diff --git a/keyboards/keebio/quefrency/keymaps/georgepetri/keymap.c b/keyboards/keebio/quefrency/keymaps/georgepetri/keymap.c
index 9ee3eb8102..a367e877fe 100644
--- a/keyboards/keebio/quefrency/keymaps/georgepetri/keymap.c
+++ b/keyboards/keebio/quefrency/keymaps/georgepetri/keymap.c
@@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
KC_GRV ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_6 , KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_BSPC ,KC_DEL ,KC_MINS ,KC_EQL ,KC_HOME,
// ├────────┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┘ ┌───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────────┼────────┤
- KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_LBRC ,KC_RBRC ,KC_BSLS ,KC_END ,
+ KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T , KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_LBRC ,KC_RBRC ,KC_BSLS ,KC_END ,
// ├─────────────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┐ └─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴────────────┼────────┤
KC_ESC ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_QUOT ,KC_ENT ,KC_PGUP ,
// ├───────────────┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┐ └─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴─────┬──┴───────────────────┼────────┤
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_L] = LAYOUT_65(
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
- _______ ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 , KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,_______ ,_______ ,_______ ,_______ ,KC_INS ,
+ _______ ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 , KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,_______ ,_______ ,_______ ,_______ ,KC_INS ,
// ├────────┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┘ ┌───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────────┼────────┤
_______ ,KC_F11 ,KC_F12 ,_______ ,_______ ,_______ , _______ ,KC_MINS ,KC_EQL ,_______ ,_______ ,_______ ,_______ ,_______, KC_PAUS ,
// ├─────────────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┐ └─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴────────────┼────────┤
@@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_R] = LAYOUT_65(
// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┐
- _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
+ _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
// ├────────┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┘ ┌───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────┬───┴────────┼────────┤
_______ ,KC_TL ,KC_TR ,KC_TC ,KC_TRO ,_______ , _______ ,KC_TL , KC_TR , KC_TC , KC_TRO ,_______ ,_______ ,_______, _______ ,
// ├─────────────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┐ └─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴─┬──────┴────────────┼────────┤
@@ -81,7 +81,7 @@ void update_led(void) {
}
}
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
update_led();
return state;
}
diff --git a/keyboards/keebio/quefrency/rules.mk b/keyboards/keebio/quefrency/rules.mk
index 2c5ad0c36b..b36e9582a7 100644
--- a/keyboards/keebio/quefrency/rules.mk
+++ b/keyboards/keebio/quefrency/rules.mk
@@ -4,7 +4,7 @@ MCU = atmega32u4
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
+CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
@@ -19,3 +19,4 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
SPLIT_KEYBOARD = yes
DEFAULT_FOLDER = keebio/quefrency/rev1
+LTO_ENABLE = yes
diff --git a/keyboards/keebio/rorschach/keymaps/insertsnideremarks/keymap.c b/keyboards/keebio/rorschach/keymaps/insertsnideremarks/keymap.c
index e345ce4a38..d03916617f 100644
--- a/keyboards/keebio/rorschach/keymaps/insertsnideremarks/keymap.c
+++ b/keyboards/keebio/rorschach/keymaps/insertsnideremarks/keymap.c
@@ -242,7 +242,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _NUMBERS, _NUMBERS2, _ADJUST);
}
diff --git a/keyboards/keebio/rorschach/keymaps/tuesdayjohn/keymap.c b/keyboards/keebio/rorschach/keymaps/tuesdayjohn/keymap.c
index 19de124f87..ceb75d4f46 100644
--- a/keyboards/keebio/rorschach/keymaps/tuesdayjohn/keymap.c
+++ b/keyboards/keebio/rorschach/keymaps/tuesdayjohn/keymap.c
@@ -48,7 +48,7 @@ void dance_LAYER_reset(qk_tap_dance_state_t *state, void *user_data) {
}
qk_tap_dance_action_t tap_dance_actions[] = {
-[ADJ] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_LAYER_finished, dance_LAYER_reset), // Double-tap to activate Adjust layer via oneshot layer
+[ADJ] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_LAYER_finished, dance_LAYER_reset), // Double-tap to activate Adjust layer via oneshot layer
[LBCB] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_LCBR), // Left bracket on a single-tap, left brace on a double-tap
[RBCB] = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, KC_RCBR), // Right bracket on a single-tap, right brace on a double-tap
[EQPL] = ACTION_TAP_DANCE_DOUBLE(KC_EQL, KC_PLUS), // Plus sign on a single-tap, equal sign on a double-tap
@@ -92,7 +92,7 @@ qk_tap_dance_action_t tap_dance_actions[] = {
#define NKROTG MAGIC_TOGGLE_NKRO
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
+/*
Colemak
(Defauit layer; keys separated by /: tap for first, hold for second; uses Space Cadet Shifts)
,-----------------------------------------------------. ,-----------------------------------------------------.
@@ -138,7 +138,7 @@ QWERTY
ENTNS, KC_BSPC, KC_ENT, DELNS
),
-/*
+/*
Number/symbol layer
(Multiple characters: single-tap for first, double-tap for second)
,-----------------------------------------------------. ,-----------------------------------------------------.
@@ -270,7 +270,7 @@ Adjust layer
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _NUMBERS, _NUMBERS2, _ADJUST);
}
diff --git a/keyboards/keebio/sinc/rules.mk b/keyboards/keebio/sinc/rules.mk
index 209b74de96..e956d57b77 100644
--- a/keyboards/keebio/sinc/rules.mk
+++ b/keyboards/keebio/sinc/rules.mk
@@ -17,7 +17,7 @@ BOOTLOADER = atmel-dfu
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
+CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
diff --git a/keyboards/keebio/stick/rules.mk b/keyboards/keebio/stick/rules.mk
index 36791b6c63..710409fe47 100644
--- a/keyboards/keebio/stick/rules.mk
+++ b/keyboards/keebio/stick/rules.mk
@@ -10,7 +10,7 @@ BOOTLOADER = caterina
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
+CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/keebio/tragicforce68/rules.mk b/keyboards/keebio/tragicforce68/rules.mk
index 549ffe9fad..51579463ed 100644
--- a/keyboards/keebio/tragicforce68/rules.mk
+++ b/keyboards/keebio/tragicforce68/rules.mk
@@ -17,8 +17,8 @@ BOOTLOADER = caterina
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
diff --git a/keyboards/keebio/viterbi/keymaps/drashna_old/config.h b/keyboards/keebio/viterbi/keymaps/drashna_old/config.h
deleted file mode 100644
index 5697f7f110..0000000000
--- a/keyboards/keebio/viterbi/keymaps/drashna_old/config.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-Copyright 2017 Danny Nguyen <danny@hexwire.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#include "../drashna/config.h"
-
-#ifdef RGBLIGHT_ENABLE
-# undef RGBLED_NUM
-# define RGBLED_NUM 12
-#endif
diff --git a/keyboards/keebio/viterbi/keymaps/drashna_old/keymap.c b/keyboards/keebio/viterbi/keymaps/drashna_old/keymap.c
deleted file mode 100644
index 2d361da9a3..0000000000
--- a/keyboards/keebio/viterbi/keymaps/drashna_old/keymap.c
+++ /dev/null
@@ -1 +0,0 @@
-//placeholder \ No newline at end of file
diff --git a/keyboards/keebio/viterbi/keymaps/drashna_old/rules.mk b/keyboards/keebio/viterbi/keymaps/drashna_old/rules.mk
deleted file mode 100644
index 73f37c6c55..0000000000
--- a/keyboards/keebio/viterbi/keymaps/drashna_old/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-USER_NAME := drashna
-SRC += ../drashna/keymap.c
-
-include $(KEYBOARD_PATH_2)/keymaps/drashna/rules.mk
diff --git a/keyboards/keebio/viterbi/rev2/rules.mk b/keyboards/keebio/viterbi/rev2/rules.mk
index f95e7ae6a4..829d6a56e0 100644
--- a/keyboards/keebio/viterbi/rev2/rules.mk
+++ b/keyboards/keebio/viterbi/rev2/rules.mk
@@ -1,3 +1,5 @@
BACKLIGHT_ENABLE = yes
LAYOUTS = ortho_5x14
+
+LTO_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/keebio/viterbi/rules.mk b/keyboards/keebio/viterbi/rules.mk
index 0b746d1720..92576d33e8 100644
--- a/keyboards/keebio/viterbi/rules.mk
+++ b/keyboards/keebio/viterbi/rules.mk
@@ -19,16 +19,16 @@ BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
+COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
MIDI_ENABLE = no # MIDI controls
AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
+RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
SPLIT_KEYBOARD = yes
diff --git a/keyboards/keebio/wtf60/rules.mk b/keyboards/keebio/wtf60/rules.mk
index 487df752e2..e2e5f138b7 100644
--- a/keyboards/keebio/wtf60/rules.mk
+++ b/keyboards/keebio/wtf60/rules.mk
@@ -10,7 +10,7 @@ BOOTLOADER = atmel-dfu
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
+CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/keebwerk/mega/ansi/ansi.c b/keyboards/keebwerk/mega/ansi/ansi.c
index b5eb0bbad2..532cdec9aa 100755
--- a/keyboards/keebwerk/mega/ansi/ansi.c
+++ b/keyboards/keebwerk/mega/ansi/ansi.c
@@ -18,7 +18,7 @@
#endif
#include "ansi.h"
-#include "drivers/issi/is31fl3733.h"
+#include "drivers/led/issi/is31fl3733.h"
uint8_t R = 0;
uint8_t G = 0;
diff --git a/keyboards/keebwerk/mega/ansi/rules.mk b/keyboards/keebwerk/mega/ansi/rules.mk
index 6a1a9cbfad..aaf31579f0 100755
--- a/keyboards/keebwerk/mega/ansi/rules.mk
+++ b/keyboards/keebwerk/mega/ansi/rules.mk
@@ -34,6 +34,6 @@ LAYOUTS = 65_ansi
# project specific files
SRC += keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
- drivers/issi/is31fl3733.c \
+ drivers/led/issi/is31fl3733.c \
quantum/color.c
QUANTUM_LIB_SRC += drivers/chibios/i2c_master.c
diff --git a/keyboards/keyboardio/model01/keymaps/tw1t611/keymap.c b/keyboards/keyboardio/model01/keymaps/tw1t611/keymap.c
index b4bd53e3fe..3171dd36f9 100644
--- a/keyboards/keyboardio/model01/keymaps/tw1t611/keymap.c
+++ b/keyboards/keyboardio/model01/keymaps/tw1t611/keymap.c
@@ -11,9 +11,9 @@ enum {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[DEF] = LAYOUT(
_______, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , DE_SS ,
- KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , RGB_MOD, KC_MUTE, KC_Y , KC_U , KC_I , KC_O , KC_P , DE_AE ,
- KC_TAB , KC_A , KC_S , KC_D , KC_F , KC_G , DE_PARA, _______, KC_H , KC_J , KC_K , KC_L , DE_SLSH, DE_OE ,
- DE_PIPE, KC_Z , KC_X , KC_C , KC_V , KC_B , _______, _______, KC_N , KC_M , DE_COMM, DE_DOT , DE_MINS, DE_UE ,
+ KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , RGB_MOD, KC_MUTE, KC_Y , KC_U , KC_I , KC_O , KC_P , DE_ADIA,
+ KC_TAB , KC_A , KC_S , KC_D , KC_F , KC_G , DE_SECT, _______, KC_H , KC_J , KC_K , KC_L , DE_SLSH, DE_ODIA,
+ DE_PIPE, KC_Z , KC_X , KC_C , KC_V , KC_B , _______, _______, KC_N , KC_M , DE_COMM, DE_DOT , DE_MINS, DE_UDIA,
KC_LALT, KC_LGUI,
KC_SPC , KC_ENT ,
KC_LSFT, MO(MOD),
@@ -22,9 +22,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[MOD] = 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 ,
- DE_CIRC, DE_QUOT, DE_DQOT, DE_LCBR, DE_RCBR, DE_GRV , RGB_TOG, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END , DE_EQL , DE_PERC,
- DE_TILD, DE_EXLM, DE_DLR , DE_LPRN, DE_RPRN, DE_AMPR, _______, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, DE_QST , DE_ASTR,
- DE_BSLS, DE_HASH, DE_LESS, DE_LBRC, DE_RBRC, DE_MORE, _______, RESET , DE_AT , DE_EURO, DE_SCLN, DE_COLN, DE_UNDS, DE_PLUS,
+ DE_CIRC, DE_QUOT, DE_DQUO, DE_LCBR, DE_RCBR, DE_GRV , RGB_TOG, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END , DE_EQL , DE_PERC,
+ DE_TILD, DE_EXLM, DE_DLR , DE_LPRN, DE_RPRN, DE_AMPR, _______, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, DE_QUES, DE_ASTR,
+ DE_BSLS, DE_HASH, DE_LABK, DE_LBRC, DE_RBRC, DE_RABK, _______, RESET , DE_AT , DE_EURO, DE_SCLN, DE_COLN, DE_UNDS, DE_PLUS,
_______, _______,
_______, _______,
_______, _______,
diff --git a/keyboards/keychron/q1/q1.c b/keyboards/keychron/q1/q1.c
index 943cf26cef..6beb96e7eb 100644
--- a/keyboards/keychron/q1/q1.c
+++ b/keyboards/keychron/q1/q1.c
@@ -25,14 +25,15 @@ const matrix_row_t matrix_mask[] = {
0b0111111111111111,
};
-void dip_switch_update_kb(uint8_t index, bool active) {
+bool dip_switch_update_kb(uint8_t index, bool active) {
+ if (!dip_switch_update_user(index, active)) { return false;}
if (index == 0) {
- default_layer_set(1UL << (active ? 2 : 0));
+ default_layer_set(1UL << (active ? 2 : 0));
}
- dip_switch_update_user(index, active);
+ return true;
}
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
@@ -47,7 +48,7 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
{0, A_6, C_6, B_6},
{0, A_7, C_7, B_7},
{0, A_8, C_8, B_8},
- {0, A_9, C_9, B_9},
+ {0, A_9, C_9, B_9},
{0, A_10, C_10, B_10},
{0, A_11, C_11, B_11},
{0, A_12, C_12, B_12},
@@ -58,7 +59,7 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
{0, D_1, F_1, E_1},
{0, D_2, F_2, E_2},
- {0, D_3, F_3, E_3},
+ {0, D_3, F_3, E_3},
{0, D_4, F_4, E_4},
{0, D_5, F_5, E_5},
{0, D_6, F_6, E_6},
@@ -86,8 +87,8 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
{0, G_12, I_12, H_12},
{0, G_13, I_13, H_13},
{0, G_14, I_14, H_14},
- {0, G_16, I_16, H_16},
-
+ {0, G_16, I_16, H_16},
+
{0, J_1, L_1, K_1},
{0, J_2, L_2, K_2},
{0, J_3, L_3, K_3},
@@ -116,15 +117,15 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
{1, A_12, C_12, B_12},
{1, A_14, C_14, B_14},
{1, A_15, C_15, B_15},
-
+
{1, D_1, F_1, E_1},
{1, D_2, F_2, E_2},
{1, D_3, F_3, E_3},
{1, D_7, F_7, E_7},
{1, D_11, F_11, E_11},
{1, D_12, F_12, E_12},
- {1, D_13, F_13, E_13},
- {1, D_14, F_14, E_14},
+ {1, D_13, F_13, E_13},
+ {1, D_14, F_14, E_14},
{1, D_15, F_15, E_15},
{1, D_16, F_16, E_16}
@@ -144,7 +145,7 @@ led_config_t g_led_config = {
{0,13}, {15,13}, {30,13}, {45,13}, {60,13}, {75,13}, {90,13}, {105,13}, {120,13}, {135,13}, {150,13}, {165,13}, {180,13}, {195,13}, {224,13},
{0,26}, {15,26}, {30,26}, {45,26}, {60,26}, {75,26}, {90,26}, {105,26}, {120,26}, {135,26}, {150,26}, {165,26}, {180,26}, {195,26}, {224,26},
{0,39}, {15,39}, {30,39}, {45,39}, {60,39}, {75,39}, {90,39}, {105,39}, {120,39}, {135,39}, {150,39}, {165,39}, {195,39}, {224,39},
- {0,52}, {30,52}, {45,52}, {60,52}, {75,52}, {90,52}, {105,52}, {120,52}, {135,52}, {150,52}, {165,52}, {195,52}, {210,52},
+ {0,52}, {30,52}, {45,52}, {60,52}, {75,52}, {90,52}, {105,52}, {120,52}, {135,52}, {150,52}, {165,52}, {195,52}, {210,52},
{0,64}, {15,64}, {30,64}, {90,64}, {150,64}, {165,64}, {180,64}, {195,64}, {210,64}, {224,64},
},
{
@@ -152,7 +153,7 @@ led_config_t g_led_config = {
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
}
diff --git a/keyboards/kindakeyboards/conone65/rules.mk b/keyboards/kindakeyboards/conone65/rules.mk
index 7210ffcf0f..10b93d7b43 100644
--- a/keyboards/kindakeyboards/conone65/rules.mk
+++ b/keyboards/kindakeyboards/conone65/rules.mk
@@ -21,4 +21,4 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
-LAYOUTS = 65_ansi 65_ansi_split_bs 65_iso 65_iso_split_bs \ No newline at end of file
+LAYOUTS = 65_ansi 65_ansi_split_bs 65_iso
diff --git a/keyboards/kinesis/alvicstep/config.h b/keyboards/kinesis/alvicstep/config.h
index 73aa4dd4dc..02c7725cec 100644
--- a/keyboards/kinesis/alvicstep/config.h
+++ b/keyboards/kinesis/alvicstep/config.h
@@ -23,7 +23,7 @@
*
*/
//Passed through the port multipler, so 4 pins =16
-#define MATRIX_ROW_PINS { F0,F1, F2, F3 }
+#define MATRIX_ROW_PINS { F0, F1, F2, F3, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN }
// May be upside down.
#define MATRIX_COL_PINS { B0,B1, B2, B3, B4, B5, B6, B7 }
diff --git a/keyboards/kinesis/keymaps/insertsnideremarks/keymap.c b/keyboards/kinesis/keymaps/insertsnideremarks/keymap.c
index 10b0c2cb73..183b1c4303 100644
--- a/keyboards/kinesis/keymaps/insertsnideremarks/keymap.c
+++ b/keyboards/kinesis/keymaps/insertsnideremarks/keymap.c
@@ -1,4 +1,4 @@
-#include QMK_KEYBOARD_H
+#include QMK_KEYBOARD_H
extern keymap_config_t keymap_config;
@@ -61,7 +61,7 @@ void dance_LAYER_reset(qk_tap_dance_state_t *state, void *user_data) {
}
qk_tap_dance_action_t tap_dance_actions[] = {
-[ADJ] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_LAYER_finished, dance_LAYER_reset), // Double-tap to activate Adjust layer via oneshot layer
+[ADJ] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_LAYER_finished, dance_LAYER_reset), // Double-tap to activate Adjust layer via oneshot layer
[LBCB] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_LCBR), // Left bracket on a single-tap, left brace on a double-tap
[RBCB] = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, KC_RCBR), // Right bracket on a single-tap, right brace on a double-tap
[EQPL] = ACTION_TAP_DANCE_DOUBLE(KC_EQL, KC_PLUS), // Plus sign on a single-tap, equal sign on a double-tap
@@ -97,7 +97,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
| Space | Enter |App/Alt| | RGUI | Delete| Bspc |
| / | / |-------| |-------| / | / |
| Fn | Number| Bspc | | Enter |Number2| Fn2 |
- `-----------------------' `-----------------------'
+ `-----------------------' `-----------------------'
*/
[_COLEMAK] = LAYOUT_pretty(
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_SLCK, KC_PAUS, NUMPAD, ADJUST,
@@ -133,7 +133,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
| Space | Enter |App/Alt| | RGUI | Delete| Bspc |
| / | / |-------| |-------| / | / |
| Fn | Number| Bspc | | Enter |Number2| Fn2 |
- `-----------------------' `-----------------------'
+ `-----------------------' `-----------------------'
*/
[_QWERTY] = LAYOUT_pretty(
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_SLCK, KC_PAUS, NUMPAD, ADJUST,
@@ -169,15 +169,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
| | | | | | | |
| | |-------| |-------| | |
| | | | | | | |
- `-----------------------' `-----------------------'
+ `-----------------------' `-----------------------'
*/
[_NUMBERS] = LAYOUT_pretty(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
+ _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
+ _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
_______, _______, KC_DOT, TD(SLAS), TD(MNUN), TD(PLEQ), TD(GVTL), TD(LBCB), TD(RBCB), _______, _______, _______,
- KC_LPRN, KC_RPRN, TD(LBCB), TD(RBCB), _______, _______, _______, _______,
+ KC_LPRN, KC_RPRN, TD(LBCB), TD(RBCB), _______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______,
_______, _______, _______, _______, _______, _______
@@ -186,10 +186,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_NUMBERS2] = LAYOUT_pretty(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
+ _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
+ _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
_______, _______, KC_DOT, TD(SLAS), TD(MNUN), TD(PLEQ), TD(GVTL), TD(LBCB), TD(RBCB), _______, _______, _______,
- KC_LPRN, KC_RPRN, TD(LBCB), TD(RBCB), _______, _______, _______, _______,
+ KC_LPRN, KC_RPRN, TD(LBCB), TD(RBCB), _______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______,
_______, _______, _______, _______, _______, _______
@@ -216,7 +216,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
| | | | | | | |
| | |-------| |-------| | |
| | | | | | | |
- `-----------------------' `-----------------------'
+ `-----------------------' `-----------------------'
*/
[_FUNCTION] = LAYOUT_pretty(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -264,7 +264,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
| | | | | | | |
| | |-------| |-------| | |
| | | | | | | |
- `-----------------------' `-----------------------'
+ `-----------------------' `-----------------------'
*/
[_NUMPAD] = LAYOUT_pretty(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -300,7 +300,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
| | | LAlt | | RGUI | Delete| Bspc |
| Space | Enter |-------| |-------| / | / |
| | | Bspc | | Ent/NS|Number2| Fn2 |
- `-----------------------' `-----------------------'
+ `-----------------------' `-----------------------'
*/
[_COLEMAKGM] = LAYOUT_pretty(
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_SLCK, KC_PAUS, NUMPAD, ADJUST,
@@ -336,7 +336,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
| | | LAlt | | RGUI | Delete| Bspc |
| Space | Enter |-------| |-------| / | / |
| | | Bspc | | Ent/NS|Number2| Fn2 |
- `-----------------------' `-----------------------'
+ `-----------------------' `-----------------------'
*/
[_QWERTYGM] = LAYOUT_pretty(
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_SLCK, KC_PAUS, NUMPAD, ADJUST,
@@ -372,7 +372,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
| | | | | | | |
| | |-------| |-------| | |
| | | | | | | |
- `-----------------------' `-----------------------'
+ `-----------------------' `-----------------------'
*/
[_ADJUST] = LAYOUT_pretty(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -380,7 +380,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______,
_______, _______, _______, _______, _______, _______
@@ -392,7 +392,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______,
_______, _______, _______, _______, _______, _______
@@ -400,7 +400,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _NUMBERS, _NUMBERS2, _ADJUST);
}
diff --git a/keyboards/kinesis/keymaps/tuesdayjohn/keymap.c b/keyboards/kinesis/keymaps/tuesdayjohn/keymap.c
index 0cdb7d584d..2e844f19b1 100644
--- a/keyboards/kinesis/keymaps/tuesdayjohn/keymap.c
+++ b/keyboards/kinesis/keymaps/tuesdayjohn/keymap.c
@@ -1,4 +1,4 @@
-#include QMK_KEYBOARD_H
+#include QMK_KEYBOARD_H
extern keymap_config_t keymap_config;
@@ -20,7 +20,7 @@ enum kinesis_keycodes {
QWERTY,
GAMING
};
-
+
//Tap Dance Declarations
enum {
ADJ = 0,
@@ -50,7 +50,7 @@ void dance_LAYER_reset(qk_tap_dance_state_t *state, void *user_data) {
}
qk_tap_dance_action_t tap_dance_actions[] = {
-[ADJ] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_LAYER_finished, dance_LAYER_reset), // Double-tap to activate Adjust layer via oneshot layer
+[ADJ] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, dance_LAYER_finished, dance_LAYER_reset), // Double-tap to activate Adjust layer via oneshot layer
[LBCB] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_LCBR), // Left bracket on a single-tap, left brace on a double-tap
[RBCB] = ACTION_TAP_DANCE_DOUBLE(KC_RBRC, KC_RCBR), // Right bracket on a single-tap, right brace on a double-tap
[EQPL] = ACTION_TAP_DANCE_DOUBLE(KC_EQL, KC_PLUS), // Plus sign on a single-tap, equal sign on a double-tap
@@ -117,7 +117,7 @@ Colemak
| Space | Enter | App/Alt| | RGUI | Delete | Bspc |
| / | / |--------| |--------| / | / |
| Fn | Number | Bspc | | Enter | Number2| Fn2 |
- `--------------------------' `--------------------------'
+ `--------------------------' `--------------------------'
*/
[_COLEMAK] = LAYOUT_pretty(
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_SLCK, KC_PAUS, NUMPAD, ADJUST,
@@ -154,7 +154,7 @@ QWERTY
| Space | Enter | App/Alt| | RGUI | Delete | Bspc |
| / | / |--------| |--------| / | / |
| Fn | Number | Bspc | | Enter | Number2| Fn2 |
- `--------------------------' `--------------------------'
+ `--------------------------' `--------------------------'
*/
[_QWERTY] = LAYOUT_pretty(
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_SLCK, KC_PAUS, NUMPAD, ADJUST,
@@ -168,7 +168,7 @@ QWERTY
SPCFN, ENTNS, KC_BSPC, KC_ENT, DELNS, BSPCFN
),
-/*
+/*
Numbers/Symbols layer
(Multiple characters: single-tap for first, double-tap for second)
,--------------------------------------------------------------. ,--------------------------------------------------------------.
@@ -191,15 +191,15 @@ Numbers/Symbols layer
| | | | | | | |
| | |--------| |--------| | |
| | | | | | | |
- `--------------------------' `--------------------------'
+ `--------------------------' `--------------------------'
*/
[_NUMBERS] = LAYOUT_pretty(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
+ _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
+ _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
_______, _______, KC_DOT, TD_SLAS, TD_MNUN, TD_PLEQ, TD_GVTL, TD_LBCB, TD_RBCB, _______, _______, _______,
- KC_LPRN, KC_RPRN, TD_LBCB, TD_RBCB, _______, _______, _______, _______,
+ KC_LPRN, KC_RPRN, TD_LBCB, TD_RBCB, _______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______,
_______, _______, _______, _______, _______, _______
@@ -208,10 +208,10 @@ Numbers/Symbols layer
[_NUMBERS2] = LAYOUT_pretty(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
+ _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
+ _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
_______, _______, KC_DOT, TD_SLAS, TD_MNUN, TD_PLEQ, TD_GVTL, TD_LBCB, TD_RBCB, _______, _______, _______,
- KC_LPRN, KC_RPRN, TD_LBCB, TD_RBCB, _______, _______, _______, _______,
+ KC_LPRN, KC_RPRN, TD_LBCB, TD_RBCB, _______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______,
_______, _______, _______, _______, _______, _______
@@ -239,7 +239,7 @@ Function layer
| | | | | | | |
| | |--------| |--------| | |
| | | | | | | |
- `--------------------------' `--------------------------'
+ `--------------------------' `--------------------------'
*/
[_FUNCTION] = LAYOUT_pretty(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -288,7 +288,7 @@ Numpad layer
| | | | | | | |
| | |--------| |--------| | |
| | | | | | | |
- `--------------------------' `--------------------------'
+ `--------------------------' `--------------------------'
*/
[_NUMPAD] = LAYOUT_pretty(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -325,7 +325,7 @@ Gaming
| | | LAlt | | RGUI | Delete | Bspc |
| Space | Enter |--------| |--------| / | / |
| | | Bspc | |Enter/NS| Number2| Fn2 |
- `--------------------------' `--------------------------'
+ `--------------------------' `--------------------------'
*/
[_GAMING] = LAYOUT_pretty(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -362,7 +362,7 @@ Adjust layer
| | | | | | | |
| | |--------| |--------| | |
| | | | | | | |
- `--------------------------' `--------------------------'
+ `--------------------------' `--------------------------'
*/
[_ADJUST] = LAYOUT_pretty(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -370,7 +370,7 @@ Adjust layer
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______,
_______, _______, _______, _______, _______, _______
@@ -382,7 +382,7 @@ Adjust layer
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, NKROTG, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______,
_______, _______,
_______, _______, _______, _______, _______, _______
@@ -390,7 +390,7 @@ Adjust layer
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _NUMBERS, _NUMBERS2, _ADJUST);
}
diff --git a/keyboards/kinesis/keymaps/tw1t611/keymap.c b/keyboards/kinesis/keymaps/tw1t611/keymap.c
index afeaf77114..c94f06bbb9 100644
--- a/keyboards/kinesis/keymaps/tw1t611/keymap.c
+++ b/keyboards/kinesis/keymaps/tw1t611/keymap.c
@@ -17,9 +17,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_SPC ,KC_LSFT,KC_BSPC ,
KC_F9 ,KC_F10 ,KC_F11 ,KC_F12 ,KC_PSCR,KC_SLCK,KC_PAUS,KC_FN0 ,RESET,
KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,DE_SS ,
- KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,DE_AE ,
- KC_H ,KC_J ,KC_K ,KC_L ,DE_SLSH,DE_OE ,
- KC_N ,KC_M ,DE_COMM,DE_DOT ,DE_MINS,DE_UE ,
+ KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,DE_ADIA,
+ KC_H ,KC_J ,KC_K ,KC_L ,DE_SLSH,DE_ODIA,
+ KC_N ,KC_M ,DE_COMM,DE_DOT ,DE_MINS,DE_UDIA,
_______,_______,_______,_______,
KC_LGUI,KC_LCTL,
KC_END ,
@@ -28,9 +28,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[MOD] = LAYOUT(
_______,_______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______,_______,_______,_______,
- DE_CIRC,DE_QUOT,DE_DQOT,DE_LCBR,DE_RCBR,DE_GRV ,
+ DE_CIRC,DE_QUOT,DE_DQUO,DE_LCBR,DE_RCBR,DE_GRV ,
DE_TILD,DE_EXLM,DE_DLR ,DE_LPRN,DE_RPRN,DE_AMPR,
- DE_BSLS,DE_HASH,DE_LESS,DE_LBRC,DE_RBRC,DE_MORE,
+ DE_BSLS,DE_HASH,DE_LABK,DE_LBRC,DE_RBRC,DE_RABK,
_______,_______,_______,_______,
_______,_______,
_______,
@@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______,_______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______,_______,_______,_______,
KC_HOME,KC_PGDN,KC_PGUP,KC_END ,DE_EQL ,DE_PERC,
- KC_LEFT,KC_DOWN,KC_UP ,KC_RGHT,DE_QST ,DE_ASTR,
+ KC_LEFT,KC_DOWN,KC_UP ,KC_RGHT,DE_QUES,DE_ASTR,
DE_AT ,DE_EURO,DE_SCLN,DE_COLN,DE_UNDS,DE_PLUS,
_______,_______,_______,_______,
_______,_______,
diff --git a/keyboards/kinesis/kinesis.h b/keyboards/kinesis/kinesis.h
index 0833992b81..1635c34436 100644
--- a/keyboards/kinesis/kinesis.h
+++ b/keyboards/kinesis/kinesis.h
@@ -16,6 +16,9 @@
#ifdef KEYBOARD_kinesis_kint36
#include "kint36.h"
#endif
+#ifdef KEYBOARD_kinesis_kint41
+ #include "kint41.h"
+#endif
#include "quantum.h"
diff --git a/keyboards/kinesis/kint36/config.h b/keyboards/kinesis/kint36/config.h
index 17a2b715f0..ab34daa7b8 100644
--- a/keyboards/kinesis/kint36/config.h
+++ b/keyboards/kinesis/kint36/config.h
@@ -68,3 +68,5 @@
#define LED_CAPS_LOCK_PIN C7
#define LED_SCROLL_LOCK_PIN A5
#define LED_COMPOSE_PIN E26
+
+#define EEPROM_SIZE 4096
diff --git a/keyboards/kinesis/kint41/chconf.h b/keyboards/kinesis/kint41/chconf.h
new file mode 100644
index 0000000000..0cd253b95d
--- /dev/null
+++ b/keyboards/kinesis/kint41/chconf.h
@@ -0,0 +1,33 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/*
+ * This file was auto-generated by:
+ * `qmk chibios-confmigrate -i keyboards/kinesis/kint36/chconf.h -r platforms/chibios/common/configs/chconf.h`
+ */
+
+#pragma once
+
+#define CH_CFG_ST_TIMEDELTA 0
+
+#define CH_CFG_TIME_QUANTUM 20
+
+// One tick (minimum sleep interval) will be 100 μs. This value cannot be
+// increased arbitrarily: chSysTimerHandlerI() must be executed in less than one
+// tick as per http://forum.chibios.org/viewtopic.php?t=3712#p27851
+#define CH_CFG_ST_FREQUENCY 10000
+
+#include_next <chconf.h>
diff --git a/keyboards/kinesis/kint41/config.h b/keyboards/kinesis/kint41/config.h
new file mode 100644
index 0000000000..349d3ee364
--- /dev/null
+++ b/keyboards/kinesis/kint41/config.h
@@ -0,0 +1,105 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* USB Device descriptor parameter */
+#undef VENDOR_ID
+#define VENDOR_ID 0x1209
+#undef PRODUCT_ID
+#define PRODUCT_ID 0x345C
+#undef DEVICE_VER
+#define DEVICE_VER 0x0001
+#undef MANUFACTURER
+#define MANUFACTURER "https://github.com/stapelberg"
+#undef PRODUCT
+#define PRODUCT "kinT (kint41)"
+
+/* key matrix size */
+#define MATRIX_ROWS 15
+#define MATRIX_COLS 7
+
+/*
+ * Keyboard Matrix Assignments
+ *
+ * Change this to how you wired your keyboard
+ * COLS: AVR pins used for columns, left to right
+ * ROWS: AVR pins used for rows, top to bottom
+ * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
+ * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
+ *
+ */
+#define MATRIX_ROW_PINS \
+ { \
+ LINE_PIN8, /* ROW_EQL */ \
+ LINE_PIN9, /* ROW_1 */ \
+ LINE_PIN10, /* ROW_2 */ \
+ LINE_PIN11, /* ROW_3 */ \
+ LINE_PIN7, /* ROW_4 */ \
+ LINE_PIN16, /* ROW_5 */ \
+ LINE_PIN5, /* ROW_6 */ \
+ LINE_PIN3, /* ROW_7 */ \
+ LINE_PIN4, /* ROW_8 */ \
+ LINE_PIN1, /* ROW_9 */ \
+ LINE_PIN0, /* ROW_0 */ \
+ LINE_PIN2, /* ROW_MIN */ \
+ LINE_PIN17, /* ROW_ESC */ \
+ LINE_PIN23, /* ROW_F1 */ \
+ LINE_PIN21 /* ROW_F2 */ \
+ }
+
+#define MATRIX_COL_PINS \
+ { \
+ LINE_PIN18, /* COL_0 */ \
+ LINE_PIN14, /* COL_1 */ \
+ LINE_PIN15, /* COL_2 */ \
+ LINE_PIN20, /* COL_3 */ \
+ LINE_PIN22, /* COL_4 */ \
+ LINE_PIN19, /* COL_5 */ \
+ LINE_PIN6 /* COL_6 */ \
+ }
+
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Well-worn Cherry MX key switches can bounce for up to 20ms, despite the
+ * Cherry data sheet specifying 5ms. Because we use the sym_eager_pk debounce
+ * algorithm, this debounce latency only affects key releases (not key
+ * presses). */
+#undef DEBOUNCE
+#define DEBOUNCE 20
+
+#define IGNORE_MOD_TAP_INTERRUPT
+
+// Reduce input latency by lowering the USB polling interval
+// from its 10ms default to the 125μs minimum that USB 2.x (High Speed) allows:
+#define USB_POLLING_INTERVAL_MS 1
+
+/* We use the i.MX RT1060 high-speed GPIOs (GPIO6-9) which are connected to the
+ * AHB bus (AHB_CLK_ROOT), which runs at the same speed as the ARM Core Clock,
+ * i.e. 600 MHz. See MIMXRT1062, page 949, 12.1 Chip-specific GPIO information.
+ * No additional delay is necessary. */
+
+// in clock cycles
+#define GPIO_INPUT_PIN_DELAY 0
+
+#define LED_PIN_ON_STATE 0
+#define LED_NUM_LOCK_PIN LINE_PIN26
+#define LED_CAPS_LOCK_PIN LINE_PIN12
+#define LED_SCROLL_LOCK_PIN LINE_PIN25
+#define LED_COMPOSE_PIN LINE_PIN24
diff --git a/keyboards/kinesis/kint41/kint41.c b/keyboards/kinesis/kint41/kint41.c
new file mode 100644
index 0000000000..ab6567d097
--- /dev/null
+++ b/keyboards/kinesis/kint41/kint41.c
@@ -0,0 +1,52 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "kint41.h"
+
+void matrix_init_kb(void) {
+ matrix_init_user();
+
+// Turn on the Teensy 4.x Power LED:
+#define LED_POWER LINE_PIN13
+ setPinOutput(LED_POWER);
+ writePinHigh(LED_POWER);
+}
+
+// delay_inline sleeps for |cycles| (e.g. sleeping for F_CPU will sleep 1s).
+// delay_inline assumes the cycle counter has already been initialized and
+// should not be modified, i.e. it is safe to call during keyboard matrix scan.
+//
+// ChibiOS enables the cycle counter in chcore_v7m.c:
+// https://github.com/ChibiOS/ChibiOS/blob/b63023915c304092acb9f33bbab40f3ec07a7f0e/os/common/ports/ARMCMx/chcore_v7m.c#L263
+static void delay_inline(const uint32_t cycles) {
+ const uint32_t start = DWT->CYCCNT;
+ while ((DWT->CYCCNT - start) < cycles) {
+ // busy-loop until time has passed
+ }
+}
+
+void matrix_output_unselect_delay(uint8_t line, bool key_pressed) {
+ // Use the cycle counter to do precise timing in microseconds. The ChibiOS
+ // thread sleep functions only allow sleep durations starting at 1 tick, which
+ // is 100μs in our configuration.
+
+ // Empirically: e.g. 5μs is not enough, will result in keys that don’t work
+ // and ghost key presses. 10μs seems to work well.
+
+ // 600 cycles at 0.6 cycles/ns == 1μs
+ const uint32_t cycles_per_us = 600;
+ delay_inline(10 * cycles_per_us);
+}
diff --git a/keyboards/kinesis/kint41/kint41.h b/keyboards/kinesis/kint41/kint41.h
new file mode 100644
index 0000000000..d427a1c2d6
--- /dev/null
+++ b/keyboards/kinesis/kint41/kint41.h
@@ -0,0 +1,92 @@
+/* Copyright 2020 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <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 as on the physical keyboard
+// The second converts the arguments into the 2-D scanned array
+
+#define LAYOUT( \
+ kC0, kD0, kE0, kC1, kD1, kE1, kC2, kD2, kE2, \
+ k00, k10, k20, k30, k40, k50, \
+ k01, k11, k21, k31, k41, k51, \
+ k02, k12, k22, k32, k42, k52, \
+ k03, k13, k23, k33, k43, k53, \
+ k14, k24, k34, k54, \
+ k56, k55, \
+ k35, \
+ k36, k46, k25, \
+ \
+ kC3, kD3, kE3, kC4, kD4, kE4, kC5, kE5, kD5, \
+ k60, k70, k80, k90, kA0, kB0, \
+ k61, k71, k81, k91, kA1, kB1, \
+ k62, k72, k82, k92, kA2, kB2, \
+ k63, k73, k83, k93, kA3, kB3, \
+ k64, k84, k94, kA4, \
+ k96, k85, \
+ k86, \
+ k66, k75, k65 \
+) { \
+ { k00, k01, k02, k03, ___, ___, ___ }, \
+ { k10, k11, k12, k13, k14, ___, ___ }, \
+ { k20, k21, k22, k23, k24, k25, ___ }, \
+ { k30, k31, k32, k33, k34, k35, k36 }, \
+ { k40, k41, k42, k43, ___, ___, k46 }, \
+ { k50, k51, k52, k53, k54, k55, k56 }, \
+ { k60, k61, k62, k63, k64, k65, k66 }, \
+ { k70, k71, k72, k73, ___, k75, ___ }, \
+ { k80, k81, k82, k83, k84, k85, k86 }, \
+ { k90, k91, k92, k93, k94, ___, k96 }, \
+ { kA0, kA1, kA2, kA3, kA4, ___, ___ }, \
+ { kB0, kB1, kB2, kB3, ___, ___, ___ }, \
+ { kC0, kC1, kC2, kC3, kC4, kC5, ___ }, \
+ { kD0, kD1, kD2, kD3, kD4, kD5, ___ }, \
+ { kE0, kE1, kE2, kE3, kE4, kE5, ___ }, \
+}
+
+/* ---------------- LEFT HAND ----------------- ---------------- RIGHT HAND ---------------- */
+#define LAYOUT_pretty( \
+ kC0, kD0, kE0, kC1, kD1, kE1, kC2, kD2, kE2, kC3, kD3, kE3, kC4, kD4, kE4, kC5, kE5, kD5, \
+ k00, k10, k20, k30, k40, k50, k60, k70, k80, k90, kA0, kB0, \
+ k01, k11, k21, k31, k41, k51, k61, k71, k81, k91, kA1, kB1, \
+ k02, k12, k22, k32, k42, k52, k62, k72, k82, k92, kA2, kB2, \
+ k03, k13, k23, k33, k43, k53, k63, k73, k83, k93, kA3, kB3, \
+ k14, k24, k34, k54, k64, k84, k94, kA4, \
+ k56, k55, k96, k85, \
+ k35, k86, \
+ k36, k46, k25, k66, k75, k65 \
+) { \
+ { k00, k01, k02, k03, ___, ___, ___ }, \
+ { k10, k11, k12, k13, k14, ___, ___ }, \
+ { k20, k21, k22, k23, k24, k25, ___ }, \
+ { k30, k31, k32, k33, k34, k35, k36 }, \
+ { k40, k41, k42, k43, ___, ___, k46 }, \
+ { k50, k51, k52, k53, k54, k55, k56 }, \
+ { k60, k61, k62, k63, k64, k65, k66 }, \
+ { k70, k71, k72, k73, ___, k75, ___ }, \
+ { k80, k81, k82, k83, k84, k85, k86 }, \
+ { k90, k91, k92, k93, k94, ___, k96 }, \
+ { kA0, kA1, kA2, kA3, kA4, ___, ___ }, \
+ { kB0, kB1, kB2, kB3, ___, ___, ___ }, \
+ { kC0, kC1, kC2, kC3, kC4, kC5, ___ }, \
+ { kD0, kD1, kD2, kD3, kD4, kD5, ___ }, \
+ { kE0, kE1, kE2, kE3, kE4, kE5, ___ } \
+}
diff --git a/keyboards/kinesis/kint41/mcuconf.h b/keyboards/kinesis/kint41/mcuconf.h
new file mode 100644
index 0000000000..1ab5054ff3
--- /dev/null
+++ b/keyboards/kinesis/kint41/mcuconf.h
@@ -0,0 +1,22 @@
+/*
+ ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+#ifndef _MCUCONF_H_
+#define _MCUCONF_H_
+
+#define MIMXRT1062_MCUCONF
+
+#endif /* _MCUCONF_H_ */
diff --git a/keyboards/kinesis/kint41/readme.md b/keyboards/kinesis/kint41/readme.md
new file mode 100644
index 0000000000..90781dc97d
--- /dev/null
+++ b/keyboards/kinesis/kint41/readme.md
@@ -0,0 +1,3 @@
+# kinesis_kint41 keyboard firmware
+
+Please see https://github.com/kinx-project/kint for details.
diff --git a/keyboards/kinesis/kint41/rules.mk b/keyboards/kinesis/kint41/rules.mk
new file mode 100644
index 0000000000..4d77da4271
--- /dev/null
+++ b/keyboards/kinesis/kint41/rules.mk
@@ -0,0 +1,12 @@
+MCU_FAMILY = MIMXRT1062
+MCU_SERIES = MIMXRT1062
+MCU_LDSCRIPT = MIMXRT1062
+MCU_STARTUP = MIMXRT1062
+BOARD = IC_TEENSY_4_1
+MCU = cortex-m4
+ARMV = 7
+
+# Debounce eagerly (report change immediately), keep per-key timers. We can use
+# this because the Cherry MX keyswitches on the Kinesis only produce noise while
+# pressed.
+DEBOUNCE_TYPE = sym_eager_pk
diff --git a/keyboards/kinesis/nguyenvietyen/config.h b/keyboards/kinesis/nguyenvietyen/config.h
index 52f4c8054b..f1b41e61bc 100644
--- a/keyboards/kinesis/nguyenvietyen/config.h
+++ b/keyboards/kinesis/nguyenvietyen/config.h
@@ -19,7 +19,7 @@
*
*/
// Passed through the port multipler, so 4 pins =16
-#define MATRIX_ROW_PINS { D0, D1, D2, D3 }
+#define MATRIX_ROW_PINS { D0, D1, D2, D3, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN }
#define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4 }
#define UNUSED_PINS
diff --git a/keyboards/kmac/config.h b/keyboards/kmac/config.h
index 45cbff9fa2..54d29dd626 100644
--- a/keyboards/kmac/config.h
+++ b/keyboards/kmac/config.h
@@ -38,7 +38,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS \
{ D0, D1, D2, D3, D5, B7 }
#define MATRIX_COL_PINS \
- { B6, C6, C7, F1, F0, B5 }
+ { B6, C6, C7, F1, F0, B5, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN }
#define UNUSED_PINS
/* COL2ROW, ROW2COL*/
diff --git a/keyboards/kyria/keymaps/default/keymap.c b/keyboards/kyria/keymaps/default/keymap.c
deleted file mode 100644
index c6254c1a52..0000000000
--- a/keyboards/kyria/keymaps/default/keymap.c
+++ /dev/null
@@ -1,220 +0,0 @@
-/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include QMK_KEYBOARD_H
-
-enum layers {
- _QWERTY = 0,
- _LOWER,
- _RAISE,
- _ADJUST
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
- * Base Layer: QWERTY
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * |RAIS/ESC| Q | W | E | R | T | | Y | U | I | O | P | | \ |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * |Ctrl/BS | A | S | D | F | G | | H | J | K | L | ; : | ' " |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | LShift | Z | X | C | V | B |LShift|LShift| |LShift|LShift| N | M | , < | . > | / ? | - _ |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | GUI | Del | Enter| Space| Esc | | Enter| Space| Tab | Bksp | AltGr|
- * | | | Alt | Lower| Raise| | Lower| Raise| | | |
- * `----------------------------------' `----------------------------------'
- */
- [_QWERTY] = LAYOUT(
- LT(_RAISE, KC_ESC), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_PIPE,
- MT(MOD_LCTL, KC_BSPC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LSFT, KC_LSFT, KC_LSFT, KC_LSFT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_MINS,
- KC_LGUI, KC_DEL, MT(MOD_LALT, KC_ENT), LT(_LOWER, KC_SPC), LT(_RAISE, KC_ESC), LT(_LOWER, KC_ENT), LT(_RAISE, KC_SPC), KC_TAB, KC_BSPC, KC_RALT
- ),
-/*
- * Lower Layer: Symbols
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | ! | @ | { | } | | | | | | | | | | \ |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | # | $ | ( | ) | ` | | + | - | / | * | % | ' " |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | % | ^ | [ | ] | ~ | | | | | | & | = | , | . | / ? | - _ |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | ; | = | | = | ; | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_LOWER] = LAYOUT(
- _______, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, _______, _______, _______, _______, _______, KC_BSLS,
- _______, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_PLUS, KC_MINS, KC_SLSH, KC_ASTR, KC_PERC, KC_QUOT,
- _______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, _______, _______, _______, _______, KC_AMPR, KC_EQL, KC_COMM, KC_DOT, KC_SLSH, KC_MINS,
- _______, _______, _______, KC_SCLN, KC_EQL, KC_EQL, KC_SCLN, _______, _______, _______
- ),
-/*
- * Raise Layer: Number keys, media, navigation
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | | Prev | Play | Next | VolUp| | Left | Down | Up | Right| | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | | | Mute | VolDn| | | | | | MLeft| Mdown| MUp |MRight| | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_RAISE] = LAYOUT(
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLU, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______,
- _______, _______, _______, _______, KC_MUTE, KC_VOLD, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-/*
- * Adjust Layer: Function keys, RGB
- *
- * ,-------------------------------------------. ,-------------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | |
- * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
- * | | TOG | SAI | HUI | VAI | MOD | | | | | F11 | F12 | |
- * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
- * | | | SAD | HUD | VAD | RMOD | | | | | | | | | | | |
- * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
- * | | | | | | | | | | | |
- * | | | | | | | | | | | |
- * `----------------------------------' `----------------------------------'
- */
- [_ADJUST] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
- _______, RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, RGB_MOD, _______, _______, _______, KC_F11, KC_F12, _______,
- _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, RGB_RMOD,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-// /*
-// * Layer template
-// *
-// * ,-------------------------------------------. ,-------------------------------------------.
-// * | | | | | | | | | | | | | |
-// * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
-// * | | | | | | | | | | | | | |
-// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
-// * | | | | | | | | | | | | | | | | | |
-// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
-// * | | | | | | | | | | | |
-// * | | | | | | | | | | | |
-// * `----------------------------------' `----------------------------------'
-// */
-// [_LAYERINDEX] = LAYOUT(
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-// ),
-};
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
-}
-
-#ifdef OLED_DRIVER_ENABLE
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- return OLED_ROTATION_180;
-}
-
-static void render_kyria_logo(void) {
- static const char PROGMEM kyria_logo[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,192,224,240,112,120, 56, 60, 28, 30, 14, 14, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 14, 14, 14, 30, 28, 60, 56,120,112,240,224,192,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0,192,224,240,124, 62, 31, 15, 7, 3, 1,128,192,224,240,120, 56, 60, 28, 30, 14, 14, 7, 7,135,231,127, 31,255,255, 31,127,231,135, 7, 7, 14, 14, 30, 28, 60, 56,120,240,224,192,128, 1, 3, 7, 15, 31, 62,124,240,224,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,240,252,255, 31, 7, 1, 0, 0,192,240,252,254,255,247,243,177,176, 48, 48, 48, 48, 48, 48, 48,120,254,135, 1, 0, 0,255,255, 0, 0, 1,135,254,120, 48, 48, 48, 48, 48, 48, 48,176,177,243,247,255,254,252,240,192, 0, 0, 1, 7, 31,255,252,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,254,255,255, 1, 1, 7, 30,120,225,129,131,131,134,134,140,140,152,152,177,183,254,248,224,255,255,224,248,254,183,177,152,152,140,140,134,134,131,131,129,225,120, 30, 7, 1, 1,255,255,254, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0,255,255, 0, 0,192,192, 48, 48, 0, 0,240,240, 0, 0, 0, 0, 0, 0,240,240, 0, 0,240,240,192,192, 48, 48, 48, 48,192,192, 0, 0, 48, 48,243,243, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48,192,192, 0, 0, 0, 0, 0,
- 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,127,255,255,128,128,224,120, 30,135,129,193,193, 97, 97, 49, 49, 25, 25,141,237,127, 31, 7,255,255, 7, 31,127,237,141, 25, 25, 49, 49, 97, 97,193,193,129,135, 30,120,224,128,128,255,255,127, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0, 63, 63, 3, 3, 12, 12, 48, 48, 0, 0, 0, 0, 51, 51, 51, 51, 51, 51, 15, 15, 0, 0, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 63, 63, 48, 48, 0, 0, 12, 12, 51, 51, 51, 51, 51, 51, 63, 63, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 15, 63,255,248,224,128, 0, 0, 3, 15, 63,127,255,239,207,141, 13, 12, 12, 12, 12, 12, 12, 12, 30,127,225,128, 0, 0,255,255, 0, 0,128,225,127, 30, 12, 12, 12, 12, 12, 12, 12, 13,141,207,239,255,127, 63, 15, 3, 0, 0,128,224,248,255, 63, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 3, 7, 15, 62,124,248,240,224,192,128, 1, 3, 7, 15, 30, 28, 60, 56,120,112,112,224,224,225,231,254,248,255,255,248,254,231,225,224,224,112,112,120, 56, 60, 28, 30, 15, 7, 3, 1,128,192,224,240,248,124, 62, 15, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 15, 14, 30, 28, 60, 56,120,112,112,112,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,112,112,112,120, 56, 60, 28, 30, 14, 15, 7, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- };
- oled_write_raw_P(kyria_logo, sizeof(kyria_logo));
-}
-
-static void render_qmk_logo(void) {
- static const char PROGMEM qmk_logo[] = {
- 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
- 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
- 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0};
-
- oled_write_P(qmk_logo, false);
-}
-
-static void render_status(void) {
- // QMK Logo and version information
- render_qmk_logo();
- oled_write_P(PSTR("Kyria rev1.0\n\n"), false);
-
- // Host Keyboard Layer Status
- oled_write_P(PSTR("Layer: "), false);
- switch (get_highest_layer(layer_state)) {
- case _QWERTY:
- oled_write_P(PSTR("Default\n"), false);
- break;
- case _LOWER:
- oled_write_P(PSTR("Lower\n"), false);
- break;
- case _RAISE:
- oled_write_P(PSTR("Raise\n"), false);
- break;
- case _ADJUST:
- oled_write_P(PSTR("Adjust\n"), false);
- break;
- default:
- oled_write_P(PSTR("Undefined\n"), false);
- }
-
- // Host Keyboard LED Status
- uint8_t led_usb_state = host_keyboard_leds();
- oled_write_P(IS_LED_ON(led_usb_state, USB_LED_NUM_LOCK) ? PSTR("NUMLCK ") : PSTR(" "), false);
- oled_write_P(IS_LED_ON(led_usb_state, USB_LED_CAPS_LOCK) ? PSTR("CAPLCK ") : PSTR(" "), false);
- oled_write_P(IS_LED_ON(led_usb_state, USB_LED_SCROLL_LOCK) ? PSTR("SCRLCK ") : PSTR(" "), false);
-}
-
-void oled_task_user(void) {
- if (is_keyboard_master()) {
- render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc)
- } else {
- render_kyria_logo();
- }
-}
-#endif
-
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- // Volume control
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- }
- else if (index == 1) {
- // Page up/Page down
- if (clockwise) {
- tap_code(KC_PGDN);
- } else {
- tap_code(KC_PGUP);
- }
- }
- return true;
-}
-#endif
diff --git a/keyboards/kyria/keymaps/default/rules.mk b/keyboards/kyria/keymaps/default/rules.mk
deleted file mode 100644
index e3486a8a9f..0000000000
--- a/keyboards/kyria/keymaps/default/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-OLED_DRIVER_ENABLE = yes # Enables the use of OLED displays
-ENCODER_ENABLE = yes # Enables the use of one or more encoders
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow \ No newline at end of file
diff --git a/keyboards/kyria/rev1/rev1.c b/keyboards/kyria/rev1/rev1.c
deleted file mode 100644
index 622ac279bd..0000000000
--- a/keyboards/kyria/rev1/rev1.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include "rev1.h"
-
-#ifdef SWAP_HANDS_ENABLE
-__attribute__ ((weak))
-
-const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
- {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {6, 4}, {7, 4}},
- {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}, {6, 5}, {7, 5}},
- {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}, {6, 6}, {7, 6}},
- {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}, {6, 7}, {7, 7}},
- {{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {6, 0}, {7, 0}},
- {{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}, {6, 1}, {7, 1}},
- {{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}, {6, 2}, {7, 2}},
- {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}, {6, 3}, {7, 3}}
-};
-
-#endif
diff --git a/keyboards/latin17rgb/config.h b/keyboards/latin17rgb/config.h
index 013899f600..6a7ea8e781 100644
--- a/keyboards/latin17rgb/config.h
+++ b/keyboards/latin17rgb/config.h
@@ -1,18 +1,18 @@
/* Copyright 2021 18438880
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General 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/>.
- */
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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
@@ -56,7 +56,7 @@
#ifdef RGB_MATRIX_ENABLE
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_KEYPRESSES
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
@@ -100,5 +100,3 @@
#define RGBLIGHT_VAL_STEP 5
#define RGBLIGHT_SLEEP
#endif
-
-
diff --git a/keyboards/latin17rgb/latin17rgb.c b/keyboards/latin17rgb/latin17rgb.c
index 8d9eaae8ae..f7bbe125c2 100644
--- a/keyboards/latin17rgb/latin17rgb.c
+++ b/keyboards/latin17rgb/latin17rgb.c
@@ -17,7 +17,7 @@
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/latin60rgb/config.h b/keyboards/latin60rgb/config.h
index bbe502054a..97b4812910 100644
--- a/keyboards/latin60rgb/config.h
+++ b/keyboards/latin60rgb/config.h
@@ -1,18 +1,18 @@
/* Copyright 2021 latincompass
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General 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/>.
- */
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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
/* USB Device descriptor parameter */
@@ -53,7 +53,7 @@
#ifdef RGB_MATRIX_ENABLE
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_KEYPRESSES
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
@@ -77,4 +77,3 @@
# define DRIVER_1_LED_TOTAL 60
# define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
#endif
-
diff --git a/keyboards/latin60rgb/latin60rgb.c b/keyboards/latin60rgb/latin60rgb.c
index cdd6fed44d..fe5d2eea8f 100644
--- a/keyboards/latin60rgb/latin60rgb.c
+++ b/keyboards/latin60rgb/latin60rgb.c
@@ -16,7 +16,7 @@
#include "latin60rgb.h"
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{ 0, K_13, J_13, L_13 },
{ 0, K_12, J_12, L_12 },
{ 0, K_11, J_11, L_11 },
diff --git a/keyboards/latin6rgb/config.h b/keyboards/latin6rgb/config.h
index 4052fdc991..174c23c30c 100644
--- a/keyboards/latin6rgb/config.h
+++ b/keyboards/latin6rgb/config.h
@@ -1,18 +1,18 @@
/* Copyright 2021 18438880
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General 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/>.
- */
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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
@@ -57,7 +57,7 @@
#ifdef RGB_MATRIX_ENABLE
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_KEYPRESSES
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
diff --git a/keyboards/latin6rgb/latin6rgb.c b/keyboards/latin6rgb/latin6rgb.c
index 76b39c86bb..9ea4721ecb 100644
--- a/keyboards/latin6rgb/latin6rgb.c
+++ b/keyboards/latin6rgb/latin6rgb.c
@@ -17,7 +17,7 @@
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/latin6rgb/rules.mk b/keyboards/latin6rgb/rules.mk
index 4a162d97b3..e1968aa1c2 100644
--- a/keyboards/latin6rgb/rules.mk
+++ b/keyboards/latin6rgb/rules.mk
@@ -10,7 +10,7 @@ BOOTLOADER = atmel-dfu
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
+CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/latinpad/config.h b/keyboards/latinpad/config.h
index ed2fcdf9ab..6c887ab07c 100644
--- a/keyboards/latinpad/config.h
+++ b/keyboards/latinpad/config.h
@@ -44,12 +44,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.*/
/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-
#define OLED_FONT_H "./lib/glcdfont.c"
#define ENCODERS_PAD_A { B4, B5 }
diff --git a/keyboards/latinpad/keymaps/via/rules.mk b/keyboards/latinpad/keymaps/via/rules.mk
index 1e5b99807c..36b7ba9cbc 100644
--- a/keyboards/latinpad/keymaps/via/rules.mk
+++ b/keyboards/latinpad/keymaps/via/rules.mk
@@ -1 +1,2 @@
VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/latinpadble/rules.mk b/keyboards/latinpadble/rules.mk
index e74c2da14a..d4c69eb5e6 100644
--- a/keyboards/latinpadble/rules.mk
+++ b/keyboards/latinpadble/rules.mk
@@ -7,7 +7,6 @@ F_CPU = 8000000
# Bootloader selection
BOOTLOADER = caterina
-
# Build Options
# change yes to no to disable
#
diff --git a/keyboards/launchpad/rules.mk b/keyboards/launchpad/rules.mk
index 2b115b1e1e..9396f5e3a6 100644
--- a/keyboards/launchpad/rules.mk
+++ b/keyboards/launchpad/rules.mk
@@ -27,7 +27,6 @@ AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/le_chiffre/config.h b/keyboards/le_chiffre/config.h
index e14b4665f2..af4d1e49cf 100644
--- a/keyboards/le_chiffre/config.h
+++ b/keyboards/le_chiffre/config.h
@@ -69,7 +69,7 @@
#ifdef RGB_MATRIX_ENABLE
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
#define RGB_MATRIX_HUE_STEP 8
diff --git a/keyboards/leeku/finger65/keymaps/madhatter/keymap.c b/keyboards/leeku/finger65/keymaps/madhatter/keymap.c
index f8d5a0f7bb..a69fe69153 100644
--- a/keyboards/leeku/finger65/keymaps/madhatter/keymap.c
+++ b/keyboards/leeku/finger65/keymaps/madhatter/keymap.c
@@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
};
-// uint32_t layer_state_set_user(uint32_t state) {
+// layer_state_t layer_state_set_user(layer_state_t state) {
// switch(biton32(state)) {
// case _FNMS:
// led_off();
diff --git a/keyboards/lets_split/keymaps/DE_programming/keymap.c b/keyboards/lets_split/keymaps/DE_programming/keymap.c
index 32231f8831..a72ba4f865 100644
--- a/keyboards/lets_split/keymaps/DE_programming/keymap.c
+++ b/keyboards/lets_split/keymaps/DE_programming/keymap.c
@@ -47,9 +47,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_LOWER] = LAYOUT(
- DE_CIRC, DE_EXLM, DE_QST, DE_PARA, DE_EURO, DE_TILD, DE_DLR, DE_LPRN, DE_RPRN, DE_LESS, DE_MORE, KC_BSPC,
+ DE_CIRC, DE_EXLM, DE_QUES, DE_SECT, DE_EURO, DE_TILD, DE_DLR, DE_LPRN, DE_RPRN, DE_LABK, DE_RABK, KC_BSPC,
KC_DEL, KC_VOLU, KC_MPRV, KC_MNXT, KC_MPLY, DE_AMPR, DE_AT, DE_LCBR, DE_RCBR, DE_LBRC, DE_RBRC, KC_ENT,
- KC_LSFT, KC_VOLD, _______, _______, _______, DE_PIPE, DE_PERC, DE_SLSH, DE_BSLS, DE_QUOT, DE_DQOT, KC_RSFT,
+ KC_LSFT, KC_VOLD, _______, _______, _______, DE_PIPE, DE_PERC, DE_SLSH, DE_BSLS, DE_QUOT, DE_DQUO, KC_RSFT,
KC_LCTL, _______, _______, _______, _______, _______, _______, _______, DE_EQL, DE_ASTR, _______, _______
),
@@ -66,7 +66,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_RAISE] = LAYOUT(
DE_SLSH, KC_7, KC_8, KC_9, DE_ASTR, _______, _______, _______, DE_HASH, KC_LALT, DE_ACUT, KC_BSPC,
- KC_DEL, KC_4, KC_5, KC_6, DE_MINS, KC_HOME, KC_END, DE_AE, DE_OE, DE_UE, DE_SS, KC_ENT,
+ KC_DEL, KC_4, KC_5, KC_6, DE_MINS, KC_HOME, KC_END, DE_ADIA, DE_ODIA, DE_UDIA, DE_SS, KC_ENT,
KC_LSFT, KC_1, KC_2, KC_3, DE_PLUS, KC_PGUP, KC_PGDN, _______, _______, _______, _______, KC_LSFT,
_______, DE_DOT, KC_0, DE_EQL, _______, _______, _______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/lets_split/keymaps/DE_simple/keymap.c b/keyboards/lets_split/keymaps/DE_simple/keymap.c
index 32383ec67b..c49da49cf0 100644
--- a/keyboards/lets_split/keymaps/DE_simple/keymap.c
+++ b/keyboards/lets_split/keymaps/DE_simple/keymap.c
@@ -51,8 +51,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_LOWER] = LAYOUT( \
- DE_CIRC, DE_EXLM, DE_DQOT, DE_PARA, DE_DLR, DE_PERC, DE_AMPR, DE_SLSH, DE_LPRN, DE_RPRN, DE_EQL, KC_BSPC, \
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, DE_AT , DE_EURO, KC_LBRC, DE_QST, DE_QUOT, \
+ DE_CIRC, DE_EXLM, DE_DQUO, DE_SECT, DE_DLR, DE_PERC, DE_AMPR, DE_SLSH, DE_LPRN, DE_RPRN, DE_EQL, KC_BSPC, \
+ KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, DE_AT , DE_EURO, KC_LBRC, DE_QUES, DE_QUOT, \
KC_LSFT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, DE_PIPE , KC_SCLN, KC_QUOT, _______, KC_ENT, \
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
),
diff --git a/keyboards/lets_split/keymaps/bbaserdem_right/rules.mk b/keyboards/lets_split/keymaps/bbaserdem_right/rules.mk
index 377a0ded11..c4994dc94a 100755
--- a/keyboards/lets_split/keymaps/bbaserdem_right/rules.mk
+++ b/keyboards/lets_split/keymaps/bbaserdem_right/rules.mk
@@ -15,7 +15,5 @@ SLEEP_LED_ENABLE = no # Breathes LED's when computer is asleep. Untested.
NKRO_ENABLE = no # Default is 6KRO which is plenty
MIDI_ENABLE = no # Untested feature
KEY_LOCK_ENABLE = no # Allows locking any key. Not used
-API_SYSEX_ENABLE = no # Allows OS to send signals.
-KEY_LOCK_ENABLE = no # Allows locking any key. Not used
UNICODE_ENABLE = no # Used for unicode character emulation
EXTRAKEY_ENABLE = no # OS signals like volume control
diff --git a/keyboards/lets_split/keymaps/cpeters1982/keymap.c b/keyboards/lets_split/keymaps/cpeters1982/keymap.c
index 8fa2bf6c04..c4c26d56bc 100644
--- a/keyboards/lets_split/keymaps/cpeters1982/keymap.c
+++ b/keyboards/lets_split/keymaps/cpeters1982/keymap.c
@@ -179,7 +179,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
#define rgblight_set_purple rgblight_sethsv (0x10E, 0xFF, 0xFF);
#define rgblight_set_white rgblight_sethsv (0x00, 0x00, 0xFF);
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
#ifdef RGBLIGHT_ENABLE
uint8_t default_layer = eeconfig_read_default_layer();
if (rgb_layer_change) {
diff --git a/keyboards/lets_split/keymaps/via/config.h b/keyboards/lets_split/keymaps/via/config.h
index df24c53cde..334be75194 100644
--- a/keyboards/lets_split/keymaps/via/config.h
+++ b/keyboards/lets_split/keymaps/via/config.h
@@ -38,3 +38,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#undef RGBLED_NUM
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 10
+
+#define NO_MUSIC_MODE
diff --git a/keyboards/lets_split/sockets/config.h b/keyboards/lets_split/sockets/config.h
index 67fa4b4ccc..70cbc18cd5 100644
--- a/keyboards/lets_split/sockets/config.h
+++ b/keyboards/lets_split/sockets/config.h
@@ -49,11 +49,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* serial.c configuration for split keyboard */
#define SOFT_SERIAL_PIN D0
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
/* ws2812 RGB LED */
#define RGB_DI_PIN D4
diff --git a/keyboards/lets_split_eh/keymaps/mikethetiger/keymap.c b/keyboards/lets_split_eh/keymaps/mikethetiger/keymap.c
index c5a2ed9535..9e67b7dda8 100644
--- a/keyboards/lets_split_eh/keymaps/mikethetiger/keymap.c
+++ b/keyboards/lets_split_eh/keymaps/mikethetiger/keymap.c
@@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- _______, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ _______, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Lower
@@ -115,6 +115,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
diff --git a/keyboards/lets_split_eh/rules.mk b/keyboards/lets_split_eh/rules.mk
index fe3face86b..9f1e01772e 100644
--- a/keyboards/lets_split_eh/rules.mk
+++ b/keyboards/lets_split_eh/rules.mk
@@ -27,7 +27,6 @@ AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
SPLIT_KEYBOARD = yes
diff --git a/keyboards/lizard_trick/tenkey_plusplus/config.h b/keyboards/lizard_trick/tenkey_plusplus/config.h
index d962e67dae..d1087851cb 100644
--- a/keyboards/lizard_trick/tenkey_plusplus/config.h
+++ b/keyboards/lizard_trick/tenkey_plusplus/config.h
@@ -41,7 +41,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
-#define MATRIX_ROW_PINS { B7, D4, B5, B6, C6, C7, }
+#define MATRIX_ROW_PINS { B7, D4, B5, B6, C6, C7 }
#define MATRIX_COL_PINS { D5, D3, D2, F7 }
#define UNUSED_PINS
diff --git a/keyboards/m10a/keymaps/gam3cat/keymap.c b/keyboards/m10a/keymaps/gam3cat/keymap.c
index 2d79007fe1..f962246ef3 100644
--- a/keyboards/m10a/keymaps/gam3cat/keymap.c
+++ b/keyboards/m10a/keymaps/gam3cat/keymap.c
@@ -114,7 +114,7 @@ void matrix_scan_user(void) {
}
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
switch (biton32(state)) {
case _L0:
custom_backlight_level(0);
diff --git a/keyboards/m10a/keymaps/gam3cat/rules.mk b/keyboards/m10a/keymaps/gam3cat/rules.mk
index 374f522425..7b387d27c4 100644
--- a/keyboards/m10a/keymaps/gam3cat/rules.mk
+++ b/keyboards/m10a/keymaps/gam3cat/rules.mk
@@ -18,6 +18,5 @@ UNICODEMAP_ENABLE = no # Enable extended unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
#VARIABLE_TRACE = no # Use this to debug changes to variable values
-API_SYSEX_ENABLE = no # This enables using the Quantum SYSEX API to send strings(+5390)
KEY_LOCK_ENABLE = no # This enables key lock(+260)
SPLIT_KEYBOARD = no # This enables split keyboard support and includes all necessary files located at quantum/split_common
diff --git a/keyboards/m10a/rules.mk b/keyboards/m10a/rules.mk
index 0f8368e637..27bf6d0113 100644
--- a/keyboards/m10a/rules.mk
+++ b/keyboards/m10a/rules.mk
@@ -22,4 +22,3 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
UNICODE_ENABLE = yes # Unicode
-API_SYSEX_ENABLE = yes
diff --git a/keyboards/manyboard/macro/config.h b/keyboards/manyboard/macro/config.h
new file mode 100644
index 0000000000..d7a950f2e6
--- /dev/null
+++ b/keyboards/manyboard/macro/config.h
@@ -0,0 +1,53 @@
+/*
+Copyright 2020 William Ehman
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General 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 "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0x4D42 // MB
+#define PRODUCT_ID 0x0015 // 15 keys
+#define DEVICE_VER 0x0103
+#define MANUFACTURER Manyboard
+#define PRODUCT MB_Macro
+
+/* key matrix size */
+#define MATRIX_ROWS 4
+#define MATRIX_COLS 4
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { D0, D1, D2, D3 }
+#define MATRIX_COL_PINS { D4, D5, D6, D7 }
+#define UNUSED_PINS
+
+/*Encoder Pins*/
+#define ENCODERS_PAD_A { C6 }
+#define ENCODERS_PAD_B { C7 }
+
+/* COL2ROW, ROW2COL */
+#define DIODE_DIRECTION ROW2COL
+
+/* RGB Pins */
+#define RGB_DI_PIN B6
+#define RGBLED_NUM 2
+#define RGBLIGHT_LIMIT_VAL 10
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+/* disable these deprecated features by default */
+#define NO_ACTION_MACRO
+#define NO_ACTION_FUNCTION
diff --git a/keyboards/manyboard/macro/info.json b/keyboards/manyboard/macro/info.json
new file mode 100644
index 0000000000..8155672a7e
--- /dev/null
+++ b/keyboards/manyboard/macro/info.json
@@ -0,0 +1,29 @@
+{
+ "keyboard_name": "manyboard_macro",
+ "url": "https://github.com/WillEhman/qmk_firmware/tree/dev_create_mb_macro",
+ "maintainer": "William Ehman",
+ "width": 4,
+ "height": 4,
+ "layouts": {
+ "LAYOUT_ortho_4x4": {
+ "layout": [
+ {"x": 0, "y": 0},
+ {"x": 1, "y": 0},
+ {"x": 2, "y": 0},
+ {"x": 3, "y": 0},
+ {"x": 0, "y": 1},
+ {"x": 1, "y": 1},
+ {"x": 2, "y": 1},
+ {"x": 3, "y": 1},
+ {"x": 0, "y": 2},
+ {"x": 1, "y": 2},
+ {"x": 2, "y": 2},
+ {"x": 3, "y": 2},
+ {"x": 0, "y": 3},
+ {"x": 1, "y": 3},
+ {"x": 2, "y": 3},
+ {"x": 3, "y": 3}
+ ]
+ }
+ }
+}
diff --git a/keyboards/manyboard/macro/keymaps/default/keymap.c b/keyboards/manyboard/macro/keymaps/default/keymap.c
new file mode 100644
index 0000000000..0b9d2ac927
--- /dev/null
+++ b/keyboards/manyboard/macro/keymaps/default/keymap.c
@@ -0,0 +1,75 @@
+/* Copyright 2020 William Ehman
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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
+
+// clang-format off
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_ortho_4x4(
+ KC_F1, KC_F2, KC_F3, KC_F4,
+ KC_F5, KC_F6, KC_F7, KC_F8,
+ KC_F9, KC_F10, KC_F11, KC_F12,
+ KC_F13, KC_F14, KC_F15, TO(1)
+ ),
+ [1] = LAYOUT_ortho_4x4(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, TO(2)
+ ),
+ [2] = LAYOUT_ortho_4x4(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, TO(0)
+ ),
+};
+// clang-format on
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ switch (get_highest_layer(state)) {
+ case 0:
+ sethsv(HSV_WHITE, (LED_TYPE *)&led[0]);
+ rgblight_set();
+ break;
+ case 1:
+ sethsv(HSV_GREEN, (LED_TYPE *)&led[0]);
+ rgblight_set();
+ break;
+ case 2:
+ sethsv(HSV_BLUE, (LED_TYPE *)&led[0]);
+ rgblight_set();
+ break;
+ }
+ return state;
+}
+
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ /* With an if statement we can check which encoder was turned. */
+ if (index == 0) { /* First encoder */
+ /* And with another if statement we can check the direction. */
+ if (clockwise) {
+ /* This is where the actual magic happens: this bit of code taps on the
+ Page Down key. You can do anything QMK allows you to do here.
+ You'll want to replace these lines with the things you want your
+ encoders to do. */
+ tap_code(KC_AUDIO_VOL_UP);
+ } else {
+ /* And likewise for the other direction, this time Vol Down is pressed. */
+ tap_code(KC_AUDIO_VOL_DOWN);
+ }
+ }
+ return true;
+}
diff --git a/keyboards/manyboard/macro/keymaps/via/keymap.c b/keyboards/manyboard/macro/keymaps/via/keymap.c
new file mode 100644
index 0000000000..0b9d2ac927
--- /dev/null
+++ b/keyboards/manyboard/macro/keymaps/via/keymap.c
@@ -0,0 +1,75 @@
+/* Copyright 2020 William Ehman
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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
+
+// clang-format off
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_ortho_4x4(
+ KC_F1, KC_F2, KC_F3, KC_F4,
+ KC_F5, KC_F6, KC_F7, KC_F8,
+ KC_F9, KC_F10, KC_F11, KC_F12,
+ KC_F13, KC_F14, KC_F15, TO(1)
+ ),
+ [1] = LAYOUT_ortho_4x4(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, TO(2)
+ ),
+ [2] = LAYOUT_ortho_4x4(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, TO(0)
+ ),
+};
+// clang-format on
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ switch (get_highest_layer(state)) {
+ case 0:
+ sethsv(HSV_WHITE, (LED_TYPE *)&led[0]);
+ rgblight_set();
+ break;
+ case 1:
+ sethsv(HSV_GREEN, (LED_TYPE *)&led[0]);
+ rgblight_set();
+ break;
+ case 2:
+ sethsv(HSV_BLUE, (LED_TYPE *)&led[0]);
+ rgblight_set();
+ break;
+ }
+ return state;
+}
+
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ /* With an if statement we can check which encoder was turned. */
+ if (index == 0) { /* First encoder */
+ /* And with another if statement we can check the direction. */
+ if (clockwise) {
+ /* This is where the actual magic happens: this bit of code taps on the
+ Page Down key. You can do anything QMK allows you to do here.
+ You'll want to replace these lines with the things you want your
+ encoders to do. */
+ tap_code(KC_AUDIO_VOL_UP);
+ } else {
+ /* And likewise for the other direction, this time Vol Down is pressed. */
+ tap_code(KC_AUDIO_VOL_DOWN);
+ }
+ }
+ return true;
+}
diff --git a/keyboards/manyboard/macro/keymaps/via/rules.mk b/keyboards/manyboard/macro/keymaps/via/rules.mk
new file mode 100644
index 0000000000..036bd6d1c3
--- /dev/null
+++ b/keyboards/manyboard/macro/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/manyboard/macro/macro.c b/keyboards/manyboard/macro/macro.c
new file mode 100644
index 0000000000..eb8a188f3c
--- /dev/null
+++ b/keyboards/manyboard/macro/macro.c
@@ -0,0 +1,17 @@
+/* Copyright 2020 WillEhman
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 "macro.h"
diff --git a/keyboards/manyboard/macro/macro.h b/keyboards/manyboard/macro/macro.h
new file mode 100644
index 0000000000..0dccdbebfb
--- /dev/null
+++ b/keyboards/manyboard/macro/macro.h
@@ -0,0 +1,31 @@
+/* Copyright 2020 WillEhman
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 LAYOUT_ortho_4x4( \
+ K00, K01, K02, K03, \
+ K10, K11, K12, K13, \
+ K20, K21, K22, K23, \
+ K30, K31, K32, K33 \
+) { \
+ { K00, K01, K02, K03 }, \
+ { K10, K11, K12, K13 }, \
+ { K20, K21, K22, K23 }, \
+ { K30, K31, K32, K33 } \
+}
diff --git a/keyboards/manyboard/macro/readme.md b/keyboards/manyboard/macro/readme.md
new file mode 100644
index 0000000000..ca400b30e7
--- /dev/null
+++ b/keyboards/manyboard/macro/readme.md
@@ -0,0 +1,15 @@
+# manyboard_macro
+
+* Keyboard Maintainer: [WillEhman](https://github.com/WillEhman)
+* Hardware Supported: The Manyboard Family of keyboards
+* Hardware Availability: TBA
+
+Make example for this keyboard (after setting up your build environment):
+
+ make manyboard/macro:default
+
+Flashing example for this keyboard:
+
+ make manyboard/macro: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/manyboard/macro/rules.mk b/keyboards/manyboard/macro/rules.mk
new file mode 100644
index 0000000000..fd709670b6
--- /dev/null
+++ b/keyboards/manyboard/macro/rules.mk
@@ -0,0 +1,23 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = no # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no # Enable Bluetooth
+AUDIO_ENABLE = no # Audio output
+ENCODER_ENABLE = yes # Encoder Input
diff --git a/keyboards/marksard/rhymestone/rev1/config.h b/keyboards/marksard/rhymestone/rev1/config.h
index 9a1bf0a1d8..9833925110 100644
--- a/keyboards/marksard/rhymestone/rev1/config.h
+++ b/keyboards/marksard/rhymestone/rev1/config.h
@@ -93,7 +93,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// #define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
- #define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+ #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
// #define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
diff --git a/keyboards/massdrop/alt/alt.c b/keyboards/massdrop/alt/alt.c
index 81dd66b3c1..c3ed246a4f 100644
--- a/keyboards/massdrop/alt/alt.c
+++ b/keyboards/massdrop/alt/alt.c
@@ -18,4 +18,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Temporary solution for matrix delay */
void matrix_output_select_delay(void) { matrix_io_delay(); }
-void matrix_output_unselect_delay(void) { }
+void matrix_output_unselect_delay(uint8_t line, bool key_pressed) {}
diff --git a/keyboards/massdrop/alt/keymaps/pregame/config.h b/keyboards/massdrop/alt/keymaps/pregame/config.h
index acd041ce14..32dee56d30 100644
--- a/keyboards/massdrop/alt/keymaps/pregame/config.h
+++ b/keyboards/massdrop/alt/keymaps/pregame/config.h
@@ -89,7 +89,7 @@
// #define RGBLIGHT_SAT_STEP 25 // Units to step when in/decreasing saturation
// #define RGBLIGHT_VAL_STEP 12 // Units to step when in/decreasing value (brightness)
// #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-// #define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended
+// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
// #define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#define RGBLIGHT_ANIMATIONS // Run RGB animations
@@ -103,7 +103,7 @@
// #define RGBLIGHT_EFFECT_RGB_TEST // Enable RGB test animation mode.
// #define RGBLIGHT_EFFECT_SNAKE // Enable snake animation mode.
// #define RGBLIGHT_EFFECT_STATIC_GRADIENT // Enable static gradient mode.
-
+
// #define RGBLIGHT_EFFECT_BREATHE_CENTER // If defined, used to calculate the curve for the breathing animation. Valid values are 1.0 to 2.7
// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // The maximum brightness for the breathing mode. Valid values are 1 to 255
// #define RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL 1000 // How long to wait between light changes for the "Christmas" animation, in milliseconds
diff --git a/keyboards/massdrop/alt/keymaps/urbanvanilla/config.h b/keyboards/massdrop/alt/keymaps/urbanvanilla/config.h
index 0f2740013d..f2a7e50386 100644
--- a/keyboards/massdrop/alt/keymaps/urbanvanilla/config.h
+++ b/keyboards/massdrop/alt/keymaps/urbanvanilla/config.h
@@ -24,4 +24,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGB_MATRIX_LED_PROCESS_LIMIT 15
#define RGB_MATRIX_LED_FLUSH_LIMIT 10
-#define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended
+// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
diff --git a/keyboards/massdrop/ctrl/ctrl.c b/keyboards/massdrop/ctrl/ctrl.c
index b50f1cb59f..c688d330a5 100644
--- a/keyboards/massdrop/ctrl/ctrl.c
+++ b/keyboards/massdrop/ctrl/ctrl.c
@@ -18,4 +18,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Temporary solution for matrix delay */
void matrix_output_select_delay(void) { matrix_io_delay(); }
-void matrix_output_unselect_delay(void) { }
+void matrix_output_unselect_delay(uint8_t line, bool key_pressed) {}
diff --git a/keyboards/massdrop/ctrl/keymaps/endgame/config.h b/keyboards/massdrop/ctrl/keymaps/endgame/config.h
index 0ef485591f..ad738347ab 100644
--- a/keyboards/massdrop/ctrl/keymaps/endgame/config.h
+++ b/keyboards/massdrop/ctrl/keymaps/endgame/config.h
@@ -49,7 +49,7 @@
// #define RGBLIGHT_SAT_STEP 25 // Units to step when in/decreasing saturation
// #define RGBLIGHT_VAL_STEP 12 // Units to step when in/decreasing value (brightness)
// #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-// #define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended
+// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
// #define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
// #define RGBLIGHT_ANIMATIONS // Run RGB animations
diff --git a/keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h b/keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h
index 6e16c3a5f9..89c129c58e 100644
--- a/keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h
+++ b/keyboards/massdrop/ctrl/keymaps/matthewrobo/config.h
@@ -67,7 +67,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define RGBLIGHT_SAT_STEP 25 // Units to step when in/decreasing saturation
// #define RGBLIGHT_VAL_STEP 12 // Units to step when in/decreasing value (brightness)
// #define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-// #define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended
+// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
// #define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// #define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
// #define RGBLIGHT_ANIMATIONS // Run RGB animations
diff --git a/keyboards/masterworks/classy_tkl/rev_a/rules.mk b/keyboards/masterworks/classy_tkl/rev_a/rules.mk
index 68d6bc50c1..ba09a6cb6a 100644
--- a/keyboards/masterworks/classy_tkl/rev_a/rules.mk
+++ b/keyboards/masterworks/classy_tkl/rev_a/rules.mk
@@ -21,6 +21,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
-
-# Supported layouts
-LAYOUTS = tkl_ansi_wkl tkl_iso_wkl
diff --git a/keyboards/matrix/m20add/rgb_ring.c b/keyboards/matrix/m20add/rgb_ring.c
index fa70dea7eb..e759ee4e4f 100644
--- a/keyboards/matrix/m20add/rgb_ring.c
+++ b/keyboards/matrix/m20add/rgb_ring.c
@@ -21,7 +21,7 @@
#include <string.h>
#include "quantum.h"
#include "rgblight.h"
-#include "issi/is31fl3731.h"
+#include "drivers/led/issi/is31fl3731.h"
#include "i2c_master.h"
@@ -30,7 +30,7 @@
#endif
// rgb ring leds setting
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/matrix/m20add/rules.mk b/keyboards/matrix/m20add/rules.mk
index d5516964d0..091813d353 100644
--- a/keyboards/matrix/m20add/rules.mk
+++ b/keyboards/matrix/m20add/rules.mk
@@ -25,5 +25,5 @@ RGBLIGHT_ENABLE = yes
CUSTOM_MATRIX = lite
# project specific files
-SRC += matrix.c tca6424.c rgb_ring.c issi/is31fl3731.c
+SRC += matrix.c tca6424.c rgb_ring.c drivers/led/issi/is31fl3731.c
QUANTUM_LIB_SRC += i2c_master.c
diff --git a/keyboards/matrix/noah/noah.c b/keyboards/matrix/noah/noah.c
index 1e2f4bb7d9..6b624b9e09 100644
--- a/keyboards/matrix/noah/noah.c
+++ b/keyboards/matrix/noah/noah.c
@@ -66,7 +66,7 @@ __attribute__((weak))
void matrix_scan_user(void) { }
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/maxr1998/phoebe/keymaps/default/keymap.c b/keyboards/maxr1998/phoebe/keymaps/default/keymap.c
index 11df63bb17..11ac657751 100644
--- a/keyboards/maxr1998/phoebe/keymaps/default/keymap.c
+++ b/keyboards/maxr1998/phoebe/keymaps/default/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* └─────┴─────┴─────┴─────┴─────┴───────────┴─────┴─────┴─────┴─────┴─────┘
*/
[_QWERTZ] = LAYOUT(
- KC_ESC, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, DE_QST,
+ KC_ESC, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, DE_QUES,
KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_PLUS, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSPC,
@@ -55,7 +55,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
DE_ACUT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DE_HASH, _______,
- _______, DE_LESS, _______, _______, _______, _______, _______, _______, _______, _______, DE_MINS, _______,
+ _______, DE_LABK, _______, _______, _______, _______, _______, _______, _______, _______, DE_MINS, _______,
_______, _______, _______, XXXXXXX, _______, _______, _______, XXXXXXX, _______, _______, _______
),
@@ -74,8 +74,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_FN] = LAYOUT(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F10, KC_F11, KC_F12,
- _______, _______, _______, _______, _______, _______, _______, DE_UE, KC_F9, DE_OE, _______, KC_DEL,
- KC_LOCK, DE_AE, DE_SS, _______, _______, G_1, _______, RGB_M_P, RGB_M_SW,RGB_M_SN,_______, _______,
+ _______, _______, _______, _______, _______, _______, _______, DE_UDIA, KC_F9, DE_ODIA, _______, KC_DEL,
+ KC_LOCK, DE_ADIA, DE_SS, _______, _______, G_1, _______, RGB_M_P, RGB_M_SW,RGB_M_SN,_______, _______,
_______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_TOG, RGB_HUI, KC_PGUP, _______,
XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, KC_HOME, KC_PGDN, KC_END
),
@@ -106,7 +106,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
- case DE_QST:
+ case DE_QUES:
if (get_mods() & MODS_ALGR_MASK) {
if (record->event.pressed) {
register_code(DE_SS);
@@ -119,9 +119,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
case KC_Z:
if (get_mods() & MODS_ALGR_MASK) {
if (record->event.pressed) {
- register_code(DE_LESS);
+ register_code(DE_LABK);
} else {
- unregister_code(DE_LESS);
+ unregister_code(DE_LABK);
}
return false;
}
diff --git a/keyboards/maxr1998/phoebe/rules.mk b/keyboards/maxr1998/phoebe/rules.mk
index f60274e515..16d797d41b 100644
--- a/keyboards/maxr1998/phoebe/rules.mk
+++ b/keyboards/maxr1998/phoebe/rules.mk
@@ -30,5 +30,4 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
KEY_LOCK_ENABLE = yes
LEADER_ENABLE = yes # Enable leader key
-API_SYSEX_ENABLE = no
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/maxr1998/pulse4k/rules.mk b/keyboards/maxr1998/pulse4k/rules.mk
index 71d9b5debf..084db7fee8 100644
--- a/keyboards/maxr1998/pulse4k/rules.mk
+++ b/keyboards/maxr1998/pulse4k/rules.mk
@@ -29,5 +29,4 @@ AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev1/config.h b/keyboards/mechlovin/adelais/rgb_led/rev1/config.h
index 1ba7d27dff..d75cbd3f2a 100644
--- a/keyboards/mechlovin/adelais/rgb_led/rev1/config.h
+++ b/keyboards/mechlovin/adelais/rgb_led/rev1/config.h
@@ -13,7 +13,7 @@
#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-#define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended
+// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 220 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
-#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set \ No newline at end of file
+#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev2/config.h b/keyboards/mechlovin/adelais/rgb_led/rev2/config.h
index 38ffdd40ae..c830edce26 100644
--- a/keyboards/mechlovin/adelais/rgb_led/rev2/config.h
+++ b/keyboards/mechlovin/adelais/rgb_led/rev2/config.h
@@ -1,7 +1,7 @@
#pragma once
#define PRODUCT_ID 0xAEC2
-#define PRODUCT Adelais En Ciel Rev2
+#define PRODUCT Adelais En Ciel Rev2
#define MATRIX_ROW_PINS { B1, A0, C13, A1, A2}
#define MATRIX_COL_PINS { A10, A9, A8, B15, B14, B13, B12, B11, B10, B8, B4, B5, B3, C14, A7 }
@@ -31,7 +31,7 @@
#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-#define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended
+// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set
@@ -42,4 +42,4 @@
#define ENCODERS_PAD_B { A3 }
#define ENCODER_RESOLUTION 4
-#define TAP_CODE_DELAY 10 \ No newline at end of file
+#define TAP_CODE_DELAY 10
diff --git a/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c b/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c
index 5087174b96..fe946169a7 100644
--- a/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c
+++ b/keyboards/mechlovin/adelais/rgb_led/rev2/rev2.c
@@ -17,7 +17,7 @@
#include "adelais.h"
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{0, C2_1, C3_1, C4_1}, //D102-A0-0
{0, C5_1, C6_1, C7_1}, //D108-A1-1
diff --git a/keyboards/mechlovin/delphine/rgb_led/config.h b/keyboards/mechlovin/delphine/rgb_led/config.h
index 4d5c853d0c..9a653d7595 100644
--- a/keyboards/mechlovin/delphine/rgb_led/config.h
+++ b/keyboards/mechlovin/delphine/rgb_led/config.h
@@ -24,7 +24,7 @@
// #define RGBLIGHT_EFFECT_RGB_TEST
// #define RGBLIGHT_EFFECT_ALTERNATING
#endif
-
+
//rgb matrix setting// This is a 7-bit address, that gets left-shifted and bit 0
// set to 0 for write, 1 for read (as per I2C protocol)
// The address will vary depending on your wiring:
@@ -41,7 +41,7 @@
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-#define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended
+// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set
diff --git a/keyboards/mechlovin/delphine/rgb_led/rgb_led.c b/keyboards/mechlovin/delphine/rgb_led/rgb_led.c
index 6f3e3ec731..29b6d1f783 100644
--- a/keyboards/mechlovin/delphine/rgb_led/rgb_led.c
+++ b/keyboards/mechlovin/delphine/rgb_led/rgb_led.c
@@ -18,7 +18,7 @@
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
// left CA
{0, C5_2, C6_2, C7_2}, //D2-0
{0, C1_1, C3_2, C4_2}, //D20-1
diff --git a/keyboards/mechlovin/hannah60rgb/rev1/config.h b/keyboards/mechlovin/hannah60rgb/rev1/config.h
index 20873e7161..fd45ecca6c 100644
--- a/keyboards/mechlovin/hannah60rgb/rev1/config.h
+++ b/keyboards/mechlovin/hannah60rgb/rev1/config.h
@@ -11,8 +11,8 @@
# define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended
+// # define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
# define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set
-#endif \ No newline at end of file
+#endif
diff --git a/keyboards/mechlovin/hannah60rgb/rev2/config.h b/keyboards/mechlovin/hannah60rgb/rev2/config.h
index 2bcffbc856..5e57f985d3 100644
--- a/keyboards/mechlovin/hannah60rgb/rev2/config.h
+++ b/keyboards/mechlovin/hannah60rgb/rev2/config.h
@@ -30,11 +30,11 @@
#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-#define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended
+// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_PINWHEEL // Sets the default mode, if none has been set
#if defined(RGBLIGHT_ENABLE) && defined(RGB_MATRIX_ENABLE)
# define RGB_MATRIX_DISABLE_KEYCODES
-#endif \ No newline at end of file
+#endif
diff --git a/keyboards/mechlovin/hannah60rgb/rev2/rev2.c b/keyboards/mechlovin/hannah60rgb/rev2/rev2.c
index 05469a1bbe..8b30538cc2 100644
--- a/keyboards/mechlovin/hannah60rgb/rev2/rev2.c
+++ b/keyboards/mechlovin/hannah60rgb/rev2/rev2.c
@@ -17,7 +17,7 @@
#include "rev2.h"
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/mechlovin/hannah910/hannah910.c b/keyboards/mechlovin/hannah910/hannah910.c
index 2c696ab564..99addb981d 100644
--- a/keyboards/mechlovin/hannah910/hannah910.c
+++ b/keyboards/mechlovin/hannah910/hannah910.c
@@ -35,7 +35,7 @@ void led_set_kb(uint8_t usb_led) {
led_set_user(usb_led);
}
-uint32_t layer_state_set_user(uint32_t state)
+layer_state_t layer_state_set_user(layer_state_t state)
{
// if on layer 1, turn on D2 LED, otherwise off.
if (biton32(state) == 1) {
diff --git a/keyboards/mechlovin/infinity87/rgb_rev1/config.h b/keyboards/mechlovin/infinity87/rgb_rev1/config.h
index 0c16c684cf..76c6e0db73 100644
--- a/keyboards/mechlovin/infinity87/rgb_rev1/config.h
+++ b/keyboards/mechlovin/infinity87/rgb_rev1/config.h
@@ -35,7 +35,7 @@
// 0b0110001 AD <-> SCL
// 0b0110010 AD <-> SDA
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_KEYPRESSES
#define DISABLE_RGB_MATRIX_SPLASH
#define DISABLE_RGB_MATRIX_MULTISPLASH
diff --git a/keyboards/mechlovin/infinity87/rgb_rev1/rgb_rev1.c b/keyboards/mechlovin/infinity87/rgb_rev1/rgb_rev1.c
index f13fee8add..bd1fd8abf7 100644
--- a/keyboards/mechlovin/infinity87/rgb_rev1/rgb_rev1.c
+++ b/keyboards/mechlovin/infinity87/rgb_rev1/rgb_rev1.c
@@ -17,7 +17,7 @@
#include "rgb_rev1.h"
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{0, CS34_SW1, CS35_SW1, CS36_SW1}, //D92-K00-0
{0, CS37_SW1, CS38_SW1, CS39_SW1}, //D94-K01-1
{0, CS31_SW1, CS32_SW1, CS33_SW1}, //D96-K02-2
diff --git a/keyboards/mechlovin/tmkl/config.h b/keyboards/mechlovin/tmkl/config.h
index e36470a9bd..9a1d865e29 100644
--- a/keyboards/mechlovin/tmkl/config.h
+++ b/keyboards/mechlovin/tmkl/config.h
@@ -40,7 +40,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
*
*/
-#define MATRIX_ROW_PINS { A8, A4, A5, A3, A2, A1, }
+#define MATRIX_ROW_PINS { A8, A4, A5, A3, A2, A1 }
#define MATRIX_COL_PINS { B11, B10, B2, B1, B0, A7, A6, A0, C15, B4, B5, B3, C13, C14 }
#define DIODE_DIRECTION COL2ROW
@@ -58,4 +58,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define LED_CAPS_LOCK_PIN B9
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE \ No newline at end of file
+#define LOCKING_SUPPORT_ENABLE
diff --git a/keyboards/mechmini/v2/keymaps/2u_space_ortho/keymap.c b/keyboards/mechmini/v2/keymaps/2u_space_ortho/keymap.c
index 1b21750035..90bb2ddd60 100644
--- a/keyboards/mechmini/v2/keymaps/2u_space_ortho/keymap.c
+++ b/keyboards/mechmini/v2/keymaps/2u_space_ortho/keymap.c
@@ -4,11 +4,10 @@
#define _FN1 1
#define _FN2 2
-#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BL] = LAYOUT_2u_space_ortho(
- F(0), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
KC_CAPS, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT),
@@ -44,81 +43,3 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
}
return MACRO_NONE;
}
-
-void matrix_init_user(void) {
-}
-
-void matrix_scan_user(void) {
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- return true;
-}
-
-void led_set_user(uint8_t usb_led) {
-
- if (usb_led & (1 << USB_LED_NUM_LOCK)) {
-
- } else {
-
- }
-
- if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
-
- } else {
-
- }
-
- if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
-
- } else {
-
- }
-
- if (usb_led & (1 << USB_LED_COMPOSE)) {
-
- } else {
-
- }
-
- if (usb_led & (1 << USB_LED_KANA)) {
-
- } else {
-
- }
-
-}
-
-enum function_id {
- SHIFT_ESC,
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [0] = ACTION_FUNCTION(SHIFT_ESC),
-};
-
-void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
- static uint8_t shift_esc_shift_mask;
- switch (id) {
- case SHIFT_ESC:
- shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
- if (record->event.pressed) {
- if (shift_esc_shift_mask) {
- add_key(KC_GRV);
- send_keyboard_report();
- } else {
- add_key(KC_ESC);
- send_keyboard_report();
- }
- } else {
- if (shift_esc_shift_mask) {
- del_key(KC_GRV);
- send_keyboard_report();
- } else {
- del_key(KC_ESC);
- send_keyboard_report();
- }
- }
- break;
- }
-}
diff --git a/keyboards/mechmini/v2/keymaps/625_space/keymap.c b/keyboards/mechmini/v2/keymaps/625_space/keymap.c
index 0746b8aec9..4344d6d2bc 100755
--- a/keyboards/mechmini/v2/keymaps/625_space/keymap.c
+++ b/keyboards/mechmini/v2/keymaps/625_space/keymap.c
@@ -4,11 +4,10 @@
#define _FN1 1
#define _FN2 2
-#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BL] = LAYOUT_625_space(
- F(0), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_LSFT, KC_DOT,
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, MO(1), MO(2)),
@@ -27,37 +26,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
-
-enum function_id {
- SHIFT_ESC,
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [0] = ACTION_FUNCTION(SHIFT_ESC),
-};
-
-void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
- static uint8_t shift_esc_shift_mask;
- switch (id) {
- case SHIFT_ESC:
- shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
- if (record->event.pressed) {
- if (shift_esc_shift_mask) {
- add_key(KC_GRV);
- send_keyboard_report();
- } else {
- add_key(KC_ESC);
- send_keyboard_report();
- }
- } else {
- if (shift_esc_shift_mask) {
- del_key(KC_GRV);
- send_keyboard_report();
- } else {
- del_key(KC_ESC);
- send_keyboard_report();
- }
- }
- break;
- }
-}
diff --git a/keyboards/mechmini/v2/keymaps/ortho/keymap.c b/keyboards/mechmini/v2/keymaps/ortho/keymap.c
index 3b8fbb168f..31ccfa82a3 100755
--- a/keyboards/mechmini/v2/keymaps/ortho/keymap.c
+++ b/keyboards/mechmini/v2/keymaps/ortho/keymap.c
@@ -4,11 +4,10 @@
#define _FN1 1
#define _FN2 2
-#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BL] = LAYOUT_ortho(
- F(0), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
KC_CAPS, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT),
@@ -44,81 +43,3 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
}
return MACRO_NONE;
}
-
-void matrix_init_user(void) {
-}
-
-void matrix_scan_user(void) {
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- return true;
-}
-
-void led_set_user(uint8_t usb_led) {
-
- if (usb_led & (1 << USB_LED_NUM_LOCK)) {
-
- } else {
-
- }
-
- if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
-
- } else {
-
- }
-
- if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
-
- } else {
-
- }
-
- if (usb_led & (1 << USB_LED_COMPOSE)) {
-
- } else {
-
- }
-
- if (usb_led & (1 << USB_LED_KANA)) {
-
- } else {
-
- }
-
-}
-
-enum function_id {
- SHIFT_ESC,
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [0] = ACTION_FUNCTION(SHIFT_ESC),
-};
-
-void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
- static uint8_t shift_esc_shift_mask;
- switch (id) {
- case SHIFT_ESC:
- shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
- if (record->event.pressed) {
- if (shift_esc_shift_mask) {
- add_key(KC_GRV);
- send_keyboard_report();
- } else {
- add_key(KC_ESC);
- send_keyboard_report();
- }
- } else {
- if (shift_esc_shift_mask) {
- del_key(KC_GRV);
- send_keyboard_report();
- } else {
- del_key(KC_ESC);
- send_keyboard_report();
- }
- }
- break;
- }
-}
diff --git a/keyboards/mechmini/v2/keymaps/spacebarracecar/keymap.c b/keyboards/mechmini/v2/keymaps/spacebarracecar/keymap.c
index a7e06c6043..c0fb3695f9 100644
--- a/keyboards/mechmini/v2/keymaps/spacebarracecar/keymap.c
+++ b/keyboards/mechmini/v2/keymaps/spacebarracecar/keymap.c
@@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
`-----------------------------------------------------------------------------------------------------------------------'
*/
[_LOWER] = LAYOUT_ortho(
- DE_TILD, DE_EXLM, DE_DQOT, DE_HASH, DE_DLR, DE_PERC, CU_CIRC, DE_AMPR, DE_ASTR, DE_LPRN, DE_RPRN, _______,
+ DE_TILD, DE_EXLM, DE_DQUO, DE_HASH, DE_DLR, DE_PERC, CU_CIRC, DE_AMPR, DE_ASTR, DE_LPRN, DE_RPRN, _______,
_______, DE_AT, CTRLX, CTRLC, CTRLV, XXXXXXX, XXXXXXX, DE_UNDS, DE_PLUS, DE_LCBR, DE_RCBR, DE_PIPE,
_______, DE_EURO, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DE_MINS, CU_EQL, CU_LBRC, CU_RBRC, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/mechmini/v2/keymaps/split_space/keymap.c b/keyboards/mechmini/v2/keymaps/split_space/keymap.c
index e332c641a6..635b4eacb3 100755
--- a/keyboards/mechmini/v2/keymaps/split_space/keymap.c
+++ b/keyboards/mechmini/v2/keymaps/split_space/keymap.c
@@ -4,11 +4,10 @@
#define _FN1 1
#define _FN2 2
-#define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT))
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BL] = LAYOUT_split_space(
- F(0), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_RSFT, KC_DOT,
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_RCTL, MO(1), MO(2)),
@@ -26,37 +25,3 @@ 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),
};
-
-enum function_id {
- SHIFT_ESC,
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [0] = ACTION_FUNCTION(SHIFT_ESC),
-};
-
-void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
- static uint8_t shift_esc_shift_mask;
- switch (id) {
- case SHIFT_ESC:
- shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK;
- if (record->event.pressed) {
- if (shift_esc_shift_mask) {
- add_key(KC_GRV);
- send_keyboard_report();
- } else {
- add_key(KC_ESC);
- send_keyboard_report();
- }
- } else {
- if (shift_esc_shift_mask) {
- del_key(KC_GRV);
- send_keyboard_report();
- } else {
- del_key(KC_ESC);
- send_keyboard_report();
- }
- }
- break;
- }
-}
diff --git a/keyboards/mechmini/v2/keymaps/wsturgiss/keymap.c b/keyboards/mechmini/v2/keymaps/wsturgiss/keymap.c
index e90a8c6e65..218936a19b 100644
--- a/keyboards/mechmini/v2/keymaps/wsturgiss/keymap.c
+++ b/keyboards/mechmini/v2/keymaps/wsturgiss/keymap.c
@@ -1,7 +1,7 @@
#include QMK_KEYBOARD_H
#define base 0
-#define raise 1
+#define raise 1
#define lower 2
//Tap Dance Declarations
@@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[raise] = LAYOUT_2u_space_ortho(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
_______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_QUOT, _______,
- _______, KC_HOME, KC_END, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, _______,
+ _______, KC_HOME, KC_END, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, _______,
_______, _______, _______, _______, _______, _______, _______, KC_MPRV, _______, KC_MNXT, EEP_RST),
[lower] = LAYOUT_2u_space_ortho(
@@ -86,7 +86,7 @@ void matrix_scan_user(void) {
}
//change colors and rgb modes on layer change
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
switch (biton32(state)) {
case raise:
rgblight_mode_noeeprom(1);
diff --git a/keyboards/meira/featherble/config.h b/keyboards/meira/featherble/config.h
index e8db87acbb..7abe2b1d62 100644
--- a/keyboards/meira/featherble/config.h
+++ b/keyboards/meira/featherble/config.h
@@ -32,7 +32,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F7, F6, F5, F4 }
// Column pins to demux in LSB order
-#define MATRIX_COL_PINS { C7, B7, B6, C6 }
+#define MATRIX_COL_PINS { C7, B7, B6, C6, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN }
+#define MATRIX_COL_PINS_SCANNED { C7, B7, B6, C6 }
#define LED_EN_PIN D2
#define UNUSED_PINS
diff --git a/keyboards/meira/matrix.c b/keyboards/meira/matrix.c
index c1bfb5868f..ae1ae5ce9d 100644
--- a/keyboards/meira/matrix.c
+++ b/keyboards/meira/matrix.c
@@ -62,7 +62,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
static matrix_row_t matrix_debouncing[MATRIX_ROWS];
static const uint8_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
-static const uint8_t col_pins[4] = MATRIX_COL_PINS;
+static const uint8_t col_pins[4] = MATRIX_COL_PINS_SCANNED;
//static const uint8_t lrow_pins[MATRIX_ROWS] = LED_ROW_PINS;
//static const uint8_t lcol_pins[4] = LED_COL_PINS;
diff --git a/keyboards/meira/meira.h b/keyboards/meira/meira.h
index cad590477c..d968394400 100644
--- a/keyboards/meira/meira.h
+++ b/keyboards/meira/meira.h
@@ -25,7 +25,7 @@ void reset_keyboard_kb(void);
// The following is an example using the Planck MIT layout
// The first section contains all of the arguments
// The second converts the arguments into a two-dimensional array
-#define LAYOUT( \
+#define LAYOUT_ortho_4x12( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
@@ -38,7 +38,7 @@ void reset_keyboard_kb(void);
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b } \
}
-#define LAYOUT_ortho_4x12 LAYOUT
+#define LAYOUT LAYOUT_ortho_4x12
#endif
diff --git a/keyboards/meira/promicro/config.h b/keyboards/meira/promicro/config.h
index bb88f9e08e..edd8a954f2 100644
--- a/keyboards/meira/promicro/config.h
+++ b/keyboards/meira/promicro/config.h
@@ -32,7 +32,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define MATRIX_ROW_PINS { F7, F6, F5, F4 }
// Column pins to demux in LSB order
-#define MATRIX_COL_PINS { B1, B3, B2, B6 }
+#define MATRIX_COL_PINS { B1, B3, B2, B6, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN, NO_PIN }
+#define MATRIX_COL_PINS_SCANNED { B1, B3, B2, B6 }
+
#define LED_EN_PIN D2
#define UNUSED_PINS
diff --git a/keyboards/meira/rules.mk b/keyboards/meira/rules.mk
index a932b5b2a7..078fa357eb 100644
--- a/keyboards/meira/rules.mk
+++ b/keyboards/meira/rules.mk
@@ -28,7 +28,7 @@ UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-BACKLIGHT_CUSTOM_DRIVER = yes
+BACKLIGHT_DRIVER = custom
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality, also set ISSI_ENABLE below for Miera
ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled
diff --git a/keyboards/melgeek/mj61/config.h b/keyboards/melgeek/mj61/config.h
index 164c04fb50..6ba19dd757 100644
--- a/keyboards/melgeek/mj61/config.h
+++ b/keyboards/melgeek/mj61/config.h
@@ -37,7 +37,7 @@
#define NO_ACTION_FUNCTION
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
diff --git a/keyboards/melgeek/mj61/rev1/rev1.c b/keyboards/melgeek/mj61/rev1/rev1.c
index be58f57a95..e51c57548f 100644
--- a/keyboards/melgeek/mj61/rev1/rev1.c
+++ b/keyboards/melgeek/mj61/rev1/rev1.c
@@ -17,7 +17,7 @@
#include "mj61.h"
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{0, CS12_SW1, CS11_SW1, CS10_SW1}, /* RGB1 */
{0, CS12_SW2, CS11_SW2, CS10_SW2}, /* RGB2 */
{0, CS12_SW3, CS11_SW3, CS10_SW3}, /* RGB3 */
diff --git a/keyboards/melgeek/mj61/rev2/rev2.c b/keyboards/melgeek/mj61/rev2/rev2.c
index 236b003972..3f6b1bff77 100644
--- a/keyboards/melgeek/mj61/rev2/rev2.c
+++ b/keyboards/melgeek/mj61/rev2/rev2.c
@@ -19,7 +19,7 @@
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */
{0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB3 */
{0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB4 */
diff --git a/keyboards/melgeek/mj63/config.h b/keyboards/melgeek/mj63/config.h
index 47ad2f96cf..46d3b0fb7b 100644
--- a/keyboards/melgeek/mj63/config.h
+++ b/keyboards/melgeek/mj63/config.h
@@ -37,7 +37,7 @@
#define NO_ACTION_FUNCTION
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
diff --git a/keyboards/melgeek/mj63/rev1/rev1.c b/keyboards/melgeek/mj63/rev1/rev1.c
index 34ff28d25f..a6ee8859b0 100644
--- a/keyboards/melgeek/mj63/rev1/rev1.c
+++ b/keyboards/melgeek/mj63/rev1/rev1.c
@@ -19,7 +19,7 @@
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */
{0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB2 */
{0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB3 */
diff --git a/keyboards/melgeek/mj63/rev2/rev2.c b/keyboards/melgeek/mj63/rev2/rev2.c
index c2379dabe9..8cacc689ae 100644
--- a/keyboards/melgeek/mj63/rev2/rev2.c
+++ b/keyboards/melgeek/mj63/rev2/rev2.c
@@ -19,7 +19,7 @@
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */
{0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB3 */
{0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB4 */
diff --git a/keyboards/melgeek/mj64/config.h b/keyboards/melgeek/mj64/config.h
index 29cb95f171..920d34acd5 100644
--- a/keyboards/melgeek/mj64/config.h
+++ b/keyboards/melgeek/mj64/config.h
@@ -37,7 +37,7 @@
#define NO_ACTION_FUNCTION
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
diff --git a/keyboards/melgeek/mj64/rev1/rev1.c b/keyboards/melgeek/mj64/rev1/rev1.c
index e01765b694..446ba779d0 100644
--- a/keyboards/melgeek/mj64/rev1/rev1.c
+++ b/keyboards/melgeek/mj64/rev1/rev1.c
@@ -18,7 +18,7 @@
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */
{0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB2 */
{0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB3 */
diff --git a/keyboards/melgeek/mj64/rev2/rev2.c b/keyboards/melgeek/mj64/rev2/rev2.c
index d5486b9086..444e8f60ac 100644
--- a/keyboards/melgeek/mj64/rev2/rev2.c
+++ b/keyboards/melgeek/mj64/rev2/rev2.c
@@ -18,7 +18,7 @@
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */
{0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB2 */
{0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB3 */
diff --git a/keyboards/melgeek/mj64/rev3/rev3.c b/keyboards/melgeek/mj64/rev3/rev3.c
index 03ed9fe007..2a1283ec70 100644
--- a/keyboards/melgeek/mj64/rev3/rev3.c
+++ b/keyboards/melgeek/mj64/rev3/rev3.c
@@ -18,7 +18,7 @@
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */
{0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB3 */
{0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB4 */
diff --git a/keyboards/melgeek/mj65/config.h b/keyboards/melgeek/mj65/config.h
index 12a7c7ce18..399c243ac6 100644
--- a/keyboards/melgeek/mj65/config.h
+++ b/keyboards/melgeek/mj65/config.h
@@ -37,7 +37,7 @@
#define NO_ACTION_FUNCTION
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
diff --git a/keyboards/melgeek/mj65/rev3/rev3.c b/keyboards/melgeek/mj65/rev3/rev3.c
index 43fae53a36..6335edd796 100644
--- a/keyboards/melgeek/mj65/rev3/rev3.c
+++ b/keyboards/melgeek/mj65/rev3/rev3.c
@@ -18,7 +18,7 @@
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */
{0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB2 */
{0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB3 */
diff --git a/keyboards/melgeek/mojo68/rev1/rev1.c b/keyboards/melgeek/mojo68/rev1/rev1.c
index a2e8f7158a..cc45417e88 100755
--- a/keyboards/melgeek/mojo68/rev1/rev1.c
+++ b/keyboards/melgeek/mojo68/rev1/rev1.c
@@ -18,17 +18,16 @@
#ifdef RGB_MATRIX_ENABLE
-
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
- {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */
- {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB2 */
- {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB3 */
- {0, CS9_SW4, CS8_SW4, CS7_SW4}, /* RGB4 */
- {0, CS9_SW5, CS8_SW5, CS7_SW5}, /* RGB5 */
- {0, CS9_SW6, CS8_SW6, CS7_SW6}, /* RGB6 */
- {0, CS9_SW7, CS8_SW7, CS7_SW7}, /* RGB7 */
- {0, CS9_SW8, CS8_SW8, CS7_SW8}, /* RGB8 */
- {0, CS9_SW9, CS8_SW9, CS7_SW9}, /* RGB9 */
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
+ {0, CS9_SW1, CS8_SW1, CS7_SW1}, /* RGB1 */
+ {0, CS9_SW2, CS8_SW2, CS7_SW2}, /* RGB2 */
+ {0, CS9_SW3, CS8_SW3, CS7_SW3}, /* RGB3 */
+ {0, CS9_SW4, CS8_SW4, CS7_SW4}, /* RGB4 */
+ {0, CS9_SW5, CS8_SW5, CS7_SW5}, /* RGB5 */
+ {0, CS9_SW6, CS8_SW6, CS7_SW6}, /* RGB6 */
+ {0, CS9_SW7, CS8_SW7, CS7_SW7}, /* RGB7 */
+ {0, CS9_SW8, CS8_SW8, CS7_SW8}, /* RGB8 */
+ {0, CS9_SW9, CS8_SW9, CS7_SW9}, /* RGB9 */
{0, CS24_SW1, CS23_SW1, CS22_SW1}, /* RGB46 */
{0, CS24_SW2, CS23_SW2, CS22_SW2}, /* RGB47 */
{0, CS24_SW3, CS23_SW3, CS22_SW3}, /* RGB48 */
@@ -36,10 +35,10 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
{0, CS24_SW5, CS23_SW5, CS22_SW5}, /* RGB50 */
{0, CS24_SW6, CS23_SW6, CS22_SW6}, /* RGB51 */
{0, CS12_SW1, CS11_SW1, CS10_SW1}, /* RGB10 */
- {0, CS12_SW2, CS11_SW2, CS10_SW2}, /* RGB11 */
+ {0, CS12_SW2, CS11_SW2, CS10_SW2}, /* RGB11 */
{0, CS12_SW3, CS11_SW3, CS10_SW3}, /* RGB12 */
- {0, CS12_SW4, CS11_SW4, CS10_SW4}, /* RGB13 */
- {0, CS12_SW5, CS11_SW5, CS10_SW5}, /* RGB14 */
+ {0, CS12_SW4, CS11_SW4, CS10_SW4}, /* RGB13 */
+ {0, CS12_SW5, CS11_SW5, CS10_SW5}, /* RGB14 */
{0, CS12_SW6, CS11_SW6, CS10_SW6}, /* RGB15 */
{0, CS12_SW7, CS11_SW7, CS10_SW7}, /* RGB16 */
{0, CS12_SW8, CS11_SW8, CS10_SW8}, /* RGB17 */
@@ -66,7 +65,7 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
{0, CS27_SW8, CS26_SW8, CS25_SW8}, /* RGB62 */
{0, CS18_SW1, CS17_SW1, CS16_SW1}, /* RGB28 */
{0, CS18_SW2, CS17_SW2, CS16_SW2}, /* RGB29 */
- {0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB30 */
+ {0, CS18_SW3, CS17_SW3, CS16_SW3}, /* RGB30 */
{0, CS18_SW4, CS17_SW4, CS16_SW4}, /* RGB31 */
{0, CS18_SW5, CS17_SW5, CS16_SW5}, /* RGB32 */
{0, CS18_SW6, CS17_SW6, CS16_SW6}, /* RGB33 */
@@ -101,14 +100,14 @@ led_config_t g_led_config = {
}, {
{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, 16}, {16, 16}, {32, 16}, {48, 16}, {64, 16}, {80, 16}, {96, 16}, {112, 16}, {128, 16}, {144, 16}, {160, 16}, {176, 16}, {192, 16}, {208, 16}, {224, 16},
- {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},
- {0, 48}, {16, 48}, {32, 48}, {48, 48}, {64, 48}, {80, 48}, {96, 48}, {112, 48}, {128, 48}, {144, 48}, {160, 48}, {176, 48}, {192, 48}, {208, 48},
+ {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},
+ {0, 48}, {16, 48}, {32, 48}, {48, 48}, {64, 48}, {80, 48}, {96, 48}, {112, 48}, {128, 48}, {144, 48}, {160, 48}, {176, 48}, {192, 48}, {208, 48},
{0, 64}, {16, 64}, {32, 64}, {48, 64}, {64, 64}, {80, 64}, {96, 64}, {112, 64}, {128, 64}, {144, 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, 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,
}
};
diff --git a/keyboards/melgeek/mojo75/config.h b/keyboards/melgeek/mojo75/config.h
index c1a8083f1c..d5bb4b4547 100644
--- a/keyboards/melgeek/mojo75/config.h
+++ b/keyboards/melgeek/mojo75/config.h
@@ -37,7 +37,7 @@
#define NO_ACTION_FUNCTION
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
diff --git a/keyboards/melgeek/mojo75/rev1/rev1.c b/keyboards/melgeek/mojo75/rev1/rev1.c
index 670116fcd6..07ae916da2 100644
--- a/keyboards/melgeek/mojo75/rev1/rev1.c
+++ b/keyboards/melgeek/mojo75/rev1/rev1.c
@@ -18,7 +18,7 @@
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{0, CS6_SW1, CS5_SW1, CS4_SW1}, /* RGB1 */
{0, CS6_SW2, CS5_SW2, CS4_SW2}, /* RGB2 */
{0, CS6_SW3, CS5_SW3, CS4_SW3}, /* RGB3 */
diff --git a/keyboards/melgeek/z70ultra/config.h b/keyboards/melgeek/z70ultra/config.h
index d5a9d0a894..e4530e2eaa 100644
--- a/keyboards/melgeek/z70ultra/config.h
+++ b/keyboards/melgeek/z70ultra/config.h
@@ -36,7 +36,7 @@
#define NO_ACTION_FUNCTION
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
diff --git a/keyboards/melgeek/z70ultra/z70ultra.c b/keyboards/melgeek/z70ultra/z70ultra.c
index 740720681a..552576cd7c 100644
--- a/keyboards/melgeek/z70ultra/z70ultra.c
+++ b/keyboards/melgeek/z70ultra/z70ultra.c
@@ -18,7 +18,7 @@
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{0, CS28_SW1, CS30_SW1, CS29_SW1}, /* RGB10 */
{0, CS28_SW2, CS30_SW2, CS29_SW2}, /* RGB11 */
{0, CS28_SW3, CS30_SW3, CS29_SW3}, /* RGB12 */
diff --git a/keyboards/merge/um70/keymaps/via/rules.mk b/keyboards/merge/um70/keymaps/via/rules.mk
index 56de955c27..cc9055e91e 100644
--- a/keyboards/merge/um70/keymaps/via/rules.mk
+++ b/keyboards/merge/um70/keymaps/via/rules.mk
@@ -1,3 +1,6 @@
VIA_ENABLE = yes
WPM_ENABLE = yes
-LTO_ENABLE = yes \ No newline at end of file
+LTO_ENABLE = yes
+SPACE_CADET_ENABLE = no
+GRAVE_ESC_ENABLE = no
+MAGIC_ENABLE = no
diff --git a/keyboards/miller/gm862/config.h b/keyboards/miller/gm862/config.h
index 2b084efc25..e6e1b4c1df 100644
--- a/keyboards/miller/gm862/config.h
+++ b/keyboards/miller/gm862/config.h
@@ -36,10 +36,10 @@
#define DEBOUNCE 3
#ifdef RGB_MATRIX_ENABLE
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_KEYPRESSES
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
# define DISABLE_RGB_MATRIX_BAND_SAT
# define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
# define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
diff --git a/keyboards/miller/gm862/gm862.c b/keyboards/miller/gm862/gm862.c
index 5af66dd398..d67104838b 100644
--- a/keyboards/miller/gm862/gm862.c
+++ b/keyboards/miller/gm862/gm862.c
@@ -1,7 +1,7 @@
#include "gm862.h"
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{0, B_1, A_1, C_1},
{0, B_2, A_2, C_2},
{0, B_3, A_3, C_3},
diff --git a/keyboards/minidox/keymaps/bepo/keymap.c b/keyboards/minidox/keymaps/bepo/keymap.c
index 95b9ef30c0..331a22314d 100644
--- a/keyboards/minidox/keymaps/bepo/keymap.c
+++ b/keyboards/minidox/keymaps/bepo/keymap.c
@@ -30,8 +30,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `------' `------'
*/
[_BEPO] = LAYOUT(
- BP_B, BP_W, BP_P, BP_O, BP_APOS, BP_DCRC, BP_V , BP_D, BP_L, BP_J,
- BP_A, BP_U, BP_I, BP_E, BP_COMMA, BP_C, BP_T, BP_S, BP_R, BP_N,
+ BP_B, BP_W, BP_P, BP_O, BP_QUOT, BP_DCIR, BP_V , BP_D, BP_L, BP_J,
+ BP_A, BP_U, BP_I, BP_E, BP_COMM, BP_C, BP_T, BP_S, BP_R, BP_N,
LGUI_T(BP_Z), ALT_T(BP_Y), CTL_T(BP_X), SFT_T(BP_DOT), BP_K, BP_M, SFT_T(BP_Q), CTL_T(BP_G), ALT_T(BP_H), LGUI_T(BP_F),
KC_DEL, TABLO, KC_SPC, KC_BSPC, ENTRA , KC_ESC
),
@@ -52,8 +52,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `------' `------'
*/
[_LOWER] = LAYOUT(
- ALGR(BP_B), BP_E_ACUTE, ALGR(BP_P), ALGR(BP_O), BP_E_GRAVE, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_MS_WH_UP,
- ALGR(BP_A), ALGR(BP_U), ALGR(BP_I), ALGR(BP_E), BP_DOLLAR, KC_PGDOWN, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MS_WH_DOWN,
+ ALGR(BP_B), BP_EACU, ALGR(BP_P), ALGR(BP_O), BP_EGRV, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_MS_WH_UP,
+ ALGR(BP_A), ALGR(BP_U), ALGR(BP_I), ALGR(BP_E), BP_DLR, KC_PGDOWN, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MS_WH_DOWN,
BP_AGRV, KC_LALT, KC_LCTL, KC_LSFT, BP_CCED, _______, KC_LSFT, KC_LCTL, KC_LALT, _______,
_______, _______, _______, _______, _______, _______
),
@@ -74,8 +74,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `------' `------'
*/
[_RAISE] = LAYOUT(
- BP_DQOT, ALGR(BP_LGIL), ALGR(BP_RGIL), BP_LPRN, BP_RPRN, BP_AT, BP_PLUS, BP_MINUS, BP_SLASH, BP_ASTR,
- S(BP_PERCENT), ALGR(BP_Y), ALGR(BP_X), ALGR(BP_LPRN), ALGR(BP_RPRN), ALGR(BP_K), BP_EQUAL, BP_PERCENT, ALGR(BP_A_GRAVE), S(BP_DOLLAR),
+ BP_DQUO, ALGR(BP_LDAQ), ALGR(BP_RDAQ), BP_LPRN, BP_RPRN, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR,
+ S(BP_PERC), ALGR(BP_Y), ALGR(BP_X), ALGR(BP_LPRN), ALGR(BP_RPRN), ALGR(BP_K), BP_EQL, BP_PERC, ALGR(BP_AGRV), S(BP_DLR),
ALGR(BP_B), KC_LALT, KC_LCTL, KC_LSFT, ALGR(BP_COMM), _______, KC_LSFT, KC_LCTL, KC_LALT, ALGR(BP_P),
_______, _______, ALGR(KC_SPC), _______, _______, _______
),
@@ -98,7 +98,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
- S(BP_DQOT), S(BP_LGIL), S(BP_RGIL), S(BP_LPRN), S(BP_RPRN), S(BP_AT), S(BP_PLUS), S(BP_MINUS), S(BP_SLASH), S(BP_ASTR),
+ S(BP_DQUO), S(BP_LDAQ), S(BP_RDAQ), S(BP_LPRN), S(BP_RPRN), S(BP_AT), S(BP_PLUS), S(BP_MINS), S(BP_SLSH), S(BP_ASTR),
KC_F11, KC_LALT, KC_LCTL, KC_LSFT, _______, _______, KC_LSFT, KC_LCTL, KC_LALT, KC_F12 ,
_______, _______, _______, _______, _______, _______
)
diff --git a/keyboards/minidox/keymaps/tw1t611/keymap.c b/keyboards/minidox/keymaps/tw1t611/keymap.c
index e94625516e..f479b10f67 100644
--- a/keyboards/minidox/keymaps/tw1t611/keymap.c
+++ b/keyboards/minidox/keymaps/tw1t611/keymap.c
@@ -34,16 +34,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_RAISE] = LAYOUT( \
- DE_EXLM, DE_QST, DE_PARA, DE_DLR, DE_HASH, DE_PLUS, DE_7, DE_8, DE_9, DE_0, \
- DE_CIRC, DE_QUOT, DE_DQOT, DE_GRV, DE_AMPR, DE_ASTR, DE_4, DE_5, DE_6, DE_EQL, \
+ DE_EXLM, DE_QUES, DE_SECT, DE_DLR, DE_HASH, DE_PLUS, DE_7, DE_8, DE_9, DE_0, \
+ DE_CIRC, DE_QUOT, DE_DQUO, DE_GRV, DE_AMPR, DE_ASTR, DE_4, DE_5, DE_6, DE_EQL, \
DE_SLSH, DE_PIPE, DE_BSLS, DE_AT, DE_EURO, DE_PERC, DE_1, DE_2, DE_3, KC_TAB, \
_______, _______, _______, _______, _______, _______ \
),
[_LOWER] = LAYOUT( \
KC_AUDIO_MUTE, KC_AUDIO_VOL_DOWN, DE_LBRC, DE_RBRC, KC_AUDIO_VOL_UP, KC_HOME, KC_PGDOWN, KC_PGUP, KC_END, DE_TILD, \
- KC_ESC, DE_LESS, DE_LPRN, DE_RPRN, DE_MORE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_ENT, \
- KC_BSPC, KC_DEL, DE_LCBR, DE_RCBR, KC_PSCR, _______, DE_AE, DE_OE, DE_UE, DE_SS, \
+ KC_ESC, DE_LABK, DE_LPRN, DE_RPRN, DE_RABK, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_ENT, \
+ KC_BSPC, KC_DEL, DE_LCBR, DE_RCBR, KC_PSCR, _______, DE_ADIA, DE_ODIA, DE_UDIA, DE_SS, \
_______, _______, _______, _______, MO(_ADJUST), _______ \
),
diff --git a/keyboards/mitosis/keymaps/mjt/rules.mk b/keyboards/mitosis/keymaps/mjt/rules.mk
index 0259657677..5279bcf6bb 100644
--- a/keyboards/mitosis/keymaps/mjt/rules.mk
+++ b/keyboards/mitosis/keymaps/mjt/rules.mk
@@ -10,5 +10,3 @@ AUDIO_ENABLE = yes # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
-
diff --git a/keyboards/monstargear/xo87/rgb/config.h b/keyboards/monstargear/xo87/rgb/config.h
index 83eee83492..5ed0ed445d 100644
--- a/keyboards/monstargear/xo87/rgb/config.h
+++ b/keyboards/monstargear/xo87/rgb/config.h
@@ -36,7 +36,7 @@
#define DIODE_DIRECTION ROW2COL
#define RGB_DI_PIN D7
#define DRIVER_LED_TOTAL 110
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true
+#define RGB_DISABLE_WHEN_USB_SUSPENDED
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 100 // limits maximum brightness of LEDs to 100 out of 255.
#define RGBLIGHT_LIMIT_VAL 100 // limits maximum brightness of LEDs to 100 out of 255.
diff --git a/keyboards/moonlander/config.h b/keyboards/moonlander/config.h
index 16a41c9cc6..522cb0ab27 100644
--- a/keyboards/moonlander/config.h
+++ b/keyboards/moonlander/config.h
@@ -91,7 +91,7 @@
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 175
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_MATRIX_KEYPRESSES
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true
+#define RGB_DISABLE_WHEN_USB_SUSPENDED
#define MUSIC_MAP
diff --git a/keyboards/moonlander/keymaps/drashna/keymap.c b/keyboards/moonlander/keymaps/drashna/keymap.c
index 57c69df480..f6af7e53af 100644
--- a/keyboards/moonlander/keymaps/drashna/keymap.c
+++ b/keyboards/moonlander/keymaps/drashna/keymap.c
@@ -39,68 +39,32 @@ enum more_custom_keycodes { KC_SWAP_NUM = NEW_SAFE_RANGE };
KC_SPC, BK_LWER, OS_LALT, OS_RGUI, DL_RAIS, KC_ENT \
)
-#define LAYOUT_moonlander_base_wrapper(...) LAYOUT_moonlander_base(__VA_ARGS__)
+#define LAYOUT_base_wrapper(...) LAYOUT_moonlander_base(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT_moonlander_base_wrapper(
+ [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper(
_________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
_________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
_________________QWERTY_L3_________________, _________________QWERTY_R3_________________
),
- [_COLEMAK] = LAYOUT_moonlander_base_wrapper(
+ [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper(
+ ______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________,
+ ______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________,
+ ______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________
+ ),
+ [_DEFAULT_LAYER_3] = LAYOUT_base_wrapper(
_________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
_________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
_________________COLEMAK_L3________________, _________________COLEMAK_R3________________
),
- [_DVORAK] = LAYOUT_moonlander_base_wrapper(
+ [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper(
_________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
_________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
_________________DVORAK_L3_________________, _________________DVORAK_R3_________________
),
- [_WORKMAN] = LAYOUT_moonlander_base_wrapper(
- _________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
- _________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
- _________________WORKMAN_L3________________, _________________WORKMAN_R3________________
- ),
-
- [_NORMAN] = LAYOUT_moonlander_base_wrapper(
- _________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
- _________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
- _________________NORMAN_L3_________________, _________________NORMAN_R3_________________
- ),
-
- [_MALTRON] = LAYOUT_moonlander_base_wrapper(
- _________________MALTRON_L1________________, _________________MALTRON_R1________________,
- _________________MALTRON_L2________________, _________________MALTRON_R2________________,
- _________________MALTRON_L3________________, _________________MALTRON_R3________________
- ),
-
- [_EUCALYN] = LAYOUT_moonlander_base_wrapper(
- _________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
- _________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
- _________________EUCALYN_L3________________, _________________EUCALYN_R3________________
- ),
-
- [_CARPLAX] = LAYOUT_moonlander_base_wrapper(
- _____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
- _____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
- _____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
- ),
-
-#ifdef _MODS
- [_MODS] = LAYOUT_moonlander_wrapper(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_LSFT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RSFT,
- _______, KC_MEH, KC_HYPR, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_LALT, _______, _______, _______, _______, KC_RGUI
- ),
-#endif
[_GAMEPAD] = LAYOUT_moonlander_wrapper(
KC_ESC, KC_NO, KC_1, KC_2, KC_3, KC_4, HYPR(KC_Q), KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_NO,
@@ -214,29 +178,17 @@ void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
if (userspace_config.rgb_layer_change) {
switch (get_highest_layer(layer_state|default_layer_state)) {
- case _QWERTY:
- rgb_matrix_layer_helper(HSV_CYAN, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
- break;
- case _COLEMAK:
- rgb_matrix_layer_helper(HSV_MAGENTA, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
- break;
- case _DVORAK:
- rgb_matrix_layer_helper(HSV_SPRINGGREEN, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
- break;
- case _WORKMAN:
- rgb_matrix_layer_helper(HSV_GOLDENROD, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
- break;
- case _NORMAN:
- rgb_matrix_layer_helper(HSV_CORAL, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
+ case _DEFAULT_LAYER_1:
+ rgb_matrix_layer_helper(DEFAULT_LAYER_1_HSV, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break;
- case _MALTRON:
- rgb_matrix_layer_helper(HSV_YELLOW, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
+ case _DEFAULT_LAYER_2:
+ rgb_matrix_layer_helper(DEFAULT_LAYER_2_HSV, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break;
- case _EUCALYN:
- rgb_matrix_layer_helper(HSV_PINK, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
+ case _DEFAULT_LAYER_3:
+ rgb_matrix_layer_helper(DEFAULT_LAYER_3_HSV, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break;
- case _CARPLAX:
- rgb_matrix_layer_helper(HSV_BLUE, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
+ case _DEFAULT_LAYER_4:
+ rgb_matrix_layer_helper(DEFAULT_LAYER_4_HSV, 0, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
break;
case _GAMEPAD:
rgb_matrix_layer_helper(HSV_ORANGE, 1, rgb_matrix_config.speed, LED_FLAG_MODIFIER, led_min, led_max);
diff --git a/keyboards/moonlander/moonlander.c b/keyboards/moonlander/moonlander.c
index d66b74d973..8688b9efa4 100644
--- a/keyboards/moonlander/moonlander.c
+++ b/keyboards/moonlander/moonlander.c
@@ -203,7 +203,7 @@ layer_state_t layer_state_set_kb(layer_state_t state) {
#ifdef RGB_MATRIX_ENABLE
// clang-format off
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/mt64rgb/mt64rgb.c b/keyboards/mt64rgb/mt64rgb.c
index 73f0e562e7..a0b8e8da71 100644
--- a/keyboards/mt64rgb/mt64rgb.c
+++ b/keyboards/mt64rgb/mt64rgb.c
@@ -16,7 +16,7 @@
#include "mt64rgb.h"
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/mt84/keymaps/default/config.h b/keyboards/mt84/keymaps/default/config.h
new file mode 100644
index 0000000000..dd687cad58
--- /dev/null
+++ b/keyboards/mt84/keymaps/default/config.h
@@ -0,0 +1,19 @@
+/* Copyright 2021 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 LAYER_STATE_8BIT
diff --git a/keyboards/mt84/mt84.c b/keyboards/mt84/mt84.c
index d9f509e14d..9b00aa635e 100644
--- a/keyboards/mt84/mt84.c
+++ b/keyboards/mt84/mt84.c
@@ -1,22 +1,22 @@
- /* Copyright 2020 MT<704340378@qq.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/>.
- */
+ /* Copyright 2020 MT<704340378@qq.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 "mt84.h"
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
@@ -40,7 +40,7 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
{1, D_12, E_12, F_12},
{1, G_12, H_12, I_12},
{1, J_12, K_12, L_12},
-
+
{0, A_1, B_1, C_1},
{0, D_1, E_1, F_1},
{0, G_1, H_1, I_1},
@@ -72,7 +72,7 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
{1, A_7, B_7, C_7},
{1, D_7, E_7, F_7},
{1, G_7, H_7, I_7},
-
+
{0, A_3, B_3, C_3},
{0, D_3, E_3, F_3},
{0, G_3, H_3, I_3},
@@ -87,7 +87,7 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
{1, J_3, K_3, L_3},
{1, A_8, B_8, C_8},
{1, G_8, H_8, I_8},
-
+
{0, A_4, B_4, C_4},
{0, D_4, E_4, F_4},
{0, G_4, H_4, I_4},
@@ -130,7 +130,7 @@ led_config_t g_led_config = {{
{ 9, 52 }, { 27, 52 }, { 43, 52 }, { 59, 52 }, { 75, 52 }, { 91, 52 }, { 107, 52 }, { 123, 52 }, { 139, 52 }, { 155, 52 }, { 171, 52 }, { 187, 52 }, { 212, 52 }, { 224, 52 },
{ 2, 64 }, { 18, 64 }, { 33, 64 }, { 93, 64 }, { 150, 64 }, { 165, 64 }, { 180, 64 }, { 195, 64 }, { 210, 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, 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, 4, 1,
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
diff --git a/keyboards/mt84/rules.mk b/keyboards/mt84/rules.mk
index b27a7c3440..e872bb239b 100644
--- a/keyboards/mt84/rules.mk
+++ b/keyboards/mt84/rules.mk
@@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
-BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
@@ -22,6 +22,6 @@ RGB_MATRIX_DRIVER = IS31FL3737
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
+LTO_ENABLE = yes
LAYOUTS = 75_ansi
-
diff --git a/keyboards/mxss/rules.mk b/keyboards/mxss/rules.mk
index 7dc98d4739..40de15828a 100644
--- a/keyboards/mxss/rules.mk
+++ b/keyboards/mxss/rules.mk
@@ -2,39 +2,31 @@
MCU = atmega32u4
# Bootloader selection
-# Teensy halfkay
-# Pro Micro caterina
-# Atmel DFU atmel-dfu
-# LUFA DFU lufa-dfu
-# QMK DFU qmk-dfu
-# ATmega32A bootloadHID
-# ATmega328P USBasp
BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
-BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
+CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = no # USB Nkey Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
-MIDI_ENABLE = no # MIDI support
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+BLUETOOTH_ENABLE = no # Enable Bluetooth
+AUDIO_ENABLE = no # Audio output
SRC += mxss_frontled.c
# Remove the common RGB light code and use my iteration instead
+COMMON_VPATH += $(QUANTUM_DIR)/rgblight
OPT_DEFS += -DRGBLIGHT_ENABLE
-SRC += $(QUANTUM_DIR)/process_keycode/process_rgb.c
SRC += rgblight.c
-SRC += color.c
-SRC += ws2812.c
+SRC += $(QUANTUM_DIR)/color.c
+WS2812_DRIVER_REQUIRED = yes
CIE1931_CURVE = yes
+RGB_KEYCODES_ENABLE = yes
diff --git a/keyboards/naked48/keymaps/salicylic/config.h b/keyboards/naked48/keymaps/salicylic/config.h
index b6372db3b9..71a43e208c 100644
--- a/keyboards/naked48/keymaps/salicylic/config.h
+++ b/keyboards/naked48/keymaps/salicylic/config.h
@@ -31,7 +31,7 @@
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
// # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
// # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
@@ -41,4 +41,3 @@
# define RGB_MATRIX_VAL_STEP 5
# define RGB_MATRIX_SPD_STEP 10
#endif
-
diff --git a/keyboards/naked48/keymaps/salicylic/keymap.c b/keyboards/naked48/keymaps/salicylic/keymap.c
index 8b5e15c139..dddb6c0432 100644
--- a/keyboards/naked48/keymaps/salicylic/keymap.c
+++ b/keyboards/naked48/keymaps/salicylic/keymap.c
@@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//,-----------------------------------------------------| |-----------------------------------------------------.
KC_ESC, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_6, KC_7, KC_8, KC_9, JP_ASTR, JP_SLSH,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- JP_QUOT, JP_HASH, JP_DQT, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_4, KC_5, KC_6, JP_MINS, JP_EQL,
+ JP_QUOT, JP_HASH, JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_4, KC_5, KC_6, JP_MINS, JP_EQL,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_0, KC_1, KC_2, KC_3, JP_PLUS, KC_ENT,
//|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
@@ -78,7 +78,7 @@ SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XX
)
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
diff --git a/keyboards/naked48/keymaps/salicylic_with_nafuda/keymap.c b/keyboards/naked48/keymaps/salicylic_with_nafuda/keymap.c
index 5a99b8c0ad..7566d4c00a 100644
--- a/keyboards/naked48/keymaps/salicylic_with_nafuda/keymap.c
+++ b/keyboards/naked48/keymaps/salicylic_with_nafuda/keymap.c
@@ -68,7 +68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//,-----------------------------------------------------| |-----------------------------------------------------. |--------------------------|
KC_ESC, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_6, KC_7, KC_8, KC_9, JP_ASTR, JP_SLSH, TG(_MOUSE),
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- JP_QUOT, JP_HASH, JP_DQT, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_4, KC_5, KC_6, JP_MINS, JP_EQL,LT(_ADJUST, KC_BSPC),KC_UP,TG(_BROWSER),
+ JP_QUOT, JP_HASH, JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_4, KC_5, KC_6, JP_MINS, JP_EQL,LT(_ADJUST, KC_BSPC),KC_UP,TG(_BROWSER),
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_0, KC_1, KC_2, KC_3, JP_PLUS, KC_ENT, KC_LEFT, KC_DOWN,KC_RIGHT,
//|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------------------------|
@@ -101,7 +101,7 @@ SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XX
)
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
diff --git a/keyboards/naked48/keymaps/salicylic_with_setta21/keymap.c b/keyboards/naked48/keymaps/salicylic_with_setta21/keymap.c
index cbe65fe660..1925067d22 100644
--- a/keyboards/naked48/keymaps/salicylic_with_setta21/keymap.c
+++ b/keyboards/naked48/keymaps/salicylic_with_setta21/keymap.c
@@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//,-----------------------------------------------------| |-----------------------------------------------------. |-----------------------------------------------|
KC_ESC, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_6, KC_7, KC_8, KC_9, JP_ASTR, JP_SLSH, MO(_LOWER),XXXXXXX,KC_LEFT,XXXXXXX,XXXXXXX, KC_ESC,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
- JP_QUOT, JP_HASH, JP_DQT, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_4, KC_5, KC_6, JP_MINS, JP_EQL, KC_DOWN,KC_DOWN, KC_UP,KC_PSLS, KC_F2,
+ JP_QUOT, JP_HASH, JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_4, KC_5, KC_6, JP_MINS, JP_EQL, KC_DOWN,KC_DOWN, KC_UP,KC_PSLS, KC_F2,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_0, KC_1, KC_2, KC_3, JP_PLUS, KC_ENT, MO(_RAISE),XXXXXXX,KC_RIGHT,XXXXXXX,KC_PAST, JP_EQL,
//|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------|
@@ -80,7 +80,7 @@ SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XX
)
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
diff --git a/keyboards/naked60/keymaps/salicylic/keymap.c b/keyboards/naked60/keymaps/salicylic/keymap.c
index 17172f77b9..9be4bcb422 100644
--- a/keyboards/naked60/keymaps/salicylic/keymap.c
+++ b/keyboards/naked60/keymaps/salicylic/keymap.c
@@ -64,7 +64,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
JP_COLN, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_6, KC_7, KC_8, KC_9, JP_ASTR, JP_SLSH,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- JP_QUOT, JP_HASH, JP_DQT, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_4, KC_5, KC_6, JP_MINS, JP_EQL,
+ JP_QUOT, JP_HASH, JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_4, KC_5, KC_6, JP_MINS, JP_EQL,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_0, KC_1, KC_2, KC_3, JP_PLUS, KC_ENT,
//|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
@@ -102,7 +102,7 @@ SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XX
)
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
diff --git a/keyboards/naked60/keymaps/salicylic_with_nafuda/keymap.c b/keyboards/naked60/keymaps/salicylic_with_nafuda/keymap.c
index 3a2cd9eb85..8fb0ce26f1 100644
--- a/keyboards/naked60/keymaps/salicylic_with_nafuda/keymap.c
+++ b/keyboards/naked60/keymaps/salicylic_with_nafuda/keymap.c
@@ -77,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
//|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
//`------------------------------------------------------------------------------------------------------------'
),
@@ -91,7 +91,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
//|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
//`------------------------------------------------------------------------------------------------------------'
),
@@ -101,7 +101,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
JP_COLN, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_6, KC_7, KC_8, KC_9, JP_ASTR, JP_SLSH,LT(_ADJUST, KC_BSPC),KC_UP,TG(_BROWSER),
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- JP_QUOT, JP_HASH, JP_DQT, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_4, KC_5, KC_6, JP_MINS, JP_EQL, KC_LEFT, KC_DOWN,KC_RIGHT,
+ JP_QUOT, JP_HASH, JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_4, KC_5, KC_6, JP_MINS, JP_EQL, KC_LEFT, KC_DOWN,KC_RIGHT,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------|
JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_0, KC_1, KC_2, KC_3, JP_PLUS, KC_ENT,
//|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
@@ -119,7 +119,7 @@ LCTL_T(KC_F11), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XX
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |--------------------------|
SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, XXXXXXX,
//|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
//`------------------------------------------------------------------------------------------------------------'
),
@@ -138,7 +138,7 @@ SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XX
)
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
diff --git a/keyboards/naked60/keymaps/salicylic_with_setta21/keymap.c b/keyboards/naked60/keymaps/salicylic_with_setta21/keymap.c
index a1f5a6e21a..7f50e89f3c 100644
--- a/keyboards/naked60/keymaps/salicylic_with_setta21/keymap.c
+++ b/keyboards/naked60/keymaps/salicylic_with_setta21/keymap.c
@@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
JP_COLN, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_6, KC_7, KC_8, KC_9, JP_ASTR, JP_SLSH, KC_DOWN,KC_DOWN, KC_UP,KC_PSLS, KC_F2,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |-------+-------+-------+-------+-------+-------|
- JP_QUOT, JP_HASH, JP_DQT, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_4, KC_5, KC_6, JP_MINS, JP_EQL, MO(_RAISE),XXXXXXX,KC_RIGHT,XXXXXXX,KC_PAST, JP_EQL,
+ JP_QUOT, JP_HASH, JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_4, KC_5, KC_6, JP_MINS, JP_EQL, MO(_RAISE),XXXXXXX,KC_RIGHT,XXXXXXX,KC_PAST, JP_EQL,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+-------+-------|
JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_0, KC_1, KC_2, KC_3, JP_PLUS, KC_ENT, KC_PENT, KC_PPLS,KC_PMNS, KC_DEL,
//|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |-----------------------------------------------|
@@ -89,7 +89,7 @@ LCTL_T(KC_F11), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XX
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| |---------------+---------------+--------+-------|
SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGDN, XXXXXXX, JP_RPRN, SEND_SUM,SEND_AVE, KC_DEL,
//|--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |------------------------------------------------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
//`------------------------------------------------------------------------------------------------------------'
),
@@ -108,7 +108,7 @@ SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XX
)
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
diff --git a/keyboards/naked64/keymaps/salicylic/keymap.c b/keyboards/naked64/keymaps/salicylic/keymap.c
index 06665092f8..40e92393da 100644
--- a/keyboards/naked64/keymaps/salicylic/keymap.c
+++ b/keyboards/naked64/keymaps/salicylic/keymap.c
@@ -100,7 +100,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
_______, JP_QUOT, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_P6, KC_P7, KC_P8, KC_P9, JP_ASTR, JP_SLSH, XXXXXXX, \
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- JP_QUOT, JP_HASH, JP_DQT, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, KC_ENT, \
+ JP_QUOT, JP_HASH, JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, KC_ENT, \
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_P0, KC_P1, KC_P2, KC_P3, JP_PLUS, KC_UP, KC_RSFT, \
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
diff --git a/keyboards/naked64/keymaps/salicylic_with_setta21/keymap.c b/keyboards/naked64/keymaps/salicylic_with_setta21/keymap.c
index 28522c5e9d..df80e0772b 100644
--- a/keyboards/naked64/keymaps/salicylic_with_setta21/keymap.c
+++ b/keyboards/naked64/keymaps/salicylic_with_setta21/keymap.c
@@ -121,7 +121,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------|
_______, JP_QUOT, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_P6, KC_P7, KC_P8, KC_P9, JP_ASTR, JP_SLSH, XXXXXXX, XXXXXXX, KC_PSLS, KC_PAST, KC_PMNS,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------|
- JP_QUOT, JP_HASH, JP_DQT, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, KC_ENT, XXXXXXX, KC_UP, XXXXXXX,
+ JP_QUOT, JP_HASH, JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, KC_ENT, XXXXXXX, KC_UP, XXXXXXX,
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------| |
JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_P0, KC_P1, KC_P2, KC_P3, JP_PLUS, KC_UP, KC_RSFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_PPLS,
// |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------|
diff --git a/keyboards/namecard2x4/keymaps/brainfuck/keymap.c b/keyboards/namecard2x4/keymaps/brainfuck/keymap.c
index 287e011def..28640db0fd 100644
--- a/keyboards/namecard2x4/keymaps/brainfuck/keymap.c
+++ b/keyboards/namecard2x4/keymaps/brainfuck/keymap.c
@@ -27,7 +27,7 @@ enum Layer
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[JP] = LAYOUT(
- JP_LT,JP_GT,JP_PLUS,JP_MINS,\
+ JP_LABK,JP_RABK,JP_PLUS,JP_MINS,\
LT(CONFIG,JP_DOT),JP_COMM,JP_LBRC,LT(CONFIG,JP_RBRC)\
),
[EN] = LAYOUT(
diff --git a/keyboards/ncc1701kb/rules.mk b/keyboards/ncc1701kb/rules.mk
index 791d82b401..35228c5019 100644
--- a/keyboards/ncc1701kb/rules.mk
+++ b/keyboards/ncc1701kb/rules.mk
@@ -29,6 +29,5 @@ MIDI_ENABLE = no # MIDI controls
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = yes # Unicode
-API_SYSEX_ENABLE = yes
TAP_DANCE_ENABLE = no
ENCODER_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/nebula12/rules.mk b/keyboards/nebula12/rules.mk
index 3a423fb78e..ce18e6b2e3 100755
--- a/keyboards/nebula12/rules.mk
+++ b/keyboards/nebula12/rules.mk
@@ -31,6 +31,6 @@ CIE1931_CURVE = yes
# project specific files
SRC += keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
- drivers/issi/is31fl3731.c \
+ drivers/led/issi/is31fl3731.c \
quantum/color.c
QUANTUM_LIB_SRC += drivers/chibios/i2c_master.c
diff --git a/keyboards/nebula68/rules.mk b/keyboards/nebula68/rules.mk
index bcf1fd1a8f..14782d6547 100755
--- a/keyboards/nebula68/rules.mk
+++ b/keyboards/nebula68/rules.mk
@@ -33,6 +33,6 @@ LAYOUTS = 68_ansi
# project specific files
SRC += keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
- drivers/issi/is31fl3733.c \
+ drivers/led/issi/is31fl3733.c \
quantum/color.c
QUANTUM_LIB_SRC += drivers/chibios/i2c_master.c
diff --git a/keyboards/niu_mini/rules.mk b/keyboards/niu_mini/rules.mk
index 1059ed2f70..7467bf81b0 100644
--- a/keyboards/niu_mini/rules.mk
+++ b/keyboards/niu_mini/rules.mk
@@ -27,7 +27,6 @@ AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/nk65/nk65.c b/keyboards/nk65/nk65.c
index fae30ac75c..4ed18c114e 100755
--- a/keyboards/nk65/nk65.c
+++ b/keyboards/nk65/nk65.c
@@ -18,7 +18,7 @@
#endif
#include "nk65.h"
-#include "drivers/issi/is31fl3733.h"
+#include "drivers/led/issi/is31fl3733.h"
/* Indicator LEDS are part of the LED driver
* Top LED is blue only. LED driver 2 RGB 7 Green channel
diff --git a/keyboards/nk65/rules.mk b/keyboards/nk65/rules.mk
index e3f02ee09b..bdb8a74903 100755
--- a/keyboards/nk65/rules.mk
+++ b/keyboards/nk65/rules.mk
@@ -31,6 +31,6 @@ LAYOUTS = 65_ansi
# project specific files
SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
- drivers/issi/is31fl3733.c \
+ drivers/led/issi/is31fl3733.c \
quantum/color.c \
drivers/chibios/i2c_master.c
diff --git a/keyboards/nk87/nk87.c b/keyboards/nk87/nk87.c
index bcebbc651c..c90ba02ea4 100755
--- a/keyboards/nk87/nk87.c
+++ b/keyboards/nk87/nk87.c
@@ -18,7 +18,7 @@
#endif
#include "nk87.h"
-#include "drivers/issi/is31fl3733.h"
+#include "drivers/led/issi/is31fl3733.h"
/* Indicator LEDS are part of the LED driver
* Top LED is blue only. LED driver 2 RGB 63 Blue channel
diff --git a/keyboards/nk87/rules.mk b/keyboards/nk87/rules.mk
index 71f8f3dd80..d7ca223b30 100755
--- a/keyboards/nk87/rules.mk
+++ b/keyboards/nk87/rules.mk
@@ -32,6 +32,6 @@ CIE1931_CURVE = yes
# project specific files
SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
- drivers/issi/is31fl3733.c \
+ drivers/led/issi/is31fl3733.c \
quantum/color.c \
drivers/chibios/i2c_master.c
diff --git a/keyboards/nknl7en/keymaps/salicylic/keymap.c b/keyboards/nknl7en/keymaps/salicylic/keymap.c
index aff4b6e36f..e7de4e50f0 100644
--- a/keyboards/nknl7en/keymaps/salicylic/keymap.c
+++ b/keyboards/nknl7en/keymaps/salicylic/keymap.c
@@ -58,7 +58,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
JP_DQUO, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_P6, KC_P7, KC_P8, KC_P9, JP_ASTR, JP_SLSH, _______, _______, LALT(KC_PSCR),
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- JP_QUOT, JP_HASH, JP_DQT, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, _______, _______,
+ JP_QUOT, JP_HASH, JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, _______, _______,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_P0, KC_P1, KC_P2, KC_P3, JP_PLUS, _______, _______, _______,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
diff --git a/keyboards/nknl7jp/keymaps/salicylic/keymap.c b/keyboards/nknl7jp/keymaps/salicylic/keymap.c
index 2eaf185665..65f95f0173 100644
--- a/keyboards/nknl7jp/keymaps/salicylic/keymap.c
+++ b/keyboards/nknl7jp/keymaps/salicylic/keymap.c
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
JP_DQUO, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, KC_P6, KC_P7, KC_P8, KC_P9, JP_ASTR, JP_SLSH, _______, _______, LALT(KC_PSCR),
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
- JP_QUOT, JP_HASH, JP_DQT, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, _______, _______,
+ JP_QUOT, JP_HASH, JP_DQUO, JP_LPRN, JP_RPRN, JP_AT, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL, _______, _______,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, KC_P0, KC_P1, KC_P2, KC_P3, JP_PLUS, _______, _______, _______,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------|
diff --git a/keyboards/nopunin10did/jabberwocky/config.h b/keyboards/nopunin10did/jabberwocky/config.h
index b49a98ba80..84c3cec451 100644
--- a/keyboards/nopunin10did/jabberwocky/config.h
+++ b/keyboards/nopunin10did/jabberwocky/config.h
@@ -22,7 +22,6 @@
#define VENDOR_ID 0x4E50 // "NP"
#define PRODUCT_ID 0x4A57 // "JW"
#define DEVICE_VER 0x0001
-#define MANUFACTURER NoPunIn10Did
#define PRODUCT Jabberwocky
/* key matrix size */
diff --git a/keyboards/nullbitsco/nibble/keymaps/oled_status/keymap.c b/keyboards/nullbitsco/nibble/keymaps/oled_status/keymap.c
index b276a042b4..b3da173957 100644
--- a/keyboards/nullbitsco/nibble/keymaps/oled_status/keymap.c
+++ b/keyboards/nullbitsco/nibble/keymaps/oled_status/keymap.c
@@ -19,15 +19,13 @@
# include "oled_display.h"
#endif
-enum layer_names {
- _MA,
- _FN
-};
+enum layer_names { _MA, _FN };
enum custom_keycodes {
KC_CUST = SAFE_RANGE,
};
+// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MA] = LAYOUT_ansi(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
@@ -44,6 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
+// clang-format on
#ifdef OLED_DRIVER_ENABLE
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
@@ -53,7 +52,7 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) {
}
void oled_task_user(void) {
- if (timer_elapsed(oled_timer) >= 3000) {
+ if (timer_elapsed(oled_timer) >= 3000) {
set_oled_mode(OLED_MODE_IDLE);
}
render_frame();
@@ -64,23 +63,22 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// Send keystrokes to host keyboard, if connected (see readme)
process_record_remote_kb(keycode, record);
- switch(keycode) {
+ switch (keycode) {
case RGB_TOG:
if (record->event.pressed) {
#ifdef OLED_DRIVER_ENABLE
process_record_keymap_oled(keycode);
#endif
}
- break;
- case KC_CUST: //custom macro
+ break;
+ case KC_CUST: // custom macro
if (record->event.pressed) {
}
- break;
+ break;
}
return true;
}
-
bool encoder_update_user(uint8_t index, bool clockwise) {
if (clockwise) {
tap_code(KC_VOLU);
diff --git a/keyboards/numatreus/keymaps/hdbx/keymap.c b/keyboards/numatreus/keymaps/hdbx/keymap.c
index 98fe4d67d8..44b3fffe24 100644
--- a/keyboards/numatreus/keymaps/hdbx/keymap.c
+++ b/keyboards/numatreus/keymaps/hdbx/keymap.c
@@ -123,7 +123,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_EXLM, JP_AT, KC_HASH, KC_DLR, KC_PERC, KC_HOME, KC_APP, KC_INS, KC_CALC, KC_PSCR,
JP_CIRC, JP_AMPR, JP_ASTR, JP_YEN, JP_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_SCLN,
JP_GRV, JP_LCBR, JP_RCBR, KC_LT, KC_GT, KC_END, KC_MUTE, JP_LPRN, JP_RPRN, KC_QUES,
- KC_LALT, KC_LGUI, JP_GRV, KC_DEL, _______, KC_LCTL, WN_CAPS, _______, KC_RCTL, JP_UNDS, JP_DQT, KC_RSFT
+ KC_LALT, KC_LGUI, JP_GRV, KC_DEL, _______, KC_LCTL, WN_CAPS, _______, KC_RCTL, JP_UNDS, JP_DQUO, KC_RSFT
),
/* GAME ゲームやテンキー固定で使用するレイヤーです。AdjustレイヤーでGを押下して遷移。戻るときはtoBaseから。
diff --git a/keyboards/oddball/adns/adns.c b/keyboards/oddball/adns/adns.c
deleted file mode 100644
index 9338808ff7..0000000000
--- a/keyboards/oddball/adns/adns.c
+++ /dev/null
@@ -1,219 +0,0 @@
-/* Copyright 2020 Alexander Tulloh
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General 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 "spi_master.h"
-#include "quantum.h"
-#include "adns9800_srom_A6.h"
-#include "adns.h"
-
-// registers
-#define REG_Product_ID 0x00
-#define REG_Revision_ID 0x01
-#define REG_Motion 0x02
-#define REG_Delta_X_L 0x03
-#define REG_Delta_X_H 0x04
-#define REG_Delta_Y_L 0x05
-#define REG_Delta_Y_H 0x06
-#define REG_SQUAL 0x07
-#define REG_Pixel_Sum 0x08
-#define REG_Maximum_Pixel 0x09
-#define REG_Minimum_Pixel 0x0a
-#define REG_Shutter_Lower 0x0b
-#define REG_Shutter_Upper 0x0c
-#define REG_Frame_Period_Lower 0x0d
-#define REG_Frame_Period_Upper 0x0e
-#define REG_Configuration_I 0x0f
-#define REG_Configuration_II 0x10
-#define REG_Frame_Capture 0x12
-#define REG_SROM_Enable 0x13
-#define REG_Run_Downshift 0x14
-#define REG_Rest1_Rate 0x15
-#define REG_Rest1_Downshift 0x16
-#define REG_Rest2_Rate 0x17
-#define REG_Rest2_Downshift 0x18
-#define REG_Rest3_Rate 0x19
-#define REG_Frame_Period_Max_Bound_Lower 0x1a
-#define REG_Frame_Period_Max_Bound_Upper 0x1b
-#define REG_Frame_Period_Min_Bound_Lower 0x1c
-#define REG_Frame_Period_Min_Bound_Upper 0x1d
-#define REG_Shutter_Max_Bound_Lower 0x1e
-#define REG_Shutter_Max_Bound_Upper 0x1f
-#define REG_LASER_CTRL0 0x20
-#define REG_Observation 0x24
-#define REG_Data_Out_Lower 0x25
-#define REG_Data_Out_Upper 0x26
-#define REG_SROM_ID 0x2a
-#define REG_Lift_Detection_Thr 0x2e
-#define REG_Configuration_V 0x2f
-#define REG_Configuration_IV 0x39
-#define REG_Power_Up_Reset 0x3a
-#define REG_Shutdown 0x3b
-#define REG_Inverse_Product_ID 0x3f
-#define REG_Motion_Burst 0x50
-#define REG_SROM_Load_Burst 0x62
-#define REG_Pixel_Burst 0x64
-
-#define ADNS_CLOCK_SPEED 2000000
-#define MIN_CPI 200
-#define MAX_CPI 8200
-#define CPI_STEP 200
-#define CLAMP_CPI(value) value < MIN_CPI ? MIN_CPI : value > MAX_CPI ? MAX_CPI : value
-#define SPI_MODE 3
-#define SPI_DIVISOR (F_CPU / ADNS_CLOCK_SPEED)
-#define US_BETWEEN_WRITES 120
-#define US_BETWEEN_READS 20
-#define US_BEFORE_MOTION 100
-#define MSB1 0x80
-
-extern const uint16_t adns_firmware_length;
-extern const uint8_t adns_firmware_data[];
-
-void adns_spi_start(void){
- spi_start(SPI_SS_PIN, false, SPI_MODE, SPI_DIVISOR);
-}
-
-void adns_write(uint8_t reg_addr, uint8_t data){
-
- adns_spi_start();
- spi_write(reg_addr | MSB1);
- spi_write(data);
- spi_stop();
- wait_us(US_BETWEEN_WRITES);
-}
-
-uint8_t adns_read(uint8_t reg_addr){
-
- adns_spi_start();
- spi_write(reg_addr & 0x7f );
- uint8_t data = spi_read();
- spi_stop();
- wait_us(US_BETWEEN_READS);
-
- return data;
-}
-
-void adns_init() {
-
- setPinOutput(SPI_SS_PIN);
-
- spi_init();
-
- // reboot
- adns_write(REG_Power_Up_Reset, 0x5a);
- wait_ms(50);
-
- // read registers and discard
- adns_read(REG_Motion);
- adns_read(REG_Delta_X_L);
- adns_read(REG_Delta_X_H);
- adns_read(REG_Delta_Y_L);
- adns_read(REG_Delta_Y_H);
-
- // upload firmware
-
- // 3k firmware mode
- adns_write(REG_Configuration_IV, 0x02);
-
- // enable initialisation
- adns_write(REG_SROM_Enable, 0x1d);
-
- // wait a frame
- wait_ms(10);
-
- // start SROM download
- adns_write(REG_SROM_Enable, 0x18);
-
- // write the SROM file
-
- adns_spi_start();
-
- spi_write(REG_SROM_Load_Burst | 0x80);
- wait_us(15);
-
- // send all bytes of the firmware
- unsigned char c;
- for(int i = 0; i < adns_firmware_length; i++){
- c = (unsigned char)pgm_read_byte(adns_firmware_data + i);
- spi_write(c);
- wait_us(15);
- }
-
- spi_stop();
-
- wait_ms(10);
-
- // enable laser
- uint8_t laser_ctrl0 = adns_read(REG_LASER_CTRL0);
- adns_write(REG_LASER_CTRL0, laser_ctrl0 & 0xf0);
-}
-
-config_adns_t adns_get_config(void) {
- uint8_t config_1 = adns_read(REG_Configuration_I);
- return (config_adns_t){ (config_1 & 0xFF) * CPI_STEP };
-}
-
-void adns_set_config(config_adns_t config) {
- uint8_t config_1 = (CLAMP_CPI(config.cpi) / CPI_STEP) & 0xFF;
- adns_write(REG_Configuration_I, config_1);
-}
-
-static int16_t convertDeltaToInt(uint8_t high, uint8_t low){
-
- // join bytes into twos compliment
- uint16_t twos_comp = (high << 8) | low;
-
- // convert twos comp to int
- if (twos_comp & 0x8000)
- return -1 * (~twos_comp + 1);
-
- return twos_comp;
-}
-
-report_adns_t adns_get_report(void) {
-
- report_adns_t report = {0, 0};
-
- adns_spi_start();
-
- // start burst mode
- spi_write(REG_Motion_Burst & 0x7f);
-
- wait_us(US_BEFORE_MOTION);
-
- uint8_t motion = spi_read();
-
- if(motion & 0x80) {
-
- // clear observation register
- spi_read();
-
- // delta registers
- uint8_t delta_x_l = spi_read();
- uint8_t delta_x_h = spi_read();
- uint8_t delta_y_l = spi_read();
- uint8_t delta_y_h = spi_read();
-
- report.x = convertDeltaToInt(delta_x_h, delta_x_l);
- report.y = convertDeltaToInt(delta_y_h, delta_y_l);
- }
-
- // clear residual motion
- spi_write(REG_Motion & 0x7f);
-
- spi_stop();
-
- return report;
-}
diff --git a/keyboards/oddball/adns/adns.h b/keyboards/oddball/adns/adns.h
deleted file mode 100644
index 2f50b8f1be..0000000000
--- a/keyboards/oddball/adns/adns.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright 2020 Alexander Tulloh
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General 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 <stdint.h>
-
-typedef struct {
- /* 200 - 8200 CPI supported */
- uint16_t cpi;
-} config_adns_t;
-
-typedef struct {
- int16_t x;
- int16_t y;
-} report_adns_t;
-
-void adns_init(void);
-config_adns_t adns_get_config(void);
-void adns_set_config(config_adns_t);
-/* Reads and clears the current delta values on the ADNS sensor */
-report_adns_t adns_get_report(void);
diff --git a/keyboards/oddball/adns/adns9800_srom_A6.h b/keyboards/oddball/adns/adns9800_srom_A6.h
deleted file mode 100644
index f5b3abeb62..0000000000
--- a/keyboards/oddball/adns/adns9800_srom_A6.h
+++ /dev/null
@@ -1,3078 +0,0 @@
-#pragma once
-
-#include "progmem.h"
-
-const uint16_t adns_firmware_length = 3070;
-
-const uint8_t adns_firmware_data[] PROGMEM = {
-0x03,
-0xa6,
-0x68,
-0x1e,
-0x7d,
-0x10,
-0x7e,
-0x7e,
-0x5f,
-0x1c,
-0xb8,
-0xf2,
-0x47,
-0x0c,
-0x7b,
-0x74,
-0x4b,
-0x14,
-0x8b,
-0x75,
-0x66,
-0x51,
-0x0b,
-0x8c,
-0x76,
-0x74,
-0x4b,
-0x14,
-0xaa,
-0xd6,
-0x0f,
-0x9c,
-0xba,
-0xf6,
-0x6e,
-0x3f,
-0xdd,
-0x38,
-0xd5,
-0x02,
-0x80,
-0x9b,
-0x82,
-0x6d,
-0x58,
-0x13,
-0xa4,
-0xab,
-0xb5,
-0xc9,
-0x10,
-0xa2,
-0xc6,
-0x0a,
-0x7f,
-0x5d,
-0x19,
-0x91,
-0xa0,
-0xa3,
-0xce,
-0xeb,
-0x3e,
-0xc9,
-0xf1,
-0x60,
-0x42,
-0xe7,
-0x4c,
-0xfb,
-0x74,
-0x6a,
-0x56,
-0x2e,
-0xbf,
-0xdd,
-0x38,
-0xd3,
-0x05,
-0x88,
-0x92,
-0xa6,
-0xce,
-0xff,
-0x5d,
-0x38,
-0xd1,
-0xcf,
-0xef,
-0x58,
-0xcb,
-0x65,
-0x48,
-0xf0,
-0x35,
-0x85,
-0xa9,
-0xb2,
-0x8f,
-0x5e,
-0xf3,
-0x80,
-0x94,
-0x97,
-0x7e,
-0x75,
-0x97,
-0x87,
-0x73,
-0x13,
-0xb0,
-0x8a,
-0x69,
-0xd4,
-0x0a,
-0xde,
-0xc1,
-0x79,
-0x59,
-0x36,
-0xdb,
-0x9d,
-0xd6,
-0xb8,
-0x15,
-0x6f,
-0xce,
-0x3c,
-0x72,
-0x32,
-0x45,
-0x88,
-0xdf,
-0x6c,
-0xa5,
-0x6d,
-0xe8,
-0x76,
-0x96,
-0x14,
-0x74,
-0x20,
-0xdc,
-0xf4,
-0xfa,
-0x37,
-0x6a,
-0x27,
-0x32,
-0xe3,
-0x29,
-0xbf,
-0xc4,
-0xc7,
-0x06,
-0x9d,
-0x58,
-0xe7,
-0x87,
-0x7c,
-0x2e,
-0x9f,
-0x6e,
-0x49,
-0x07,
-0x5d,
-0x23,
-0x64,
-0x54,
-0x83,
-0x6e,
-0xcb,
-0xb7,
-0x77,
-0xf7,
-0x2b,
-0x6e,
-0x0f,
-0x2e,
-0x66,
-0x12,
-0x60,
-0x55,
-0x65,
-0xfc,
-0x43,
-0xb3,
-0x58,
-0x73,
-0x5b,
-0xe8,
-0x67,
-0x04,
-0x43,
-0x02,
-0xde,
-0xb3,
-0x89,
-0xa0,
-0x6d,
-0x3a,
-0x27,
-0x79,
-0x64,
-0x5b,
-0x0c,
-0x16,
-0x9e,
-0x66,
-0xb1,
-0x8b,
-0x87,
-0x0c,
-0x5d,
-0xf2,
-0xb6,
-0x3d,
-0x71,
-0xdf,
-0x42,
-0x03,
-0x8a,
-0x06,
-0x8d,
-0xef,
-0x1d,
-0xa8,
-0x96,
-0x5c,
-0xed,
-0x31,
-0x61,
-0x5c,
-0xa1,
-0x34,
-0xf6,
-0x8c,
-0x08,
-0x60,
-0x33,
-0x07,
-0x00,
-0x3e,
-0x79,
-0x95,
-0x1b,
-0x43,
-0x7f,
-0xfe,
-0xb6,
-0xa6,
-0xd4,
-0x9d,
-0x76,
-0x72,
-0xbf,
-0xad,
-0xc0,
-0x15,
-0xe8,
-0x37,
-0x31,
-0xa3,
-0x72,
-0x63,
-0x52,
-0x1d,
-0x1c,
-0x5d,
-0x51,
-0x1b,
-0xe1,
-0xa9,
-0xed,
-0x60,
-0x32,
-0x3e,
-0xa9,
-0x50,
-0x28,
-0x53,
-0x06,
-0x59,
-0xe2,
-0xfc,
-0xe7,
-0x02,
-0x64,
-0x39,
-0x21,
-0x56,
-0x4a,
-0xa5,
-0x40,
-0x80,
-0x81,
-0xd5,
-0x5a,
-0x60,
-0x7b,
-0x68,
-0x84,
-0xf1,
-0xe0,
-0xb1,
-0xb6,
-0x5b,
-0xdf,
-0xa8,
-0x1d,
-0x6d,
-0x65,
-0x20,
-0xc0,
-0xa2,
-0xb9,
-0xd9,
-0xbb,
-0x00,
-0xa6,
-0xdb,
-0x8b,
-0x01,
-0x53,
-0x91,
-0xfe,
-0xc4,
-0x51,
-0x85,
-0xb0,
-0x96,
-0x7f,
-0xfd,
-0x51,
-0xdd,
-0x14,
-0x03,
-0x67,
-0x2e,
-0x75,
-0x1c,
-0x76,
-0xd3,
-0x6e,
-0xdd,
-0x99,
-0x55,
-0x76,
-0xe5,
-0xab,
-0x23,
-0xfc,
-0x4a,
-0xd5,
-0xc6,
-0xe8,
-0x2e,
-0xca,
-0x8a,
-0xb3,
-0xf6,
-0x8c,
-0x6c,
-0xb0,
-0xe9,
-0xf2,
-0xe7,
-0x9e,
-0x69,
-0x41,
-0xed,
-0xf1,
-0x6d,
-0xd2,
-0x86,
-0xd8,
-0x7e,
-0xcb,
-0x5d,
-0x47,
-0x6c,
-0x85,
-0x6a,
-0x23,
-0xed,
-0x20,
-0x40,
-0x93,
-0xb4,
-0x20,
-0xc7,
-0xa5,
-0xc9,
-0xaf,
-0x03,
-0x15,
-0xac,
-0x19,
-0xe5,
-0x2a,
-0x36,
-0xdf,
-0x6d,
-0xc5,
-0x8c,
-0x80,
-0x07,
-0xce,
-0x92,
-0x0c,
-0xd8,
-0x06,
-0x62,
-0x0f,
-0xdd,
-0x48,
-0x46,
-0x1a,
-0x53,
-0xc7,
-0x8a,
-0x8c,
-0x5d,
-0x5d,
-0xb4,
-0xa1,
-0x02,
-0xd3,
-0xa9,
-0xb8,
-0xf3,
-0x94,
-0x8f,
-0x3f,
-0xe5,
-0x54,
-0xd4,
-0x11,
-0x65,
-0xb2,
-0x5e,
-0x09,
-0x0b,
-0x81,
-0xe3,
-0x75,
-0xa7,
-0x89,
-0x81,
-0x39,
-0x6c,
-0x46,
-0xf6,
-0x06,
-0x9f,
-0x27,
-0x3b,
-0xb6,
-0x2d,
-0x5f,
-0x1d,
-0x4b,
-0xd4,
-0x7b,
-0x1d,
-0x61,
-0x74,
-0x89,
-0xe4,
-0xe3,
-0xbd,
-0x98,
-0x1b,
-0xc4,
-0x51,
-0x3b,
-0xa4,
-0xfa,
-0xe0,
-0x92,
-0xf7,
-0xbe,
-0xf2,
-0x4d,
-0xbb,
-0xff,
-0xad,
-0x4f,
-0x6d,
-0x68,
-0xc2,
-0x79,
-0x40,
-0xaa,
-0x9b,
-0x8f,
-0x0c,
-0x32,
-0x4b,
-0x5f,
-0x3e,
-0xab,
-0x59,
-0x98,
-0xb3,
-0xf5,
-0x1d,
-0xac,
-0x5e,
-0xbc,
-0x78,
-0xd3,
-0x01,
-0x6c,
-0x64,
-0x15,
-0x2f,
-0xd8,
-0x71,
-0xa6,
-0x2d,
-0x45,
-0xe1,
-0x22,
-0x42,
-0xe4,
-0x4e,
-0x04,
-0x3c,
-0x7d,
-0xf4,
-0x40,
-0x21,
-0xb4,
-0x67,
-0x05,
-0xa8,
-0xe2,
-0xf3,
-0x72,
-0x87,
-0x4c,
-0x7d,
-0xd9,
-0x1b,
-0x65,
-0x97,
-0xf3,
-0xc2,
-0xe3,
-0xe4,
-0xc8,
-0xd2,
-0xde,
-0xf6,
-0xef,
-0xdc,
-0xbb,
-0x44,
-0x08,
-0x5e,
-0xe2,
-0x45,
-0x27,
-0x01,
-0xb0,
-0xf6,
-0x43,
-0xe7,
-0x3a,
-0xf6,
-0xdc,
-0x9d,
-0xed,
-0xf3,
-0xc5,
-0x0c,
-0xb8,
-0x9c,
-0x98,
-0x3a,
-0xd8,
-0x36,
-0xee,
-0x96,
-0x72,
-0x67,
-0xe7,
-0x81,
-0x91,
-0xd5,
-0x05,
-0x0a,
-0xe0,
-0x82,
-0xd5,
-0x8f,
-0xe8,
-0xf9,
-0xb0,
-0xc9,
-0xcf,
-0x93,
-0xe7,
-0x04,
-0xc5,
-0xbc,
-0x2b,
-0x43,
-0x56,
-0x7e,
-0xe8,
-0x67,
-0x7c,
-0xe5,
-0xfb,
-0x49,
-0xad,
-0x5e,
-0x9f,
-0x25,
-0x13,
-0xde,
-0x6e,
-0x6e,
-0xe9,
-0xf1,
-0xec,
-0x87,
-0x0b,
-0x59,
-0x81,
-0x76,
-0x84,
-0x76,
-0xb3,
-0x24,
-0xaf,
-0x30,
-0xfd,
-0x27,
-0x8b,
-0xab,
-0xd8,
-0x00,
-0x8b,
-0x9b,
-0x0c,
-0xd2,
-0xb2,
-0x4e,
-0x5e,
-0x9d,
-0x1d,
-0x96,
-0x01,
-0x00,
-0x67,
-0xc1,
-0x5f,
-0x02,
-0x20,
-0xfd,
-0x45,
-0x6a,
-0x01,
-0x60,
-0x58,
-0x45,
-0xca,
-0x47,
-0x21,
-0x90,
-0x5a,
-0xc4,
-0x43,
-0x26,
-0x1a,
-0xd7,
-0xa5,
-0x4a,
-0xb2,
-0x5d,
-0x2b,
-0x35,
-0x49,
-0xfb,
-0xa5,
-0x17,
-0x92,
-0x21,
-0x1e,
-0x93,
-0x96,
-0x67,
-0xa2,
-0x7e,
-0x36,
-0x7a,
-0xde,
-0x5f,
-0xbe,
-0x7a,
-0x58,
-0x9d,
-0xf8,
-0x78,
-0xa3,
-0xfa,
-0xc8,
-0xd5,
-0x17,
-0xf0,
-0x21,
-0x97,
-0x8c,
-0x80,
-0xb5,
-0x4b,
-0x3b,
-0xbd,
-0xbb,
-0x41,
-0x21,
-0xa8,
-0x50,
-0x67,
-0xf7,
-0xe7,
-0x19,
-0x80,
-0x10,
-0x8e,
-0xce,
-0x04,
-0x18,
-0x3f,
-0x51,
-0x6b,
-0x77,
-0xd8,
-0x9e,
-0x16,
-0xaf,
-0xec,
-0xef,
-0x48,
-0x16,
-0x4d,
-0x9e,
-0x85,
-0x38,
-0x18,
-0x3e,
-0xd4,
-0x28,
-0x87,
-0x60,
-0x2a,
-0xf6,
-0x7f,
-0x09,
-0x86,
-0x6f,
-0x9c,
-0x3c,
-0x3a,
-0xff,
-0xab,
-0xd0,
-0x61,
-0xa2,
-0x97,
-0x0d,
-0x71,
-0x94,
-0x7e,
-0xfd,
-0xb9,
-0x80,
-0x02,
-0x89,
-0x6a,
-0xb3,
-0x84,
-0x6c,
-0x2a,
-0x77,
-0x62,
-0xbe,
-0x0b,
-0xf4,
-0xaf,
-0xac,
-0x7b,
-0x7c,
-0x8e,
-0xca,
-0x01,
-0xba,
-0x71,
-0x78,
-0x94,
-0xfd,
-0xb5,
-0x39,
-0xa4,
-0x4d,
-0x2f,
-0x78,
-0xcf,
-0xca,
-0x92,
-0x0c,
-0x1a,
-0x99,
-0x48,
-0x4c,
-0x11,
-0x96,
-0xb5,
-0x4e,
-0x41,
-0x28,
-0xe4,
-0xa6,
-0xfe,
-0x4b,
-0x72,
-0x91,
-0xe7,
-0xd4,
-0xdd,
-0x9f,
-0x12,
-0xe6,
-0x29,
-0x38,
-0xce,
-0x45,
-0xae,
-0x02,
-0xb8,
-0x24,
-0xae,
-0xbd,
-0xe9,
-0x66,
-0x08,
-0x62,
-0xa2,
-0x2c,
-0x2b,
-0x00,
-0xe2,
-0x23,
-0xd9,
-0xc4,
-0x48,
-0xe4,
-0xd3,
-0xac,
-0xbb,
-0x34,
-0xc7,
-0xf0,
-0xe3,
-0x4f,
-0xb9,
-0x30,
-0xea,
-0xa2,
-0x12,
-0xf1,
-0x30,
-0x2c,
-0x36,
-0xde,
-0x48,
-0xf2,
-0xb0,
-0x4c,
-0x43,
-0x3f,
-0x2e,
-0x58,
-0xe4,
-0x20,
-0xe3,
-0x58,
-0xcd,
-0x31,
-0x22,
-0xf0,
-0xa2,
-0x2a,
-0xe6,
-0x19,
-0x90,
-0x55,
-0x86,
-0xf6,
-0x55,
-0x79,
-0xd1,
-0xd7,
-0x46,
-0x2f,
-0xc0,
-0xdc,
-0x99,
-0xe8,
-0xf3,
-0x6a,
-0xdf,
-0x7f,
-0xeb,
-0x24,
-0x4a,
-0x1e,
-0x5a,
-0x75,
-0xde,
-0x2f,
-0x5c,
-0x19,
-0x61,
-0x03,
-0x53,
-0x54,
-0x6a,
-0x3b,
-0x18,
-0x70,
-0xb6,
-0x4f,
-0xf1,
-0x9c,
-0x0a,
-0x59,
-0x9d,
-0x19,
-0x92,
-0x65,
-0x8c,
-0x83,
-0x14,
-0x2d,
-0x44,
-0x8a,
-0x75,
-0xa9,
-0xf5,
-0x90,
-0xd2,
-0x66,
-0x4e,
-0xfa,
-0x69,
-0x0f,
-0x5b,
-0x0b,
-0x98,
-0x65,
-0xc8,
-0x11,
-0x42,
-0x59,
-0x7f,
-0xdd,
-0x1b,
-0x75,
-0x17,
-0x31,
-0x4c,
-0x75,
-0x58,
-0xeb,
-0x58,
-0x63,
-0x7d,
-0xf2,
-0xa6,
-0xc2,
-0x6e,
-0xb7,
-0x3f,
-0x3e,
-0x5e,
-0x47,
-0xad,
-0xb7,
-0x04,
-0xe8,
-0x05,
-0xf8,
-0xb2,
-0xcf,
-0x19,
-0xf3,
-0xd2,
-0x85,
-0xfe,
-0x3e,
-0x3e,
-0xb1,
-0x62,
-0x08,
-0x2c,
-0x10,
-0x07,
-0x0d,
-0x73,
-0x90,
-0x17,
-0xfa,
-0x9b,
-0x56,
-0x02,
-0x75,
-0xf9,
-0x51,
-0xe0,
-0xe9,
-0x1a,
-0x7b,
-0x9f,
-0xb3,
-0xf3,
-0x98,
-0xb8,
-0x1c,
-0x9c,
-0xe1,
-0xd5,
-0x35,
-0xae,
-0xc8,
-0x60,
-0x48,
-0x11,
-0x09,
-0x94,
-0x6b,
-0xd0,
-0x8b,
-0x15,
-0xbc,
-0x05,
-0x68,
-0xd3,
-0x54,
-0x8a,
-0x51,
-0x39,
-0x5c,
-0x42,
-0x76,
-0xce,
-0xd8,
-0xad,
-0x89,
-0x30,
-0xc9,
-0x05,
-0x1c,
-0xcc,
-0x94,
-0x3f,
-0x0f,
-0x90,
-0x6f,
-0x72,
-0x2d,
-0x85,
-0x64,
-0x9a,
-0xb9,
-0x23,
-0xf9,
-0x0b,
-0xc3,
-0x7c,
-0x39,
-0x0f,
-0x97,
-0x07,
-0x97,
-0xda,
-0x58,
-0x48,
-0x33,
-0x05,
-0x23,
-0xb8,
-0x82,
-0xe8,
-0xd3,
-0x53,
-0x89,
-0xaf,
-0x33,
-0x80,
-0x22,
-0x84,
-0x0c,
-0x95,
-0x5c,
-0x67,
-0xb8,
-0x77,
-0x0c,
-0x5c,
-0xa2,
-0x5f,
-0x3d,
-0x58,
-0x0f,
-0x27,
-0xf3,
-0x2f,
-0xae,
-0x48,
-0xbd,
-0x0b,
-0x6f,
-0x54,
-0xfb,
-0x67,
-0x4c,
-0xea,
-0x32,
-0x27,
-0xf1,
-0xfa,
-0xe2,
-0xb0,
-0xec,
-0x0b,
-0x15,
-0xb4,
-0x70,
-0xf6,
-0x5c,
-0xdd,
-0x71,
-0x60,
-0xc3,
-0xc1,
-0xa8,
-0x32,
-0x65,
-0xac,
-0x7a,
-0x77,
-0x41,
-0xe5,
-0xa9,
-0x6b,
-0x11,
-0x81,
-0xfa,
-0x34,
-0x8d,
-0xfb,
-0xc1,
-0x80,
-0x6e,
-0xc4,
-0x60,
-0x30,
-0x07,
-0xd4,
-0x8b,
-0x67,
-0xbd,
-0xaa,
-0x8c,
-0x9c,
-0x64,
-0xac,
-0xdb,
-0x0b,
-0x24,
-0x8b,
-0x63,
-0x6f,
-0xe6,
-0xbc,
-0xe7,
-0x33,
-0xa4,
-0x4a,
-0x4c,
-0xa7,
-0x9f,
-0x43,
-0x53,
-0xd2,
-0xbb,
-0x8f,
-0x43,
-0xc7,
-0x3d,
-0x78,
-0x68,
-0x3f,
-0xa5,
-0x3d,
-0xca,
-0x69,
-0x84,
-0xa6,
-0x97,
-0x2d,
-0xc0,
-0x7d,
-0x31,
-0x34,
-0x55,
-0x1d,
-0x07,
-0xb1,
-0x5f,
-0x40,
-0x5c,
-0x93,
-0xb0,
-0xbc,
-0x7c,
-0xb0,
-0xbc,
-0xe7,
-0x12,
-0xee,
-0x6b,
-0x2b,
-0xd3,
-0x4d,
-0x67,
-0x70,
-0x3a,
-0x9a,
-0xf2,
-0x3c,
-0x7c,
-0x81,
-0xfa,
-0xd7,
-0xd9,
-0x90,
-0x91,
-0x81,
-0xb8,
-0xb1,
-0xf3,
-0x48,
-0x6a,
-0x26,
-0x4f,
-0x0c,
-0xce,
-0xb0,
-0x9e,
-0xfd,
-0x4a,
-0x3a,
-0xaf,
-0xac,
-0x5b,
-0x3f,
-0xbf,
-0x44,
-0x5a,
-0xa3,
-0x19,
-0x1e,
-0x4b,
-0xe7,
-0x36,
-0x6a,
-0xd7,
-0x20,
-0xae,
-0xd7,
-0x7d,
-0x3b,
-0xe7,
-0xff,
-0x3a,
-0x86,
-0x2e,
-0xd0,
-0x4a,
-0x3e,
-0xaf,
-0x9f,
-0x8e,
-0x01,
-0xbf,
-0xf8,
-0x4f,
-0xc1,
-0xe8,
-0x6f,
-0x74,
-0xe1,
-0x45,
-0xd3,
-0xf7,
-0x04,
-0x6a,
-0x4b,
-0x9d,
-0xec,
-0x33,
-0x27,
-0x76,
-0xd7,
-0xc5,
-0xe1,
-0xb0,
-0x3b,
-0x0e,
-0x23,
-0xec,
-0xf0,
-0x86,
-0xd2,
-0x1a,
-0xbf,
-0x3d,
-0x04,
-0x62,
-0xb3,
-0x6c,
-0xb2,
-0xeb,
-0x17,
-0x05,
-0xa6,
-0x0a,
-0x8a,
-0x7e,
-0x83,
-0x1c,
-0xb6,
-0x37,
-0x09,
-0xc6,
-0x0b,
-0x70,
-0x3c,
-0xb5,
-0x93,
-0x81,
-0xd8,
-0x93,
-0xa0,
-0x5f,
-0x1e,
-0x08,
-0xe2,
-0xc6,
-0xe5,
-0xc9,
-0x72,
-0xf1,
-0xf1,
-0xc1,
-0xed,
-0xd5,
-0x58,
-0x93,
-0x83,
-0xf8,
-0x65,
-0x67,
-0x2e,
-0x0d,
-0xa9,
-0xf1,
-0x64,
-0x12,
-0xe6,
-0x4c,
-0xea,
-0x15,
-0x3f,
-0x8c,
-0x1a,
-0xb6,
-0xbf,
-0xf6,
-0xb9,
-0x52,
-0x35,
-0x09,
-0xb0,
-0xe6,
-0xf7,
-0xcd,
-0xf1,
-0xa5,
-0xaa,
-0x81,
-0xd1,
-0x81,
-0x6f,
-0xb4,
-0xa9,
-0x66,
-0x1f,
-0xfc,
-0x48,
-0xc0,
-0xb6,
-0xd1,
-0x8b,
-0x06,
-0x2f,
-0xf6,
-0xef,
-0x1f,
-0x0a,
-0xe6,
-0xce,
-0x3a,
-0x4a,
-0x55,
-0xbf,
-0x6d,
-0xf9,
-0x4d,
-0xd4,
-0x08,
-0x45,
-0x4b,
-0xc3,
-0x66,
-0x19,
-0x92,
-0x10,
-0xe1,
-0x17,
-0x8e,
-0x28,
-0x91,
-0x16,
-0xbf,
-0x3c,
-0xee,
-0xa3,
-0xa6,
-0x99,
-0x92,
-0x10,
-0xe1,
-0xf6,
-0xcc,
-0xac,
-0xb8,
-0x65,
-0x0b,
-0x43,
-0x66,
-0xf8,
-0xe3,
-0xe5,
-0x3f,
-0x24,
-0x89,
-0x47,
-0x5d,
-0x78,
-0x43,
-0xd0,
-0x61,
-0x17,
-0xbd,
-0x5b,
-0x64,
-0x54,
-0x08,
-0x45,
-0x59,
-0x93,
-0xf6,
-0x95,
-0x8a,
-0x41,
-0x51,
-0x62,
-0x4b,
-0x51,
-0x02,
-0x30,
-0x73,
-0xc7,
-0x87,
-0xc5,
-0x4b,
-0xa2,
-0x97,
-0x0f,
-0xe8,
-0x46,
-0x5f,
-0x7e,
-0x2a,
-0xe1,
-0x30,
-0x20,
-0xb0,
-0xfa,
-0xe7,
-0xce,
-0x61,
-0x42,
-0x57,
-0x6e,
-0x21,
-0xf3,
-0x7a,
-0xec,
-0xe3,
-0x25,
-0xc7,
-0x25,
-0xf3,
-0x67,
-0xa7,
-0x57,
-0x40,
-0x00,
-0x02,
-0xcf,
-0x1c,
-0x80,
-0x77,
-0x67,
-0xbd,
-0x70,
-0xa1,
-0x19,
-0x92,
-0x31,
-0x75,
-0x93,
-0x27,
-0x27,
-0xb6,
-0x82,
-0xe4,
-0xeb,
-0x1d,
-0x78,
-0x48,
-0xe7,
-0xa5,
-0x5e,
-0x57,
-0xef,
-0x64,
-0x28,
-0x64,
-0x1b,
-0xf6,
-0x11,
-0xb2,
-0x03,
-0x9d,
-0xb9,
-0x18,
-0x02,
-0x27,
-0xf7,
-0xbe,
-0x9d,
-0x55,
-0xfc,
-0x00,
-0xd2,
-0xc7,
-0xae,
-0xad,
-0x0b,
-0xc5,
-0xe9,
-0x42,
-0x41,
-0x48,
-0xd8,
-0x32,
-0xcf,
-0xf6,
-0x0f,
-0xf5,
-0xbc,
-0x97,
-0xc6,
-0x99,
-0x47,
-0x76,
-0xbd,
-0x89,
-0x06,
-0x0f,
-0x63,
-0x0c,
-0x51,
-0xd4,
-0x5e,
-0xea,
-0x48,
-0xa8,
-0xa2,
-0x56,
-0x1c,
-0x79,
-0x84,
-0x86,
-0x40,
-0x88,
-0x41,
-0x76,
-0x55,
-0xfc,
-0xc2,
-0xd7,
-0xfd,
-0xc9,
-0xc7,
-0x80,
-0x61,
-0x35,
-0xa7,
-0x43,
-0x20,
-0xf7,
-0xeb,
-0x6c,
-0x66,
-0x13,
-0xb0,
-0xec,
-0x02,
-0x75,
-0x3e,
-0x4b,
-0xaf,
-0xb9,
-0x5d,
-0x40,
-0xda,
-0xd6,
-0x6e,
-0x2d,
-0x39,
-0x54,
-0xc2,
-0x95,
-0x35,
-0x54,
-0x25,
-0x72,
-0xe1,
-0x78,
-0xb8,
-0xeb,
-0xc1,
-0x16,
-0x58,
-0x0f,
-0x9c,
-0x9b,
-0xb4,
-0xea,
-0x37,
-0xec,
-0x3b,
-0x11,
-0xba,
-0xd5,
-0x8a,
-0xa9,
-0xe3,
-0x98,
-0x00,
-0x51,
-0x1c,
-0x14,
-0xe0,
-0x40,
-0x96,
-0xe5,
-0xe9,
-0xf2,
-0x21,
-0x22,
-0xb1,
-0x23,
-0x60,
-0x78,
-0xd3,
-0x17,
-0xf8,
-0x7a,
-0xa5,
-0xa8,
-0xba,
-0x20,
-0xd3,
-0x15,
-0x1e,
-0x32,
-0xe4,
-0x5e,
-0x15,
-0x48,
-0xae,
-0xa9,
-0xe5,
-0xb8,
-0x33,
-0xec,
-0xe8,
-0xa2,
-0x42,
-0xac,
-0xbf,
-0x10,
-0x84,
-0x53,
-0x87,
-0x19,
-0xb4,
-0x5f,
-0x76,
-0x4d,
-0x01,
-0x9d,
-0x56,
-0x74,
-0xd9,
-0x5c,
-0x97,
-0xe7,
-0x88,
-0xea,
-0x3a,
-0xbf,
-0xdc,
-0x4c,
-0x33,
-0x8a,
-0x16,
-0xb9,
-0x5b,
-0xfa,
-0xd8,
-0x42,
-0xa7,
-0xbb,
-0x3c,
-0x04,
-0x27,
-0x78,
-0x49,
-0x81,
-0x2a,
-0x5a,
-0x7d,
-0x7c,
-0x23,
-0xa8,
-0xba,
-0xf7,
-0x9a,
-0x9f,
-0xd2,
-0x66,
-0x3e,
-0x38,
-0x3c,
-0x75,
-0xf9,
-0xd1,
-0x30,
-0x26,
-0x30,
-0x6e,
-0x5a,
-0x6e,
-0xdc,
-0x6a,
-0x69,
-0x32,
-0x50,
-0x33,
-0x47,
-0x9e,
-0xa4,
-0xa8,
-0x64,
-0x66,
-0xf0,
-0x8a,
-0xe4,
-0xfd,
-0x27,
-0x6f,
-0x51,
-0x25,
-0x8b,
-0x43,
-0x74,
-0xc9,
-0x8e,
-0xbd,
-0x88,
-0x31,
-0xbe,
-0xec,
-0x65,
-0xd2,
-0xcb,
-0x8d,
-0x5a,
-0x13,
-0x48,
-0x16,
-0x8c,
-0x61,
-0x0b,
-0x11,
-0xf6,
-0xc6,
-0x66,
-0xae,
-0xc3,
-0xcc,
-0x0c,
-0xd2,
-0xe1,
-0x9f,
-0x82,
-0x41,
-0x3f,
-0x56,
-0xf9,
-0x73,
-0xef,
-0xdc,
-0x30,
-0x50,
-0xcf,
-0xb6,
-0x7f,
-0xbc,
-0xd0,
-0xb3,
-0x10,
-0xab,
-0x24,
-0xe4,
-0xec,
-0xad,
-0x18,
-0x8c,
-0x39,
-0x2d,
-0x30,
-0x4c,
-0xc5,
-0x40,
-0x0d,
-0xf6,
-0xac,
-0xd6,
-0x18,
-0x5d,
-0x96,
-0xbf,
-0x5f,
-0x71,
-0x75,
-0x96,
-0x22,
-0x97,
-0x0f,
-0x02,
-0x94,
-0x6e,
-0xa6,
-0xae,
-0x6d,
-0x8f,
-0x1e,
-0xca,
-0x12,
-0x9b,
-0x2a,
-0x1c,
-0xce,
-0xa9,
-0xee,
-0xfd,
-0x12,
-0x8e,
-0xfc,
-0xed,
-0x09,
-0x33,
-0xba,
-0xf4,
-0x1a,
-0x15,
-0xf6,
-0x9d,
-0x87,
-0x16,
-0x43,
-0x7c,
-0x78,
-0x57,
-0xe1,
-0x44,
-0xc9,
-0xeb,
-0x1f,
-0x58,
-0x4d,
-0xc1,
-0x49,
-0x11,
-0x5c,
-0xb2,
-0x11,
-0xa8,
-0x55,
-0x16,
-0xf1,
-0xc6,
-0x50,
-0xe9,
-0x87,
-0x89,
-0xf6,
-0xcf,
-0xd8,
-0x9c,
-0x51,
-0xa7,
-0xbc,
-0x5b,
-0x31,
-0x6d,
-0x4d,
-0x51,
-0xd0,
-0x4c,
-0xbc,
-0x0d,
-0x58,
-0x2d,
-0x7b,
-0x88,
-0x7a,
-0xf9,
-0x8e,
-0xd6,
-0x40,
-0x4d,
-0xbb,
-0xbe,
-0xc4,
-0xe5,
-0x07,
-0xfc,
-0xd9,
-0x7b,
-0x6d,
-0xa6,
-0x42,
-0x57,
-0x8f,
-0x02,
-0x94,
-0x4f,
-0xe4,
-0x2a,
-0x65,
-0xe2,
-0x19,
-0x5a,
-0x50,
-0xe1,
-0x25,
-0x65,
-0x4a,
-0x60,
-0xc2,
-0xcd,
-0xa8,
-0xec,
-0x05,
-0x2e,
-0x87,
-0x7b,
-0x95,
-0xb7,
-0x4f,
-0xa0,
-0x0b,
-0x1b,
-0x4a,
-0x7f,
-0x92,
-0xc8,
-0x90,
-0xee,
-0x89,
-0x1e,
-0x10,
-0xd2,
-0x85,
-0xe4,
-0x9f,
-0x63,
-0xc8,
-0x12,
-0xbb,
-0x4e,
-0xb8,
-0xcf,
-0x0a,
-0xec,
-0x18,
-0x4e,
-0xe6,
-0x7c,
-0xb3,
-0x33,
-0x26,
-0xc7,
-0x1f,
-0xd2,
-0x04,
-0x23,
-0xea,
-0x07,
-0x0c,
-0x5f,
-0x90,
-0xbd,
-0xa7,
-0x6a,
-0x0f,
-0x4a,
-0xd6,
-0x10,
-0x01,
-0x3c,
-0x12,
-0x29,
-0x2e,
-0x96,
-0xc0,
-0x4d,
-0xbb,
-0xbe,
-0xe5,
-0xa7,
-0x83,
-0xd5,
-0x6a,
-0x3c,
-0xe3,
-0x5b,
-0xb8,
-0xf2,
-0x5c,
-0x6d,
-0x1f,
-0xa6,
-0xf3,
-0x12,
-0x24,
-0xf6,
-0xd6,
-0x3b,
-0x10,
-0x14,
-0x09,
-0x07,
-0x82,
-0xe8,
-0x30,
-0x6a,
-0x99,
-0xdc,
-0x95,
-0x01,
-0x9c,
-0xd4,
-0x68,
-0x3b,
-0xca,
-0x98,
-0x12,
-0xab,
-0x77,
-0x25,
-0x15,
-0x7d,
-0x10,
-0x32,
-0x45,
-0x98,
-0xcd,
-0x7a,
-0xdf,
-0x71,
-0x8a,
-0x75,
-0xc1,
-0x1c,
-0xd4,
-0x68,
-0x25,
-0xeb,
-0xbb,
-0x54,
-0x27,
-0x6f,
-0x2a,
-0xf7,
-0xb9,
-0x98,
-0x03,
-0x27,
-0xde,
-0x24,
-0xa8,
-0xbb,
-0x98,
-0xc2,
-0x84,
-0xff,
-0x9b,
-0x51,
-0xd8,
-0x53,
-0x50,
-0xda,
-0xf5,
-0x88,
-0xaa,
-0x87,
-0x2f,
-0xae,
-0xd6,
-0xea,
-0x6b,
-0xde,
-0xc8,
-0xd7,
-0xa7,
-0x28,
-0x65,
-0x81,
-0xe8,
-0xb2,
-0x3b,
-0x1d,
-0x4f,
-0x75,
-0x8f,
-0x9f,
-0x7a,
-0x74,
-0x8e,
-0xc1,
-0x5f,
-0x9a,
-0xa8,
-0x9d,
-0xfa,
-0x03,
-0xa3,
-0x71,
-0x9b,
-0x37,
-0x6d,
-0xd5,
-0x0b,
-0xf5,
-0xe1,
-0xa1,
-0x1b,
-0x01,
-0x6a,
-0xc6,
-0x67,
-0xaa,
-0xea,
-0x2c,
-0x9d,
-0xa4,
-0xd2,
-0x6e,
-0xfc,
-0xde,
-0x2e,
-0x7f,
-0x94,
-0x69,
-0xe5,
-0x4a,
-0xe0,
-0x01,
-0x48,
-0x3c,
-0x6b,
-0xf7,
-0x1e,
-0xb6,
-0x0b,
-0x5f,
-0xf9,
-0x2e,
-0x07,
-0xc5,
-0xe8,
-0xae,
-0x37,
-0x1b,
-0xbc,
-0x3c,
-0xd8,
-0xd5,
-0x0b,
-0x91,
-0x9e,
-0x80,
-0x24,
-0xf5,
-0x06,
-0x0c,
-0x0e,
-0x98,
-0x07,
-0x96,
-0x2d,
-0x19,
-0xdc,
-0x58,
-0x93,
-0xcc,
-0xfb,
-0x4e,
-0xeb,
-0xbd,
-0x0f,
-0xf5,
-0xaf,
-0x01,
-0xfa,
-0xf1,
-0x7c,
-0x43,
-0x8c,
-0xb8,
-0x56,
-0x3e,
-0xbe,
-0x77,
-0x4e,
-0x2b,
-0xf7,
-0xbb,
-0xb7,
-0x45,
-0x47,
-0xcd,
-0xcc,
-0xa6,
-0x4c,
-0x72,
-0x7b,
-0x6a,
-0x2a,
-0x70,
-0x13,
-0x07,
-0xfd,
-0xb8,
-0x9c,
-0x98,
-0x3a,
-0xd8,
-0x23,
-0x67,
-0x5b,
-0x34,
-0xd5,
-0x14,
-0x0c,
-0xab,
-0x77,
-0x1f,
-0xf8,
-0x3d,
-0x5a,
-0x9f,
-0x92,
-0xb7,
-0x2c,
-0xad,
-0x31,
-0xde,
-0x61,
-0x07,
-0xb3,
-0x6b,
-0xf7,
-0x38,
-0x15,
-0x95,
-0x46,
-0x14,
-0x48,
-0x53,
-0x69,
-0x52,
-0x66,
-0x07,
-0x6d,
-0x83,
-0x71,
-0x8a,
-0x67,
-0x25,
-0x20,
-0x0f,
-0xfe,
-0xd7,
-0x02,
-0xd7,
-0x6e,
-0x2c,
-0xd2,
-0x1a,
-0x0a,
-0x5d,
-0xfd,
-0x0f,
-0x74,
-0xe3,
-0xa4,
-0x36,
-0x07,
-0x9a,
-0xdf,
-0xd4,
-0x79,
-0xbf,
-0xef,
-0x59,
-0xc0,
-0x44,
-0x52,
-0x87,
-0x9a,
-0x6e,
-0x1d,
-0x0e,
-0xee,
-0xde,
-0x2e,
-0x1a,
-0xa9,
-0x8f,
-0x3a,
-0xc9,
-0xba,
-0xec,
-0x99,
-0x78,
-0x2d,
-0x55,
-0x6b,
-0x14,
-0xc2,
-0x06,
-0xd5,
-0xfc,
-0x93,
-0x53,
-0x4d,
-0x11,
-0x8c,
-0xf8,
-0xfa,
-0x79,
-0x7c,
-0xa6,
-0x64,
-0xae,
-0x61,
-0xb8,
-0x7b,
-0x94,
-0x56,
-0xa6,
-0x39,
-0x78,
-0x9a,
-0xe5,
-0xc7,
-0xdf,
-0x18,
-0x63,
-0x23,
-0x9c,
-0xfa,
-0x66,
-0xbb,
-0xb7,
-0x5a,
-0x27,
-0x4c,
-0xd1,
-0xa1,
-0x83,
-0x22,
-0xb3,
-0x52,
-0x49,
-0x35,
-0xb0,
-0x22,
-0x83,
-0x59,
-0x12,
-0x00,
-0x16,
-0x98,
-0xdd,
-0xad,
-0xc2,
-0x94,
-0xf9,
-0xd3,
-0x7b,
-0x64,
-0x7f,
-0x44,
-0x3e,
-0x3c,
-0x8b,
-0x9a,
-0x83,
-0x9c,
-0x69,
-0x6b,
-0xe4,
-0xdf,
-0x9f,
-0xed,
-0x54,
-0x1f,
-0xe5,
-0x5d,
-0x7a,
-0x05,
-0x82,
-0xb3,
-0xdd,
-0xef,
-0xfc,
-0x53,
-0x96,
-0xb0,
-0x2c,
-0x5a,
-0xf8,
-0xdf,
-0x9c,
-0x8b,
-0x16,
-0x4e,
-0xdf,
-0xda,
-0x4d,
-0x09,
-0x09,
-0x69,
-0x50,
-0x03,
-0x65,
-0xd8,
-0x73,
-0x70,
-0xe8,
-0x86,
-0xbf,
-0xbb,
-0x35,
-0xce,
-0xb2,
-0x46,
-0xcb,
-0x02,
-0x00,
-0x5b,
-0xb4,
-0xe2,
-0xc6,
-0x8f,
-0x2f,
-0x98,
-0xaf,
-0x87,
-0x4b,
-0x48,
-0x45,
-0xed,
-0xcc,
-0x1d,
-0xe6,
-0x58,
-0xd6,
-0xf2,
-0x50,
-0x25,
-0x9f,
-0x52,
-0xc7,
-0xcb,
-0x8a,
-0x17,
-0x9d,
-0x5b,
-0xe5,
-0xc8,
-0xd7,
-0x72,
-0xb7,
-0x52,
-0xb2,
-0xc4,
-0x98,
-0xe3,
-0x7a,
-0x17,
-0x3e,
-0xc6,
-0x60,
-0xa7,
-0x97,
-0xb0,
-0xcf,
-0x18,
-0x81,
-0x53,
-0x84,
-0x4c,
-0xd5,
-0x17,
-0x32,
-0x03,
-0x13,
-0x39,
-0x51,
-0x09,
-0x10,
-0xe3,
-0x77,
-0x49,
-0x4f,
-0x62,
-0x01,
-0xbf,
-0x8c,
-0x9a,
-0xe0,
-0x41,
-0x9e,
-0x89,
-0x74,
-0x36,
-0xf9,
-0x96,
-0x86,
-0x2e,
-0x96,
-0x1c,
-0x4a,
-0xb7,
-0x2b,
-0x4a,
-0x97,
-0xbc,
-0x99,
-0x40,
-0xa3,
-0xe0,
-0x3d,
-0xc8,
-0xad,
-0x2f,
-0xdf,
-0x4f,
-0x2c,
-0xc4,
-0x69,
-0x82,
-0x9f,
-0x9b,
-0x81,
-0x0c,
-0x61,
-0x5c,
-0xa5,
-0x9d,
-0x8c,
-0x89,
-0xc0,
-0x2c,
-0xb4,
-0x4a,
-0x33,
-0x4e,
-0xeb,
-0xa2,
-0x56,
-0x40,
-0xc0,
-0xc2,
-0x46,
-0xaf,
-0x6a,
-0xfc,
-0x67,
-0xd1,
-0x80,
-0x5e,
-0xc5,
-0x6d,
-0x84,
-0x43,
-0x27,
-0x3f,
-0x55,
-0x15,
-0x96,
-0x6a,
-0xa0,
-0xa5,
-0xda,
-0xb7,
-0xff,
-0xb7,
-0x75,
-0x6e,
-0x4c,
-0x49,
-0x91,
-0x9d,
-0x22,
-0xa3,
-0x46,
-0xea,
-0xed,
-0x9a,
-0x00,
-0xe2,
-0x32,
-0xc3,
-0xd6,
-0xa9,
-0x71,
-0x20,
-0x55,
-0xa3,
-0x19,
-0xed,
-0xf8,
-0x4f,
-0xa7,
-0x12,
-0x9c,
-0x66,
-0x87,
-0xaf,
-0x4e,
-0xb7,
-0xf0,
-0xdb,
-0xbf,
-0xef,
-0xf0,
-0xf6,
-0xaf,
-0xea,
-0xda,
-0x09,
-0xfe,
-0xde,
-0x38,
-0x5c,
-0xa5,
-0xa2,
-0xdf,
-0x99,
-0x45,
-0xa8,
-0xe4,
-0xe7,
-0x92,
-0xac,
-0x67,
-0xaa,
-0x4f,
-0xbf,
-0x77,
-0x3e,
-0xa2,
-0x40,
-0x49,
-0x22,
-0x4a,
-0x1e,
-0x3b,
-0xaa,
-0x70,
-0x7f,
-0x95,
-0xaf,
-0x37,
-0x4b,
-0xfc,
-0x99,
-0xe2,
-0xe0,
-0xba,
-0xd7,
-0x34,
-0xce,
-0x55,
-0x88,
-0x5b,
-0x84,
-0x1b,
-0x57,
-0xc4,
-0x80,
-0x03,
-0x53,
-0xc9,
-0x2f,
-0x93,
-0x04,
-0x4d,
-0xd5,
-0x96,
-0xe5,
-0x70,
-0xa6,
-0x6e,
-0x63,
-0x5d,
-0x9d,
-0x6c,
-0xdb,
-0x02,
-0x0a,
-0xa9,
-0xda,
-0x8b,
-0x53,
-0xdc,
-0xd9,
-0x9a,
-0xc5,
-0x94,
-0x2c,
-0x91,
-0x92,
-0x2a,
-0xde,
-0xbb,
-0x8b,
-0x13,
-0xb9,
-0x19,
-0x96,
-0x64,
-0xcc,
-0xf2,
-0x64,
-0x39,
-0xb7,
-0x75,
-0x49,
-0xe9,
-0x86,
-0xc2,
-0x86,
-0x62,
-0xd9,
-0x24,
-0xd3,
-0x81,
-0x35,
-0x49,
-0xfc,
-0xa0,
-0xa5,
-0xa0,
-0x93,
-0x05,
-0x64,
-0xb4,
-0x1a,
-0x57,
-0xce,
-0x0c,
-0x90,
-0x02,
-0x27,
-0xc5,
-0x7a,
-0x2b,
-0x5d,
-0xae,
-0x3e,
-0xd5,
-0xdd,
-0x10,
-0x7c,
-0x14,
-0xea,
-0x3a,
-0x08,
-0xac,
-0x72,
-0x4e,
-0x90,
-0x3d,
-0x3b,
-0x7c,
-0x86,
-0x2e,
-0xeb,
-0xd4,
-0x06,
-0x70,
-0xe6,
-0xc7,
-0xfb,
-0x5f,
-0xbd,
-0x18,
-0xf4,
-0x11,
-0xa4,
-0x1a,
-0x93,
-0xc3,
-0xbe,
-0xd9,
-0xfb,
-0x26,
-0x48,
-0x2f,
-0x37,
-0x3c,
-0xd0,
-0x03,
-0x47,
-0x1a,
-0xf7,
-0x62,
-0x19,
-0x24,
-0x5c,
-0xf4,
-0xa8,
-0x92,
-0x20,
-0x7a,
-0xf2,
-0x9e,
-0x2a,
-0xc5,
-0x95,
-0xa2,
-0xfb,
-0xa4,
-0xea,
-0x85,
-0xd8,
-0x56,
-0xb7,
-0x70,
-0xd1,
-0x60,
-0x30,
-0xa5,
-0x30,
-0x82,
-0x70,
-0xdc,
-0x7a,
-0x65,
-0x8a,
-0x36,
-0x3f,
-0x5b,
-0x0c,
-0xae,
-0x54,
-0x7c,
-0xd3,
-0x57,
-0x84,
-0x7b,
-0x3a,
-0x65,
-0x18,
-0x81,
-0xee,
-0x05,
-0x9b,
-0x44,
-0x4d,
-0xb8,
-0xda,
-0xa2,
-0xa1,
-0xc9,
-0x15,
-0xd3,
-0x73,
-0x03,
-0x0e,
-0x43,
-0xe9,
-0x8e,
-0x15,
-0xf9,
-0xbe,
-0xc6,
-0xc5,
-0x8a,
-0xe5,
-0xc0,
-0x1e,
-0xc2,
-0x37,
-0x9e,
-0x2a,
-0x26,
-0xa5,
-0xa0,
-0xbd,
-0x24,
-0x5f,
-0xb9,
-0xc1,
-0xab,
-0x34,
-0x48,
-0xb9,
-0x5d,
-0x98,
-0xb4,
-0x65,
-0x18,
-0xf3,
-0x63,
-0x19,
-0x44,
-0x1b,
-0x11,
-0x16,
-0xff,
-0xdc,
-0xf1,
-0x79,
-0x08,
-0x86,
-0x0f,
-0x52,
-0x98,
-0x73,
-0xc4,
-0x92,
-0x90,
-0x2b,
-0x47,
-0x09,
-0xd0,
-0x43,
-0x6c,
-0x2f,
-0x20,
-0xeb,
-0xdc,
-0xda,
-0xc5,
-0x08,
-0x7b,
-0x94,
-0x42,
-0x30,
-0x6a,
-0xc7,
-0xda,
-0x8c,
-0xc3,
-0x76,
-0xa7,
-0xa5,
-0xcc,
-0x62,
-0x13,
-0x00,
-0x60,
-0x31,
-0x58,
-0x44,
-0x9b,
-0xf5,
-0x64,
-0x14,
-0xf5,
-0x11,
-0xc5,
-0x54,
-0x52,
-0x83,
-0xd4,
-0x73,
-0x01,
-0x16,
-0x0e,
-0xb3,
-0x7a,
-0x29,
-0x69,
-0x35,
-0x56,
-0xd4,
-0xee,
-0x8a,
-0x17,
-0xa2,
-0x99,
-0x24,
-0x9c,
-0xd7,
-0x8f,
-0xdb,
-0x55,
-0xb5,
-0x3e
-};
diff --git a/keyboards/oddball/optical_sensor/optical_sensor.h b/keyboards/oddball/optical_sensor/optical_sensor.h
index a152d02cf1..00955209e2 100644
--- a/keyboards/oddball/optical_sensor/optical_sensor.h
+++ b/keyboards/oddball/optical_sensor/optical_sensor.h
@@ -17,7 +17,7 @@
/* common interface for opitcal sensors */
#if defined ADNS_9800
- #include "../adns/adns.h"
+ #include "drivers/sensors/adns9800.h"
#define config_optical_sensor_t config_adns_t
#define report_optical_sensor_t report_adns_t
#define optical_sensor_init adns_init
diff --git a/keyboards/oddball/rules.mk b/keyboards/oddball/rules.mk
index e9e540c3ca..8fc86b570d 100644
--- a/keyboards/oddball/rules.mk
+++ b/keyboards/oddball/rules.mk
@@ -25,5 +25,5 @@ POINTING_DEVICE_ENABLE = yes
DEFAULT_FOLDER = oddball/v1
SRC += spi_master.c
-SRC += adns/adns.c
+SRC += drivers/sensors/adns9800.c
SRC += pmw/pmw.c
diff --git a/keyboards/ok60/rules.mk b/keyboards/ok60/rules.mk
index f2801c9459..e664640bac 100644
--- a/keyboards/ok60/rules.mk
+++ b/keyboards/ok60/rules.mk
@@ -27,4 +27,4 @@ RGBLIGHT_ENABLE = yes # Enable the RGB backlight
# UNICODE_ENABLE = YES # Unicode
# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
-LAYOUTS = 60_ansi 60_ansi_split_bksp_rshift 60_iso 60_hhkb
+LAYOUTS = 60_ansi 60_iso 60_hhkb
diff --git a/keyboards/opendeck/32/rev1/config.h b/keyboards/opendeck/32/rev1/config.h
index 9f8ed74278..8b25ab2564 100644
--- a/keyboards/opendeck/32/rev1/config.h
+++ b/keyboards/opendeck/32/rev1/config.h
@@ -38,7 +38,7 @@
#define DRIVER_COUNT 1
#define DRIVER_1_LED_TOTAL (4 * 8 * 3)
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL)
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true
+#define RGB_DISABLE_WHEN_USB_SUSPENDED
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_SPIRAL
#define RGB_MATRIX_DISABLE_KEYCODES
diff --git a/keyboards/opendeck/32/rev1/rev1.c b/keyboards/opendeck/32/rev1/rev1.c
index 297af907e2..91f59a60b7 100644
--- a/keyboards/opendeck/32/rev1/rev1.c
+++ b/keyboards/opendeck/32/rev1/rev1.c
@@ -17,7 +17,7 @@
#include "rev1.h"
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/orthodox/keymaps/drashna/keymap.c b/keyboards/orthodox/keymaps/drashna/keymap.c
index 643a5b6b0b..b7d83a5f2e 100644
--- a/keyboards/orthodox/keymaps/drashna/keymap.c
+++ b/keyboards/orthodox/keymaps/drashna/keymap.c
@@ -19,59 +19,34 @@
LALT_T(KC_TAB), K11, K12, K13, K14, K15, OS_LALT, OS_LGUI, OS_RALT, RAISE, K16, K17, K18, K19, K1A, RALT_T(K1B), \
KC_MLSF, CTL_T(K21), K22, K23, K24, K25, LOWER, KC_SPACE,KC_BSPC, KC_DEL, KC_ENT, RAISE, K26, K27, K28, K29, RCTL_T(K2A), KC_MRSF \
)
-#define LAYOUT_orthodox_base_wrapper(...) LAYOUT_orthodox_base(__VA_ARGS__)
+#define LAYOUT_base_wrapper(...) LAYOUT_orthodox_base(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper(
+ _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
+ _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
+ _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
+ ),
+
+ [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper(
+ ______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________,
+ ______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________,
+ ______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________
+ ),
+ [_DEFAULT_LAYER_3] = LAYOUT_base_wrapper(
+ _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
+ _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
+ _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
+ ),
+
+ [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper(
+ _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
+ _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
+ _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
+ ),
- [_QWERTY] = LAYOUT_orthodox_base_wrapper(
- _________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
- _________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
- _________________QWERTY_L3_________________, _________________QWERTY_R3_________________
- ),
-
- [_COLEMAK] = LAYOUT_orthodox_base_wrapper(
- _________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
- _________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
- _________________COLEMAK_L3________________, _________________COLEMAK_R3________________
- ),
-
- [_DVORAK] = LAYOUT_orthodox_base_wrapper(
- _________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
- _________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
- _________________DVORAK_L3_________________, _________________DVORAK_R3_________________
- ),
-
- [_WORKMAN] = LAYOUT_orthodox_base_wrapper(
- _________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
- _________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
- _________________WORKMAN_L3________________, _________________WORKMAN_R3________________
- ),
-
- [_NORMAN] = LAYOUT_orthodox_base_wrapper(
- _________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
- _________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
- _________________NORMAN_L3_________________, _________________NORMAN_R3_________________
- ),
-
- [_MALTRON] = LAYOUT_orthodox_base_wrapper(
- _________________MALTRON_L1________________, _________________MALTRON_R1________________,
- _________________MALTRON_L2________________, _________________MALTRON_R2________________,
- _________________MALTRON_L3________________, _________________MALTRON_R3________________
- ),
-
- [_EUCALYN] = LAYOUT_orthodox_base_wrapper(
- _________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
- _________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
- _________________EUCALYN_L3________________, _________________EUCALYN_R3________________
- ),
-
- [_CARPLAX] = LAYOUT_orthodox_base_wrapper(
- _____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
- _____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
- _____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
- ),
[_LOWER] = LAYOUT_wrapper(\
KC_TILD, _________________LOWER_L1__________________, _________________LOWER_R1__________________, KC_BSPC,
diff --git a/keyboards/orthodox/keymaps/rfvizarra/keymap.c b/keyboards/orthodox/keymaps/rfvizarra/keymap.c
index 4de7e39509..d8c836dc12 100644
--- a/keyboards/orthodox/keymaps/rfvizarra/keymap.c
+++ b/keyboards/orthodox/keymaps/rfvizarra/keymap.c
@@ -102,7 +102,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
state = update_tri_layer_state(state, _LOWER, _NAV, _NAV2);
return state;
diff --git a/keyboards/orthodox/rev3/config.h b/keyboards/orthodox/rev3/config.h
index 3f7a17b6bc..ae51281647 100644
--- a/keyboards/orthodox/rev3/config.h
+++ b/keyboards/orthodox/rev3/config.h
@@ -38,12 +38,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// wiring of each half
//REV.3 PRO MICRO
-#define MATRIX_ROW_PINS { D2, B4, B5, }
+#define MATRIX_ROW_PINS { D2, B4, B5 }
#define MATRIX_COL_PINS { D7, F4, F5, B6, B2, B3, B1, F7, F6 }
/*/
//REV.3 TEENSY
-#define MATRIX_ROW_PINS { B0, C6, C7, }
+#define MATRIX_ROW_PINS { B0, C6, C7 }
#define MATRIX_COL_PINS { D2, F5, F6, D6, D7, B4, B5, B6, F7 }
/*/
diff --git a/keyboards/orthodox/rev3_teensy/config.h b/keyboards/orthodox/rev3_teensy/config.h
index 37c8a7e734..a35c276d95 100644
--- a/keyboards/orthodox/rev3_teensy/config.h
+++ b/keyboards/orthodox/rev3_teensy/config.h
@@ -38,7 +38,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// wiring of each half
//REV.3 TEENSY
-#define MATRIX_ROW_PINS { B0, C6, C7, }
+#define MATRIX_ROW_PINS { B0, C6, C7 }
#define MATRIX_COL_PINS { D2, F5, F6, D6, D7, B4, B5, B6, F7 }
/* COL2ROW or ROW2COL */
diff --git a/keyboards/pandora/keymaps/default/keymap.c b/keyboards/pandora/keymaps/default/keymap.c
index eea641d195..1878f078ce 100644
--- a/keyboards/pandora/keymaps/default/keymap.c
+++ b/keyboards/pandora/keymaps/default/keymap.c
@@ -30,7 +30,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
}
// Encoder click function
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
/* First encoder */
case 0:
@@ -39,4 +39,5 @@ void dip_switch_update_user(uint8_t index, bool active) {
}
break;
}
+ return true;
}
diff --git a/keyboards/pandora/keymaps/via/keymap.c b/keyboards/pandora/keymaps/via/keymap.c
index ae97463f61..eb2007447b 100644
--- a/keyboards/pandora/keymaps/via/keymap.c
+++ b/keyboards/pandora/keymaps/via/keymap.c
@@ -45,7 +45,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
}
// Encoder click function
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
/* First encoder */
case 0:
@@ -54,4 +54,5 @@ void dip_switch_update_user(uint8_t index, bool active) {
}
break;
}
+ return true;
}
diff --git a/keyboards/pearlboards/pandora/keymaps/default/keymap.c b/keyboards/pearlboards/pandora/keymaps/default/keymap.c
index 1fd9fcfb4d..879ea04a1e 100644
--- a/keyboards/pearlboards/pandora/keymaps/default/keymap.c
+++ b/keyboards/pearlboards/pandora/keymaps/default/keymap.c
@@ -71,7 +71,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
return true;
}
// Encoder click function
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
/* First encoder */
case 0:
@@ -80,4 +80,5 @@ void dip_switch_update_user(uint8_t index, bool active) {
}
break;
}
+ return true;
}
diff --git a/keyboards/pearlboards/pandora/keymaps/via/keymap.c b/keyboards/pearlboards/pandora/keymaps/via/keymap.c
index 01f9ef8f43..55bbff9676 100644
--- a/keyboards/pearlboards/pandora/keymaps/via/keymap.c
+++ b/keyboards/pearlboards/pandora/keymaps/via/keymap.c
@@ -85,7 +85,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
return true;
}
// Encoder click function
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
/* First encoder */
case 0:
@@ -94,4 +94,5 @@ void dip_switch_update_user(uint8_t index, bool active) {
}
break;
}
+ return true;
}
diff --git a/keyboards/percent/canoe_gen2/config.h b/keyboards/percent/canoe_gen2/config.h
index bac5ebb3f3..6409371d40 100644
--- a/keyboards/percent/canoe_gen2/config.h
+++ b/keyboards/percent/canoe_gen2/config.h
@@ -64,4 +64,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGB_MATRIX_STARTUP_SAT 255
#define RGB_MATRIX_STARTUP_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS
#define RGB_MATRIX_STARTUP_SPD 127
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true
+#define RGB_DISABLE_WHEN_USB_SUSPENDED
diff --git a/keyboards/percent/canoe_gen2/keymaps/via/rules.mk b/keyboards/percent/canoe_gen2/keymaps/via/rules.mk
index 1e5b99807c..36b7ba9cbc 100644
--- a/keyboards/percent/canoe_gen2/keymaps/via/rules.mk
+++ b/keyboards/percent/canoe_gen2/keymaps/via/rules.mk
@@ -1 +1,2 @@
VIA_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/phase_studio/titan65/hotswap/config.h b/keyboards/phase_studio/titan65/hotswap/config.h
index 9a9e74bf1b..2b8320814e 100644
--- a/keyboards/phase_studio/titan65/hotswap/config.h
+++ b/keyboards/phase_studio/titan65/hotswap/config.h
@@ -47,5 +47,5 @@
#define RGB_DI_PIN E6
#define DRIVER_LED_TOTAL 67
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-#define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended
+// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
diff --git a/keyboards/planck/ez/config.h b/keyboards/planck/ez/config.h
index 5a0d9697b8..ffc2d14c67 100644
--- a/keyboards/planck/ez/config.h
+++ b/keyboards/planck/ez/config.h
@@ -148,7 +148,7 @@
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true
+#define RGB_DISABLE_WHEN_USB_SUSPENDED
#define RGB_MATRIX_LED_PROCESS_LIMIT 5
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
diff --git a/keyboards/planck/ez/ez.c b/keyboards/planck/ez/ez.c
index 6b381ed4a6..27cb2a1d1d 100644
--- a/keyboards/planck/ez/ez.c
+++ b/keyboards/planck/ez/ez.c
@@ -21,7 +21,7 @@
keyboard_config_t keyboard_config;
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/planck/ez/ez.h b/keyboards/planck/ez/ez.h
index 0915ddbea4..19cc26eea3 100644
--- a/keyboards/planck/ez/ez.h
+++ b/keyboards/planck/ez/ez.h
@@ -41,17 +41,21 @@
}
#define LAYOUT_ortho_4x12( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
- k30, k31, k32, k33, k34, k35, KC_NO, k37, k38, k39, k3a, k3b \
-) \
-LAYOUT_planck_1x2uC( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
- k30, k31, k32, k33, k34, k35, k37, k38, k39, k3a, k3b \
-)
+ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b \
+) \
+{ \
+ { k00, k01, k02, k03, k04, k05 }, \
+ { k10, k11, k12, k13, k14, k15 }, \
+ { k20, k21, k22, k23, k24, k25 }, \
+ { k30, k31, k32, k3a, k3b, k36 }, \
+ { k06, k07, k08, k09, k0a, k0b }, \
+ { k16, k17, k18, k19, k1a, k1b }, \
+ { k26, k27, k28, k29, k2a, k2b }, \
+ { k37, k38, k39, k33, k34, k35 } \
+}
#define LAYOUT_planck_mit LAYOUT_planck_1x2uC
#define LAYOUT_planck_grid LAYOUT_ortho_4x12
diff --git a/keyboards/planck/ez/rules.mk b/keyboards/planck/ez/rules.mk
index 8d221767e9..0f7161d3cf 100644
--- a/keyboards/planck/ez/rules.mk
+++ b/keyboards/planck/ez/rules.mk
@@ -21,7 +21,6 @@ AUDIO_ENABLE = yes # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/planck/keymaps/abishalom/keymap.c b/keyboards/planck/keymaps/abishalom/keymap.c
index bd53cfb7af..c88dced41f 100644
--- a/keyboards/planck/keymaps/abishalom/keymap.c
+++ b/keyboards/planck/keymaps/abishalom/keymap.c
@@ -221,7 +221,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
@@ -254,7 +254,7 @@ bool encoder_update(bool clockwise) {
return true;
}
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0: {
#ifdef AUDIO_ENABLE
@@ -283,6 +283,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
muse_mode = false;
}
}
+ return true;
}
void matrix_scan_user(void) {
diff --git a/keyboards/planck/keymaps/am/keymap.c b/keyboards/planck/keymaps/am/keymap.c
index c1fa3925fb..d521484a1c 100644
--- a/keyboards/planck/keymaps/am/keymap.c
+++ b/keyboards/planck/keymaps/am/keymap.c
@@ -171,7 +171,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
diff --git a/keyboards/planck/keymaps/andylikescandy/keymap.c b/keyboards/planck/keymaps/andylikescandy/keymap.c
index 295616f015..e873130f46 100644
--- a/keyboards/planck/keymaps/andylikescandy/keymap.c
+++ b/keyboards/planck/keymaps/andylikescandy/keymap.c
@@ -133,7 +133,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TILD, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_BSPC ,
KC_DEL , KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_PIPE ,
_______, LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V), _______, _______, _______, _______, _______, _______, KC_ENT ,
- _______, _______, _______, _______, _______, KC_SPC, KC_SPC, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
+ _______, _______, _______, _______, _______, KC_SPC, KC_SPC, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
),
/* Raise
@@ -151,7 +151,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC ,
KC_DEL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS ,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT ,
- _______, _______, _______, _______, _______, KC_SPC, KC_SPC, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
+ _______, _______, _______, _______, _______, KC_SPC, KC_SPC, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
),
/* Plover layer (http://opensteno.org)
@@ -216,7 +216,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
#endif
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
diff --git a/keyboards/planck/keymaps/atreus/keymap.c b/keyboards/planck/keymaps/atreus/keymap.c
index c9a721a1fa..f89b6fecde 100644
--- a/keyboards/planck/keymaps/atreus/keymap.c
+++ b/keyboards/planck/keymaps/atreus/keymap.c
@@ -144,7 +144,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
@@ -177,7 +177,7 @@ bool encoder_update(bool clockwise) {
return true;
}
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0: {
#ifdef AUDIO_ENABLE
@@ -206,6 +206,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
muse_mode = false;
}
}
+ return true;
}
void matrix_scan_user(void) {
diff --git a/keyboards/planck/keymaps/bone2planck/keymap.c b/keyboards/planck/keymaps/bone2planck/keymap.c
index 18b71bfc47..22bd50b297 100644
--- a/keyboards/planck/keymaps/bone2planck/keymap.c
+++ b/keyboards/planck/keymaps/bone2planck/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
DE_SS, DE_J, DE_D, DE_U, DE_A, DE_X, DE_P, DE_H, DE_L, DE_M, DE_W, DE_Q ,
// LT(1,KC_TAB), DE_C, DE_T, DE_I, DE_E, DE_O, DE_B, DE_N, DE_R, DE_S, DE_G, LT(1,KC_ENT) ,
MO(1), DE_C, DE_T, DE_I, DE_E, DE_O, DE_B, DE_N, DE_R, DE_S, DE_G, LT(1,KC_ENT) ,
- KC_LSFT, DE_F, DE_V, DE_UE, DE_AE, DE_OE, DE_Y, DE_Z, DE_COMM, DE_DOT, DE_K, KC_LSFT ,
+ KC_LSFT, DE_F, DE_V, DE_UDIA, DE_ADIA, DE_ODIA, DE_Y, DE_Z, DE_COMM, DE_DOT, DE_K, KC_LSFT ,
KC_LCTL, KC_LGUI, KC_LALT, MO(4), MO(2), KC_SPC, KC_SPC, MO(2), MO(4), KC_RALT, KC_ESC, KC_RCTL
),
@@ -49,9 +49,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[1] = LAYOUT_planck_grid(
- DE_RING, DE_AT, DE_UNDS, DE_LBRC, DE_RBRC, DE_CIRC, DE_EXLM, DE_LESS, DE_MORE, DE_EQL, DE_AMPR, DE_ACUT ,
- _______, DE_BSLS, DE_SLSH, DE_LCBR, DE_RCBR, DE_ASTR, DE_QST, DE_LPRN, DE_RPRN, DE_MINS, DE_COLN, _______ ,
- _______, DE_HASH, DE_TILD, DE_PIPE, DE_DLR, DE_EURO, DE_PLUS, DE_PERC, DE_DQOT, DE_QUOT, DE_SCLN, _______ ,
+ DE_DEG, DE_AT, DE_UNDS, DE_LBRC, DE_RBRC, DE_CIRC, DE_EXLM, DE_LABK, DE_RABK, DE_EQL, DE_AMPR, DE_ACUT ,
+ _______, DE_BSLS, DE_SLSH, DE_LCBR, DE_RCBR, DE_ASTR, DE_QUES, DE_LPRN, DE_RPRN, DE_MINS, DE_COLN, _______ ,
+ _______, DE_HASH, DE_TILD, DE_PIPE, DE_DLR, DE_EURO, DE_PLUS, DE_PERC, DE_DQUO, DE_QUOT, DE_SCLN, _______ ,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
@@ -108,8 +108,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[4] = LAYOUT_planck_grid(
XXXXXXX, XXXXXXX, KC_PSCR, KC_SLCK, KC_PAUS, XXXXXXX, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F12, XXXXXXX ,
- KC_TAB, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, DE_SQ3, KC_F4, KC_F5, KC_F6, KC_F11, KC_ENT ,
- _______, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, DE_SQ2, KC_F1, KC_F2, KC_F3, KC_F10, _______ ,
+ KC_TAB, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, DE_SUP3, KC_F4, KC_F5, KC_F6, KC_F11, KC_ENT ,
+ _______, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, DE_SUP2, KC_F1, KC_F2, KC_F3, KC_F10, _______ ,
_______, _______, _______, _______, MO(5), _______, _______, MO(5), _______, _______, _______, _______
),
@@ -128,8 +128,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[5] = LAYOUT_planck_grid(
XXXXXXX, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F12, XXXXXXX, KC_PSCR, KC_SLCK, KC_PAUS, XXXXXXX, XXXXXXX ,
- _______, DE_SQ3, KC_F4, KC_F5, KC_F6, KC_F11, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, _______ ,
- _______, DE_SQ2, KC_F1, KC_F2, KC_F3, KC_F10, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, _______ ,
+ _______, DE_SUP3, KC_F4, KC_F5, KC_F6, KC_F11, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, _______ ,
+ _______, DE_SUP2, KC_F1, KC_F2, KC_F3, KC_F10, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, _______ ,
_______, _______, _______, XXXXXXX, _______, _______, _______, _______, XXXXXXX, _______, _______, _______
)
};
diff --git a/keyboards/planck/keymaps/cbbrowne/rules.mk b/keyboards/planck/keymaps/cbbrowne/rules.mk
index 45d6837399..906ece8344 100644
--- a/keyboards/planck/keymaps/cbbrowne/rules.mk
+++ b/keyboards/planck/keymaps/cbbrowne/rules.mk
@@ -14,7 +14,6 @@ AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no # Enable SYSEX API (+5390)
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/planck/keymaps/charlesrocket/keymap.c b/keyboards/planck/keymaps/charlesrocket/keymap.c
index 47cb8865d7..cec3f0186a 100644
--- a/keyboards/planck/keymaps/charlesrocket/keymap.c
+++ b/keyboards/planck/keymaps/charlesrocket/keymap.c
@@ -12,8 +12,8 @@
#define KC_PC_CUT LCTL(KC_X)
#define KC_PC_COPY LCTL(KC_C)
#define KC_PC_PASTE LCTL(KC_V)
-#define ES_LESS_MAC KC_GRAVE
-#define ES_GRTR_MAC LSFT(KC_GRAVE)
+#define ES_LABK_MAC KC_GRAVE
+#define ES_RABK_MAC LSFT(KC_GRAVE)
#define ES_BSLS_MAC ALGR(KC_6)
#define NO_PIPE_ALT KC_GRAVE
#define NO_BSLS_ALT KC_EQUAL
@@ -139,7 +139,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
diff --git a/keyboards/planck/keymaps/corvec/rules.mk b/keyboards/planck/keymaps/corvec/rules.mk
index c17a31a233..4398ea5452 100644
--- a/keyboards/planck/keymaps/corvec/rules.mk
+++ b/keyboards/planck/keymaps/corvec/rules.mk
@@ -1,5 +1,4 @@
AUTO_SHIFT_ENABLE = yes
TAP_DANCE_ENABLE = yes
-API_SYSEX_ENABLE = no
CONSOLE_ENABLE = no
EXTRAKEY_ENABLE = no
diff --git a/keyboards/planck/keymaps/dear_vehicle_owner/keymap.c b/keyboards/planck/keymaps/dear_vehicle_owner/keymap.c
index aec7bcdd7d..c25df20a5b 100644
--- a/keyboards/planck/keymaps/dear_vehicle_owner/keymap.c
+++ b/keyboards/planck/keymaps/dear_vehicle_owner/keymap.c
@@ -263,7 +263,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
@@ -296,7 +296,7 @@ bool encoder_update(bool clockwise) {
return true;
}
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0: {
#ifdef AUDIO_ENABLE
@@ -325,6 +325,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
muse_mode = false;
}
}
+ return true;
}
void matrix_scan_user(void) {
diff --git a/keyboards/planck/keymaps/default/keymap.c b/keyboards/planck/keymaps/default/keymap.c
index 304d320b69..9a6e1189b6 100644
--- a/keyboards/planck/keymaps/default/keymap.c
+++ b/keyboards/planck/keymaps/default/keymap.c
@@ -256,7 +256,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
@@ -289,7 +289,7 @@ bool encoder_update(bool clockwise) {
return true;
}
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0: {
#ifdef AUDIO_ENABLE
@@ -318,6 +318,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
muse_mode = false;
}
}
+ return true;
}
void matrix_scan_user(void) {
diff --git a/keyboards/planck/keymaps/deft/keymap.c b/keyboards/planck/keymaps/deft/keymap.c
index 25a0a9f446..d7d40f146b 100644
--- a/keyboards/planck/keymaps/deft/keymap.c
+++ b/keyboards/planck/keymaps/deft/keymap.c
@@ -133,6 +133,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
diff --git a/keyboards/planck/keymaps/dsanchezseco/keymap.c b/keyboards/planck/keymaps/dsanchezseco/keymap.c
index 9da2dce163..901709429b 100644
--- a/keyboards/planck/keymaps/dsanchezseco/keymap.c
+++ b/keyboards/planck/keymaps/dsanchezseco/keymap.c
@@ -50,6 +50,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// eeconfig_init();
//}
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
diff --git a/keyboards/planck/keymaps/dvorak2space/rules.mk b/keyboards/planck/keymaps/dvorak2space/rules.mk
index 59f9f1dff2..b17bae4d2a 100644
--- a/keyboards/planck/keymaps/dvorak2space/rules.mk
+++ b/keyboards/planck/keymaps/dvorak2space/rules.mk
@@ -11,7 +11,6 @@ AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
TAP_DANCE_ENABLE = yes
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
diff --git a/keyboards/planck/keymaps/eshesh2/keymap.c b/keyboards/planck/keymaps/eshesh2/keymap.c
index 59768e15aa..c13af1d3fc 100644
--- a/keyboards/planck/keymaps/eshesh2/keymap.c
+++ b/keyboards/planck/keymaps/eshesh2/keymap.c
@@ -187,7 +187,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
diff --git a/keyboards/planck/keymaps/fabian/keymap.c b/keyboards/planck/keymaps/fabian/keymap.c
index 08ea09d8b0..9969d4337e 100644
--- a/keyboards/planck/keymaps/fabian/keymap.c
+++ b/keyboards/planck/keymaps/fabian/keymap.c
@@ -185,7 +185,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
#endif
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
@@ -265,7 +265,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
@@ -291,7 +291,7 @@ bool encoder_update(bool clockwise) {
}
}
-void dip_update(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
diff --git a/keyboards/planck/keymaps/gitdrik/keymap.c b/keyboards/planck/keymaps/gitdrik/keymap.c
index 9cc5f7517f..58db078281 100644
--- a/keyboards/planck/keymaps/gitdrik/keymap.c
+++ b/keyboards/planck/keymaps/gitdrik/keymap.c
@@ -137,7 +137,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RIGHT)) {
if (clockwise) {
@@ -170,7 +170,7 @@ bool encoder_update(bool clockwise) {
return true;
}
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0: {
#ifdef AUDIO_ENABLE
@@ -199,6 +199,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
muse_mode = false;
}
}
+ return true;
}
void matrix_scan_user(void) {
diff --git a/keyboards/planck/keymaps/grant24/keymap.c b/keyboards/planck/keymaps/grant24/keymap.c
index 7ed9a794e4..a82403d197 100644
--- a/keyboards/planck/keymaps/grant24/keymap.c
+++ b/keyboards/planck/keymaps/grant24/keymap.c
@@ -279,7 +279,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
@@ -312,7 +312,7 @@ bool encoder_update(bool clockwise) {
return true;
}
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0: {
#ifdef AUDIO_ENABLE
@@ -341,6 +341,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
muse_mode = false;
}
}
+ return true;
}
void matrix_scan_user(void) {
diff --git a/keyboards/planck/keymaps/hvp/keymap.c b/keyboards/planck/keymaps/hvp/keymap.c
index 1af3771ae0..95d3646dfa 100644
--- a/keyboards/planck/keymaps/hvp/keymap.c
+++ b/keyboards/planck/keymaps/hvp/keymap.c
@@ -89,7 +89,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
@@ -122,7 +122,7 @@ bool encoder_update(bool clockwise) {
return true;
}
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0: {
#ifdef AUDIO_ENABLE
@@ -151,6 +151,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
muse_mode = false;
}
}
+ return true;
}
void matrix_scan_user(void) {
diff --git a/keyboards/planck/keymaps/jasperla/keymap.c b/keyboards/planck/keymaps/jasperla/keymap.c
index b9eb72b073..f51af78b52 100644
--- a/keyboards/planck/keymaps/jasperla/keymap.c
+++ b/keyboards/planck/keymaps/jasperla/keymap.c
@@ -131,6 +131,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
diff --git a/keyboards/planck/keymaps/jdelkins/keymap.c b/keyboards/planck/keymaps/jdelkins/keymap.c
index 3d109e9e8c..249cd2783e 100644
--- a/keyboards/planck/keymaps/jdelkins/keymap.c
+++ b/keyboards/planck/keymaps/jdelkins/keymap.c
@@ -259,7 +259,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-void encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
@@ -289,9 +289,10 @@ void encoder_update(bool clockwise) {
#endif
}
}
+ return true;
}
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0: {
#ifdef AUDIO_ENABLE
@@ -320,6 +321,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
muse_mode = false;
}
}
+ return true;
}
void keyboard_post_init_keymap(void) {
diff --git a/keyboards/planck/keymaps/jetpacktuxedo/keymap.c b/keyboards/planck/keymaps/jetpacktuxedo/keymap.c
index 3e195671a8..2e7d8e876b 100644
--- a/keyboards/planck/keymaps/jetpacktuxedo/keymap.c
+++ b/keyboards/planck/keymaps/jetpacktuxedo/keymap.c
@@ -137,7 +137,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
#endif
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
@@ -190,7 +190,7 @@ uint16_t muse_tempo = 20;
extern float clicky_rand;
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (is_clicky_on()) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
@@ -241,7 +241,7 @@ bool encoder_update(bool clockwise) {
return true;
}
-void dip_update(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -273,6 +273,7 @@ void dip_update(uint8_t index, bool active) {
clicky_off();
}
}
+ return true;
}
void matrix_scan_user(void) {
diff --git a/keyboards/planck/keymaps/lja83/keymap.c b/keyboards/planck/keymaps/lja83/keymap.c
index d42c5b645e..82862a77ed 100644
--- a/keyboards/planck/keymaps/lja83/keymap.c
+++ b/keyboards/planck/keymaps/lja83/keymap.c
@@ -266,7 +266,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-bool encoder_update_user(uint16_t index, bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
@@ -299,7 +299,7 @@ bool encoder_update_user(uint16_t index, bool clockwise) {
return true;
}
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0: {
#ifdef AUDIO_ENABLE
@@ -328,6 +328,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
muse_mode = false;
}
}
+ return true;
}
void matrix_scan_user(void) {
diff --git a/keyboards/planck/keymaps/lucas/keymap.c b/keyboards/planck/keymaps/lucas/keymap.c
index 26ca6a5505..01a2af7b19 100644
--- a/keyboards/planck/keymaps/lucas/keymap.c
+++ b/keyboards/planck/keymaps/lucas/keymap.c
@@ -42,8 +42,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------'
*/
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DE_DOT, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DE_DQOT,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M(1), DE_MORE, DE_QST, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DE_DQUO,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, M(1), DE_RABK, DE_QUES, KC_TRNS,
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_planck_grid( /* Raise
@@ -57,8 +57,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |LCTL |LGUI | Tab |LALT |Lower| Space | |Mute |Vol- |Vol+ | P/P |
* `-----------------------------------------------------------------------'
*/
- KC_NO, S(DE_AE), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, S(DE_UE), S(DE_OE), KC_NO, TG(5),
- KC_DEL, DE_AE, KC_NO, DE_SS, KC_NO, KC_NO, KC_NO, KC_NO, DE_UE, DE_OE, KC_NO, RALT(KC_F12),
+ KC_NO, S(DE_ADIA), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, S(DE_UDIA), S(DE_ODIA), KC_NO, TG(5),
+ KC_DEL, DE_ADIA, KC_NO, DE_SS, KC_NO, KC_NO, KC_NO, KC_NO, DE_UDIA, DE_ODIA, KC_NO, RALT(KC_F12),
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MSTP, KC_MPRV, KC_MNXT, RALT(KC_F11),
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY
),
@@ -144,9 +144,9 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
case 1: // M(1)
if (record->event.pressed) {
unregister_code(KC_LSFT);
- register_code(DE_LESS);
+ register_code(DE_LABK);
} else {
- unregister_code(DE_LESS);
+ unregister_code(DE_LABK);
}
break;
}
diff --git a/keyboards/planck/keymaps/mgalisa/keymap.c b/keyboards/planck/keymaps/mgalisa/keymap.c
index e3ecc8d7c5..09e829564c 100644
--- a/keyboards/planck/keymaps/mgalisa/keymap.c
+++ b/keyboards/planck/keymaps/mgalisa/keymap.c
@@ -207,7 +207,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
#endif
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
@@ -317,7 +317,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
@@ -350,7 +350,7 @@ bool encoder_update(bool clockwise) {
return true;
}
-void dip_update(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
diff --git a/keyboards/planck/keymaps/mikethetiger/keymap.c b/keyboards/planck/keymaps/mikethetiger/keymap.c
index e319fd49ef..2fe9321501 100644
--- a/keyboards/planck/keymaps/mikethetiger/keymap.c
+++ b/keyboards/planck/keymaps/mikethetiger/keymap.c
@@ -176,7 +176,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
#endif
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
@@ -256,7 +256,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
@@ -293,7 +293,7 @@ bool encoder_update(bool clockwise) {
return true;
}
-void dip_update(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -318,6 +318,7 @@ void dip_update(uint8_t index, bool active) {
#endif
}
}
+ return true;
}
void matrix_scan_user(void) {
diff --git a/keyboards/planck/keymaps/mjuma/keymap.c b/keyboards/planck/keymaps/mjuma/keymap.c
index 2204fb2881..8aaa05864f 100644
--- a/keyboards/planck/keymaps/mjuma/keymap.c
+++ b/keyboards/planck/keymaps/mjuma/keymap.c
@@ -190,7 +190,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 1:
if (active) {
@@ -199,6 +199,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
muse_mode = false;
}
}
+ return true;
}
void matrix_scan_user(void) {
diff --git a/keyboards/planck/keymaps/motform/keymap.c b/keyboards/planck/keymaps/motform/keymap.c
index 6414b5db74..0dd046a93a 100644
--- a/keyboards/planck/keymaps/motform/keymap.c
+++ b/keyboards/planck/keymaps/motform/keymap.c
@@ -51,8 +51,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_COLEMAK] = LAYOUT_planck_grid
(
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, SE_OSLH, SE_AA,
- KC_ECTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, SE_AE,
+ KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, SE_ODIA, SE_ARNG,
+ KC_ECTL, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, SE_ADIA,
KC_SFTENT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, SE_MINS, KC_SFTENT,
KC_ESC, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_BSPC, RAISE, KC_RGUI, KC_RALT, KC_HYPR, KC_MEH
),
@@ -70,9 +70,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_LOWER] = LAYOUT_planck_grid
(
- _______, SE_PIPE_MAC, SE_APOS, SE_AT_MAC_V, SE_AMPR, _______, KC_DOWN, KC_NO, KC_RGHT, SE_GRV, SE_GRV, SE_TILD,
- _______, KC_EXLM, SE_QUO2, KC_HASH, SE_QUES, KC_PERC, KC_LEFT, SE_SLSH, SE_BSLS_MAC, SE_EQL, KC_PPLS, KC_PAST,
- _______, KC_NO, KC_NO, SE_LBRC, SE_RBRC, KC_NO, KC_UP, SE_LCBR_MAC, SE_RCBR_MAC, KC_NO, KC_NO, _______,
+ _______, SE_LCBR, SE_QUOT, SE_AT_MAC_V, SE_AMPR, _______, KC_DOWN, KC_NO, KC_RGHT, SE_GRV, SE_GRV, SE_TILD,
+ _______, KC_EXLM, SE_DQUO, KC_HASH, SE_QUES, KC_PERC, KC_LEFT, SE_SLSH, S(SE_LCBR), SE_EQL, KC_PPLS, KC_PAST,
+ _______, KC_NO, KC_NO, SE_LBRC, SE_RBRC, KC_NO, KC_UP, S(SE_LBRC), S(SE_RBRC), KC_NO, KC_NO, _______,
_______, _______, _______, _______, _______, _______, KC_DEL, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
@@ -89,9 +89,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_RAISE] = LAYOUT_planck_grid
(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- SE_CIRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, SE_DLR_MAC_V,
- _______, KC_NO, KC_NO, SE_LESS_MAC, SE_GRTR_MAC, KC_NO, KC_NO, SE_LPRN, SE_RPRN, KC_PGUP, KC_PGDN, KC_NO,
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+ SE_CIRC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, SE_DLR_MAC_V,
+ _______, KC_NO, KC_NO, SE_SECT, SE_HALF, KC_NO, KC_NO, SE_LPRN, SE_RPRN, KC_PGUP, KC_PGDN, KC_NO,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
@@ -116,6 +116,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
diff --git a/keyboards/planck/keymaps/msiu/keymap.c b/keyboards/planck/keymaps/msiu/keymap.c
index bc067973c4..559767f1fb 100644
--- a/keyboards/planck/keymaps/msiu/keymap.c
+++ b/keyboards/planck/keymaps/msiu/keymap.c
@@ -82,7 +82,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
#endif
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
@@ -128,7 +128,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
@@ -155,7 +155,7 @@ bool encoder_update(bool clockwise) {
return true;
}
-void dip_update(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -180,6 +180,7 @@ void dip_update(uint8_t index, bool active) {
#endif
}
}
+ return true;
}
void matrix_scan_user(void) {
diff --git a/keyboards/planck/keymaps/muzfuz/keymap.c b/keyboards/planck/keymaps/muzfuz/keymap.c
index ec2de450a4..5e21660d01 100644
--- a/keyboards/planck/keymaps/muzfuz/keymap.c
+++ b/keyboards/planck/keymaps/muzfuz/keymap.c
@@ -118,7 +118,7 @@ float plover_song[][2] = SONG(PLOVER_SOUND);
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
#endif
-uint32_t layer_state_set_user(uint32_t state)
+layer_state_t layer_state_set_user(layer_state_t state)
{
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
@@ -177,8 +177,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-bool encoder_update(bool clockwise)
-{
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode)
{
if (IS_LAYER_ON(_RAISE))
@@ -230,8 +229,7 @@ bool encoder_update(bool clockwise)
return true;
}
-void dip_update(uint8_t index, bool active)
-{
+bool encoder_update_user(uint8_t index, bool clockwise) {
switch (index)
{
case 0:
@@ -263,6 +261,7 @@ void dip_update(uint8_t index, bool active)
#endif
}
}
+ return true;
}
void matrix_scan_user(void)
diff --git a/keyboards/planck/keymaps/mwpeterson/keymap.c b/keyboards/planck/keymaps/mwpeterson/keymap.c
index 961b8394bc..dbe2f246f7 100644
--- a/keyboards/planck/keymaps/mwpeterson/keymap.c
+++ b/keyboards/planck/keymaps/mwpeterson/keymap.c
@@ -258,7 +258,7 @@ void matrix_init_user(void) {
set_unicode_input_mode(UC_LNX);
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, LOWER_LAYER, RAISE_LAYER, ADJUST_LAYER);
}
diff --git a/keyboards/planck/keymaps/navi/keymap.c b/keyboards/planck/keymaps/navi/keymap.c
index db53451276..8141607f64 100644
--- a/keyboards/planck/keymaps/navi/keymap.c
+++ b/keyboards/planck/keymaps/navi/keymap.c
@@ -119,7 +119,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
@@ -170,7 +170,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
diff --git a/keyboards/planck/keymaps/neo2planck/keymap.c b/keyboards/planck/keymaps/neo2planck/keymap.c
index d09103c1e5..9684dd19d0 100644
--- a/keyboards/planck/keymaps/neo2planck/keymap.c
+++ b/keyboards/planck/keymaps/neo2planck/keymap.c
@@ -29,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_planck_grid(
KC_ESC, DE_X, DE_V, DE_L, DE_C, DE_W, DE_K, DE_H, DE_G, DE_F, DE_Q, KC_BSPC ,
KC_ENT, DE_U, DE_I, DE_A, DE_E, DE_O, DE_S, DE_N, DE_R, DE_T, DE_D, DE_Y ,
- KC_LSFT, DE_UE, DE_OE, DE_AE, DE_P, DE_Z, DE_B, DE_M, DE_COMM, DE_DOT, DE_J, KC_LSFT ,
+ KC_LSFT, DE_UDIA, DE_ODIA, DE_ADIA, DE_P, DE_Z, DE_B, DE_M, DE_COMM, DE_DOT, DE_J, KC_LSFT ,
KC_LCTL , KC_RGUI, KC_LALT, MO(2), MO(1), KC_SPC, KC_SPC, MO(1), MO(2), KC_RALT, KC_BTN2, KC_RCTL
),
@@ -45,9 +45,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
`-----------------------------------------------------------------------------------'
*/
[1] = LAYOUT_planck_grid(
- _______, _______, DE_UNDS, DE_LBRC, DE_RBRC, DE_CIRC, DE_EXLM, DE_LESS, DE_MORE, DE_EQL, DE_AMPR, DE_SS ,
- KC_TAB, DE_BSLS, DE_SLSH, DE_LCBR, DE_RCBR, DE_ASTR, DE_QST, DE_LPRN, DE_RPRN, DE_MINS, DE_COLN, DE_AT ,
- _______, DE_HASH, DE_DLR, DE_PIPE, DE_TILD, DE_ACUT, DE_PLUS, DE_PERC, DE_DQOT, DE_QUOT, DE_SCLN, _______ ,
+ _______, _______, DE_UNDS, DE_LBRC, DE_RBRC, DE_CIRC, DE_EXLM, DE_LABK, DE_RABK, DE_EQL, DE_AMPR, DE_SS ,
+ KC_TAB, DE_BSLS, DE_SLSH, DE_LCBR, DE_RCBR, DE_ASTR, DE_QUES, DE_LPRN, DE_RPRN, DE_MINS, DE_COLN, DE_AT ,
+ _______, DE_HASH, DE_DLR, DE_PIPE, DE_TILD, DE_ACUT, DE_PLUS, DE_PERC, DE_DQUO, DE_QUOT, DE_SCLN, _______ ,
_______, _______, _______, MO(3), _______, _______, _______, _______, MO(3), _______, _______, _______
),
@@ -83,8 +83,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[3] = LAYOUT_planck_grid(
XXXXXXX, XXXXXXX, KC_PSCR, KC_SLCK, KC_PAUS, XXXXXXX, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F12, XXXXXXX ,
- KC_TAB, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, DE_SQ3, KC_F4, KC_F5, KC_F6, KC_F11, KC_ENT ,
- _______, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, DE_SQ2, KC_F1, KC_F2, KC_F3, KC_F10, _______ ,
+ KC_TAB, XXXXXXX, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, DE_SUP3, KC_F4, KC_F5, KC_F6, KC_F11, KC_ENT ,
+ _______, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, DE_SUP2, KC_F1, KC_F2, KC_F3, KC_F10, _______ ,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/planck/keymaps/nick/keymap.c b/keyboards/planck/keymaps/nick/keymap.c
index b717ccdc81..d75a91edb6 100644
--- a/keyboards/planck/keymaps/nick/keymap.c
+++ b/keyboards/planck/keymaps/nick/keymap.c
@@ -105,11 +105,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (clockwise && !IS_LAYER_ON(_RAISE)) {
tap_code(KC_MS_WH_DOWN);
} else if (!clockwise && !IS_LAYER_ON(_RAISE)) {
diff --git a/keyboards/planck/keymaps/pascamel/keymap.c b/keyboards/planck/keymaps/pascamel/keymap.c
index 852643218c..13553dc399 100644
--- a/keyboards/planck/keymaps/pascamel/keymap.c
+++ b/keyboards/planck/keymaps/pascamel/keymap.c
@@ -118,7 +118,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
#endif
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
@@ -157,7 +157,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
@@ -184,7 +184,7 @@ bool encoder_update(bool clockwise) {
return true;
}
-void dip_update(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -209,6 +209,7 @@ void dip_update(uint8_t index, bool active) {
#endif
}
}
+ return true;
}
void matrix_scan_user(void) {
diff --git a/keyboards/planck/keymaps/pevecyan/keymap.c b/keyboards/planck/keymaps/pevecyan/keymap.c
index 2391efebb1..553dd84a5d 100644
--- a/keyboards/planck/keymaps/pevecyan/keymap.c
+++ b/keyboards/planck/keymaps/pevecyan/keymap.c
@@ -132,7 +132,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
-[_ALTGR] = LAYOUT_planck_grid(k
+[_ALTGR] = LAYOUT_planck_grid(
_______, SI_BSLS, SI_PIPE, SI_EURO, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, SI_LBRC, SI_RBRC, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, SI_AT, SI_LCBR, SI_RCBR, _______, SI_LABK, SI_RABK, _______, _______,
@@ -168,7 +168,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
#endif
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
@@ -178,7 +178,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
@@ -205,7 +205,7 @@ bool encoder_update(bool clockwise) {
return true;
}
-void dip_update(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -230,6 +230,7 @@ void dip_update(uint8_t index, bool active) {
#endif
}
}
+ return true;
}
void matrix_scan_user(void) {
diff --git a/keyboards/planck/keymaps/pickle_jr/keymap.c b/keyboards/planck/keymaps/pickle_jr/keymap.c
index 317ebcf399..31853819c6 100644
--- a/keyboards/planck/keymaps/pickle_jr/keymap.c
+++ b/keyboards/planck/keymaps/pickle_jr/keymap.c
@@ -1,4 +1,4 @@
-#include QMK_KEYBOARD_H
+#include QMK_KEYBOARD_H
#define _QWERTY 0
#define _LOWER 1
@@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
TABCALC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, QUOCALC,
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SCOLNAV, KC_ENT ,
KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
- LBRACK , KC_LCTL, KC_PSCR, KC_LGUI, KC_BSPC, LOWER, RAISE, KC_SPC, KC_RALT, VIMSAVE, KC_RCTL, RBRACK
+ LBRACK , KC_LCTL, KC_PSCR, KC_LGUI, KC_BSPC, LOWER, RAISE, KC_SPC, KC_RALT, VIMSAVE, KC_RCTL, RBRACK
),
/* Lower
@@ -181,7 +181,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
#endif
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
};
diff --git a/keyboards/planck/keymaps/priyadi/rules.mk b/keyboards/planck/keymaps/priyadi/rules.mk
index 1ce96968bc..b2abe4f076 100644
--- a/keyboards/planck/keymaps/priyadi/rules.mk
+++ b/keyboards/planck/keymaps/priyadi/rules.mk
@@ -13,7 +13,6 @@ UNICODE_ENABLE = no # Unicode
UNICODEMAP_ENABLE = yes # Unicode map
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
ifeq ($(strip $(KEYBOARD)), planck/rev4)
BACKLIGHT_ENABLE = yes
diff --git a/keyboards/planck/keymaps/ptillemans/keymap.c b/keyboards/planck/keymaps/ptillemans/keymap.c
index c163f73727..e671fd59ca 100644
--- a/keyboards/planck/keymaps/ptillemans/keymap.c
+++ b/keyboards/planck/keymaps/ptillemans/keymap.c
@@ -232,7 +232,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
@@ -269,7 +269,7 @@ bool encoder_update(bool clockwise) {
return true;
}
-void dip_update(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -294,6 +294,7 @@ void dip_update(uint8_t index, bool active) {
#endif
}
}
+ return true;
}
void matrix_scan_user(void) {
diff --git a/keyboards/planck/keymaps/raffle/keymap.c b/keyboards/planck/keymaps/raffle/keymap.c
index 350a9166c1..52727f35b1 100644
--- a/keyboards/planck/keymaps/raffle/keymap.c
+++ b/keyboards/planck/keymaps/raffle/keymap.c
@@ -164,7 +164,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
#endif
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
@@ -223,7 +223,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
@@ -250,7 +250,7 @@ bool encoder_update(bool clockwise) {
return true;
}
-void dip_update(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -275,6 +275,7 @@ void dip_update(uint8_t index, bool active) {
#endif
}
}
+ return true;
}
void matrix_scan_user(void) {
diff --git a/keyboards/planck/keymaps/rjhilgefort/keymap.c b/keyboards/planck/keymaps/rjhilgefort/keymap.c
index d832e70515..08e9809e90 100644
--- a/keyboards/planck/keymaps/rjhilgefort/keymap.c
+++ b/keyboards/planck/keymaps/rjhilgefort/keymap.c
@@ -154,7 +154,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
@@ -187,7 +187,7 @@ bool encoder_update(bool clockwise) {
return true;
}
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0: {
#ifdef AUDIO_ENABLE
@@ -216,6 +216,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
muse_mode = false;
}
}
+ return true;
}
void matrix_scan_user(void) {
diff --git a/keyboards/planck/keymaps/rodhaene/rules.mk b/keyboards/planck/keymaps/rodhaene/rules.mk
index 7db994581a..a754257523 100644
--- a/keyboards/planck/keymaps/rodhaene/rules.mk
+++ b/keyboards/planck/keymaps/rodhaene/rules.mk
@@ -14,7 +14,6 @@ AUDIO_ENABLE = yes # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend \ No newline at end of file
diff --git a/keyboards/planck/keymaps/sgoodwin/rules.mk b/keyboards/planck/keymaps/sgoodwin/rules.mk
index cdcb4a887d..1e877943d9 100644
--- a/keyboards/planck/keymaps/sgoodwin/rules.mk
+++ b/keyboards/planck/keymaps/sgoodwin/rules.mk
@@ -14,7 +14,6 @@ AUDIO_ENABLE = yes # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no # Disable extra stuff for ergodoxen
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend \ No newline at end of file
diff --git a/keyboards/planck/keymaps/sigul/keymap.c b/keyboards/planck/keymaps/sigul/keymap.c
index bdbf21b113..622e9f29cd 100644
--- a/keyboards/planck/keymaps/sigul/keymap.c
+++ b/keyboards/planck/keymaps/sigul/keymap.c
@@ -49,9 +49,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_LOWER] = LAYOUT_ortho_4x12(
- IT_TILDE, IT_EXLM, IT_AT, IT_SHRP, IT_DLR, IT_PERC, IT_CRC, IT_AMPR, IT_ASTR, IT_LPRN, IT_RPRN, KC_DEL,
- KC_ENT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, S(IT_MINS), IT_EQL, S(IT_EACC), IT_OACC, IT_AACC,
- _______, KC_F6, KC_F7, KC_F8, KC_F9, _______, NUMPAD, S(IT_UACC), IT_PLMN, IT_LCBR, IT_RCBR, IT_PIPE,
+ IT_TILD, IT_EXLM, IT_AT, IT_HASH, IT_DLR, IT_PERC, IT_CIRC, IT_AMPR, IT_ASTR, IT_LPRN, IT_RPRN, KC_DEL,
+ KC_ENT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, S(IT_MINS), IT_EQL, S(IT_EGRV), IT_OGRV, IT_AGRV,
+ _______, KC_F6, KC_F7, KC_F8, KC_F9, _______, NUMPAD, S(IT_UGRV), IT_PLMN, IT_LCBR, IT_RCBR, IT_PIPE,
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
@@ -67,8 +67,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_RAISE] = LAYOUT_ortho_4x12(
- IT_GRAVE, IT_1, IT_2, IT_3, IT_4, IT_5, IT_6, IT_7, IT_8, IT_9, IT_0, _______,
- _______, _______, SECRET0, SECRET1, _______, _______, _______, IT_MINS, IT_PLUS, IT_EACC, IT_IACC, IT_UACC,
+ IT_GRV, IT_1, IT_2, IT_3, IT_4, IT_5, IT_6, IT_7, IT_8, IT_9, IT_0, _______,
+ _______, _______, SECRET0, SECRET1, _______, _______, _______, IT_MINS, IT_PLUS, IT_EGRV, IT_IGRV, IT_UGRV,
KC_CAPS, _______, SECRET2, SECRET3, SECRET4, _______, NUMPAD, SECRET5, _______, IT_LBRC, IT_RBRC, IT_BSLS,
_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
),
@@ -162,7 +162,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
diff --git a/keyboards/planck/keymaps/skug/keymap.c b/keyboards/planck/keymaps/skug/keymap.c
index a2162d9112..6367d3c346 100644
--- a/keyboards/planck/keymaps/skug/keymap.c
+++ b/keyboards/planck/keymaps/skug/keymap.c
@@ -39,7 +39,7 @@ enum planck_keycodes {
#define ESC_LOW LT(_LOWER, KC_ESC)
#define BSP_RAI LT(_RAISE, KC_BSPC)
-#define LFT_CTR CTL_T(SE_APOS)
+#define LFT_CTR CTL_T(SE_QUOT)
#define RGT_CTR CTL_T(KC_TILD)
#define UTILITY MO(_UTILITY)
@@ -57,8 +57,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_DEFAULT] = LAYOUT_planck_grid(
- KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , SE_AA ,
- UTILITY, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , SE_OSLH, SE_AE ,
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , SE_ARNG,
+ UTILITY, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , SE_ODIA, SE_ADIA,
KC_LSPO, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , SE_MINS, KC_RSPC,
LFT_CTR, KC_LALT, KC_LGUI, SE_AT , ESC_LOW, KC_ENT , KC_SPC , BSP_RAI, _______, KC_ALGR, SE_ASTR, RGT_CTR
),
@@ -77,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_RAISE] = LAYOUT_planck_grid(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PLUS,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, SE_GRTR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, SE_RABK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
@@ -93,9 +93,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_LOWER] = LAYOUT_planck_grid(
- SE_HALF, LSFT(KC_1), SE_QUO2, LSFT(KC_3), SE_BULT, LSFT(KC_5), SE_AMPR, SE_SLSH, SE_LPRN, SE_RPRN, SE_EQL , SE_QUES,
+ SE_HALF, LSFT(KC_1), SE_DQUO, LSFT(KC_3), SE_CURR, LSFT(KC_5), SE_AMPR, SE_SLSH, SE_LPRN, SE_RPRN, SE_EQL , SE_QUES,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, SE_LESS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, SE_LABK, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
@@ -153,7 +153,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
float s9[][2] = SONG(SONIC_RING);
#endif
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
@@ -264,7 +264,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
@@ -291,7 +291,7 @@ bool encoder_update(bool clockwise) {
return true;
}
-void dip_update(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -316,6 +316,7 @@ void dip_update(uint8_t index, bool active) {
#endif
}
}
+ return true;
}
void matrix_scan_user(void) {
diff --git a/keyboards/planck/keymaps/smittey/keymap.c b/keyboards/planck/keymaps/smittey/keymap.c
index 7efe5fd4d1..537b60c103 100644
--- a/keyboards/planck/keymaps/smittey/keymap.c
+++ b/keyboards/planck/keymaps/smittey/keymap.c
@@ -224,7 +224,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
#endif
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
@@ -297,7 +297,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
@@ -322,7 +322,7 @@ bool encoder_update(bool clockwise) {
return true;
}
-void dip_update(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -347,6 +347,7 @@ void dip_update(uint8_t index, bool active) {
#endif
}
}
+ return true;
}
void matrix_scan_user(void) {
diff --git a/keyboards/planck/keymaps/snowkuma/keymap.c b/keyboards/planck/keymaps/snowkuma/keymap.c
index eee8e11701..fef6246b4a 100644
--- a/keyboards/planck/keymaps/snowkuma/keymap.c
+++ b/keyboards/planck/keymaps/snowkuma/keymap.c
@@ -84,7 +84,7 @@ void safe_reset(qk_tap_dance_state_t *state, void *user_data) {
register_code(KC_SLSH);
}
}
-}
+}
void tilde_reset(qk_tap_dance_state_t *state, void *user_data)
{
@@ -123,7 +123,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_COLEMAK] = LAYOUT_planck_grid(
Q_CTL, W_ALT, F_GUI, KC_P, KC_G, _______, _______, KC_J, KC_L, U_GUI, Y_ALT, SCL_CTL,
KC_A, KC_R, KC_S, T_SFT, KC_D, _______, _______, KC_H, N_SFT, KC_E, KC_I, KC_O,
- KC_Z, KC_X, KC_C, KC_V, KC_B, _______, _______, KC_K, KC_M, KC_COMM, KC_DOT, KC_QUOT,
+ KC_Z, KC_X, KC_C, KC_V, KC_B, _______, _______, KC_K, KC_M, KC_COMM, KC_DOT, KC_QUOT,
_______, _______, _______, ESC_NUM, BSP_REG, MIN_ARR, TAB_SFT, SPC_SYM, ENT_THU, _______, _______, _______
),
@@ -173,7 +173,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Number Layer
* ,-----------------------------------------------------------------------------------------------------------.
- * | : | F | E | D | G | | | * | 7 | 8 | 9 | 0 |
+ * | : | F | E | D | G | | | * | 7 | 8 | 9 | 0 |
* | | | | | | | | | | | | |
* |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
* | # | C | B | A | + | | | . | 4 | 5 | 6 | / |
@@ -289,7 +289,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
#endif
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
state = update_tri_layer_state(state, _SYMBOL, _THUMB, _FUNCTION);
state = update_tri_layer_state(state, _SYMBOL, _REGEX, _MOUSE);
return state;
@@ -317,7 +317,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
return false;
break;
- case VIM:
+ case VIM:
if (record->event.pressed) {
SEND_STRING(SS_LGUI(" "));
SEND_STRING("macvim.app" SS_TAP(X_ENTER));
diff --git a/keyboards/planck/keymaps/spacebarracecar/keymap.c b/keyboards/planck/keymaps/spacebarracecar/keymap.c
index 71f44c996e..5efced81a3 100644
--- a/keyboards/planck/keymaps/spacebarracecar/keymap.c
+++ b/keyboards/planck/keymaps/spacebarracecar/keymap.c
@@ -44,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
`-----------------------------------------------------------------------------------------------------------------------'
*/
[_LOWER] = LAYOUT_ortho_4x12(
- DE_TILD, DE_EXLM, DE_DQOT, DE_HASH, DE_DLR, DE_PERC, CU_CIRC, DE_AMPR, DE_ASTR, DE_LPRN, DE_RPRN, _______,
+ DE_TILD, DE_EXLM, DE_DQUO, DE_HASH, DE_DLR, DE_PERC, CU_CIRC, DE_AMPR, DE_ASTR, DE_LPRN, DE_RPRN, _______,
_______, DE_AT, CTRLX, CTRLC, CTRLV, XXXXXXX, XXXXXXX, DE_UNDS, DE_PLUS, DE_LCBR, DE_RCBR, DE_PIPE,
_______, DE_EURO, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DE_MINS, CU_EQL, CU_LBRC, CU_RBRC, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/planck/keymaps/synth_sample/keymap.c b/keyboards/planck/keymaps/synth_sample/keymap.c
index 64bfde9aa9..0a57b7ce9a 100644
--- a/keyboards/planck/keymaps/synth_sample/keymap.c
+++ b/keyboards/planck/keymaps/synth_sample/keymap.c
@@ -173,7 +173,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
#endif
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
@@ -247,7 +247,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true;
}
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (clockwise) {
#ifdef MOUSEKEY_ENABLE
register_code(KC_MS_WH_DOWN);
diff --git a/keyboards/planck/keymaps/synth_wavetable/keymap.c b/keyboards/planck/keymaps/synth_wavetable/keymap.c
index 1fcc977420..d413d63896 100644
--- a/keyboards/planck/keymaps/synth_wavetable/keymap.c
+++ b/keyboards/planck/keymaps/synth_wavetable/keymap.c
@@ -173,7 +173,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
#endif
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
@@ -308,7 +308,7 @@ uint16_t dac_value_generate(void) {
return value;
}
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (clockwise) {
dac_morph = (dac_morph + 1) % AUDIO_DAC_WAVETABLE_CUSTOM_LENGTH;
} else {
diff --git a/keyboards/planck/keymaps/tom/keymap.c b/keyboards/planck/keymaps/tom/keymap.c
index ea625d165d..66beaf33b7 100644
--- a/keyboards/planck/keymaps/tom/keymap.c
+++ b/keyboards/planck/keymaps/tom/keymap.c
@@ -116,7 +116,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
#endif
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
@@ -139,7 +139,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
@@ -172,7 +172,7 @@ bool encoder_update(bool clockwise) {
return true;
}
-void dip_update(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -197,6 +197,7 @@ void dip_update(uint8_t index, bool active) {
#endif
}
}
+ return true;
}
void matrix_scan_user(void) {
diff --git a/keyboards/planck/keymaps/tylerwince/keymap.c b/keyboards/planck/keymaps/tylerwince/keymap.c
index c9ba7da899..5cbc47b2fb 100644
--- a/keyboards/planck/keymaps/tylerwince/keymap.c
+++ b/keyboards/planck/keymaps/tylerwince/keymap.c
@@ -215,7 +215,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
@@ -273,7 +273,7 @@ bool music_mask_user(uint16_t keycode) {
return true;
}
}
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
palClearPad(GPIOB, 8);
palClearPad(GPIOB, 9);
uint8_t layer = biton32(state);
diff --git a/keyboards/planck/keymaps/unagi/keymap.c b/keyboards/planck/keymaps/unagi/keymap.c
index 5f4d3b8864..1fc1814796 100644
--- a/keyboards/planck/keymaps/unagi/keymap.c
+++ b/keyboards/planck/keymaps/unagi/keymap.c
@@ -187,7 +187,7 @@ qk_tap_dance_action_t tap_dance_actions[] = {
float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND);
#endif
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
@@ -267,7 +267,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
@@ -294,7 +294,7 @@ bool encoder_update(bool clockwise) {
return true;
}
-void dip_update(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -319,6 +319,7 @@ void dip_update(uint8_t index, bool active) {
#endif
}
}
+ return true;
}
void matrix_scan_user(void) {
diff --git a/keyboards/planck/keymaps/vifon/rules.mk b/keyboards/planck/keymaps/vifon/rules.mk
index 3f9b4544e1..654667eb69 100644
--- a/keyboards/planck/keymaps/vifon/rules.mk
+++ b/keyboards/planck/keymaps/vifon/rules.mk
@@ -16,7 +16,6 @@ AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no # https://www.reddit.com/r/olkb/comments/5swhij/_/ddie6zq/
KEY_LOCK_ENABLE = yes
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
diff --git a/keyboards/planck/keymaps/vxid/keymap.c b/keyboards/planck/keymaps/vxid/keymap.c
index 51d1daa70a..0494056ea2 100644
--- a/keyboards/planck/keymaps/vxid/keymap.c
+++ b/keyboards/planck/keymaps/vxid/keymap.c
@@ -44,6 +44,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
diff --git a/keyboards/planck/keymaps/winternebs/keymap.c b/keyboards/planck/keymaps/winternebs/keymap.c
index 259603faf5..4bb97b27ac 100755
--- a/keyboards/planck/keymaps/winternebs/keymap.c
+++ b/keyboards/planck/keymaps/winternebs/keymap.c
@@ -64,10 +64,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_WORKMAN] = LAYOUT_planck_grid(
- KC_ESC, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_BSPC,
- KC_TAB, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- KC_LCTL, KC_LGUI, _______, KC_LALT, LOWER, KC_SPC, KC_BSPC, ADJUST, _______, KC_LEFT, KC_DOWN, KC_RGHT
+ KC_ESC, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_BSPC,
+ KC_TAB, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
+ KC_LCTL, KC_LGUI, _______, KC_LALT, LOWER, KC_SPC, KC_BSPC, ADJUST, _______, KC_LEFT, KC_DOWN, KC_RGHT
),
/* Lower
@@ -149,7 +149,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true;
}
-void dip_update(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -159,4 +159,5 @@ void dip_update(uint8_t index, bool active) {
}
break;
}
+ return true;
}
diff --git a/keyboards/planck/light/light.c b/keyboards/planck/light/light.c
index 896ec44587..3a53e39985 100644
--- a/keyboards/planck/light/light.c
+++ b/keyboards/planck/light/light.c
@@ -16,7 +16,7 @@
#include "light.h"
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/planck/light/rules.mk b/keyboards/planck/light/rules.mk
index fc6243c3fb..78314b3e84 100644
--- a/keyboards/planck/light/rules.mk
+++ b/keyboards/planck/light/rules.mk
@@ -29,7 +29,6 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = IS31FL3731
-API_SYSEX_ENABLE = no
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/planck/planck.h b/keyboards/planck/planck.h
index ef037f369b..31e3ec9158 100644
--- a/keyboards/planck/planck.h
+++ b/keyboards/planck/planck.h
@@ -3,8 +3,6 @@
#include "quantum.h"
-#define encoder_update(clockwise) encoder_update_user(uint8_t index, clockwise)
-
#if defined(KEYBOARD_planck_ez)
#include "ez.h"
#elif defined(KEYBOARD_planck_light)
diff --git a/keyboards/planck/rev1/rules.mk b/keyboards/planck/rev1/rules.mk
index 98ae26cbed..afc369a7d9 100644
--- a/keyboards/planck/rev1/rules.mk
+++ b/keyboards/planck/rev1/rules.mk
@@ -27,7 +27,6 @@ AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/planck/rev2/rules.mk b/keyboards/planck/rev2/rules.mk
index 98ae26cbed..afc369a7d9 100644
--- a/keyboards/planck/rev2/rules.mk
+++ b/keyboards/planck/rev2/rules.mk
@@ -27,7 +27,6 @@ AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/planck/rev3/rules.mk b/keyboards/planck/rev3/rules.mk
index 98ae26cbed..afc369a7d9 100644
--- a/keyboards/planck/rev3/rules.mk
+++ b/keyboards/planck/rev3/rules.mk
@@ -27,7 +27,6 @@ AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/planck/rev4/rules.mk b/keyboards/planck/rev4/rules.mk
index 8454ea0e72..6212437180 100644
--- a/keyboards/planck/rev4/rules.mk
+++ b/keyboards/planck/rev4/rules.mk
@@ -27,7 +27,6 @@ AUDIO_ENABLE = yes # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/planck/rev5/rules.mk b/keyboards/planck/rev5/rules.mk
index 4958572545..492c70b65f 100644
--- a/keyboards/planck/rev5/rules.mk
+++ b/keyboards/planck/rev5/rules.mk
@@ -27,7 +27,6 @@ AUDIO_ENABLE = yes # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/planck/rev6/config.h b/keyboards/planck/rev6/config.h
index 4bc8a509f6..44ae7d277e 100644
--- a/keyboards/planck/rev6/config.h
+++ b/keyboards/planck/rev6/config.h
@@ -140,8 +140,6 @@
#define WS2812_DMA_STREAM STM32_DMA1_STREAM2
#define WS2812_DMA_CHANNEL 2
-#ifndef RGB_DISABLE_WHEN_USB_SUSPENDED
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true
-#endif
+#define RGB_DISABLE_WHEN_USB_SUSPENDED
#endif
diff --git a/keyboards/planck/rev6/rev6.c b/keyboards/planck/rev6/rev6.c
index 4f2ff86812..da6da11004 100644
--- a/keyboards/planck/rev6/rev6.c
+++ b/keyboards/planck/rev6/rev6.c
@@ -40,31 +40,4 @@ led_config_t g_led_config = { {
// 0
// 7 8 1 2
-void suspend_power_down_kb(void) {
- rgb_matrix_set_suspend_state(true);
- suspend_power_down_user();
-}
-
-void suspend_wakeup_init_kb(void) {
- rgb_matrix_set_suspend_state(false);
- suspend_wakeup_init_user();
-}
-#endif
-
-void matrix_init_kb(void) {
- matrix_init_user();
-}
-
-void matrix_scan_kb(void) {
- matrix_scan_user();
-}
-
-#ifdef DIP_SWITCH_ENABLE
-__attribute__((weak))
-void dip_update(uint8_t index, bool active) {}
-
-__attribute__((weak))
-void dip_switch_update_user(uint8_t index, bool active) {
- dip_update(index, active);
-}
#endif
diff --git a/keyboards/planck/rev6/rules.mk b/keyboards/planck/rev6/rules.mk
index 7760353e33..a26fbc1477 100644
--- a/keyboards/planck/rev6/rules.mk
+++ b/keyboards/planck/rev6/rules.mk
@@ -22,7 +22,6 @@ UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
WS2812_DRIVER = pwm
-API_SYSEX_ENABLE = no
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/planck/thk/info.json b/keyboards/planck/thk/info.json
index cffc9fd364..558597b4d8 100644
--- a/keyboards/planck/thk/info.json
+++ b/keyboards/planck/thk/info.json
@@ -1,53 +1,13 @@
{
- "manufacturer": "OLKB",
"keyboard_name": "Planck THK",
"maintainer": "Erovia",
- "height": 4,
- "width": 12,
- "bootloader": "USBasp",
- "debounce": 5,
- "diode_direction": "COL2ROW",
- "features": {
- "audio": false,
- "backlight": false,
- "bluetooth": false,
- "bootmagic_lite": true,
- "command": false,
- "console": false,
- "dip_switch": true,
- "encoder": true,
- "extrakey": true,
- "mousekey": true,
- "nkro": false,
- "rgblight": false,
- "sleep_led": false
- },
- "matrix_pins": {
- "cols": ["D7", "C2", "C3", "C4", "C5", "C6", "C7", "A3", "A2", "A1", "A0", "B0"],
- "rows": ["A7", "A6", "A5", "A4"]
- },
- "processor": "atmega32a",
- "qmk_lufa_bootloader": {
- "esc_input": "D5",
- "esc_output": "F1",
- "led": "E6",
- "speaker": "C6"
- },
"url": "https://olkb.com/planck",
- "usb": {
- "device_ver": "0x0000",
- "pid": "0x25A7",
- "vid": "0x03A8"
- },
- "community_layouts": ["ortho_4x12", "planck_mit"],
"layout_aliases": {
"LAYOUT_planck_grid": "LAYOUT_ortho_4x12",
"LAYOUT_planck_mit": "LAYOUT_planck_1x2uC"
},
"layouts": {
"LAYOUT_ortho_4x12": {
- "c_macro": true,
- "filename": "keyboards/planck/thk/thk.h",
"key_count": 48,
"layout": [
{ "label": "k00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
@@ -101,8 +61,6 @@
]
},
"LAYOUT_planck_1x2uC": {
- "c_macro": true,
- "filename": "keyboards/planck/thk/thk.h",
"key_count": 47,
"layout": [
{ "label": "k00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 },
diff --git a/keyboards/planck/thk/keymaps/thk/keymap.c b/keyboards/planck/thk/keymaps/thk/keymap.c
index 948393b532..ae2420250e 100644
--- a/keyboards/planck/thk/keymaps/thk/keymap.c
+++ b/keyboards/planck/thk/keymaps/thk/keymap.c
@@ -213,7 +213,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
return true;
}
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0: {
if (active) {
@@ -237,4 +237,5 @@ void dip_switch_update_user(uint8_t index, bool active) {
SEND_STRING("This is a Planck THK");
break;
}
+ return true;
}
diff --git a/keyboards/ploopyco/adns5050.c b/keyboards/ploopyco/adns5050.c
deleted file mode 100644
index e12e56f20c..0000000000
--- a/keyboards/ploopyco/adns5050.c
+++ /dev/null
@@ -1,197 +0,0 @@
-/* Copyright 2021 Colin Lam (Ploopy Corporation)
- * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
- * Copyright 2019 Sunjun Kim
- * Copyright 2019 Hiroyuki Okada
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General 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 "adns5050.h"
-#include "quantum.h"
-#include "wait.h"
-
-#ifdef CONSOLE_ENABLE
-# include "print.h"
-#endif
-
-#ifndef OPTIC_ROTATED
-# define OPTIC_ROTATED false
-#endif
-
-// Definitions for the ADNS serial line.
-// These really ought to be defined in your config.h, but defaults are
-// here if you're really lazy.
-#ifndef ADNS_SCLK_PIN
-# define ADNS_SCLK_PIN B7
-#endif
-
-#ifndef ADNS_SDIO_PIN
-# define ADNS_SDIO_PIN C6
-#endif
-
-#ifndef ADNS_CS_PIN
-# define ADNS_CS_PIN B4
-#endif
-
-#ifdef CONSOLE_ENABLE
-void print_byte(uint8_t byte) { dprintf("%c%c%c%c%c%c%c%c|", (byte & 0x80 ? '1' : '0'), (byte & 0x40 ? '1' : '0'), (byte & 0x20 ? '1' : '0'), (byte & 0x10 ? '1' : '0'), (byte & 0x08 ? '1' : '0'), (byte & 0x04 ? '1' : '0'), (byte & 0x02 ? '1' : '0'), (byte & 0x01 ? '1' : '0')); }
-#endif
-
-// Initialize the ADNS serial pins.
-void adns_init(void) {
- setPinOutput(ADNS_SCLK_PIN);
- setPinOutput(ADNS_SDIO_PIN);
- setPinOutput(ADNS_CS_PIN);
-}
-
-// Perform a synchronization with the ADNS.
-// Just as with the serial protocol, this is used by the slave to send a
-// synchronization signal to the master.
-void adns_sync(void) {
- writePinLow(ADNS_CS_PIN);
- wait_us(1);
- writePinHigh(ADNS_CS_PIN);
-}
-
-void adns_cs_select(void) {
- writePinLow(ADNS_CS_PIN);
-}
-
-void adns_cs_deselect(void) {
- writePinHigh(ADNS_CS_PIN);
-}
-
-uint8_t adns_serial_read(void) {
- setPinInput(ADNS_SDIO_PIN);
- uint8_t byte = 0;
-
- for (uint8_t i = 0; i < 8; ++i) {
- writePinLow(ADNS_SCLK_PIN);
- wait_us(1);
-
- byte = (byte << 1) | readPin(ADNS_SDIO_PIN);
-
- writePinHigh(ADNS_SCLK_PIN);
- wait_us(1);
- }
-
- return byte;
-}
-
-void adns_serial_write(uint8_t data) {
- setPinOutput(ADNS_SDIO_PIN);
-
- for (int8_t b = 7; b >= 0; b--) {
- writePinLow(ADNS_SCLK_PIN);
-
- if (data & (1 << b))
- writePinHigh(ADNS_SDIO_PIN);
- else
- writePinLow(ADNS_SDIO_PIN);
-
- wait_us(2);
-
- writePinHigh(ADNS_SCLK_PIN);
- }
-
- // tSWR. See page 15 of the ADNS spec sheet.
- // Technically, this is only necessary if the next operation is an SDIO
- // read. This is not guaranteed to be the case, but we're being lazy.
- wait_us(4);
-
- // Note that tSWW is never necessary. All write operations require at
- // least 32us, which exceeds tSWW, so there's never a need to wait for it.
-}
-
-// Read a byte of data from a register on the ADNS.
-// Don't forget to use the register map (as defined in the header file).
-uint8_t adns_read_reg(uint8_t reg_addr) {
- adns_cs_select();
-
- adns_serial_write(reg_addr);
-
- // We don't need a minimum tSRAD here. That's because a 4ms wait time is
- // already included in adns_serial_write(), so we're good.
- // See page 10 and 15 of the ADNS spec sheet.
- //wait_us(4);
-
- uint8_t byte = adns_serial_read();
-
- // tSRW & tSRR. See page 15 of the ADNS spec sheet.
- // Technically, this is only necessary if the next operation is an SDIO
- // read or write. This is not guaranteed to be the case.
- // Honestly, this wait could probably be removed.
- wait_us(1);
-
- adns_cs_deselect();
-
- return byte;
-}
-
-void adns_write_reg(uint8_t reg_addr, uint8_t data) {
- adns_cs_select();
- adns_serial_write( 0b10000000 | reg_addr );
- adns_serial_write(data);
- adns_cs_deselect();
-}
-
-report_adns_t adns_read_burst(void) {
- adns_cs_select();
-
- report_adns_t data;
- data.dx = 0;
- data.dy = 0;
-
- adns_serial_write(REG_MOTION_BURST);
-
- // We don't need a minimum tSRAD here. That's because a 4ms wait time is
- // already included in adns_serial_write(), so we're good.
- // See page 10 and 15 of the ADNS spec sheet.
- //wait_us(4);
-
- uint8_t x = adns_serial_read();
- uint8_t y = adns_serial_read();
-
- // Burst mode returns a bunch of other shit that we don't really need.
- // Setting CS to high ends burst mode early.
- adns_cs_deselect();
-
- data.dx = convert_twoscomp(x);
- data.dy = convert_twoscomp(y);
-
- return data;
-}
-
-// Convert a two's complement byte from an unsigned data type into a signed
-// data type.
-int8_t convert_twoscomp(uint8_t data) {
- if ((data & 0x80) == 0x80)
- return -128 + (data & 0x7F);
- else
- return data;
-}
-
-// Don't forget to use the definitions for CPI in the header file.
-void adns_set_cpi(uint8_t cpi) {
- adns_write_reg(REG_MOUSE_CONTROL2, cpi);
-}
-
-bool adns_check_signature(void) {
- uint8_t pid = adns_read_reg(REG_PRODUCT_ID);
- uint8_t rid = adns_read_reg(REG_REVISION_ID);
- uint8_t pid2 = adns_read_reg(REG_PRODUCT_ID2);
-
- return (pid == 0x12 && rid == 0x01 && pid2 == 0x26);
-}
diff --git a/keyboards/ploopyco/adns5050.h b/keyboards/ploopyco/adns5050.h
deleted file mode 100644
index ff8e8f78e9..0000000000
--- a/keyboards/ploopyco/adns5050.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Copyright 2021 Colin Lam (Ploopy Corporation)
- * Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
- * Copyright 2019 Sunjun Kim
- * Copyright 2019 Hiroyuki Okada
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General 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 <stdbool.h>
-
-// Registers
-#define REG_PRODUCT_ID 0x00
-#define REG_REVISION_ID 0x01
-#define REG_MOTION 0x02
-#define REG_DELTA_X 0x03
-#define REG_DELTA_Y 0x04
-#define REG_SQUAL 0x05
-#define REG_SHUTTER_UPPER 0x06
-#define REG_SHUTTER_LOWER 0x07
-#define REG_MAXIMUM_PIXEL 0x08
-#define REG_PIXEL_SUM 0x09
-#define REG_MINIMUM_PIXEL 0x0a
-#define REG_PIXEL_GRAB 0x0b
-#define REG_MOUSE_CONTROL 0x0d
-#define REG_MOUSE_CONTROL2 0x19
-#define REG_LED_DC_MODE 0x22
-#define REG_CHIP_RESET 0x3a
-#define REG_PRODUCT_ID2 0x3e
-#define REG_INV_REV_ID 0x3f
-#define REG_MOTION_BURST 0x63
-
-// CPI values
-#define CPI125 0x11
-#define CPI250 0x12
-#define CPI375 0x13
-#define CPI500 0x14
-#define CPI625 0x15
-#define CPI750 0x16
-#define CPI875 0x17
-#define CPI1000 0x18
-#define CPI1125 0x19
-#define CPI1250 0x1a
-#define CPI1375 0x1b
-
-#ifdef CONSOLE_ENABLE
-void print_byte(uint8_t byte);
-#endif
-
-typedef struct {
- int8_t dx;
- int8_t dy;
-} report_adns_t;
-
-// A bunch of functions to implement the ADNS5050-specific serial protocol.
-// Note that the "serial.h" driver is insufficient, because it does not
-// manually manipulate a serial clock signal.
-void adns_init(void);
-void adns_sync(void);
-uint8_t adns_serial_read(void);
-void adns_serial_write(uint8_t data);
-uint8_t adns_read_reg(uint8_t reg_addr);
-void adns_write_reg(uint8_t reg_addr, uint8_t data);
-report_adns_t adns_read_burst(void);
-int8_t convert_twoscomp(uint8_t data);
-void adns_set_cpi(uint8_t cpi);
-bool adns_check_signature(void);
diff --git a/keyboards/ploopyco/mouse/keymaps/drashna/config.h b/keyboards/ploopyco/mouse/keymaps/drashna/config.h
index 5bc704fec1..5a220c801c 100644
--- a/keyboards/ploopyco/mouse/keymaps/drashna/config.h
+++ b/keyboards/ploopyco/mouse/keymaps/drashna/config.h
@@ -20,5 +20,10 @@
#undef RGBLIGHT_LIMIT_VAL
#define RGBLIGHT_LIMIT_VAL 255
-#define RGBLIGHT_ANIMATIONS
+#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_TWINKLE
#define RGBLIGHT_SLEEP
diff --git a/keyboards/ploopyco/mouse/keymaps/drashna/keymap.c b/keyboards/ploopyco/mouse/keymaps/drashna/keymap.c
index 68b846f7ba..a9b1c46fcb 100644
--- a/keyboards/ploopyco/mouse/keymaps/drashna/keymap.c
+++ b/keyboards/ploopyco/mouse/keymaps/drashna/keymap.c
@@ -29,6 +29,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
void eeconkfig_init_user(void) {
rgblight_enable();
+#ifdef RGBLIGHT_EFFECT_TWINKLE
rgblight_mode(RGBLIGHT_MODE_TWINKLE+5);
+#else
+ rgblight_mode(RGBLIGHT_MODE_BREATHING+5);
+#endif
rgblight_sethsv(HSV_MAGENTA);
}
diff --git a/keyboards/ploopyco/mouse/mouse.h b/keyboards/ploopyco/mouse/mouse.h
index 5d49d2f2d2..d11aa5e9a4 100644
--- a/keyboards/ploopyco/mouse/mouse.h
+++ b/keyboards/ploopyco/mouse/mouse.h
@@ -20,7 +20,7 @@
#include "quantum.h"
#include "spi_master.h"
-#include "pmw3360.h"
+#include "drivers/sensors/pmw3360.h"
#include "analog.h"
#include "opt_encoder.h"
#include "pointing_device.h"
diff --git a/keyboards/ploopyco/mouse/rules.mk b/keyboards/ploopyco/mouse/rules.mk
index f998672f14..17aac98016 100644
--- a/keyboards/ploopyco/mouse/rules.mk
+++ b/keyboards/ploopyco/mouse/rules.mk
@@ -27,4 +27,4 @@ POINTING_DEVICE_ENABLE = yes
MOUSEKEY_ENABLE = yes # Mouse keys
QUANTUM_LIB_SRC += analog.c spi_master.c
-SRC += pmw3360.c opt_encoder.c
+SRC += drivers/sensors/pmw3360.c opt_encoder.c
diff --git a/keyboards/ploopyco/pmw3360.c b/keyboards/ploopyco/pmw3360.c
deleted file mode 100644
index 5f9f72a9ec..0000000000
--- a/keyboards/ploopyco/pmw3360.c
+++ /dev/null
@@ -1,218 +0,0 @@
-/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
- * Copyright 2019 Sunjun Kim
- * Copyright 2020 Ploopy Corporation
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General 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 "wait.h"
-#include "debug.h"
-#include "print.h"
-#include "pmw3360.h"
-#include "pmw3360_firmware.h"
-
-bool _inBurst = false;
-
-#ifndef PMW_CPI
-# define PMW_CPI 1600
-#endif
-#ifndef SPI_DIVISOR
-# define SPI_DIVISOR 2
-#endif
-#ifndef ROTATIONAL_TRANSFORM_ANGLE
-# define ROTATIONAL_TRANSFORM_ANGLE 0x00
-#endif
-
-void print_byte(uint8_t byte) { dprintf("%c%c%c%c%c%c%c%c|", (byte & 0x80 ? '1' : '0'), (byte & 0x40 ? '1' : '0'), (byte & 0x20 ? '1' : '0'), (byte & 0x10 ? '1' : '0'), (byte & 0x08 ? '1' : '0'), (byte & 0x04 ? '1' : '0'), (byte & 0x02 ? '1' : '0'), (byte & 0x01 ? '1' : '0')); }
-
-
-bool spi_start_adv(void) {
- bool status = spi_start(SPI_SS_PIN, false, 3, SPI_DIVISOR);
- wait_us(1);
- return status;
-}
-
-void spi_stop_adv(void) {
- wait_us(1);
- spi_stop();
-}
-
-spi_status_t spi_write_adv(uint8_t reg_addr, uint8_t data) {
- if (reg_addr != REG_Motion_Burst) {
- _inBurst = false;
- }
-
- spi_start_adv();
- // send address of the register, with MSBit = 1 to indicate it's a write
- spi_status_t status = spi_write(reg_addr | 0x80);
- status = spi_write(data);
-
- // tSCLK-NCS for write operation
- wait_us(20);
-
- // tSWW/tSWR (=120us) minus tSCLK-NCS. Could be shortened, but is looks like a safe lower bound
- wait_us(100);
- spi_stop();
- return status;
-}
-
-uint8_t spi_read_adv(uint8_t reg_addr) {
- spi_start_adv();
- // send adress of the register, with MSBit = 0 to indicate it's a read
- spi_write(reg_addr & 0x7f);
-
- uint8_t data = spi_read();
-
- // tSCLK-NCS for read operation is 120ns
- wait_us(1);
-
- // tSRW/tSRR (=20us) minus tSCLK-NCS
- wait_us(19);
-
- spi_stop();
- return data;
-}
-
-void pmw_set_cpi(uint16_t cpi) {
- int cpival = constrain((cpi / 100) - 1, 0, 0x77); // limits to 0--119
-
- spi_start_adv();
- spi_write_adv(REG_Config1, cpival);
- spi_stop();
-}
-
-bool pmw_spi_init(void) {
- spi_init();
- _inBurst = false;
-
- spi_stop();
- spi_start_adv();
- spi_stop();
-
- spi_write_adv(REG_Shutdown, 0xb6); // Shutdown first
- wait_ms(300);
-
- spi_start_adv();
- wait_us(40);
- spi_stop_adv();
- wait_us(40);
-
- spi_write_adv(REG_Power_Up_Reset, 0x5a);
- wait_ms(50);
-
- spi_read_adv(REG_Motion);
- spi_read_adv(REG_Delta_X_L);
- spi_read_adv(REG_Delta_X_H);
- spi_read_adv(REG_Delta_Y_L);
- spi_read_adv(REG_Delta_Y_H);
-
- pmw_upload_firmware();
-
- spi_stop_adv();
-
- wait_ms(10);
- pmw_set_cpi(PMW_CPI);
-
- wait_ms(1);
-
- return pmw_check_signature();
-}
-
-void pmw_upload_firmware(void) {
- spi_write_adv(REG_Config2, 0x00);
-
- spi_write_adv(REG_Angle_Tune, constrain(ROTATIONAL_TRANSFORM_ANGLE, -30, 30));
-
- spi_write_adv(REG_SROM_Enable, 0x1d);
-
- wait_ms(10);
-
- spi_write_adv(REG_SROM_Enable, 0x18);
-
- spi_start_adv();
- spi_write(REG_SROM_Load_Burst | 0x80);
- wait_us(15);
-
- unsigned char c;
- for (int i = 0; i < firmware_length; i++) {
- c = (unsigned char)pgm_read_byte(firmware_data + i);
- spi_write(c);
- wait_us(15);
- }
- wait_us(200);
-
- spi_read_adv(REG_SROM_ID);
-
- spi_write_adv(REG_Config2, 0x00);
-
- spi_stop();
- wait_ms(10);
-}
-
-bool pmw_check_signature(void) {
- uint8_t pid = spi_read_adv(REG_Product_ID);
- uint8_t iv_pid = spi_read_adv(REG_Inverse_Product_ID);
- uint8_t SROM_ver = spi_read_adv(REG_SROM_ID);
- return (pid == 0x42 && iv_pid == 0xBD && SROM_ver == 0x04); // signature for SROM 0x04
-}
-
-report_pmw_t pmw_read_burst(void) {
- if (!_inBurst) {
- dprintf("burst on");
- spi_write_adv(REG_Motion_Burst, 0x00);
- _inBurst = true;
- }
-
- spi_start_adv();
- spi_write(REG_Motion_Burst);
- wait_us(35); // waits for tSRAD
-
- report_pmw_t data;
- data.motion = 0;
- data.dx = 0;
- data.mdx = 0;
- data.dy = 0;
- data.mdx = 0;
-
- data.motion = spi_read();
- spi_write(0x00); // skip Observation
- data.dx = spi_read();
- data.mdx = spi_read();
- data.dy = spi_read();
- data.mdy = spi_read();
-
- spi_stop();
-
- print_byte(data.motion);
- print_byte(data.dx);
- print_byte(data.mdx);
- print_byte(data.dy);
- print_byte(data.mdy);
- dprintf("\n");
-
- data.isMotion = (data.motion & 0x80) != 0;
- data.isOnSurface = (data.motion & 0x08) == 0;
- data.dx |= (data.mdx << 8);
- data.dx = data.dx * -1;
- data.dy |= (data.mdy << 8);
- data.dy = data.dy * -1;
-
- spi_stop();
-
- if (data.motion & 0b111) { // panic recovery, sometimes burst mode works weird.
- _inBurst = false;
- }
-
- return data;
-}
diff --git a/keyboards/ploopyco/pmw3360.h b/keyboards/ploopyco/pmw3360.h
deleted file mode 100644
index c1d5e3badb..0000000000
--- a/keyboards/ploopyco/pmw3360.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
- * Copyright 2019 Sunjun Kim
- * Copyright 2020 Ploopy Corporation
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General 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 "spi_master.h"
-
-// Registers
-#define REG_Product_ID 0x00
-#define REG_Revision_ID 0x01
-#define REG_Motion 0x02
-#define REG_Delta_X_L 0x03
-#define REG_Delta_X_H 0x04
-#define REG_Delta_Y_L 0x05
-#define REG_Delta_Y_H 0x06
-#define REG_SQUAL 0x07
-#define REG_Raw_Data_Sum 0x08
-#define REG_Maximum_Raw_data 0x09
-#define REG_Minimum_Raw_data 0x0A
-#define REG_Shutter_Lower 0x0B
-#define REG_Shutter_Upper 0x0C
-#define REG_Control 0x0D
-#define REG_Config1 0x0F
-#define REG_Config2 0x10
-#define REG_Angle_Tune 0x11
-#define REG_Frame_Capture 0x12
-#define REG_SROM_Enable 0x13
-#define REG_Run_Downshift 0x14
-#define REG_Rest1_Rate_Lower 0x15
-#define REG_Rest1_Rate_Upper 0x16
-#define REG_Rest1_Downshift 0x17
-#define REG_Rest2_Rate_Lower 0x18
-#define REG_Rest2_Rate_Upper 0x19
-#define REG_Rest2_Downshift 0x1A
-#define REG_Rest3_Rate_Lower 0x1B
-#define REG_Rest3_Rate_Upper 0x1C
-#define REG_Observation 0x24
-#define REG_Data_Out_Lower 0x25
-#define REG_Data_Out_Upper 0x26
-#define REG_Raw_Data_Dump 0x29
-#define REG_SROM_ID 0x2A
-#define REG_Min_SQ_Run 0x2B
-#define REG_Raw_Data_Threshold 0x2C
-#define REG_Config5 0x2F
-#define REG_Power_Up_Reset 0x3A
-#define REG_Shutdown 0x3B
-#define REG_Inverse_Product_ID 0x3F
-#define REG_LiftCutoff_Tune3 0x41
-#define REG_Angle_Snap 0x42
-#define REG_LiftCutoff_Tune1 0x4A
-#define REG_Motion_Burst 0x50
-#define REG_LiftCutoff_Tune_Timeout 0x58
-#define REG_LiftCutoff_Tune_Min_Length 0x5A
-#define REG_SROM_Load_Burst 0x62
-#define REG_Lift_Config 0x63
-#define REG_Raw_Data_Burst 0x64
-#define REG_LiftCutoff_Tune2 0x65
-
-#ifdef CONSOLE_ENABLE
-void print_byte(uint8_t byte);
-#endif
-
-typedef struct {
- int8_t motion;
- bool isMotion; // True if a motion is detected.
- bool isOnSurface; // True when a chip is on a surface
- int16_t dx; // displacement on x directions. Unit: Count. (CPI * Count = Inch value)
- int8_t mdx;
- int16_t dy; // displacement on y directions.
- int8_t mdy;
-} report_pmw_t;
-
-
-
-bool spi_start_adv(void);
-void spi_stop_adv(void);
-spi_status_t spi_write_adv(uint8_t reg_addr, uint8_t data);
-uint8_t spi_read_adv(uint8_t reg_addr);
-bool pmw_spi_init(void);
-void pmw_set_cpi(uint16_t cpi);
-void pmw_upload_firmware(void);
-bool pmw_check_signature(void);
-report_pmw_t pmw_read_burst(void);
-
-
-#define degToRad(angleInDegrees) ((angleInDegrees)*M_PI / 180.0)
-#define radToDeg(angleInRadians) ((angleInRadians)*180.0 / M_PI)
-#define constrain(amt, low, high) ((amt) < (low) ? (low) : ((amt) > (high) ? (high) : (amt)))
diff --git a/keyboards/ploopyco/pmw3360_firmware.h b/keyboards/ploopyco/pmw3360_firmware.h
deleted file mode 100644
index cca5a6a4d8..0000000000
--- a/keyboards/ploopyco/pmw3360_firmware.h
+++ /dev/null
@@ -1,300 +0,0 @@
-/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
- * Copyright 2019 Sunjun Kim
- * Copyright 2020 Ploopy Corporation
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General 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
-
-// clang-format off
-// Firmware Blob foor PMW3360
-const uint16_t firmware_length = 4094;
-// clang-format off
-const uint8_t firmware_data[] PROGMEM = { // SROM 0x04
-0x01, 0x04, 0x8e, 0x96, 0x6e, 0x77, 0x3e, 0xfe, 0x7e, 0x5f, 0x1d, 0xb8, 0xf2, 0x66, 0x4e,
-0xff, 0x5d, 0x19, 0xb0, 0xc2, 0x04, 0x69, 0x54, 0x2a, 0xd6, 0x2e, 0xbf, 0xdd, 0x19, 0xb0,
-0xc3, 0xe5, 0x29, 0xb1, 0xe0, 0x23, 0xa5, 0xa9, 0xb1, 0xc1, 0x00, 0x82, 0x67, 0x4c, 0x1a,
-0x97, 0x8d, 0x79, 0x51, 0x20, 0xc7, 0x06, 0x8e, 0x7c, 0x7c, 0x7a, 0x76, 0x4f, 0xfd, 0x59,
-0x30, 0xe2, 0x46, 0x0e, 0x9e, 0xbe, 0xdf, 0x1d, 0x99, 0x91, 0xa0, 0xa5, 0xa1, 0xa9, 0xd0,
-0x22, 0xc6, 0xef, 0x5c, 0x1b, 0x95, 0x89, 0x90, 0xa2, 0xa7, 0xcc, 0xfb, 0x55, 0x28, 0xb3,
-0xe4, 0x4a, 0xf7, 0x6c, 0x3b, 0xf4, 0x6a, 0x56, 0x2e, 0xde, 0x1f, 0x9d, 0xb8, 0xd3, 0x05,
-0x88, 0x92, 0xa6, 0xce, 0x1e, 0xbe, 0xdf, 0x1d, 0x99, 0xb0, 0xe2, 0x46, 0xef, 0x5c, 0x07,
-0x11, 0x5d, 0x98, 0x0b, 0x9d, 0x94, 0x97, 0xee, 0x4e, 0x45, 0x33, 0x6b, 0x44, 0xc7, 0x29,
-0x56, 0x27, 0x30, 0xc6, 0xa7, 0xd5, 0xf2, 0x56, 0xdf, 0xb4, 0x38, 0x62, 0xcb, 0xa0, 0xb6,
-0xe3, 0x0f, 0x84, 0x06, 0x24, 0x05, 0x65, 0x6f, 0x76, 0x89, 0xb5, 0x77, 0x41, 0x27, 0x82,
-0x66, 0x65, 0x82, 0xcc, 0xd5, 0xe6, 0x20, 0xd5, 0x27, 0x17, 0xc5, 0xf8, 0x03, 0x23, 0x7c,
-0x5f, 0x64, 0xa5, 0x1d, 0xc1, 0xd6, 0x36, 0xcb, 0x4c, 0xd4, 0xdb, 0x66, 0xd7, 0x8b, 0xb1,
-0x99, 0x7e, 0x6f, 0x4c, 0x36, 0x40, 0x06, 0xd6, 0xeb, 0xd7, 0xa2, 0xe4, 0xf4, 0x95, 0x51,
-0x5a, 0x54, 0x96, 0xd5, 0x53, 0x44, 0xd7, 0x8c, 0xe0, 0xb9, 0x40, 0x68, 0xd2, 0x18, 0xe9,
-0xdd, 0x9a, 0x23, 0x92, 0x48, 0xee, 0x7f, 0x43, 0xaf, 0xea, 0x77, 0x38, 0x84, 0x8c, 0x0a,
-0x72, 0xaf, 0x69, 0xf8, 0xdd, 0xf1, 0x24, 0x83, 0xa3, 0xf8, 0x4a, 0xbf, 0xf5, 0x94, 0x13,
-0xdb, 0xbb, 0xd8, 0xb4, 0xb3, 0xa0, 0xfb, 0x45, 0x50, 0x60, 0x30, 0x59, 0x12, 0x31, 0x71,
-0xa2, 0xd3, 0x13, 0xe7, 0xfa, 0xe7, 0xce, 0x0f, 0x63, 0x15, 0x0b, 0x6b, 0x94, 0xbb, 0x37,
-0x83, 0x26, 0x05, 0x9d, 0xfb, 0x46, 0x92, 0xfc, 0x0a, 0x15, 0xd1, 0x0d, 0x73, 0x92, 0xd6,
-0x8c, 0x1b, 0x8c, 0xb8, 0x55, 0x8a, 0xce, 0xbd, 0xfe, 0x8e, 0xfc, 0xed, 0x09, 0x12, 0x83,
-0x91, 0x82, 0x51, 0x31, 0x23, 0xfb, 0xb4, 0x0c, 0x76, 0xad, 0x7c, 0xd9, 0xb4, 0x4b, 0xb2,
-0x67, 0x14, 0x09, 0x9c, 0x7f, 0x0c, 0x18, 0xba, 0x3b, 0xd6, 0x8e, 0x14, 0x2a, 0xe4, 0x1b,
-0x52, 0x9f, 0x2b, 0x7d, 0xe1, 0xfb, 0x6a, 0x33, 0x02, 0xfa, 0xac, 0x5a, 0xf2, 0x3e, 0x88,
-0x7e, 0xae, 0xd1, 0xf3, 0x78, 0xe8, 0x05, 0xd1, 0xe3, 0xdc, 0x21, 0xf6, 0xe1, 0x9a, 0xbd,
-0x17, 0x0e, 0xd9, 0x46, 0x9b, 0x88, 0x03, 0xea, 0xf6, 0x66, 0xbe, 0x0e, 0x1b, 0x50, 0x49,
-0x96, 0x40, 0x97, 0xf1, 0xf1, 0xe4, 0x80, 0xa6, 0x6e, 0xe8, 0x77, 0x34, 0xbf, 0x29, 0x40,
-0x44, 0xc2, 0xff, 0x4e, 0x98, 0xd3, 0x9c, 0xa3, 0x32, 0x2b, 0x76, 0x51, 0x04, 0x09, 0xe7,
-0xa9, 0xd1, 0xa6, 0x32, 0xb1, 0x23, 0x53, 0xe2, 0x47, 0xab, 0xd6, 0xf5, 0x69, 0x5c, 0x3e,
-0x5f, 0xfa, 0xae, 0x45, 0x20, 0xe5, 0xd2, 0x44, 0xff, 0x39, 0x32, 0x6d, 0xfd, 0x27, 0x57,
-0x5c, 0xfd, 0xf0, 0xde, 0xc1, 0xb5, 0x99, 0xe5, 0xf5, 0x1c, 0x77, 0x01, 0x75, 0xc5, 0x6d,
-0x58, 0x92, 0xf2, 0xb2, 0x47, 0x00, 0x01, 0x26, 0x96, 0x7a, 0x30, 0xff, 0xb7, 0xf0, 0xef,
-0x77, 0xc1, 0x8a, 0x5d, 0xdc, 0xc0, 0xd1, 0x29, 0x30, 0x1e, 0x77, 0x38, 0x7a, 0x94, 0xf1,
-0xb8, 0x7a, 0x7e, 0xef, 0xa4, 0xd1, 0xac, 0x31, 0x4a, 0xf2, 0x5d, 0x64, 0x3d, 0xb2, 0xe2,
-0xf0, 0x08, 0x99, 0xfc, 0x70, 0xee, 0x24, 0xa7, 0x7e, 0xee, 0x1e, 0x20, 0x69, 0x7d, 0x44,
-0xbf, 0x87, 0x42, 0xdf, 0x88, 0x3b, 0x0c, 0xda, 0x42, 0xc9, 0x04, 0xf9, 0x45, 0x50, 0xfc,
-0x83, 0x8f, 0x11, 0x6a, 0x72, 0xbc, 0x99, 0x95, 0xf0, 0xac, 0x3d, 0xa7, 0x3b, 0xcd, 0x1c,
-0xe2, 0x88, 0x79, 0x37, 0x11, 0x5f, 0x39, 0x89, 0x95, 0x0a, 0x16, 0x84, 0x7a, 0xf6, 0x8a,
-0xa4, 0x28, 0xe4, 0xed, 0x83, 0x80, 0x3b, 0xb1, 0x23, 0xa5, 0x03, 0x10, 0xf4, 0x66, 0xea,
-0xbb, 0x0c, 0x0f, 0xc5, 0xec, 0x6c, 0x69, 0xc5, 0xd3, 0x24, 0xab, 0xd4, 0x2a, 0xb7, 0x99,
-0x88, 0x76, 0x08, 0xa0, 0xa8, 0x95, 0x7c, 0xd8, 0x38, 0x6d, 0xcd, 0x59, 0x02, 0x51, 0x4b,
-0xf1, 0xb5, 0x2b, 0x50, 0xe3, 0xb6, 0xbd, 0xd0, 0x72, 0xcf, 0x9e, 0xfd, 0x6e, 0xbb, 0x44,
-0xc8, 0x24, 0x8a, 0x77, 0x18, 0x8a, 0x13, 0x06, 0xef, 0x97, 0x7d, 0xfa, 0x81, 0xf0, 0x31,
-0xe6, 0xfa, 0x77, 0xed, 0x31, 0x06, 0x31, 0x5b, 0x54, 0x8a, 0x9f, 0x30, 0x68, 0xdb, 0xe2,
-0x40, 0xf8, 0x4e, 0x73, 0xfa, 0xab, 0x74, 0x8b, 0x10, 0x58, 0x13, 0xdc, 0xd2, 0xe6, 0x78,
-0xd1, 0x32, 0x2e, 0x8a, 0x9f, 0x2c, 0x58, 0x06, 0x48, 0x27, 0xc5, 0xa9, 0x5e, 0x81, 0x47,
-0x89, 0x46, 0x21, 0x91, 0x03, 0x70, 0xa4, 0x3e, 0x88, 0x9c, 0xda, 0x33, 0x0a, 0xce, 0xbc,
-0x8b, 0x8e, 0xcf, 0x9f, 0xd3, 0x71, 0x80, 0x43, 0xcf, 0x6b, 0xa9, 0x51, 0x83, 0x76, 0x30,
-0x82, 0xc5, 0x6a, 0x85, 0x39, 0x11, 0x50, 0x1a, 0x82, 0xdc, 0x1e, 0x1c, 0xd5, 0x7d, 0xa9,
-0x71, 0x99, 0x33, 0x47, 0x19, 0x97, 0xb3, 0x5a, 0xb1, 0xdf, 0xed, 0xa4, 0xf2, 0xe6, 0x26,
-0x84, 0xa2, 0x28, 0x9a, 0x9e, 0xdf, 0xa6, 0x6a, 0xf4, 0xd6, 0xfc, 0x2e, 0x5b, 0x9d, 0x1a,
-0x2a, 0x27, 0x68, 0xfb, 0xc1, 0x83, 0x21, 0x4b, 0x90, 0xe0, 0x36, 0xdd, 0x5b, 0x31, 0x42,
-0x55, 0xa0, 0x13, 0xf7, 0xd0, 0x89, 0x53, 0x71, 0x99, 0x57, 0x09, 0x29, 0xc5, 0xf3, 0x21,
-0xf8, 0x37, 0x2f, 0x40, 0xf3, 0xd4, 0xaf, 0x16, 0x08, 0x36, 0x02, 0xfc, 0x77, 0xc5, 0x8b,
-0x04, 0x90, 0x56, 0xb9, 0xc9, 0x67, 0x9a, 0x99, 0xe8, 0x00, 0xd3, 0x86, 0xff, 0x97, 0x2d,
-0x08, 0xe9, 0xb7, 0xb3, 0x91, 0xbc, 0xdf, 0x45, 0xc6, 0xed, 0x0f, 0x8c, 0x4c, 0x1e, 0xe6,
-0x5b, 0x6e, 0x38, 0x30, 0xe4, 0xaa, 0xe3, 0x95, 0xde, 0xb9, 0xe4, 0x9a, 0xf5, 0xb2, 0x55,
-0x9a, 0x87, 0x9b, 0xf6, 0x6a, 0xb2, 0xf2, 0x77, 0x9a, 0x31, 0xf4, 0x7a, 0x31, 0xd1, 0x1d,
-0x04, 0xc0, 0x7c, 0x32, 0xa2, 0x9e, 0x9a, 0xf5, 0x62, 0xf8, 0x27, 0x8d, 0xbf, 0x51, 0xff,
-0xd3, 0xdf, 0x64, 0x37, 0x3f, 0x2a, 0x6f, 0x76, 0x3a, 0x7d, 0x77, 0x06, 0x9e, 0x77, 0x7f,
-0x5e, 0xeb, 0x32, 0x51, 0xf9, 0x16, 0x66, 0x9a, 0x09, 0xf3, 0xb0, 0x08, 0xa4, 0x70, 0x96,
-0x46, 0x30, 0xff, 0xda, 0x4f, 0xe9, 0x1b, 0xed, 0x8d, 0xf8, 0x74, 0x1f, 0x31, 0x92, 0xb3,
-0x73, 0x17, 0x36, 0xdb, 0x91, 0x30, 0xd6, 0x88, 0x55, 0x6b, 0x34, 0x77, 0x87, 0x7a, 0xe7,
-0xee, 0x06, 0xc6, 0x1c, 0x8c, 0x19, 0x0c, 0x48, 0x46, 0x23, 0x5e, 0x9c, 0x07, 0x5c, 0xbf,
-0xb4, 0x7e, 0xd6, 0x4f, 0x74, 0x9c, 0xe2, 0xc5, 0x50, 0x8b, 0xc5, 0x8b, 0x15, 0x90, 0x60,
-0x62, 0x57, 0x29, 0xd0, 0x13, 0x43, 0xa1, 0x80, 0x88, 0x91, 0x00, 0x44, 0xc7, 0x4d, 0x19,
-0x86, 0xcc, 0x2f, 0x2a, 0x75, 0x5a, 0xfc, 0xeb, 0x97, 0x2a, 0x70, 0xe3, 0x78, 0xd8, 0x91,
-0xb0, 0x4f, 0x99, 0x07, 0xa3, 0x95, 0xea, 0x24, 0x21, 0xd5, 0xde, 0x51, 0x20, 0x93, 0x27,
-0x0a, 0x30, 0x73, 0xa8, 0xff, 0x8a, 0x97, 0xe9, 0xa7, 0x6a, 0x8e, 0x0d, 0xe8, 0xf0, 0xdf,
-0xec, 0xea, 0xb4, 0x6c, 0x1d, 0x39, 0x2a, 0x62, 0x2d, 0x3d, 0x5a, 0x8b, 0x65, 0xf8, 0x90,
-0x05, 0x2e, 0x7e, 0x91, 0x2c, 0x78, 0xef, 0x8e, 0x7a, 0xc1, 0x2f, 0xac, 0x78, 0xee, 0xaf,
-0x28, 0x45, 0x06, 0x4c, 0x26, 0xaf, 0x3b, 0xa2, 0xdb, 0xa3, 0x93, 0x06, 0xb5, 0x3c, 0xa5,
-0xd8, 0xee, 0x8f, 0xaf, 0x25, 0xcc, 0x3f, 0x85, 0x68, 0x48, 0xa9, 0x62, 0xcc, 0x97, 0x8f,
-0x7f, 0x2a, 0xea, 0xe0, 0x15, 0x0a, 0xad, 0x62, 0x07, 0xbd, 0x45, 0xf8, 0x41, 0xd8, 0x36,
-0xcb, 0x4c, 0xdb, 0x6e, 0xe6, 0x3a, 0xe7, 0xda, 0x15, 0xe9, 0x29, 0x1e, 0x12, 0x10, 0xa0,
-0x14, 0x2c, 0x0e, 0x3d, 0xf4, 0xbf, 0x39, 0x41, 0x92, 0x75, 0x0b, 0x25, 0x7b, 0xa3, 0xce,
-0x39, 0x9c, 0x15, 0x64, 0xc8, 0xfa, 0x3d, 0xef, 0x73, 0x27, 0xfe, 0x26, 0x2e, 0xce, 0xda,
-0x6e, 0xfd, 0x71, 0x8e, 0xdd, 0xfe, 0x76, 0xee, 0xdc, 0x12, 0x5c, 0x02, 0xc5, 0x3a, 0x4e,
-0x4e, 0x4f, 0xbf, 0xca, 0x40, 0x15, 0xc7, 0x6e, 0x8d, 0x41, 0xf1, 0x10, 0xe0, 0x4f, 0x7e,
-0x97, 0x7f, 0x1c, 0xae, 0x47, 0x8e, 0x6b, 0xb1, 0x25, 0x31, 0xb0, 0x73, 0xc7, 0x1b, 0x97,
-0x79, 0xf9, 0x80, 0xd3, 0x66, 0x22, 0x30, 0x07, 0x74, 0x1e, 0xe4, 0xd0, 0x80, 0x21, 0xd6,
-0xee, 0x6b, 0x6c, 0x4f, 0xbf, 0xf5, 0xb7, 0xd9, 0x09, 0x87, 0x2f, 0xa9, 0x14, 0xbe, 0x27,
-0xd9, 0x72, 0x50, 0x01, 0xd4, 0x13, 0x73, 0xa6, 0xa7, 0x51, 0x02, 0x75, 0x25, 0xe1, 0xb3,
-0x45, 0x34, 0x7d, 0xa8, 0x8e, 0xeb, 0xf3, 0x16, 0x49, 0xcb, 0x4f, 0x8c, 0xa1, 0xb9, 0x36,
-0x85, 0x39, 0x75, 0x5d, 0x08, 0x00, 0xae, 0xeb, 0xf6, 0xea, 0xd7, 0x13, 0x3a, 0x21, 0x5a,
-0x5f, 0x30, 0x84, 0x52, 0x26, 0x95, 0xc9, 0x14, 0xf2, 0x57, 0x55, 0x6b, 0xb1, 0x10, 0xc2,
-0xe1, 0xbd, 0x3b, 0x51, 0xc0, 0xb7, 0x55, 0x4c, 0x71, 0x12, 0x26, 0xc7, 0x0d, 0xf9, 0x51,
-0xa4, 0x38, 0x02, 0x05, 0x7f, 0xb8, 0xf1, 0x72, 0x4b, 0xbf, 0x71, 0x89, 0x14, 0xf3, 0x77,
-0x38, 0xd9, 0x71, 0x24, 0xf3, 0x00, 0x11, 0xa1, 0xd8, 0xd4, 0x69, 0x27, 0x08, 0x37, 0x35,
-0xc9, 0x11, 0x9d, 0x90, 0x1c, 0x0e, 0xe7, 0x1c, 0xff, 0x2d, 0x1e, 0xe8, 0x92, 0xe1, 0x18,
-0x10, 0x95, 0x7c, 0xe0, 0x80, 0xf4, 0x96, 0x43, 0x21, 0xf9, 0x75, 0x21, 0x64, 0x38, 0xdd,
-0x9f, 0x1e, 0x95, 0x16, 0xda, 0x56, 0x1d, 0x4f, 0x9a, 0x53, 0xb2, 0xe2, 0xe4, 0x18, 0xcb,
-0x6b, 0x1a, 0x65, 0xeb, 0x56, 0xc6, 0x3b, 0xe5, 0xfe, 0xd8, 0x26, 0x3f, 0x3a, 0x84, 0x59,
-0x72, 0x66, 0xa2, 0xf3, 0x75, 0xff, 0xfb, 0x60, 0xb3, 0x22, 0xad, 0x3f, 0x2d, 0x6b, 0xf9,
-0xeb, 0xea, 0x05, 0x7c, 0xd8, 0x8f, 0x6d, 0x2c, 0x98, 0x9e, 0x2b, 0x93, 0xf1, 0x5e, 0x46,
-0xf0, 0x87, 0x49, 0x29, 0x73, 0x68, 0xd7, 0x7f, 0xf9, 0xf0, 0xe5, 0x7d, 0xdb, 0x1d, 0x75,
-0x19, 0xf3, 0xc4, 0x58, 0x9b, 0x17, 0x88, 0xa8, 0x92, 0xe0, 0xbe, 0xbd, 0x8b, 0x1d, 0x8d,
-0x9f, 0x56, 0x76, 0xad, 0xaf, 0x29, 0xe2, 0xd9, 0xd5, 0x52, 0xf6, 0xb5, 0x56, 0x35, 0x57,
-0x3a, 0xc8, 0xe1, 0x56, 0x43, 0x19, 0x94, 0xd3, 0x04, 0x9b, 0x6d, 0x35, 0xd8, 0x0b, 0x5f,
-0x4d, 0x19, 0x8e, 0xec, 0xfa, 0x64, 0x91, 0x0a, 0x72, 0x20, 0x2b, 0xbc, 0x1a, 0x4a, 0xfe,
-0x8b, 0xfd, 0xbb, 0xed, 0x1b, 0x23, 0xea, 0xad, 0x72, 0x82, 0xa1, 0x29, 0x99, 0x71, 0xbd,
-0xf0, 0x95, 0xc1, 0x03, 0xdd, 0x7b, 0xc2, 0xb2, 0x3c, 0x28, 0x54, 0xd3, 0x68, 0xa4, 0x72,
-0xc8, 0x66, 0x96, 0xe0, 0xd1, 0xd8, 0x7f, 0xf8, 0xd1, 0x26, 0x2b, 0xf7, 0xad, 0xba, 0x55,
-0xca, 0x15, 0xb9, 0x32, 0xc3, 0xe5, 0x88, 0x97, 0x8e, 0x5c, 0xfb, 0x92, 0x25, 0x8b, 0xbf,
-0xa2, 0x45, 0x55, 0x7a, 0xa7, 0x6f, 0x8b, 0x57, 0x5b, 0xcf, 0x0e, 0xcb, 0x1d, 0xfb, 0x20,
-0x82, 0x77, 0xa8, 0x8c, 0xcc, 0x16, 0xce, 0x1d, 0xfa, 0xde, 0xcc, 0x0b, 0x62, 0xfe, 0xcc,
-0xe1, 0xb7, 0xf0, 0xc3, 0x81, 0x64, 0x73, 0x40, 0xa0, 0xc2, 0x4d, 0x89, 0x11, 0x75, 0x33,
-0x55, 0x33, 0x8d, 0xe8, 0x4a, 0xfd, 0xea, 0x6e, 0x30, 0x0b, 0xd7, 0x31, 0x2c, 0xde, 0x47,
-0xe3, 0xbf, 0xf8, 0x55, 0x42, 0xe2, 0x7f, 0x59, 0xe5, 0x17, 0xef, 0x99, 0x34, 0x69, 0x91,
-0xb1, 0x23, 0x8e, 0x20, 0x87, 0x2d, 0xa8, 0xfe, 0xd5, 0x8a, 0xf3, 0x84, 0x3a, 0xf0, 0x37,
-0xe4, 0x09, 0x00, 0x54, 0xee, 0x67, 0x49, 0x93, 0xe4, 0x81, 0x70, 0xe3, 0x90, 0x4d, 0xef,
-0xfe, 0x41, 0xb7, 0x99, 0x7b, 0xc1, 0x83, 0xba, 0x62, 0x12, 0x6f, 0x7d, 0xde, 0x6b, 0xaf,
-0xda, 0x16, 0xf9, 0x55, 0x51, 0xee, 0xa6, 0x0c, 0x2b, 0x02, 0xa3, 0xfd, 0x8d, 0xfb, 0x30,
-0x17, 0xe4, 0x6f, 0xdf, 0x36, 0x71, 0xc4, 0xca, 0x87, 0x25, 0x48, 0xb0, 0x47, 0xec, 0xea,
-0xb4, 0xbf, 0xa5, 0x4d, 0x9b, 0x9f, 0x02, 0x93, 0xc4, 0xe3, 0xe4, 0xe8, 0x42, 0x2d, 0x68,
-0x81, 0x15, 0x0a, 0xeb, 0x84, 0x5b, 0xd6, 0xa8, 0x74, 0xfb, 0x7d, 0x1d, 0xcb, 0x2c, 0xda,
-0x46, 0x2a, 0x76, 0x62, 0xce, 0xbc, 0x5c, 0x9e, 0x8b, 0xe7, 0xcf, 0xbe, 0x78, 0xf5, 0x7c,
-0xeb, 0xb3, 0x3a, 0x9c, 0xaa, 0x6f, 0xcc, 0x72, 0xd1, 0x59, 0xf2, 0x11, 0x23, 0xd6, 0x3f,
-0x48, 0xd1, 0xb7, 0xce, 0xb0, 0xbf, 0xcb, 0xea, 0x80, 0xde, 0x57, 0xd4, 0x5e, 0x97, 0x2f,
-0x75, 0xd1, 0x50, 0x8e, 0x80, 0x2c, 0x66, 0x79, 0xbf, 0x72, 0x4b, 0xbd, 0x8a, 0x81, 0x6c,
-0xd3, 0xe1, 0x01, 0xdc, 0xd2, 0x15, 0x26, 0xc5, 0x36, 0xda, 0x2c, 0x1a, 0xc0, 0x27, 0x94,
-0xed, 0xb7, 0x9b, 0x85, 0x0b, 0x5e, 0x80, 0x97, 0xc5, 0xec, 0x4f, 0xec, 0x88, 0x5d, 0x50,
-0x07, 0x35, 0x47, 0xdc, 0x0b, 0x3b, 0x3d, 0xdd, 0x60, 0xaf, 0xa8, 0x5d, 0x81, 0x38, 0x24,
-0x25, 0x5d, 0x5c, 0x15, 0xd1, 0xde, 0xb3, 0xab, 0xec, 0x05, 0x69, 0xef, 0x83, 0xed, 0x57,
-0x54, 0xb8, 0x64, 0x64, 0x11, 0x16, 0x32, 0x69, 0xda, 0x9f, 0x2d, 0x7f, 0x36, 0xbb, 0x44,
-0x5a, 0x34, 0xe8, 0x7f, 0xbf, 0x03, 0xeb, 0x00, 0x7f, 0x59, 0x68, 0x22, 0x79, 0xcf, 0x73,
-0x6c, 0x2c, 0x29, 0xa7, 0xa1, 0x5f, 0x38, 0xa1, 0x1d, 0xf0, 0x20, 0x53, 0xe0, 0x1a, 0x63,
-0x14, 0x58, 0x71, 0x10, 0xaa, 0x08, 0x0c, 0x3e, 0x16, 0x1a, 0x60, 0x22, 0x82, 0x7f, 0xba,
-0xa4, 0x43, 0xa0, 0xd0, 0xac, 0x1b, 0xd5, 0x6b, 0x64, 0xb5, 0x14, 0x93, 0x31, 0x9e, 0x53,
-0x50, 0xd0, 0x57, 0x66, 0xee, 0x5a, 0x4f, 0xfb, 0x03, 0x2a, 0x69, 0x58, 0x76, 0xf1, 0x83,
-0xf7, 0x4e, 0xba, 0x8c, 0x42, 0x06, 0x60, 0x5d, 0x6d, 0xce, 0x60, 0x88, 0xae, 0xa4, 0xc3,
-0xf1, 0x03, 0xa5, 0x4b, 0x98, 0xa1, 0xff, 0x67, 0xe1, 0xac, 0xa2, 0xb8, 0x62, 0xd7, 0x6f,
-0xa0, 0x31, 0xb4, 0xd2, 0x77, 0xaf, 0x21, 0x10, 0x06, 0xc6, 0x9a, 0xff, 0x1d, 0x09, 0x17,
-0x0e, 0x5f, 0xf1, 0xaa, 0x54, 0x34, 0x4b, 0x45, 0x8a, 0x87, 0x63, 0xa6, 0xdc, 0xf9, 0x24,
-0x30, 0x67, 0xc6, 0xb2, 0xd6, 0x61, 0x33, 0x69, 0xee, 0x50, 0x61, 0x57, 0x28, 0xe7, 0x7e,
-0xee, 0xec, 0x3a, 0x5a, 0x73, 0x4e, 0xa8, 0x8d, 0xe4, 0x18, 0xea, 0xec, 0x41, 0x64, 0xc8,
-0xe2, 0xe8, 0x66, 0xb6, 0x2d, 0xb6, 0xfb, 0x6a, 0x6c, 0x16, 0xb3, 0xdd, 0x46, 0x43, 0xb9,
-0x73, 0x00, 0x6a, 0x71, 0xed, 0x4e, 0x9d, 0x25, 0x1a, 0xc3, 0x3c, 0x4a, 0x95, 0x15, 0x99,
-0x35, 0x81, 0x14, 0x02, 0xd6, 0x98, 0x9b, 0xec, 0xd8, 0x23, 0x3b, 0x84, 0x29, 0xaf, 0x0c,
-0x99, 0x83, 0xa6, 0x9a, 0x34, 0x4f, 0xfa, 0xe8, 0xd0, 0x3c, 0x4b, 0xd0, 0xfb, 0xb6, 0x68,
-0xb8, 0x9e, 0x8f, 0xcd, 0xf7, 0x60, 0x2d, 0x7a, 0x22, 0xe5, 0x7d, 0xab, 0x65, 0x1b, 0x95,
-0xa7, 0xa8, 0x7f, 0xb6, 0x77, 0x47, 0x7b, 0x5f, 0x8b, 0x12, 0x72, 0xd0, 0xd4, 0x91, 0xef,
-0xde, 0x19, 0x50, 0x3c, 0xa7, 0x8b, 0xc4, 0xa9, 0xb3, 0x23, 0xcb, 0x76, 0xe6, 0x81, 0xf0,
-0xc1, 0x04, 0x8f, 0xa3, 0xb8, 0x54, 0x5b, 0x97, 0xac, 0x19, 0xff, 0x3f, 0x55, 0x27, 0x2f,
-0xe0, 0x1d, 0x42, 0x9b, 0x57, 0xfc, 0x4b, 0x4e, 0x0f, 0xce, 0x98, 0xa9, 0x43, 0x57, 0x03,
-0xbd, 0xe7, 0xc8, 0x94, 0xdf, 0x6e, 0x36, 0x73, 0x32, 0xb4, 0xef, 0x2e, 0x85, 0x7a, 0x6e,
-0xfc, 0x6c, 0x18, 0x82, 0x75, 0x35, 0x90, 0x07, 0xf3, 0xe4, 0x9f, 0x3e, 0xdc, 0x68, 0xf3,
-0xb5, 0xf3, 0x19, 0x80, 0x92, 0x06, 0x99, 0xa2, 0xe8, 0x6f, 0xff, 0x2e, 0x7f, 0xae, 0x42,
-0xa4, 0x5f, 0xfb, 0xd4, 0x0e, 0x81, 0x2b, 0xc3, 0x04, 0xff, 0x2b, 0xb3, 0x74, 0x4e, 0x36,
-0x5b, 0x9c, 0x15, 0x00, 0xc6, 0x47, 0x2b, 0xe8, 0x8b, 0x3d, 0xf1, 0x9c, 0x03, 0x9a, 0x58,
-0x7f, 0x9b, 0x9c, 0xbf, 0x85, 0x49, 0x79, 0x35, 0x2e, 0x56, 0x7b, 0x41, 0x14, 0x39, 0x47,
-0x83, 0x26, 0xaa, 0x07, 0x89, 0x98, 0x11, 0x1b, 0x86, 0xe7, 0x73, 0x7a, 0xd8, 0x7d, 0x78,
-0x61, 0x53, 0xe9, 0x79, 0xf5, 0x36, 0x8d, 0x44, 0x92, 0x84, 0xf9, 0x13, 0x50, 0x58, 0x3b,
-0xa4, 0x6a, 0x36, 0x65, 0x49, 0x8e, 0x3c, 0x0e, 0xf1, 0x6f, 0xd2, 0x84, 0xc4, 0x7e, 0x8e,
-0x3f, 0x39, 0xae, 0x7c, 0x84, 0xf1, 0x63, 0x37, 0x8e, 0x3c, 0xcc, 0x3e, 0x44, 0x81, 0x45,
-0xf1, 0x4b, 0xb9, 0xed, 0x6b, 0x36, 0x5d, 0xbb, 0x20, 0x60, 0x1a, 0x0f, 0xa3, 0xaa, 0x55,
-0x77, 0x3a, 0xa9, 0xae, 0x37, 0x4d, 0xba, 0xb8, 0x86, 0x6b, 0xbc, 0x08, 0x50, 0xf6, 0xcc,
-0xa4, 0xbd, 0x1d, 0x40, 0x72, 0xa5, 0x86, 0xfa, 0xe2, 0x10, 0xae, 0x3d, 0x58, 0x4b, 0x97,
-0xf3, 0x43, 0x74, 0xa9, 0x9e, 0xeb, 0x21, 0xb7, 0x01, 0xa4, 0x86, 0x93, 0x97, 0xee, 0x2f,
-0x4f, 0x3b, 0x86, 0xa1, 0x41, 0x6f, 0x41, 0x26, 0x90, 0x78, 0x5c, 0x7f, 0x30, 0x38, 0x4b,
-0x3f, 0xaa, 0xec, 0xed, 0x5c, 0x6f, 0x0e, 0xad, 0x43, 0x87, 0xfd, 0x93, 0x35, 0xe6, 0x01,
-0xef, 0x41, 0x26, 0x90, 0x99, 0x9e, 0xfb, 0x19, 0x5b, 0xad, 0xd2, 0x91, 0x8a, 0xe0, 0x46,
-0xaf, 0x65, 0xfa, 0x4f, 0x84, 0xc1, 0xa1, 0x2d, 0xcf, 0x45, 0x8b, 0xd3, 0x85, 0x50, 0x55,
-0x7c, 0xf9, 0x67, 0x88, 0xd4, 0x4e, 0xe9, 0xd7, 0x6b, 0x61, 0x54, 0xa1, 0xa4, 0xa6, 0xa2,
-0xc2, 0xbf, 0x30, 0x9c, 0x40, 0x9f, 0x5f, 0xd7, 0x69, 0x2b, 0x24, 0x82, 0x5e, 0xd9, 0xd6,
-0xa7, 0x12, 0x54, 0x1a, 0xf7, 0x55, 0x9f, 0x76, 0x50, 0xa9, 0x95, 0x84, 0xe6, 0x6b, 0x6d,
-0xb5, 0x96, 0x54, 0xd6, 0xcd, 0xb3, 0xa1, 0x9b, 0x46, 0xa7, 0x94, 0x4d, 0xc4, 0x94, 0xb4,
-0x98, 0xe3, 0xe1, 0xe2, 0x34, 0xd5, 0x33, 0x16, 0x07, 0x54, 0xcd, 0xb7, 0x77, 0x53, 0xdb,
-0x4f, 0x4d, 0x46, 0x9d, 0xe9, 0xd4, 0x9c, 0x8a, 0x36, 0xb6, 0xb8, 0x38, 0x26, 0x6c, 0x0e,
-0xff, 0x9c, 0x1b, 0x43, 0x8b, 0x80, 0xcc, 0xb9, 0x3d, 0xda, 0xc7, 0xf1, 0x8a, 0xf2, 0x6d,
-0xb8, 0xd7, 0x74, 0x2f, 0x7e, 0x1e, 0xb7, 0xd3, 0x4a, 0xb4, 0xac, 0xfc, 0x79, 0x48, 0x6c,
-0xbc, 0x96, 0xb6, 0x94, 0x46, 0x57, 0x2d, 0xb0, 0xa3, 0xfc, 0x1e, 0xb9, 0x52, 0x60, 0x85,
-0x2d, 0x41, 0xd0, 0x43, 0x01, 0x1e, 0x1c, 0xd5, 0x7d, 0xfc, 0xf3, 0x96, 0x0d, 0xc7, 0xcb,
-0x2a, 0x29, 0x9a, 0x93, 0xdd, 0x88, 0x2d, 0x37, 0x5d, 0xaa, 0xfb, 0x49, 0x68, 0xa0, 0x9c,
-0x50, 0x86, 0x7f, 0x68, 0x56, 0x57, 0xf9, 0x79, 0x18, 0x39, 0xd4, 0xe0, 0x01, 0x84, 0x33,
-0x61, 0xca, 0xa5, 0xd2, 0xd6, 0xe4, 0xc9, 0x8a, 0x4a, 0x23, 0x44, 0x4e, 0xbc, 0xf0, 0xdc,
-0x24, 0xa1, 0xa0, 0xc4, 0xe2, 0x07, 0x3c, 0x10, 0xc4, 0xb5, 0x25, 0x4b, 0x65, 0x63, 0xf4,
-0x80, 0xe7, 0xcf, 0x61, 0xb1, 0x71, 0x82, 0x21, 0x87, 0x2c, 0xf5, 0x91, 0x00, 0x32, 0x0c,
-0xec, 0xa9, 0xb5, 0x9a, 0x74, 0x85, 0xe3, 0x36, 0x8f, 0x76, 0x4f, 0x9c, 0x6d, 0xce, 0xbc,
-0xad, 0x0a, 0x4b, 0xed, 0x76, 0x04, 0xcb, 0xc3, 0xb9, 0x33, 0x9e, 0x01, 0x93, 0x96, 0x69,
-0x7d, 0xc5, 0xa2, 0x45, 0x79, 0x9b, 0x04, 0x5c, 0x84, 0x09, 0xed, 0x88, 0x43, 0xc7, 0xab,
-0x93, 0x14, 0x26, 0xa1, 0x40, 0xb5, 0xce, 0x4e, 0xbf, 0x2a, 0x42, 0x85, 0x3e, 0x2c, 0x3b,
-0x54, 0xe8, 0x12, 0x1f, 0x0e, 0x97, 0x59, 0xb2, 0x27, 0x89, 0xfa, 0xf2, 0xdf, 0x8e, 0x68,
-0x59, 0xdc, 0x06, 0xbc, 0xb6, 0x85, 0x0d, 0x06, 0x22, 0xec, 0xb1, 0xcb, 0xe5, 0x04, 0xe6,
-0x3d, 0xb3, 0xb0, 0x41, 0x73, 0x08, 0x3f, 0x3c, 0x58, 0x86, 0x63, 0xeb, 0x50, 0xee, 0x1d,
-0x2c, 0x37, 0x74, 0xa9, 0xd3, 0x18, 0xa3, 0x47, 0x6e, 0x93, 0x54, 0xad, 0x0a, 0x5d, 0xb8,
-0x2a, 0x55, 0x5d, 0x78, 0xf6, 0xee, 0xbe, 0x8e, 0x3c, 0x76, 0x69, 0xb9, 0x40, 0xc2, 0x34,
-0xec, 0x2a, 0xb9, 0xed, 0x7e, 0x20, 0xe4, 0x8d, 0x00, 0x38, 0xc7, 0xe6, 0x8f, 0x44, 0xa8,
-0x86, 0xce, 0xeb, 0x2a, 0xe9, 0x90, 0xf1, 0x4c, 0xdf, 0x32, 0xfb, 0x73, 0x1b, 0x6d, 0x92,
-0x1e, 0x95, 0xfe, 0xb4, 0xdb, 0x65, 0xdf, 0x4d, 0x23, 0x54, 0x89, 0x48, 0xbf, 0x4a, 0x2e,
-0x70, 0xd6, 0xd7, 0x62, 0xb4, 0x33, 0x29, 0xb1, 0x3a, 0x33, 0x4c, 0x23, 0x6d, 0xa6, 0x76,
-0xa5, 0x21, 0x63, 0x48, 0xe6, 0x90, 0x5d, 0xed, 0x90, 0x95, 0x0b, 0x7a, 0x84, 0xbe, 0xb8,
-0x0d, 0x5e, 0x63, 0x0c, 0x62, 0x26, 0x4c, 0x14, 0x5a, 0xb3, 0xac, 0x23, 0xa4, 0x74, 0xa7,
-0x6f, 0x33, 0x30, 0x05, 0x60, 0x01, 0x42, 0xa0, 0x28, 0xb7, 0xee, 0x19, 0x38, 0xf1, 0x64,
-0x80, 0x82, 0x43, 0xe1, 0x41, 0x27, 0x1f, 0x1f, 0x90, 0x54, 0x7a, 0xd5, 0x23, 0x2e, 0xd1,
-0x3d, 0xcb, 0x28, 0xba, 0x58, 0x7f, 0xdc, 0x7c, 0x91, 0x24, 0xe9, 0x28, 0x51, 0x83, 0x6e,
-0xc5, 0x56, 0x21, 0x42, 0xed, 0xa0, 0x56, 0x22, 0xa1, 0x40, 0x80, 0x6b, 0xa8, 0xf7, 0x94,
-0xca, 0x13, 0x6b, 0x0c, 0x39, 0xd9, 0xfd, 0xe9, 0xf3, 0x6f, 0xa6, 0x9e, 0xfc, 0x70, 0x8a,
-0xb3, 0xbc, 0x59, 0x3c, 0x1e, 0x1d, 0x6c, 0xf9, 0x7c, 0xaf, 0xf9, 0x88, 0x71, 0x95, 0xeb,
-0x57, 0x00, 0xbd, 0x9f, 0x8c, 0x4f, 0xe1, 0x24, 0x83, 0xc5, 0x22, 0xea, 0xfd, 0xd3, 0x0c,
-0xe2, 0x17, 0x18, 0x7c, 0x6a, 0x4c, 0xde, 0x77, 0xb4, 0x53, 0x9b, 0x4c, 0x81, 0xcd, 0x23,
-0x60, 0xaa, 0x0e, 0x25, 0x73, 0x9c, 0x02, 0x79, 0x32, 0x30, 0xdf, 0x74, 0xdf, 0x75, 0x19,
-0xf4, 0xa5, 0x14, 0x5c, 0xf7, 0x7a, 0xa8, 0xa5, 0x91, 0x84, 0x7c, 0x60, 0x03, 0x06, 0x3b,
-0xcd, 0x50, 0xb6, 0x27, 0x9c, 0xfe, 0xb1, 0xdd, 0xcc, 0xd3, 0xb0, 0x59, 0x24, 0xb2, 0xca,
-0xe2, 0x1c, 0x81, 0x22, 0x9d, 0x07, 0x8f, 0x8e, 0xb9, 0xbe, 0x4e, 0xfa, 0xfc, 0x39, 0x65,
-0xba, 0xbf, 0x9d, 0x12, 0x37, 0x5e, 0x97, 0x7e, 0xf3, 0x89, 0xf5, 0x5d, 0xf5, 0xe3, 0x09,
-0x8c, 0x62, 0xb5, 0x20, 0x9d, 0x0c, 0x53, 0x8a, 0x68, 0x1b, 0xd2, 0x8f, 0x75, 0x17, 0x5d,
-0xd4, 0xe5, 0xda, 0x75, 0x62, 0x19, 0x14, 0x6a, 0x26, 0x2d, 0xeb, 0xf8, 0xaf, 0x37, 0xf0,
-0x6c, 0xa4, 0x55, 0xb1, 0xbc, 0xe2, 0x33, 0xc0, 0x9a, 0xca, 0xb0, 0x11, 0x49, 0x4f, 0x68,
-0x9b, 0x3b, 0x6b, 0x3c, 0xcc, 0x13, 0xf6, 0xc7, 0x85, 0x61, 0x68, 0x42, 0xae, 0xbb, 0xdd,
-0xcd, 0x45, 0x16, 0x29, 0x1d, 0xea, 0xdb, 0xc8, 0x03, 0x94, 0x3c, 0xee, 0x4f, 0x82, 0x11,
-0xc3, 0xec, 0x28, 0xbd, 0x97, 0x05, 0x99, 0xde, 0xd7, 0xbb, 0x5e, 0x22, 0x1f, 0xd4, 0xeb,
-0x64, 0xd9, 0x92, 0xd9, 0x85, 0xb7, 0x6a, 0x05, 0x6a, 0xe4, 0x24, 0x41, 0xf1, 0xcd, 0xf0,
-0xd8, 0x3f, 0xf8, 0x9e, 0x0e, 0xcd, 0x0b, 0x7a, 0x70, 0x6b, 0x5a, 0x75, 0x0a, 0x6a, 0x33,
-0x88, 0xec, 0x17, 0x75, 0x08, 0x70, 0x10, 0x2f, 0x24, 0xcf, 0xc4, 0xe9, 0x42, 0x00, 0x61,
-0x94, 0xca, 0x1f, 0x3a, 0x76, 0x06, 0xfa, 0xd2, 0x48, 0x81, 0xf0, 0x77, 0x60, 0x03, 0x45,
-0xd9, 0x61, 0xf4, 0xa4, 0x6f, 0x3d, 0xd9, 0x30, 0xc3, 0x04, 0x6b, 0x54, 0x2a, 0xb7, 0xec,
-0x3b, 0xf4, 0x4b, 0xf5, 0x68, 0x52, 0x26, 0xce, 0xff, 0x5d, 0x19, 0x91, 0xa0, 0xa3, 0xa5,
-0xa9, 0xb1, 0xe0, 0x23, 0xc4, 0x0a, 0x77, 0x4d, 0xf9, 0x51, 0x20, 0xa3, 0xa5, 0xa9, 0xb1,
-0xc1, 0x00, 0x82, 0x86, 0x8e, 0x7f, 0x5d, 0x19, 0x91, 0xa0, 0xa3, 0xc4, 0xeb, 0x54, 0x0b,
-0x75, 0x68, 0x52, 0x07, 0x8c, 0x9a, 0x97, 0x8d, 0x79, 0x70, 0x62, 0x46, 0xef, 0x5c, 0x1b,
-0x95, 0x89, 0x71, 0x41, 0xe1, 0x21, 0xa1, 0xa1, 0xa1, 0xc0, 0x02, 0x67, 0x4c, 0x1a, 0xb6,
-0xcf, 0xfd, 0x78, 0x53, 0x24, 0xab, 0xb5, 0xc9, 0xf1, 0x60, 0x23, 0xa5, 0xc8, 0x12, 0x87,
-0x6d, 0x58, 0x13, 0x85, 0x88, 0x92, 0x87, 0x6d, 0x58, 0x32, 0xc7, 0x0c, 0x9a, 0x97, 0xac,
-0xda, 0x36, 0xee, 0x5e, 0x3e, 0xdf, 0x1d, 0xb8, 0xf2, 0x66, 0x2f, 0xbd, 0xf8, 0x72, 0x47,
-0xed, 0x58, 0x13, 0x85, 0x88, 0x92, 0x87, 0x8c, 0x7b, 0x55, 0x09, 0x90, 0xa2, 0xc6, 0xef,
-0x3d, 0xf8, 0x53, 0x24, 0xab, 0xd4, 0x2a, 0xb7, 0xec, 0x5a, 0x36, 0xee, 0x5e, 0x3e, 0xdf,
-0x3c, 0xfa, 0x76, 0x4f, 0xfd, 0x59, 0x30, 0xe2, 0x46, 0xef, 0x3d, 0xf8, 0x53, 0x05, 0x69,
-0x31, 0xc1, 0x00, 0x82, 0x86, 0x8e, 0x7f, 0x5d, 0x19, 0xb0, 0xe2, 0x27, 0xcc, 0xfb, 0x74,
-0x4b, 0x14, 0x8b, 0x94, 0x8b, 0x75, 0x68, 0x33, 0xc5, 0x08, 0x92, 0x87, 0x8c, 0x9a, 0xb6,
-0xcf, 0x1c, 0xba, 0xd7, 0x0d, 0x98, 0xb2, 0xe6, 0x2f, 0xdc, 0x1b, 0x95, 0x89, 0x71, 0x60,
-0x23, 0xc4, 0x0a, 0x96, 0x8f, 0x9c, 0xba, 0xf6, 0x6e, 0x3f, 0xfc, 0x5b, 0x15, 0xa8, 0xd2,
-0x26, 0xaf, 0xbd, 0xf8, 0x72, 0x66, 0x2f, 0xdc, 0x1b, 0xb4, 0xcb, 0x14, 0x8b, 0x94, 0xaa,
-0xb7, 0xcd, 0xf9, 0x51, 0x01, 0x80, 0x82, 0x86, 0x6f, 0x3d, 0xd9, 0x30, 0xe2, 0x27, 0xcc,
-0xfb, 0x74, 0x4b, 0x14, 0xaa, 0xb7, 0xcd, 0xf9, 0x70, 0x43, 0x04, 0x6b, 0x35, 0xc9, 0xf1,
-0x60, 0x23, 0xa5, 0xc8, 0xf3, 0x45, 0x08, 0x92, 0x87, 0x6d, 0x58, 0x32, 0xe6, 0x2f, 0xbd,
-0xf8, 0x72, 0x66, 0x4e, 0x1e, 0xbe, 0xfe, 0x7e, 0x7e, 0x7e, 0x5f, 0x1d, 0x99, 0x91, 0xa0,
-0xa3, 0xc4, 0x0a, 0x77, 0x4d, 0x18, 0x93, 0xa4, 0xab, 0xd4, 0x0b, 0x75, 0x49, 0x10, 0xa2,
-0xc6, 0xef, 0x3d, 0xf8, 0x53, 0x24, 0xab, 0xb5, 0xe8, 0x33, 0xe4, 0x4a, 0x16, 0xae, 0xde,
-0x1f, 0xbc, 0xdb, 0x15, 0xa8, 0xb3, 0xc5, 0x08, 0x73, 0x45, 0xe9, 0x31, 0xc1, 0xe1, 0x21,
-0xa1, 0xa1, 0xa1, 0xc0, 0x02, 0x86, 0x6f, 0x5c, 0x3a, 0xd7, 0x0d, 0x98, 0x93, 0xa4, 0xca,
-0x16, 0xae, 0xde, 0x1f, 0x9d, 0x99, 0xb0, 0xe2, 0x46, 0xef, 0x3d, 0xf8, 0x72, 0x47, 0x0c,
-0x9a, 0xb6, 0xcf, 0xfd, 0x59, 0x11, 0xa0, 0xa3, 0xa5, 0xc8, 0xf3, 0x45, 0x08, 0x92, 0x87,
-0x6d, 0x39, 0xf0, 0x43, 0x04, 0x8a, 0x96, 0xae, 0xde, 0x3e, 0xdf, 0x1d, 0x99, 0x91, 0xa0,
-0xc2, 0x06, 0x6f, 0x3d, 0xf8, 0x72, 0x47, 0x0c, 0x9a, 0x97, 0x8d, 0x98, 0x93, 0x85, 0x88,
-0x73, 0x45, 0xe9, 0x31, 0xe0, 0x23, 0xa5, 0xa9, 0xd0, 0x03, 0x84, 0x8a, 0x96, 0xae, 0xde,
-0x1f, 0xbc, 0xdb, 0x15, 0xa8, 0xd2, 0x26, 0xce, 0xff, 0x5d, 0x19, 0x91, 0x81, 0x80, 0x82,
-0x67, 0x2d, 0xd8, 0x13, 0xa4, 0xab, 0xd4, 0x0b, 0x94, 0xaa, 0xb7, 0xcd, 0xf9, 0x51, 0x20,
-0xa3, 0xa5, 0xc8, 0xf3, 0x45, 0xe9, 0x50, 0x22, 0xc6, 0xef, 0x5c, 0x3a, 0xd7, 0x0d, 0x98,
-0x93, 0x85, 0x88, 0x73, 0x64, 0x4a, 0xf7, 0x4d, 0xf9, 0x51, 0x20, 0xa3, 0xc4, 0x0a, 0x96,
-0xae, 0xde, 0x3e, 0xfe, 0x7e, 0x7e, 0x7e, 0x5f, 0x3c, 0xfa, 0x76, 0x4f, 0xfd, 0x78, 0x72,
-0x66, 0x2f, 0xbd, 0xd9, 0x30, 0xc3, 0xe5, 0x48, 0x12, 0x87, 0x8c, 0x7b, 0x55, 0x28, 0xd2,
-0x07, 0x8c, 0x9a, 0x97, 0xac, 0xda, 0x17, 0x8d, 0x79, 0x51, 0x20, 0xa3, 0xc4, 0xeb, 0x54,
-0x0b, 0x94, 0x8b, 0x94, 0xaa, 0xd6, 0x2e, 0xbf, 0xfc, 0x5b, 0x15, 0xa8, 0xd2, 0x26, 0xaf,
-0xdc, 0x1b, 0xb4, 0xea, 0x37, 0xec, 0x3b, 0xf4, 0x6a, 0x37, 0xcd, 0x18, 0x93, 0x85, 0x69,
-0x31, 0xc1, 0xe1, 0x40, 0xe3, 0x25, 0xc8, 0x12, 0x87, 0x8c, 0x9a, 0xb6, 0xcf, 0xfd, 0x59,
-0x11, 0xa0, 0xc2, 0x06, 0x8e, 0x7f, 0x5d, 0x38, 0xf2, 0x47, 0x0c, 0x7b, 0x74, 0x6a, 0x37,
-0xec, 0x5a, 0x36, 0xee, 0x3f, 0xfc, 0x7a, 0x76, 0x4f, 0x1c, 0x9b, 0x95, 0x89, 0x71, 0x41,
-0x00, 0x63, 0x44, 0xeb, 0x54, 0x2a, 0xd6, 0x0f, 0x9c, 0xba, 0xd7, 0x0d, 0x98, 0x93, 0x85,
-0x69, 0x31, 0xc1, 0x00, 0x82, 0x86, 0x8e, 0x9e, 0xbe, 0xdf, 0x3c, 0xfa, 0x57, 0x2c, 0xda,
-0x36, 0xee, 0x3f, 0xfc, 0x5b, 0x15, 0x89, 0x71, 0x41, 0x00, 0x82, 0x86, 0x8e, 0x7f, 0x5d,
-0x38, 0xf2, 0x47, 0xed, 0x58, 0x13, 0xa4, 0xca, 0xf7, 0x4d, 0xf9, 0x51, 0x01, 0x80, 0x63,
-0x44, 0xeb, 0x54, 0x2a, 0xd6, 0x2e, 0xbf, 0xdd, 0x19, 0x91, 0xa0, 0xa3, 0xa5, 0xa9, 0xb1,
-0xe0, 0x42, 0x06, 0x8e, 0x7f, 0x5d, 0x19, 0x91, 0xa0, 0xa3, 0xc4, 0x0a, 0x96, 0x8f, 0x7d,
-0x78, 0x72, 0x47, 0x0c, 0x7b, 0x74, 0x6a, 0x56, 0x2e, 0xde, 0x1f, 0xbc, 0xfa, 0x57, 0x0d,
-0x79, 0x51, 0x01, 0x61, 0x21, 0xa1, 0xc0, 0xe3, 0x25, 0xa9, 0xb1, 0xc1, 0xe1, 0x40, 0x02,
-0x67, 0x4c, 0x1a, 0x97, 0x8d, 0x98, 0x93, 0xa4, 0xab, 0xd4, 0x2a, 0xd6, 0x0f, 0x9c, 0x9b,
-0xb4, 0xcb, 0x14, 0xaa, 0xb7, 0xcd, 0xf9, 0x51, 0x20, 0xa3, 0xc4, 0xeb, 0x35, 0xc9, 0xf1,
-0x60, 0x42, 0x06, 0x8e, 0x7f, 0x7c, 0x7a, 0x76, 0x6e, 0x3f, 0xfc, 0x7a, 0x76, 0x6e, 0x5e,
-0x3e, 0xfe, 0x7e, 0x5f, 0x3c, 0xdb, 0x15, 0x89, 0x71, 0x41, 0xe1, 0x21, 0xc0, 0xe3, 0x44,
-0xeb, 0x54, 0x2a, 0xb7, 0xcd, 0xf9, 0x70, 0x62, 0x27, 0xad, 0xd8, 0x32, 0xc7, 0x0c, 0x7b,
-0x74, 0x4b, 0x14, 0xaa, 0xb7, 0xec, 0x3b, 0xd5, 0x28, 0xd2, 0x07, 0x6d, 0x39, 0xd1, 0x20,
-0xc2, 0xe7, 0x4c, 0x1a, 0x97, 0x8d, 0x98, 0xb2, 0xc7, 0x0c, 0x59, 0x28, 0xf3, 0x9b };
-
-// clang-format off
diff --git a/keyboards/ploopyco/trackball/rules.mk b/keyboards/ploopyco/trackball/rules.mk
index e1eb998fe0..4ac92ebf64 100644
--- a/keyboards/ploopyco/trackball/rules.mk
+++ b/keyboards/ploopyco/trackball/rules.mk
@@ -24,6 +24,6 @@ POINTING_DEVICE_ENABLE = yes
MOUSEKEY_ENABLE = yes # Mouse keys
QUANTUM_LIB_SRC += analog.c spi_master.c
-SRC += pmw3360.c opt_encoder.c
+SRC += drivers/sensors/pmw3360.c opt_encoder.c
DEFAULT_FOLDER = ploopyco/trackball/rev1_005
diff --git a/keyboards/ploopyco/trackball/trackball.h b/keyboards/ploopyco/trackball/trackball.h
index fd2bf465a5..70f5d83b11 100644
--- a/keyboards/ploopyco/trackball/trackball.h
+++ b/keyboards/ploopyco/trackball/trackball.h
@@ -20,7 +20,7 @@
#include "quantum.h"
#include "spi_master.h"
-#include "pmw3360.h"
+#include "drivers/sensors/pmw3360.h"
#include "analog.h"
#include "opt_encoder.h"
#include "pointing_device.h"
diff --git a/keyboards/ploopyco/trackball_mini/rules.mk b/keyboards/ploopyco/trackball_mini/rules.mk
index 58fad239f4..22c5e3c062 100644
--- a/keyboards/ploopyco/trackball_mini/rules.mk
+++ b/keyboards/ploopyco/trackball_mini/rules.mk
@@ -27,6 +27,6 @@ POINTING_DEVICE_ENABLE = yes
MOUSEKEY_ENABLE = no # Mouse keys
QUANTUM_LIB_SRC += analog.c
-SRC += adns5050.c opt_encoder.c
+SRC += drivers/sensors/adns5050.c opt_encoder.c
DEFAULT_FOLDER = ploopyco/trackball_mini/rev1_001
diff --git a/keyboards/ploopyco/trackball_mini/trackball_mini.h b/keyboards/ploopyco/trackball_mini/trackball_mini.h
index a12d12a0c8..7bcb02a940 100644
--- a/keyboards/ploopyco/trackball_mini/trackball_mini.h
+++ b/keyboards/ploopyco/trackball_mini/trackball_mini.h
@@ -20,7 +20,7 @@
#pragma once
#include "quantum.h"
-#include "adns5050.h"
+#include "drivers/sensors/adns5050.h"
#include "analog.h"
#include "opt_encoder.h"
#include "pointing_device.h"
diff --git a/keyboards/ploopyco/trackball_nano/rules.mk b/keyboards/ploopyco/trackball_nano/rules.mk
index 0286194b9f..f47c316153 100644
--- a/keyboards/ploopyco/trackball_nano/rules.mk
+++ b/keyboards/ploopyco/trackball_nano/rules.mk
@@ -27,6 +27,6 @@ POINTING_DEVICE_ENABLE = yes
MOUSEKEY_ENABLE = no # Mouse keys
QUANTUM_LIB_SRC += analog.c
-SRC += adns5050.c opt_encoder.c
+SRC += drivers/sensors/adns5050.c opt_encoder.c
DEFAULT_FOLDER = ploopyco/trackball_nano/rev1_001
diff --git a/keyboards/ploopyco/trackball_nano/trackball_nano.h b/keyboards/ploopyco/trackball_nano/trackball_nano.h
index 5692383b1e..6c8ecace7d 100644
--- a/keyboards/ploopyco/trackball_nano/trackball_nano.h
+++ b/keyboards/ploopyco/trackball_nano/trackball_nano.h
@@ -20,7 +20,7 @@
#pragma once
#include "quantum.h"
-#include "adns5050.h"
+#include "drivers/sensors/adns5050.h"
#include "analog.h"
#include "opt_encoder.h"
#include "pointing_device.h"
diff --git a/keyboards/preonic/keymaps/AlexDaigre/keymap.c b/keyboards/preonic/keymaps/AlexDaigre/keymap.c
index 3ea61a26ee..ef4707f64b 100644
--- a/keyboards/preonic/keymaps/AlexDaigre/keymap.c
+++ b/keyboards/preonic/keymaps/AlexDaigre/keymap.c
@@ -276,7 +276,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
return true;
}
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -292,6 +292,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
muse_mode = false;
}
}
+ return true;
}
diff --git a/keyboards/preonic/keymaps/cranium/keymap.c b/keyboards/preonic/keymaps/cranium/keymap.c
index 63897d1e6d..2c1337d843 100644
--- a/keyboards/preonic/keymaps/cranium/keymap.c
+++ b/keyboards/preonic/keymaps/cranium/keymap.c
@@ -175,7 +175,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
return true;
}
-void dip_update(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -191,6 +191,7 @@ void dip_update(uint8_t index, bool active) {
muse_mode = false;
}
}
+ return true;
}
void matrix_scan_user(void) {
diff --git a/keyboards/preonic/keymaps/default/keymap.c b/keyboards/preonic/keymaps/default/keymap.c
index b70aa31c14..3a82f7151b 100644
--- a/keyboards/preonic/keymaps/default/keymap.c
+++ b/keyboards/preonic/keymaps/default/keymap.c
@@ -263,7 +263,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
return true;
}
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -279,6 +279,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
muse_mode = false;
}
}
+ return true;
}
diff --git a/keyboards/preonic/keymaps/drasbeck/keymap.c b/keyboards/preonic/keymaps/drasbeck/keymap.c
index 909e86a97d..ae4804ce3f 100644
--- a/keyboards/preonic/keymaps/drasbeck/keymap.c
+++ b/keyboards/preonic/keymaps/drasbeck/keymap.c
@@ -190,7 +190,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
return true;
}
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -206,6 +206,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
muse_mode = false;
}
}
+ return true;
}
diff --git a/keyboards/preonic/keymaps/egstad/keymap.c b/keyboards/preonic/keymaps/egstad/keymap.c
index 07eda66144..f730d911cf 100644
--- a/keyboards/preonic/keymaps/egstad/keymap.c
+++ b/keyboards/preonic/keymaps/egstad/keymap.c
@@ -73,13 +73,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,-----------------------------------------------------------------------------------------------.
* | ` ESC | 1 ! | 2 @ | 3 # | 4 $ | 5 % | 6 ^ | 7 & | 8 * | 9 ( | 0 ) | -_ =+ |
* |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
- * | TB/RS | Q | W | E | R | T | Y | U | I | O | P | [{ }] |
+ * | TB/RS | Q | W | E | R | T | Y | U | I | O | P | [{ }] |
* |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
* | BS/LW | A | S | D | F | G | H | J | K | L | ; | ' |
* |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
* | SFT | Z | X | C | V | B | N | M | , | . | / | SF/RN |
* |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
- * | LEADR | | CTL | ALT | CMD | BSP | SP/LW | RN/RS | ← | ↑ | ↓ | → |
+ * | LEADR | | CTL | ALT | CMD | BSP | SP/LW | RN/RS | ← | ↑ | ↓ | → |
* `-----------------------------------------------------------------------------------------------
*/
@@ -107,7 +107,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
* | | | | | | | | [ { | ] } | ( | ) | \ | |
* |-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------|
- * | | | | | | | >|| | | << | Vol-U | Vol-D | >> |
+ * | | | | | | | >|| | | << | Vol-U | Vol-D | >> |
* `-----------------------------------------------------------------------------------------------'
*/
@@ -146,7 +146,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_CAPS, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PSLS, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_COMM, _______ \
),
-
+
@@ -178,8 +178,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
-// this function
-uint32_t layer_state_set_user(uint32_t state) {
+// this function
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, L_LOWER, L_RAISE, L_ADJUST);
}
@@ -201,8 +201,8 @@ uint32_t layer_state_set_user(uint32_t state) {
* | | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------------------'
*/
-/*
-[L_BLANK] = LAYOUT_preonic_grid(
+/*
+[L_BLANK] = LAYOUT_preonic_grid(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
diff --git a/keyboards/preonic/keymaps/elisiano/keymap.c b/keyboards/preonic/keymaps/elisiano/keymap.c
index 8d3898922f..d885d1f028 100644
--- a/keyboards/preonic/keymaps/elisiano/keymap.c
+++ b/keyboards/preonic/keymaps/elisiano/keymap.c
@@ -257,7 +257,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
return true;
}
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -273,6 +273,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
muse_mode = false;
}
}
+ return true;
}
diff --git a/keyboards/preonic/keymaps/fsck/keymap.c b/keyboards/preonic/keymaps/fsck/keymap.c
index 8e2747f445..dea1523600 100644
--- a/keyboards/preonic/keymaps/fsck/keymap.c
+++ b/keyboards/preonic/keymaps/fsck/keymap.c
@@ -202,7 +202,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
return true;
}
-void dip_update(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -221,6 +221,7 @@ void dip_update(uint8_t index, bool active) {
#endif
}
}
+ return true;
}
void matrix_scan_user(void) {
diff --git a/keyboards/preonic/keymaps/keelhauler/keymap.c b/keyboards/preonic/keymaps/keelhauler/keymap.c
index c7e0766920..dc0cffe094 100644
--- a/keyboards/preonic/keymaps/keelhauler/keymap.c
+++ b/keyboards/preonic/keymaps/keelhauler/keymap.c
@@ -264,7 +264,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
return true;
}
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -280,6 +280,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
muse_mode = false;
}
}
+ return true;
}
diff --git a/keyboards/preonic/keymaps/kjwon15/keymap.c b/keyboards/preonic/keymaps/kjwon15/keymap.c
index 6f1d5f30af..2f25cdfa85 100644
--- a/keyboards/preonic/keymaps/kjwon15/keymap.c
+++ b/keyboards/preonic/keymaps/kjwon15/keymap.c
@@ -327,7 +327,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
return true;
}
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -343,6 +343,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
muse_mode = false;
}
}
+ return true;
}
void matrix_scan_user(void) {
diff --git a/keyboards/preonic/keymaps/laurentlaurent/keymap.c b/keyboards/preonic/keymaps/laurentlaurent/keymap.c
index b1a73035b3..62943a420c 100644
--- a/keyboards/preonic/keymaps/laurentlaurent/keymap.c
+++ b/keyboards/preonic/keymaps/laurentlaurent/keymap.c
@@ -554,7 +554,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
return true;
}
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -570,6 +570,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
muse_mode = false;
}
}
+ return true;
}
void matrix_scan_user(void) {
diff --git a/keyboards/preonic/keymaps/mguterl/keymap.c b/keyboards/preonic/keymaps/mguterl/keymap.c
index 4e8738be2d..87a9cd32b3 100644
--- a/keyboards/preonic/keymaps/mguterl/keymap.c
+++ b/keyboards/preonic/keymaps/mguterl/keymap.c
@@ -273,7 +273,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
return true;
}
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -289,6 +289,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
muse_mode = false;
}
}
+ return true;
}
diff --git a/keyboards/preonic/keymaps/mikethetiger/keymap.c b/keyboards/preonic/keymaps/mikethetiger/keymap.c
index e4b1f2e82a..36e09e5501 100644
--- a/keyboards/preonic/keymaps/mikethetiger/keymap.c
+++ b/keyboards/preonic/keymaps/mikethetiger/keymap.c
@@ -242,7 +242,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
return true;
}
-void dip_update(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -261,6 +261,7 @@ void dip_update(uint8_t index, bool active) {
#endif
}
}
+ return true;
}
void matrix_scan_user(void) {
diff --git a/keyboards/preonic/keymaps/muzfuz/keymap.c b/keyboards/preonic/keymaps/muzfuz/keymap.c
index a728946775..c0c7ae07e6 100644
--- a/keyboards/preonic/keymaps/muzfuz/keymap.c
+++ b/keyboards/preonic/keymaps/muzfuz/keymap.c
@@ -197,7 +197,7 @@ uint16_t muse_counter = 0;
uint8_t muse_offset = 70;
uint16_t muse_tempo = 50;
-bool encoder_update(bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (muse_mode) {
if (IS_LAYER_ON(_RAISE)) {
if (clockwise) {
@@ -224,7 +224,7 @@ bool encoder_update(bool clockwise) {
return true;
}
-void dip_update(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -243,6 +243,7 @@ void dip_update(uint8_t index, bool active) {
#endif
}
}
+ return true;
}
void matrix_scan_user(void) {
diff --git a/keyboards/preonic/keymaps/mverteuil/keymap.c b/keyboards/preonic/keymaps/mverteuil/keymap.c
index 60677701c7..ef01851690 100644
--- a/keyboards/preonic/keymaps/mverteuil/keymap.c
+++ b/keyboards/preonic/keymaps/mverteuil/keymap.c
@@ -459,7 +459,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
return true;
}
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -475,6 +475,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
muse_mode = false;
}
}
+ return true;
}
void matrix_scan_user(void) {
diff --git a/keyboards/preonic/keymaps/mverteuil_2x2u/keymap.c b/keyboards/preonic/keymaps/mverteuil_2x2u/keymap.c
index 290ea16387..4b28058540 100644
--- a/keyboards/preonic/keymaps/mverteuil_2x2u/keymap.c
+++ b/keyboards/preonic/keymaps/mverteuil_2x2u/keymap.c
@@ -395,7 +395,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
return true;
}
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -411,4 +411,5 @@ void dip_switch_update_user(uint8_t index, bool active) {
muse_mode = false;
}
}
+ return true;
}
diff --git a/keyboards/preonic/keymaps/pezhore/keymap.c b/keyboards/preonic/keymaps/pezhore/keymap.c
index 71d9306dc5..c41fb4500f 100644
--- a/keyboards/preonic/keymaps/pezhore/keymap.c
+++ b/keyboards/preonic/keymaps/pezhore/keymap.c
@@ -257,7 +257,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
return true;
}
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -273,6 +273,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
muse_mode = false;
}
}
+ return true;
}
diff --git a/keyboards/preonic/keymaps/pitty/keymap.c b/keyboards/preonic/keymaps/pitty/keymap.c
index 10957d8ac2..25c648eea6 100644
--- a/keyboards/preonic/keymaps/pitty/keymap.c
+++ b/keyboards/preonic/keymaps/pitty/keymap.c
@@ -50,9 +50,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_QWERTY] = LAYOUT_preonic_grid( \
- HU_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, HU_OE, HU_UE, \
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, HU_Z, KC_U, KC_I, KC_O, KC_P, HU_OEE, \
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, HU_EE, HU_AA, \
+ HU_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, HU_ODIA, HU_UDIA, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, HU_Z, KC_U, KC_I, KC_O, KC_P, HU_ODAC, \
+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, HU_EACU, HU_AACU, \
MT(MOD_LSFT, KC_NUBS), HU_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, HU_COMM, HU_DOT, HU_MINS, KC_RSFT, \
KC_LCTL, KC_LGUI, KC_LALT, LOWER, KC_SPC, KC_SPC, KC_ENT, KC_BSPC, KC_RALT, RAISE, KC_INS, KC_DEL \
),
@@ -72,9 +72,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_GAME] = LAYOUT_preonic_grid( \
- HU_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, HU_OE, HU_UE, \
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, HU_Z, KC_U, KC_I, KC_O, KC_P, HU_OEE, \
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, HU_EE, HU_AA, \
+ HU_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, HU_ODIA, HU_UDIA, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, HU_Z, KC_U, KC_I, KC_O, KC_P, HU_ODAC, \
+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, HU_EACU, HU_AACU, \
KC_LSFT, HU_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, HU_COMM, HU_DOT, HU_MINS, KC_RSFT, \
KC_LCTL, KC_LGUI, KC_LALT, RAISE, KC_SPC, KC_SPC, KC_ENT, KC_BSPC, KC_RALT, LOWER, KC_INS, KC_DEL \
),
diff --git a/keyboards/preonic/keymaps/senseored/keymap.c b/keyboards/preonic/keymaps/senseored/keymap.c
index c78528d8c3..e152507835 100644
--- a/keyboards/preonic/keymaps/senseored/keymap.c
+++ b/keyboards/preonic/keymaps/senseored/keymap.c
@@ -345,7 +345,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
return true;
}
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -361,10 +361,11 @@ void dip_switch_update_user(uint8_t index, bool active) {
muse_mode = false;
}
}
+ return true;
}
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
// if(rgblight_get_mode() == 1) {
switch (biton32(state)) {
case _QWERTY:
diff --git a/keyboards/preonic/keymaps/via/keymap.c b/keyboards/preonic/keymaps/via/keymap.c
index 5df57fd3d2..fe62441049 100644
--- a/keyboards/preonic/keymaps/via/keymap.c
+++ b/keyboards/preonic/keymaps/via/keymap.c
@@ -147,7 +147,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
return true;
}
-void dip_switch_update_user(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -163,6 +163,7 @@ void dip_switch_update_user(uint8_t index, bool active) {
muse_mode = false;
}
}
+ return true;
}
diff --git a/keyboards/preonic/keymaps/xulkal/keymap.c b/keyboards/preonic/keymaps/xulkal/keymap.c
index f127ea4693..425c2bb3c6 100644
--- a/keyboards/preonic/keymaps/xulkal/keymap.c
+++ b/keyboards/preonic/keymaps/xulkal/keymap.c
@@ -101,7 +101,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
return true;
}
-void dip_update(uint8_t index, bool active) {
+bool dip_switch_update_user(uint8_t index, bool active) {
switch (index) {
case 0:
if (active) {
@@ -120,6 +120,7 @@ void dip_update(uint8_t index, bool active) {
#endif
}
}
+ return true
}
void matrix_scan_user(void) {
diff --git a/keyboards/preonic/rev1/rules.mk b/keyboards/preonic/rev1/rules.mk
index dea2bbbca9..d6c61f2868 100644
--- a/keyboards/preonic/rev1/rules.mk
+++ b/keyboards/preonic/rev1/rules.mk
@@ -27,7 +27,6 @@ AUDIO_ENABLE = yes # Audio output
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/preonic/rev2/rules.mk b/keyboards/preonic/rev2/rules.mk
index 1b72a622a2..677a0700b8 100644
--- a/keyboards/preonic/rev2/rules.mk
+++ b/keyboards/preonic/rev2/rules.mk
@@ -27,7 +27,6 @@ AUDIO_ENABLE = yes # Audio output
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/preonic/rev3/rev3.c b/keyboards/preonic/rev3/rev3.c
index ec8a56108e..7ccff70611 100644
--- a/keyboards/preonic/rev3/rev3.c
+++ b/keyboards/preonic/rev3/rev3.c
@@ -43,23 +43,6 @@ led_config_t g_led_config = { {
// 7 8 1 2
#endif
-void matrix_init_kb(void) {
- matrix_init_user();
-}
-
-void matrix_scan_kb(void) {
- matrix_scan_user();
-}
-
-#ifdef DIP_SWITCH_ENABLE
- __attribute__((weak))
-void dip_update(uint8_t index, bool active) {}
-
- __attribute__((weak))
-void dip_switch_update_user(uint8_t index, bool active) {
- dip_update(index, active);
-}
-#endif
#ifdef SWAP_HANDS_ENABLE
__attribute__ ((weak))
diff --git a/keyboards/preonic/rev3/rules.mk b/keyboards/preonic/rev3/rules.mk
index 034ace02ad..3c330d02dd 100644
--- a/keyboards/preonic/rev3/rules.mk
+++ b/keyboards/preonic/rev3/rules.mk
@@ -22,7 +22,6 @@ UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
WS2812_DRIVER = pwm
-API_SYSEX_ENABLE = no
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/primekb/prime_e/keymaps/via/keymap.c b/keyboards/primekb/prime_e/keymaps/via/keymap.c
index 46a310f3d6..960d1dc39d 100644
--- a/keyboards/primekb/prime_e/keymaps/via/keymap.c
+++ b/keyboards/primekb/prime_e/keymaps/via/keymap.c
@@ -111,7 +111,7 @@ void led_set_user(uint8_t usb_led) {
}
//function for layer indicator LED
-uint32_t layer_state_set_user(uint32_t state)
+layer_state_t layer_state_set_user(layer_state_t state)
{
if (biton32(state) == 1) {
writePinHigh(B3);
diff --git a/keyboards/primekb/prime_m/rules.mk b/keyboards/primekb/prime_m/rules.mk
index a2e427b671..6988d7e996 100644
--- a/keyboards/primekb/prime_m/rules.mk
+++ b/keyboards/primekb/prime_m/rules.mk
@@ -30,4 +30,4 @@ UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
-LAYOUTS = ortho_5x6 numpad_5x6
+LAYOUTS = numpad_5x6
diff --git a/keyboards/primekb/prime_o/keymaps/spacebarracecar/keymap.c b/keyboards/primekb/prime_o/keymaps/spacebarracecar/keymap.c
index 9014fbc5b6..dbcc8c31a3 100644
--- a/keyboards/primekb/prime_o/keymaps/spacebarracecar/keymap.c
+++ b/keyboards/primekb/prime_o/keymaps/spacebarracecar/keymap.c
@@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LOWER] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, DE_TILD, DE_EXLM, DE_DQOT, DE_HASH, DE_DLR, DE_PERC, CU_CIRC, DE_AMPR, DE_ASTR, DE_LPRN, DE_RPRN, _______,
+ _______, _______, _______, _______, DE_TILD, DE_EXLM, DE_DQUO, DE_HASH, DE_DLR, DE_PERC, CU_CIRC, DE_AMPR, DE_ASTR, DE_LPRN, DE_RPRN, _______,
_______, _______, _______, _______, _______, DE_AT, CTRLX, CTRLC, CTRLV, XXXXXXX, XXXXXXX, DE_UNDS, DE_PLUS, DE_LCBR, DE_RCBR, DE_PIPE,
_______, _______, _______, _______, _______, DE_EURO, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DE_MINS, CU_EQL, CU_LBRC, CU_RBRC, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/ramonimbao/wete/keymaps/jis/keymap.c b/keyboards/ramonimbao/wete/keymaps/jis/keymap.c
index 14dfb1ca6d..8d65932219 100644
--- a/keyboards/ramonimbao/wete/keymaps/jis/keymap.c
+++ b/keyboards/ramonimbao/wete/keymaps/jis/keymap.c
@@ -22,7 +22,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_jis_rhnp(
KC_INSERT, KC_PSCREEN, KC_PAUSE, KC_SLCK, KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_NUMLOCK, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS, JP_ZHTG, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, JP_MINS, JP_CIRC, JP_YEN, KC_BSPC, KC_HOME,
+ KC_NUMLOCK, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS, JP_ZKHK, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, JP_MINS, JP_CIRC, JP_YEN, KC_BSPC, KC_HOME,
KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, JP_LBRC, KC_ENTER, KC_END,
KC_KP_4, KC_KP_5, KC_KP_6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_SCLN, JP_COLN, JP_RBRC, KC_PGUP,
KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_ENTER, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JP_COMM, JP_DOT, JP_SLSH, JP_BSLS, KC_RSFT, KC_PGDN,
diff --git a/keyboards/redox/keymaps/german/keymap.c b/keyboards/redox/keymaps/german/keymap.c
index f94cd164a8..06928b2304 100644
--- a/keyboards/redox/keymaps/german/keymap.c
+++ b/keyboards/redox/keymaps/german/keymap.c
@@ -40,9 +40,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
KC_NAGR ,DE_1 ,DE_2 ,DE_3 ,DE_4 ,DE_5 , DE_6 ,DE_7 ,DE_8 ,DE_9 ,DE_0 ,KC_NAMI ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TAB ,DE_Q ,DE_W ,DE_E ,DE_R ,DE_T ,SYM_L , SYM_L ,DE_Z ,DE_U ,DE_I ,DE_O ,DE_P ,DE_UE ,
+ KC_TAB ,DE_Q ,DE_W ,DE_E ,DE_R ,DE_T ,SYM_L , SYM_L ,DE_Z ,DE_U ,DE_I ,DE_O ,DE_P ,DE_UDIA ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_ESC ,DE_A ,DE_S ,DE_D ,DE_F ,DE_G ,DE_ACUT , DE_PLUS ,DE_H ,DE_J ,DE_K ,DE_L ,DE_OE ,DE_AE ,
+ KC_ESC ,DE_A ,DE_S ,DE_D ,DE_F ,DE_G ,DE_ACUT , DE_PLUS ,DE_H ,DE_J ,DE_K ,DE_L ,DE_ODIA ,DE_ADIA ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
KC_LSFT ,DE_Y ,DE_X ,DE_C ,DE_V ,DE_B ,KC_ADPU ,KC_PGDN , KC_HOME ,KC_ADEN ,DE_N ,DE_M ,DE_COMM ,DE_DOT ,DE_MINS ,KC_RSFT ,
//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
diff --git a/keyboards/redox/keymaps/italian/keymap.c b/keyboards/redox/keymaps/italian/keymap.c
index 1eb34ff104..5059a810b9 100644
--- a/keyboards/redox/keymaps/italian/keymap.c
+++ b/keyboards/redox/keymaps/italian/keymap.c
@@ -34,8 +34,8 @@ enum custom_keycodes {
#define KC_ADPU LT(_ADJUST, KC_PGUP)
// Italian specific shortcuts
-#define ALT_IACC RALT_T(IT_IACC)
-#define GUI_LESS LGUI_T(IT_LESS)
+#define ALT_IACC RALT_T(IT_IGRV)
+#define GUI_LESS LGUI_T(IT_LABK)
#define IT_SHSL RSFT_T(KC_SLSH)
#define IT_GRV RALT(KC_MINS)
@@ -47,11 +47,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
KC_NAGR ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_NAMI ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,SYM_L , SYM_L ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,IT_EACC ,
+ KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,SYM_L , SYM_L ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,IT_EGRV ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_ESC ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,IT_LBRC , IT_RBRC ,KC_H ,KC_J ,KC_K ,KC_L ,IT_OACC ,IT_AACC ,
+ KC_ESC ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,IT_LBRC , IT_RBRC ,KC_H ,KC_J ,KC_K ,KC_L ,IT_OGRV ,IT_AGRV ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_ADPU ,KC_PGDN , KC_HOME ,KC_ADEN ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,IT_UACC ,IT_SHSL ,
+ KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_ADPU ,KC_PGDN , KC_HOME ,KC_ADEN ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,IT_UGRV ,IT_SHSL ,
//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
GUI_LESS,KC_PPLS ,KC_PMNS ,KC_ALAS , KC_CTPL , KC_BSPC ,KC_DEL , KC_ENT ,KC_SPC , ALT_IACC, KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT
//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
@@ -63,9 +63,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ ,IT_EXLM ,IT_AT ,IT_LCBR ,IT_RCBR ,IT_PIPE ,_______ , _______ ,XXXXXXX ,KC_KP_7 ,KC_KP_8 ,KC_KP_9 ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,IT_SHRP ,IT_DLR ,IT_LBRC ,IT_RBRC ,IT_GRV ,_______ , _______ ,XXXXXXX ,KC_KP_4 ,KC_KP_5 ,KC_KP_6 ,XXXXXXX ,XXXXXXX ,
+ _______ ,IT_HASH ,IT_DLR ,IT_LBRC ,IT_RBRC ,IT_GRV ,_______ , _______ ,XXXXXXX ,KC_KP_4 ,KC_KP_5 ,KC_KP_6 ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,IT_PERC ,IT_CRC ,IT_LPRN ,IT_RPRN ,IT_TILD ,_______ ,_______ , _______ ,_______ ,XXXXXXX ,KC_KP_1 ,KC_KP_2 ,KC_KP_3 ,XXXXXXX ,XXXXXXX ,
+ _______ ,IT_PERC ,IT_CIRC ,IT_LPRN ,IT_RPRN ,IT_TILD ,_______ ,_______ , _______ ,_______ ,XXXXXXX ,KC_KP_1 ,KC_KP_2 ,KC_KP_3 ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
_______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , KC_KP_0 , KC_KP_0 ,KC_PDOT ,XXXXXXX ,XXXXXXX
//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
diff --git a/keyboards/redox/keymaps/tw1t611/keymap.c b/keyboards/redox/keymaps/tw1t611/keymap.c
index 1309831b23..3ea10a7528 100644
--- a/keyboards/redox/keymaps/tw1t611/keymap.c
+++ b/keyboards/redox/keymaps/tw1t611/keymap.c
@@ -11,11 +11,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
_______ ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,_______ ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_ESC ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,_______ , _______ ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,DE_AE ,
+ KC_ESC ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,_______ , _______ ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,DE_ADIA ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TAB ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_BSPC , KC_DEL ,KC_H ,KC_J ,KC_K ,KC_L ,DE_EQL ,DE_OE ,
+ KC_TAB ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_BSPC , KC_DEL ,KC_H ,KC_J ,KC_K ,KC_L ,DE_EQL ,DE_ODIA ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- DE_UNDS ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_LCTL ,KC_BSPC , KC_DEL ,KC_RCTL ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,DE_SS ,DE_UE ,
+ DE_UNDS ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_LCTL ,KC_BSPC , KC_DEL ,KC_RCTL ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,DE_SS ,DE_UDIA ,
//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
_______ ,_______ ,_______ ,_______ , KC_LALT , KC_SPC ,KC_LSFT , MO(MOD) ,KC_ENT , KC_LGUI , _______ ,_______ ,_______ ,_______
//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
@@ -24,11 +24,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
KC_F12 ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- DE_CIRC ,DE_QUOT ,DE_DQOT ,DE_LCBR ,DE_RCBR ,DE_GRV ,RGB_MOD , RESET ,DE_PERC ,DE_PLUS ,DE_MINS ,DE_ASTR ,DE_SLSH ,DE_BSLS ,
+ DE_CIRC ,DE_QUOT ,DE_DQUO ,DE_LCBR ,DE_RCBR ,DE_GRV ,RGB_MOD , RESET ,DE_PERC ,DE_PLUS ,DE_MINS ,DE_ASTR ,DE_SLSH ,DE_BSLS ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- DE_TILD ,DE_EXLM ,DE_DLR ,DE_LPRN ,DE_RPRN ,DE_AMPR ,RGB_TOG , _______ ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT ,DE_QST ,DE_PIPE ,
+ DE_TILD ,DE_EXLM ,DE_DLR ,DE_LPRN ,DE_RPRN ,DE_AMPR ,RGB_TOG , _______ ,KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT ,DE_QUES ,DE_PIPE ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,DE_AT ,DE_EURO ,DE_LBRC ,DE_RBRC ,_______ ,RGB_M_P ,_______ , _______ ,_______ ,DE_HASH ,DE_LESS ,DE_SCLN ,DE_COLN ,DE_MORE ,DE_PARA ,
+ _______ ,DE_AT ,DE_EURO ,DE_LBRC ,DE_RBRC ,_______ ,RGB_M_P ,_______ , _______ ,_______ ,DE_HASH ,DE_LABK ,DE_SCLN ,DE_COLN ,DE_RABK ,DE_SECT ,
//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
_______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , _______ , _______ ,_______ ,_______ ,_______
//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
diff --git a/keyboards/redox_w/keymaps/italian/keymap.c b/keyboards/redox_w/keymaps/italian/keymap.c
index 6e23a32d4d..e67742c6a1 100644
--- a/keyboards/redox_w/keymaps/italian/keymap.c
+++ b/keyboards/redox_w/keymaps/italian/keymap.c
@@ -34,8 +34,8 @@ enum custom_keycodes {
#define KC_ADPU LT(_ADJUST, KC_PGUP)
// Italian specific shortcuts
-#define ALT_IACC RALT_T(IT_IACC)
-#define GUI_LESS LGUI_T(IT_LESS)
+#define ALT_IACC RALT_T(IT_IGRV)
+#define GUI_LESS LGUI_T(IT_LABK)
#define IT_SHSL RSFT_T(KC_SLSH)
#define IT_GRV RALT(KC_MINS)
@@ -47,11 +47,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
KC_NAGR ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_NAMI ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,SYM_L , SYM_L ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,IT_EACC ,
+ KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,SYM_L , SYM_L ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,IT_EGRV ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_ESC ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,IT_LBRC , IT_RBRC ,KC_H ,KC_J ,KC_K ,KC_L ,IT_OACC ,IT_AACC ,
+ KC_ESC ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,IT_LBRC , IT_RBRC ,KC_H ,KC_J ,KC_K ,KC_L ,IT_OGRV ,IT_AGRV ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_ADPU ,KC_PGDN , KC_HOME ,KC_ADEN ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,IT_UACC ,IT_SHSL ,
+ KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_ADPU ,KC_PGDN , KC_HOME ,KC_ADEN ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,IT_UGRV ,IT_SHSL ,
//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
GUI_LESS,KC_PPLS ,KC_PMNS ,KC_ALAS , KC_CTPL , KC_BSPC ,KC_DEL , KC_ENT ,KC_SPC , ALT_IACC, KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT
//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
@@ -63,9 +63,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
_______ ,IT_EXLM ,IT_AT ,IT_LCBR ,IT_RCBR ,IT_PIPE ,_______ , _______ ,XXXXXXX ,KC_KP_7 ,KC_KP_8 ,KC_KP_9 ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,IT_SHRP ,IT_DLR ,IT_LBRC ,IT_RBRC ,IT_GRV ,_______ , _______ ,XXXXXXX ,KC_KP_4 ,KC_KP_5 ,KC_KP_6 ,XXXXXXX ,XXXXXXX ,
+ _______ ,IT_HASH ,IT_DLR ,IT_LBRC ,IT_RBRC ,IT_GRV ,_______ , _______ ,XXXXXXX ,KC_KP_4 ,KC_KP_5 ,KC_KP_6 ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______ ,IT_PERC ,IT_CRC ,IT_LPRN ,IT_RPRN ,IT_TILD ,_______ ,_______ , _______ ,_______ ,XXXXXXX ,KC_KP_1 ,KC_KP_2 ,KC_KP_3 ,XXXXXXX ,XXXXXXX ,
+ _______ ,IT_PERC ,IT_CIRC ,IT_LPRN ,IT_RPRN ,IT_TILD ,_______ ,_______ , _______ ,_______ ,XXXXXXX ,KC_KP_1 ,KC_KP_2 ,KC_KP_3 ,XXXXXXX ,XXXXXXX ,
//├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
_______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , KC_KP_0 , KC_KP_0 ,KC_PDOT ,XXXXXXX ,XXXXXXX
//└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘
diff --git a/keyboards/reviung39/keymaps/default_s/keymap.c b/keyboards/reviung39/keymaps/default_s/keymap.c
index 9f0d0debc2..42e2694315 100644
--- a/keyboards/reviung39/keymaps/default_s/keymap.c
+++ b/keyboards/reviung39/keymaps/default_s/keymap.c
@@ -33,21 +33,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT),
LOWER, KC_SPC, RAISE
),
-
+
[_LOWER] = LAYOUT_reviung39(
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
_______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_GRV, KC_TILD,
_______, KC_ESC, KC_LGUI, KC_LALT, KC_CAPS, KC_DQUO, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_PSCR, RSFT_T(KC_SPC),
_______, KC_ENT, _______
),
-
+
[_RAISE] = LAYOUT_reviung39(
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
_______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
_______, KC_ESC, KC_RGUI, KC_RALT, KC_CAPS, KC_QUOT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
_______, KC_BSPC, _______
),
-
+
[_ADJUST] = LAYOUT_reviung39(
RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, XXXXXXX, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
@@ -56,6 +56,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
diff --git a/keyboards/rgbkb/common/common_oled.c b/keyboards/rgbkb/common/common_oled.c
new file mode 100644
index 0000000000..b6ea6b20af
--- /dev/null
+++ b/keyboards/rgbkb/common/common_oled.c
@@ -0,0 +1,101 @@
+/*
+ * ----------------------------------------------------------------------------
+ * "THE BEER-WARE LICENSE" (Revision 42):
+ * <https://github.com/Legonut> wrote this file. As long as you retain this
+ * notice you can do whatever you want with this stuff. If we meet some day, and
+ * you think this stuff is worth it, you can buy me a beer in return. David Rauseo
+ * ----------------------------------------------------------------------------
+ */
+
+#include "common_oled.h"
+#include "oled_driver.h"
+#include "rgb_matrix.h"
+
+// for memcpy
+#include <string.h>
+#include <transactions.h>
+
+typedef struct {
+ bool selecting;
+ uint8_t selection;
+} kb_menu_status_t;
+
+static kb_menu_status_t rgb_menu = { false, 4 };
+static bool rgb_menu_changed = false;
+
+void render_logo(void) {
+ static const char PROGMEM font_logo[] = {
+ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
+ 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
+ 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0};
+ oled_write_P(font_logo, false);
+}
+
+void render_icon(void) {
+ static const char PROGMEM font_icon[] = {
+ 0x9b,0x9c,0x9d,0x9e,0x9f,
+ 0xbb,0xbc,0xbd,0xbe,0xbf,
+ 0xdb,0xdc,0xdd,0xde,0xdf,0
+ };
+ oled_write_P(font_icon, false);
+}
+
+#define RGB_FUNCTION_COUNT 6
+typedef void (*rgb_matrix_f)(void);
+const rgb_matrix_f rgb_matrix_functions[RGB_FUNCTION_COUNT][2] = {
+ { rgb_matrix_increase_hue, rgb_matrix_decrease_hue },
+ { rgb_matrix_increase_sat, rgb_matrix_decrease_sat },
+ { rgb_matrix_increase_val, rgb_matrix_decrease_val },
+ { rgb_matrix_increase_speed, rgb_matrix_decrease_speed },
+ { rgb_matrix_step, rgb_matrix_step_reverse },
+ { rgb_matrix_toggle, rgb_matrix_toggle }
+};
+
+void render_rgb_menu(void) {
+ static char buffer[63] = {0};
+ snprintf(buffer, sizeof(buffer), "Hue %3dSatrn %3dValue %3dSpeed %3dMode %3dEnbld %3d",
+ rgb_matrix_config.hsv.h, rgb_matrix_config.hsv.s, rgb_matrix_config.hsv.v, rgb_matrix_config.speed, rgb_matrix_config.mode, rgb_matrix_config.enable);
+
+ if (rgb_menu.selecting) {
+ buffer[5 + rgb_menu.selection * 10] = '*';
+ }
+ else {
+ buffer[5 + rgb_menu.selection * 10] = '>';
+ }
+ oled_write(buffer, false);
+}
+
+void rgb_menu_selection(void) {
+ if (!is_keyboard_master()) return;
+ rgb_menu.selecting = !rgb_menu.selecting;
+ rgb_menu_changed = true;
+}
+
+void rgb_menu_action(bool clockwise) {
+ if (!is_keyboard_master()) return;
+ if (rgb_menu.selecting) {
+ if (!clockwise) {
+ rgb_menu.selection = (rgb_menu.selection - 1);
+ if (rgb_menu.selection >= RGB_FUNCTION_COUNT)
+ rgb_menu.selection = RGB_FUNCTION_COUNT - 1;
+ }
+ else {
+ rgb_menu.selection = (rgb_menu.selection + 1) % RGB_FUNCTION_COUNT;
+ }
+ }
+ else {
+ (*rgb_matrix_functions[rgb_menu.selection][clockwise])();
+ }
+ rgb_menu_changed = true;
+}
+
+void rgb_menu_update(int8_t transaction_id) {
+ if (!is_keyboard_master()) return;
+ if (!rgb_menu_changed) return;
+ rgb_menu_changed = false;
+ transaction_rpc_send(transaction_id, sizeof(kb_menu_status_t), &rgb_menu);
+}
+
+void rgb_menu_slave_sync(uint8_t initiator2target_buffer_size, const void* initiator2target_buffer, uint8_t target2initiator_buffer_size, void* target2initiator_buffer) {
+ memcpy(&rgb_menu, initiator2target_buffer, sizeof(kb_menu_status_t));
+} \ No newline at end of file
diff --git a/keyboards/rgbkb/common/common_oled.h b/keyboards/rgbkb/common/common_oled.h
new file mode 100644
index 0000000000..a99988b2a8
--- /dev/null
+++ b/keyboards/rgbkb/common/common_oled.h
@@ -0,0 +1,21 @@
+/*
+ * ----------------------------------------------------------------------------
+ * "THE BEER-WARE LICENSE" (Revision 42):
+ * <https://github.com/Legonut> wrote this file. As long as you retain this
+ * notice you can do whatever you want with this stuff. If we meet some day, and
+ * you think this stuff is worth it, you can buy me a beer in return. David Rauseo
+ * ----------------------------------------------------------------------------
+ */
+
+#pragma once
+
+#include <stdint.h>
+#include <stdbool.h>
+
+void render_logo(void);
+void render_icon(void);
+void render_rgb_menu(void);
+void rgb_menu_selection(void);
+void rgb_menu_action(bool clockwise);
+void rgb_menu_update(int8_t transaction_id);
+void rgb_menu_slave_sync(uint8_t initiator2target_buffer_size, const void* initiator2target_buffer, uint8_t target2initiator_buffer_size, void* target2initiator_buffer); \ No newline at end of file
diff --git a/keyboards/rgbkb/common/glcdfont.c b/keyboards/rgbkb/common/glcdfont.c
new file mode 100644
index 0000000000..320925a8f7
--- /dev/null
+++ b/keyboards/rgbkb/common/glcdfont.c
@@ -0,0 +1,240 @@
+/*
+ * ----------------------------------------------------------------------------
+ * "THE BEER-WARE LICENSE" (Revision 42):
+ * <https://github.com/Legonut> wrote this file. As long as you retain this
+ * notice you can do whatever you want with this stuff. If we meet some day, and
+ * you think this stuff is worth it, you can buy me a beer in return. David Rauseo
+ * ----------------------------------------------------------------------------
+ */
+
+#include "progmem.h"
+
+// Helidox 8x6 font with RGBKB SOL Logo
+// Online editor: http://teripom.x0.com/
+
+static const unsigned char font[] PROGMEM = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
+ 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
+ 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
+ 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
+ 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
+ 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
+ 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
+ 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
+ 0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
+ 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
+ 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
+ 0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
+ 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
+ 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
+ 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
+ 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
+ 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
+ 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
+ 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
+ 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
+ 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
+ 0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
+ 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
+ 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
+ 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
+ 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
+ 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
+ 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
+ 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
+ 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
+ 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
+ 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
+ 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
+ 0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
+ 0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
+ 0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
+ 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
+ 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
+ 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
+ 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
+ 0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
+ 0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
+ 0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
+ 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
+ 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
+ 0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
+ 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
+ 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
+ 0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
+ 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
+ 0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
+ 0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
+ 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
+ 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
+ 0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
+ 0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
+ 0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
+ 0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
+ 0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
+ 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
+ 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
+ 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
+ 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
+ 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
+ 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
+ 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
+ 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
+ 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
+ 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
+ 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
+ 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
+ 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
+ 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
+ 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
+ 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
+ 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
+ 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
+ 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
+ 0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
+ 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
+ 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
+ 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
+ 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
+ 0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
+ 0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
+ 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
+ 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
+ 0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
+ 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
+ 0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
+ 0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
+ 0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
+ 0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
+ 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
+ 0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
+ 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
+ 0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
+ 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
+ 0x18, 0xA4, 0xA4, 0x9C, 0x78, 0x00,
+ 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
+ 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
+ 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
+ 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
+ 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
+ 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
+ 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
+ 0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
+ 0xFC, 0x18, 0x24, 0x24, 0x18, 0x00,
+ 0x18, 0x24, 0x24, 0x18, 0xFC, 0x00,
+ 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
+ 0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
+ 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
+ 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
+ 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
+ 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
+ 0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
+ 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
+ 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
+ 0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
+ 0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
+ 0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
+ 0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
+ 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,
+ 0x00, 0x00, 0x00, 0x80, 0x80, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x80, 0x80,
+ 0x80, 0x80, 0x80, 0x80, 0x80, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x80, 0x00, 0x00, 0x0C, 0x90,
+ 0xB0, 0xE0, 0x72, 0x31, 0x9B, 0xDE,
+ 0xCE, 0xEC, 0xEE, 0xE9, 0xE9, 0xEC,
+ 0xCF, 0xDA, 0x99, 0x3E, 0x62, 0xE4,
+ 0xC4, 0x70, 0x10, 0x10, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x60,
+ 0xC0, 0xC0, 0x80, 0x80, 0x02, 0x85,
+ 0x85, 0x87, 0x85, 0x89, 0x89, 0x92,
+ 0xEA, 0xC6, 0xC4, 0x48, 0x50, 0x60,
+ 0x40, 0x40, 0x40, 0x40, 0xC0, 0xE0,
+ 0x50, 0x28, 0x10, 0x10, 0x60, 0xC0,
+ 0x40, 0x40, 0x40, 0x40, 0x80, 0x80,
+ 0x80, 0x80, 0x80, 0xE0, 0xF8, 0xFC,
+ 0xF8, 0xF0, 0x00, 0x00, 0x00, 0x00,
+ 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC,
+ 0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00,
+ 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E,
+ 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00,
+ 0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B,
+ 0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00,
+ 0x00, 0x00, 0xF0, 0xF4, 0xEC, 0xDE,
+ 0xDE, 0xBE, 0x3E, 0x3E, 0x3F, 0x3F,
+ 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x3F,
+ 0x3F, 0x3E, 0x3E, 0xBE, 0xDE, 0xDE,
+ 0xEC, 0xF4, 0xF0, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x7F, 0x80, 0x80,
+ 0x80, 0x70, 0x0F, 0x00, 0x00, 0x80,
+ 0x7F, 0x00, 0x00, 0x7F, 0x80, 0x80,
+ 0x80, 0x80, 0x80, 0x80, 0x80, 0x7F,
+ 0x00, 0x00, 0x80, 0x80, 0x80, 0x80,
+ 0x80, 0x80, 0x80, 0xFF, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x40, 0x21, 0x33, 0x3B, 0x7B,
+ 0xFF, 0x00, 0x7C, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0x7C, 0x01,
+ 0xFF, 0xDE, 0x8C, 0x04, 0x0C, 0x08,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0x01, 0x01, 0x7F, 0x80,
+ 0x80, 0xBE, 0xBE, 0x80, 0x80, 0x80,
+ 0xC1, 0xFF, 0x80, 0x04, 0x32, 0x5E,
+ 0x1C, 0x3D, 0x26, 0x10, 0xC1, 0xFF,
+ 0x3E, 0x00, 0x00, 0x08, 0x36, 0xC1,
+ 0x08, 0x08, 0x14, 0x77, 0x94, 0x94,
+ 0x94, 0xF7, 0x94, 0xF7, 0x9C, 0x9C,
+ 0xFF, 0xFF, 0x1E, 0x00, 0x00, 0x00,
+ 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F,
+ 0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00,
+ 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F,
+ 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00,
+ 0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20,
+ 0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00,
+ 0x00, 0x00, 0x01, 0x0F, 0x3F, 0xFF,
+ 0xFF, 0xFF, 0xFC, 0xE0, 0x80, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x80, 0xE0, 0xFC, 0xFF, 0xFF, 0xFF,
+ 0x3F, 0x0F, 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, 0x06, 0x02, 0x06,
+ 0x4D, 0x4F, 0x8C, 0xF9, 0x73, 0x37,
+ 0x27, 0x2F, 0x2F, 0xAF, 0xEF, 0x6F,
+ 0x77, 0x17, 0x33, 0x79, 0xCC, 0x1F,
+ 0x31, 0x20, 0x21, 0x02, 0x02, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x40, 0xE0,
+ 0xA0, 0xA0, 0xD0, 0x90, 0x48, 0x48,
+ 0x25, 0x2B, 0x11, 0x09, 0x05, 0x03,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x03, 0x02, 0x04, 0x03, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0x0F, 0x1F,
+ 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x7F,
+ 0xFE, 0xFC, 0x00, 0xFC, 0xFE, 0x7F,
+ 0x3F, 0x1F, 0x0F, 0x07, 0x03, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
diff --git a/keyboards/rgbkb/common/touch_encoder.c b/keyboards/rgbkb/common/touch_encoder.c
new file mode 100644
index 0000000000..6293739ec9
--- /dev/null
+++ b/keyboards/rgbkb/common/touch_encoder.c
@@ -0,0 +1,310 @@
+/*
+ * ----------------------------------------------------------------------------
+ * "THE BEER-WARE LICENSE" (Revision 42):
+ * <https://github.com/XScorpion2> wrote this file. As long as you retain this
+ * notice you can do whatever you want with this stuff. If we meet some day, and
+ * you think this stuff is worth it, you can buy me a beer in return. Ryan Caltabiano
+ * ----------------------------------------------------------------------------
+ */
+
+#include "i2c_master.h"
+#include "keyboard.h"
+#include "touch_encoder.h"
+#include "print.h"
+#include "wait.h"
+#include "timer.h"
+
+// for memcpy
+#include <string.h>
+#include <transactions.h>
+
+#define I2C_ADDRESS 0x1C
+#define CALIBRATION_BIT 0x80
+#define OVERFLOW_BIT 0x40
+#define SLIDER_BIT 0x02
+
+#ifndef TOUCH_UPDATE_INTERVAL
+# define TOUCH_UPDATE_INTERVAL 33
+#endif
+
+enum { // QT2120 registers
+ QT_CHIP_ID = 0,
+ QT_FIRMWARE_VERSION,
+ QT_DETECTION_STATUS,
+ QT_KEY_STATUS,
+ QT_SLIDER_POSITION = 5,
+ QT_CALIBRATE,
+ QT_RESET,
+ QT_LP,
+ QT_TTD,
+ QT_ATD,
+ QT_DI,
+ QT_TRD,
+ QT_DHT,
+ QT_SLIDER_OPTION,
+ QT_CHARDE_TIME,
+ QT_KEY0_DTHR,
+ QT_KEY1_DTHR,
+ QT_KEY2_DTHR,
+ QT_KEY3_DTHR,
+ QT_KEY4_DTHR,
+ QT_KEY5_DTHR,
+ QT_KEY6_DTHR,
+ QT_KEY7_DTHR,
+ QT_KEY8_DTHR,
+ QT_KEY9_DTHR,
+ QT_KEY10_DTHR,
+ QT_KEY11_DTHR,
+ QT_KEY0_CTRL,
+ QT_KEY1_CTRL,
+ QT_KEY2_CTRL,
+ QT_KEY3_CTRL,
+ QT_KEY4_CTRL,
+ QT_KEY5_CTRL,
+ QT_KEY6_CTRL,
+ QT_KEY7_CTRL,
+ QT_KEY8_CTRL,
+ QT_KEY9_CTRL,
+ QT_KEY10_CTRL,
+ QT_KEY11_CTRL,
+ QT_KEY0_PULSE_SCALE,
+ QT_KEY1_PULSE_SCALE,
+ QT_KEY2_PULSE_SCALE,
+ QT_KEY3_PULSE_SCALE,
+ QT_KEY4_PULSE_SCALE,
+ QT_KEY5_PULSE_SCALE,
+ QT_KEY6_PULSE_SCALE,
+ QT_KEY7_PULSE_SCALE,
+ QT_KEY8_PULSE_SCALE,
+ QT_KEY9_PULSE_SCALE,
+ QT_KEY10_PULSE_SCALE,
+ QT_KEY11_PULSE_SCALE,
+ QT_KEY0_SIGNAL,
+ QT_KEY1_SIGNAL = 54,
+ QT_KEY2_SIGNAL = 56,
+ QT_KEY3_SIGNAL = 58,
+ QT_KEY4_SIGNAL = 60,
+ QT_KEY5_SIGNAL = 62,
+ QT_KEY6_SIGNAL = 64,
+ QT_KEY7_SIGNAL = 66,
+ QT_KEY8_SIGNAL = 68,
+ QT_KEY9_SIGNAL = 70,
+ QT_KEY10_SIGNAL = 72,
+ QT_KEY11_SIGNAL = 74,
+ QT_KEY0_REFERENCE = 76,
+ QT_KEY1_REFERENCE = 78,
+ QT_KEY2_REFERENCE = 80,
+ QT_KEY3_REFERENCE = 82,
+ QT_KEY4_REFERENCE = 84,
+ QT_KEY5_REFERENCE = 86,
+ QT_KEY6_REFERENCE = 88,
+ QT_KEY7_REFERENCE = 90,
+ QT_KEY8_REFERENCE = 92,
+ QT_KEY9_REFERENCE = 94,
+ QT_KEY10_REFERENCE = 96,
+ QT_KEY11_REFERENCE = 98,
+};
+
+bool touch_initialized = false;
+bool touch_disabled = false;
+uint8_t touch_handness = 0;
+// touch_raw & touch_processed store the Detection Status, Key Status (x2), and Slider Position values
+uint8_t touch_raw[4] = { 0 };
+uint8_t touch_processed[4] = { 0 };
+
+uint16_t touch_timer = 0;
+uint16_t touch_update_timer = 0;
+
+// For split transport only
+typedef struct {
+ uint8_t position;
+ uint8_t taps;
+} slave_touch_status_t;
+
+bool touch_slave_init = false;
+slave_touch_status_t touch_slave_state = { 0, 0 };
+
+static bool write_register8(uint8_t address, uint8_t data) {
+ i2c_status_t status = i2c_writeReg((I2C_ADDRESS << 1), address, &data, sizeof(data), I2C_TIMEOUT);
+ if (status != I2C_STATUS_SUCCESS) {
+ xprintf("write_register8 %d failed %d\n", address, status);
+ }
+ return status == I2C_STATUS_SUCCESS;
+}
+
+static bool read_register(uint8_t address, uint8_t* data, uint16_t length) {
+ i2c_status_t status = i2c_readReg((I2C_ADDRESS << 1), address, data, length, I2C_TIMEOUT);
+ if (status != I2C_STATUS_SUCCESS) {
+ xprintf("read_register %d failed %d\n", address, status);
+ return false;
+ }
+ return true;
+}
+
+void touch_encoder_init(void) {
+ i2c_init();
+
+ touch_handness = is_keyboard_left() ? 0 : 1;
+
+ // Set QT to slider mode
+ touch_initialized = write_register8(QT_SLIDER_OPTION, 0x80);
+ touch_initialized &= write_register8(QT_TTD, 4); // Toward Drift - 20 @ 3.2s
+ touch_initialized &= write_register8(QT_ATD, 1); // Away Drift - 5 @ 0.8s
+ touch_initialized &= write_register8(QT_DI, 4); // Detection Integrator - 4
+ touch_initialized &= write_register8(QT_TRD, 0); // Touch Recall - 48
+ touch_encoder_calibrate();
+}
+
+__attribute__((weak)) bool touch_encoder_tapped_kb(uint8_t index, uint8_t section) { return touch_encoder_tapped_user(index, section); }
+__attribute__((weak)) bool touch_encoder_update_kb(uint8_t index, bool clockwise) { return touch_encoder_update_user(index, clockwise); }
+
+__attribute__((weak)) bool touch_encoder_tapped_user(uint8_t index, uint8_t section) { return true; }
+__attribute__((weak)) bool touch_encoder_update_user(uint8_t index, bool clockwise) { return true; }
+
+static void touch_encoder_update_tapped(void) {
+ // Started touching, being counter for TOUCH_TERM
+ if (touch_processed[0] & SLIDER_BIT) {
+ touch_timer = timer_read() + TOUCH_TERM;
+ return;
+ }
+
+ // Touch held too long, bail
+ if (timer_expired(timer_read(), touch_timer)) return;
+
+ uint8_t section = touch_processed[3] / (UINT8_MAX / TOUCH_SEGMENTS + 1);
+ xprintf("tap %d %d\n", touch_handness, section);
+ if (is_keyboard_master()) {
+ if (!touch_disabled) {
+ touch_encoder_tapped_kb(touch_handness, section);
+ }
+ }
+ else {
+ touch_slave_state.taps ^= (1 << section);
+ }
+}
+
+static void touch_encoder_update_position_common(uint8_t* position, uint8_t raw, uint8_t index) {
+ int8_t delta = (*position - raw) / TOUCH_RESOLUTION;
+ bool clockwise = raw > *position;
+ if (delta == 0) return;
+
+ // Don't store raw directly, as we want to ensure any remainder is kept and used next time this is called
+ *position -= delta * TOUCH_RESOLUTION;
+ xprintf("pos %d %d\n", index, raw);
+ //uint8_t u_delta = delta < 0 ? -delta : delta;
+ if (!touch_disabled) {
+ //for (uint8_t i = 0; i < u_delta; i++)
+ touch_encoder_update_kb(index, clockwise);
+ }
+}
+
+static void touch_encoder_update_position(void) {
+ // If the user touchs and moves enough, expire touch_timer faster and do encoder position logic instead
+ if (!timer_expired(timer_read(), touch_timer)) {
+ if ((uint8_t)(touch_raw[3] - touch_processed[3]) <= TOUCH_DEADZONE) return;
+ touch_timer = timer_read();
+ }
+
+ if (is_keyboard_master()) {
+ touch_encoder_update_position_common(&touch_processed[3], touch_raw[3], touch_handness);
+ }
+ else {
+ touch_slave_state.position = touch_raw[3];
+ }
+}
+
+void touch_encoder_update_slave(slave_touch_status_t slave_state) {
+ if (!touch_slave_init) {
+ touch_slave_state = slave_state;
+ touch_slave_init = true;
+ return;
+ }
+
+ if (touch_slave_state.position != slave_state.position) {
+ // Did a new slide event start?
+ uint8_t mask = (1 << 7);
+ if ((touch_slave_state.taps & mask) != (slave_state.taps & mask)) {
+ touch_slave_state.position = slave_state.position;
+ }
+ touch_encoder_update_position_common(&touch_slave_state.position, slave_state.position, !touch_handness);
+ }
+
+ if (touch_slave_state.taps != slave_state.taps) {
+ if (!touch_disabled) {
+ for (uint8_t section = 0; section < TOUCH_SEGMENTS; section++) {
+ uint8_t mask = (1 << section);
+ if ((touch_slave_state.taps & mask) != (slave_state.taps & mask)) {
+ xprintf("tap %d %d\n", !touch_handness, section);
+ touch_encoder_tapped_kb(!touch_handness, section);
+ }
+ }
+ }
+ touch_slave_state.taps = slave_state.taps;
+ }
+}
+
+void touch_encoder_update(int8_t transaction_id) {
+ if (!touch_initialized) return;
+#if TOUCH_UPDATE_INTERVAL > 0
+ if (!timer_expired(timer_read(), touch_update_timer)) return;
+ touch_update_timer = timer_read() + TOUCH_UPDATE_INTERVAL;
+#endif
+
+ read_register(QT_DETECTION_STATUS, &touch_raw[0], sizeof(touch_raw));
+ touch_processed[1] = touch_raw[1];
+ touch_processed[2] = touch_raw[2];
+
+ if (touch_raw[0] != touch_processed[0]) {
+ uint8_t delta = touch_raw[0] ^ touch_processed[0];
+ touch_processed[0] = touch_raw[0];
+ // When calibrating, normal sensor behavior is supended
+ if (delta & CALIBRATION_BIT) {
+ xprintf("calibration %d\n", touch_processed[0] >> 7 & 1);
+ }
+ if (delta & OVERFLOW_BIT) {
+ xprintf("overflow %d\n", touch_processed[0] >> 6 & 1);
+ }
+ if (delta & SLIDER_BIT) {
+ touch_processed[3] = touch_raw[3];
+ if (!is_keyboard_master()) {
+ touch_slave_state.position = touch_raw[3];
+ touch_slave_state.taps ^= (1 << 7);
+ }
+ touch_encoder_update_tapped();
+ }
+ }
+
+ if ((touch_raw[0] & SLIDER_BIT) && touch_processed[3] != touch_raw[3]) {
+ touch_encoder_update_position();
+ }
+
+ if (is_keyboard_master()) {
+ slave_touch_status_t slave_state;
+ if (transaction_rpc_exec(transaction_id, sizeof(bool), &touch_disabled, sizeof(slave_touch_status_t), &slave_state)) {
+ if (memcmp(&touch_slave_state, &slave_state, sizeof(slave_touch_status_t)))
+ touch_encoder_update_slave(slave_state);
+ }
+ }
+}
+
+void touch_encoder_calibrate(void) {
+ if (!touch_initialized) return;
+ write_register8(QT_CALIBRATE, 0x01);
+}
+
+bool touch_encoder_calibrating(void) {
+ return touch_raw[0] & CALIBRATION_BIT;
+}
+
+void touch_encoder_toggle(void) {
+ touch_disabled = !touch_disabled;
+}
+
+bool touch_encoder_toggled(void) {
+ return touch_disabled;
+}
+
+void touch_encoder_slave_sync(uint8_t initiator2target_buffer_size, const void* initiator2target_buffer, uint8_t target2initiator_buffer_size, void* target2initiator_buffer) {
+ touch_disabled = *(bool*)initiator2target_buffer;
+ memcpy(target2initiator_buffer, &touch_slave_state, sizeof(slave_touch_status_t));
+}
diff --git a/keyboards/rgbkb/common/touch_encoder.h b/keyboards/rgbkb/common/touch_encoder.h
new file mode 100644
index 0000000000..022f619063
--- /dev/null
+++ b/keyboards/rgbkb/common/touch_encoder.h
@@ -0,0 +1,54 @@
+/*
+ * ----------------------------------------------------------------------------
+ * "THE BEER-WARE LICENSE" (Revision 42):
+ * <https://github.com/XScorpion2> wrote this file. As long as you retain this
+ * notice you can do whatever you want with this stuff. If we meet some day, and
+ * you think this stuff is worth it, you can buy me a beer in return. Ryan Caltabiano
+ * ----------------------------------------------------------------------------
+ */
+
+#pragma once
+
+#include <stdint.h>
+#include <stdbool.h>
+
+#ifndef TOUCH_TERM
+# define TOUCH_TERM 350
+#endif
+
+#ifndef TOUCH_SEGMENTS
+# define TOUCH_SEGMENTS 3
+#elif TOUCH_SEGMENTS < 1 || TOUCH_SEGMENTS > 5
+# error TOUCH_SEGMENTS must be between 1 and 5.
+#endif
+
+#ifndef TOUCH_DEADZONE
+# define TOUCH_DEADZONE 50
+#endif
+
+#ifndef TOUCH_RESOLUTION
+# define TOUCH_RESOLUTION 25
+#endif
+
+void touch_encoder_init(void);
+void touch_encoder_update(int8_t transaction_id);
+
+void touch_encoder_calibrate(void);
+bool touch_encoder_calibrating(void);
+
+void touch_encoder_toggle(void);
+bool touch_encoder_toggled(void);
+
+// Called when touch encoder is tapped, weak function overridable by the kb
+bool touch_encoder_tapped_kb(uint8_t index, uint8_t section);
+
+// Called when touch encoder is slid, weak function overridable by the kb
+bool touch_encoder_update_kb(uint8_t index, bool clockwise);
+
+// Called when touch encoder is tapped, weak function overridable by the user
+bool touch_encoder_tapped_user(uint8_t index, uint8_t section);
+
+// Called when touch encoder is slid, weak function overridable by the user
+bool touch_encoder_update_user(uint8_t index, bool clockwise);
+
+void touch_encoder_slave_sync(uint8_t initiator2target_buffer_size, const void* initiator2target_buffer, uint8_t target2initiator_buffer_size, void* target2initiator_buffer);
diff --git a/keyboards/converter/ibm_5291/.noci b/keyboards/rgbkb/mun/.noci
index e69de29bb2..e69de29bb2 100644
--- a/keyboards/converter/ibm_5291/.noci
+++ b/keyboards/rgbkb/mun/.noci
diff --git a/keyboards/rgbkb/mun/config.h b/keyboards/rgbkb/mun/config.h
new file mode 100644
index 0000000000..5d1a2ce202
--- /dev/null
+++ b/keyboards/rgbkb/mun/config.h
@@ -0,0 +1,106 @@
+/*
+ * ----------------------------------------------------------------------------
+ * "THE BEER-WARE LICENSE" (Revision 42):
+ * <https://github.com/Legonut> wrote this file. As long as you retain this
+ * notice you can do whatever you want with this stuff. If we meet some day, and
+ * you think this stuff is worth it, you can buy me a beer in return. David Rauseo
+ * ----------------------------------------------------------------------------
+ */
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0x3535
+#define PRODUCT_ID 0x3505
+#define MANUFACTURER RGBKB
+#define PRODUCT Mün
+
+#define USB_POLLING_INTERVAL_MS 1
+
+/* Matrix Configuration - Rows are doubled up */
+#define MATRIX_ROWS 14
+// B1, A2 reserved for encoder / touch encoder support
+#define MATRIX_ROW_PINS { A1, A3, B3, A13, B15, B1, A2 }
+#define MATRIX_COLS 7
+#define MATRIX_COL_PINS { A0, B11, B0, B10, B12, B2, A8 }
+#define MATRIX_IO_DELAY 5
+
+#define BUSY_WAIT
+#define BUSY_WAIT_INSTRUCTIONS 35 // Increase if two rows are pressed at the same time.
+#define GPIO_INPUT_PIN_DELAY 10
+
+/* Touchbar adjustments */
+#define TOUCH_DEADZONE 50 // width of a "button", wider inputs will be interpreted as a swipe
+#define TOUCH_TERM 350 // time of a "button" touch, longer inputs will be a swipe
+#define TOUCH_RESOLUTION 25 // sensitivity of swipes, lower=faster
+
+/* Encoder Configuration */
+#define ENCODERS_PAD_A { B8, B9 }
+#define ENCODERS_PAD_B { A14, A15 }
+#define TOUCH_SEGMENTS 3
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* CRC Configuration */
+#define CRC8_OPTIMIZE_SPEED
+#define CRC8_USE_TABLE
+
+/* Split Keyboard Configuration */
+#define EE_HANDS
+#define SPLIT_USB_DETECT
+// also handles the SERIAL_USART_TX_PIN define
+#define SOFT_SERIAL_PIN A9
+#define SERIAL_USART_TX_PAL_MODE 7
+#define SERIAL_USART_TIMEOUT 5
+#define SERIAL_USART_DRIVER SD1
+//#define SERIAL_USART_FULL_DUPLEX - Waiting on reunification pr
+#if SERIAL_USART_FULL_DUPLEX
+ #define SERIAL_USART_RX_PIN A10
+ #define SERIAL_USART_RX_PAL_MODE 7
+ // Mun connects TX to TX and RX to RX as we were planning on i2c split, so we need pin swap for full duplex
+ #define SERIAL_USART_PIN_SWAP
+ #define SERIAL_USART_SPEED (2 * 1024 * 1024)
+#else
+ #define SERIAL_USART_SPEED (1 * 1024 * 1024)
+#endif
+
+/* Split Transport Features */
+#define SPLIT_TRANSPORT_MIRROR
+#define SPLIT_LAYER_STATE_ENABLE
+#define SPLIT_LED_STATE_ENABLE
+#define SPLIT_TRANSACTION_IDS_KB TOUCH_ENCODER_SYNC, RGB_MENU_SYNC
+
+/* RGB LED Configuration */
+#define RGB_DI_PIN B5
+#define RGBLED_NUM 98
+#define RGBLED_SPLIT { 49, 49 }
+#define RGBLIGHT_ANIMATIONS
+
+#define DRIVER_LED_TOTAL RGBLED_NUM
+#define RGB_MATRIX_SPLIT RGBLED_SPLIT
+#define RGB_MATRIX_CENTER { 128, 34 }
+#define RGB_MATRIX_LED_FLUSH_LIMIT 33
+#define RGB_MATRIX_LED_PROCESS_LIMIT 10
+#define RGB_MATRIX_KEYPRESSES
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+#define RGB_DISABLE_WHEN_USB_SUSPENDED
+
+#if RGB_UNLIMITED_POWER
+ #define RGBLIGHT_LIMIT_VAL 255
+#else
+ #define RGBLIGHT_LIMIT_VAL 127
+#endif
+#define RGB_MATRIX_MAXIMUM_BRIGHTNESS RGBLIGHT_LIMIT_VAL
+
+#define WS2812_PWM_DRIVER PWMD3
+#define WS2812_PWM_CHANNEL 2
+#define WS2812_PWM_PAL_MODE 2
+#define WS2812_DMA_STREAM STM32_DMA1_STREAM3
+#define WS2812_DMA_CHANNEL 3
+
+#define TOUCH_UPDATE_INTERVAL 33
+#define OLED_UPDATE_INTERVAL 33
+#define TAP_CODE_DELAY 5
diff --git a/keyboards/rgbkb/mun/halconf.h b/keyboards/rgbkb/mun/halconf.h
new file mode 100644
index 0000000000..c8d832a81d
--- /dev/null
+++ b/keyboards/rgbkb/mun/halconf.h
@@ -0,0 +1,24 @@
+/*
+ * ----------------------------------------------------------------------------
+ * "THE BEER-WARE LICENSE" (Revision 42):
+ * <https://github.com/Legonut> wrote this file. As long as you retain this
+ * notice you can do whatever you want with this stuff. If we meet some day, and
+ * you think this stuff is worth it, you can buy me a beer in return. David Rauseo
+ * ----------------------------------------------------------------------------
+ */
+
+#pragma once
+
+//#define HAL_USE_DAC TRUE
+
+//#define HAL_USE_GPT TRUE
+
+#define HAL_USE_I2C TRUE
+
+#define HAL_USE_PWM TRUE
+
+#define HAL_USE_SERIAL TRUE
+
+#define HAL_USE_SERIAL_USB TRUE
+
+#include_next <halconf.h>
diff --git a/keyboards/rgbkb/mun/keymaps/default/config.h b/keyboards/rgbkb/mun/keymaps/default/config.h
new file mode 100644
index 0000000000..967b309f63
--- /dev/null
+++ b/keyboards/rgbkb/mun/keymaps/default/config.h
@@ -0,0 +1,30 @@
+/*
+ * ----------------------------------------------------------------------------
+ * "THE BEER-WARE LICENSE" (Revision 42):
+ * <https://github.com/Legonut> wrote this file. As long as you retain this
+ * notice you can do whatever you want with this stuff. If we meet some day, and
+ * you think this stuff is worth it, you can buy me a beer in return. David Rauseo
+ * ----------------------------------------------------------------------------
+ */
+
+#pragma once
+
+// No need for the single versions when multi performance isn't a problem =D
+#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+#define DISABLE_RGB_MATRIX_SPLASH
+#define DISABLE_RGB_MATRIX_SOLID_SPLASH
+
+// 20m timeout (20m * 60s * 1000mil)
+// #define RGB_DISABLE_TIMEOUT 1200000
+#define RGB_DISABLE_WHEN_USB_SUSPENDED
+
+#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
+// 224B per layer right now
+#define DYNAMIC_KEYMAP_LAYER_COUNT 8
+#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 2047
+
+#define VIA_QMK_RGBLIGHT_ENABLE
+
+#define STM32_ONBOARD_EEPROM_SIZE 2048
diff --git a/keyboards/rgbkb/mun/keymaps/default/keymap.c b/keyboards/rgbkb/mun/keymaps/default/keymap.c
new file mode 100644
index 0000000000..b120c3a37a
--- /dev/null
+++ b/keyboards/rgbkb/mun/keymaps/default/keymap.c
@@ -0,0 +1,252 @@
+/*
+ * ----------------------------------------------------------------------------
+ * "THE BEER-WARE LICENSE" (Revision 42):
+ * <https://github.com/Legonut> wrote this file. As long as you retain this
+ * notice you can do whatever you want with this stuff. If we meet some day, and
+ * you think this stuff is worth it, you can buy me a beer in return. David Rauseo
+ * ----------------------------------------------------------------------------
+ */
+
+#include QMK_KEYBOARD_H
+#include "common_oled.h"
+
+enum keymap_layers {
+ _QWERTY,
+ _COLEMAK,
+ _GAME,
+ _FN,
+ _ADJUST,
+ _VIA1,
+ _VIA2,
+ _VIA3
+};
+
+enum keymap_keycodes {
+ // Disables touch processing
+ TCH_TOG = SAFE_RANGE,
+ MENU_BTN,
+ MENU_UP,
+ MENU_DN
+};
+
+// Default Layers
+#define QWERTY DF(_QWERTY)
+#define COLEMAK DF(_COLEMAK)
+#define GAME DF(_GAME)
+
+// Momentary Layers
+#define FN MO(_FN)
+#define ADJUST MO(_ADJUST)
+
+#define FN_CAPS LT(_FN, KC_CAPS)
+#define FN_ESC LT(_FN, KC_ESC)
+
+/* This keyboard is enabled with an RGB Menu Control system.
+This functionality is enabled, but still requires a little configuration based on your exact setup.
+The RGB Menu will appear on the Right Half's OLED and can be controlled by the MENU keycodes:
+MENU_BTN - Triggers a button action for the menu
+MENU_UP - Triggers an increase action for the menu
+MENU_DN - Triggers a decrease action for the menu
+
+To finish configuration for your board, you will want to change the default keycodes for an encoder on the right half.
+Encoder press keycode should be set to MENU_BTN, Clockwise should be MENU_UP, and Counter Clockwise should be MENU_DN.
+Depending on where you add an encoder to the right half will determin in the default keymap where you should put those keycodes.
+*/
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* QWERTY
+ * .--------------------------------------------------------------. .--------------------------------------------------------------.
+ * | `~/ESC | 1 | 2 | 3 | 4 | 5 | - | | = | 6 | 7 | 8 | 9 | 0 | Bckspc |
+ * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ * | Tab | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | \ |
+ * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ * | FN/Caps| A | S | D | F | G | ( | | ) | H | J | K | L | : | ' |
+ * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ * | Shift | Z | X | C | V | B | { | | } | N | M | , | . | / |Shft/Ent|
+ * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ * | Ctrl | Win | Alt | RGBTOG | Adjust | Space | Bksp | | Enter | Space | Left | Down | Up | Right | Ctrl |
+ * '--------+--------+--------+--------+--------+--------+--------' '--------+--------+--------+--------+--------+--------+--------'
+ * Encoder 1 Encoder 2 Encoder 3 Encoder 4
+ * .-----------------------------------. .-----------------------------------.
+ * | VolUp | VolDn | VolUp | VolDn | | PgUp | PgDn | PgUp | PgDn |
+ * |--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------|
+ * | VolDn | VolUp | Next | Play | Prev | Touch Encoder Touch Encoder | RgbHuI | RgbHuD | RgbMdD | RgbTog | RgbMdI |
+ * '--------+--------+--------+--------+--------' '--------+--------+--------+--------+--------'
+ */
+ [_QWERTY] = LAYOUT(
+ KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLASH,
+ FN_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LPRN, KC_RPRN, 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_LCBR, KC_RCBR, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_SFTENT,
+ KC_LCTL, KC_LGUI, KC_LALT, RGB_TOG, ADJUST, KC_SPC, KC_DEL, KC_ENT, KC_SPC, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,KC_RCTL,
+
+ KC_VOLU, KC_VOLD, KC_VOLU, KC_VOLD, KC_PGDN, KC_PGUP, KC_PGDN, KC_PGUP,
+ KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_MPRV, RGB_HUI, RGB_HUD, RGB_RMOD,RGB_TOG, RGB_MOD
+ ),
+
+ [_COLEMAK] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_Q, KC_W, KC_F, KC_P, KC_G, _______, _______, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, _______,
+ _______, KC_A, KC_R, KC_S, KC_T, KC_D, _______, _______, KC_H, KC_N, KC_E, KC_I, KC_O, _______,
+ _______, KC_Z, KC_X, KC_C, KC_V, KC_B, _______, _______, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+
+ _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_GAME] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, KC_F1, KC_F5, _______, _______, _______, _______, _______, _______,
+ _______, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_F2, KC_F6, KC_Y, KC_U, KC_I, KC_O, KC_P, _______,
+ _______, KC_A, KC_S, KC_D, KC_F, KC_G, KC_F3, KC_F7, KC_H, KC_J, KC_K, KC_L, KC_SCLN, _______,
+ _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_F4, KC_F8, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, _______,
+ _______, KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+
+ _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_FN] = LAYOUT(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
+ _______, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, _______, KC_HOME, KC_UP, KC_END, KC_PSCR, KC_PGUP,
+ _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_INS, KC_PGDN,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, TCH_TOG, _______, _______, _______, _______, _______, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU,
+
+ _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_ADJUST] = LAYOUT(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
+ _______, RGB_SAD, RGB_VAI, RGB_SAI, RESET, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______,
+ _______, RGB_HUD, RGB_VAD, RGB_HUI, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______,
+ _______, RGB_SPD, _______, RGB_SPI, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, GAME,
+ _______, RGB_RMOD,_______, RGB_MOD, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_NLCK, QWERTY, COLEMAK,
+
+ _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_VIA1] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+
+ _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_VIA2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+
+ _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ [_VIA3] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+
+ _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode)
+ {
+ case MENU_BTN:
+ if (record->event.pressed) {
+ rgb_menu_selection();
+ }
+ return false;
+ case MENU_UP:
+ if (record->event.pressed) {
+ rgb_menu_action(true);
+ }
+ return false;
+ case MENU_DN:
+ if (record->event.pressed) {
+ rgb_menu_action(false);
+ }
+ return false;
+ case TCH_TOG:
+ if (record->event.pressed) {
+ touch_encoder_toggle();
+ }
+ return false; // Skip all further processing of this key
+ default:
+ return true;
+ }
+}
+
+static void render_layer(void) {
+ // Host Keyboard Layer Status
+ oled_write_P(PSTR("Layer"), false);
+ switch (get_highest_layer(layer_state)) {
+ case _QWERTY:
+ oled_write_ln_P(PSTR("QWRTY"), false);
+ break;
+ case _COLEMAK:
+ oled_write_ln_P(PSTR("Colemk"), false);
+ break;
+ case _GAME:
+ oled_write_ln_P(PSTR("Game "), false);
+ break;
+ case _FN:
+ oled_write_ln_P(PSTR("FN "), false);
+ break;
+ case _ADJUST:
+ oled_write_ln_P(PSTR("Adjst"), false);
+ break;
+ default:
+ oled_write_ln_P(PSTR("Undef"), false);
+ }
+}
+
+static void render_leds(void)
+{
+ // Host Keyboard LED Status
+ led_t led_state = host_keyboard_led_state();
+ oled_write_P(led_state.num_lock ? PSTR("NUMLK") : PSTR(" "), false);
+ oled_write_P(led_state.caps_lock ? PSTR("CAPLK") : PSTR(" "), false);
+ oled_write_P(led_state.scroll_lock ? PSTR("SCRLK") : PSTR(" "), false);
+}
+
+static void render_touch(void)
+{
+ // Host Touch LED Status
+ oled_write_P(!touch_encoder_toggled() ? PSTR("TOUCH") : PSTR(" "), false);
+ oled_write_P(touch_encoder_calibrating() ? PSTR("CLBRT") : PSTR(" "), false);
+}
+
+void oled_task_user(void) {
+ if (is_keyboard_left()) {
+ render_icon();
+ oled_write_P(PSTR(" "), false);
+ render_layer();
+ oled_write_P(PSTR(" "), false);
+ render_leds();
+ oled_write_P(PSTR(" "), false);
+ render_touch();
+ }
+ else {
+ render_icon();
+ oled_write_P(PSTR(" "), false);
+ render_rgb_menu();
+ }
+}
+
+oled_rotation_t oled_init_user(oled_rotation_t rotation) {
+ return OLED_ROTATION_270;
+}
diff --git a/keyboards/rgbkb/mun/keymaps/default/rules.mk b/keyboards/rgbkb/mun/keymaps/default/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/rgbkb/mun/keymaps/default/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/rgbkb/mun/keymaps/xulkal2/config.h b/keyboards/rgbkb/mun/keymaps/xulkal2/config.h
new file mode 100644
index 0000000000..f36e5760fc
--- /dev/null
+++ b/keyboards/rgbkb/mun/keymaps/xulkal2/config.h
@@ -0,0 +1,42 @@
+/*
+ * ----------------------------------------------------------------------------
+ * "THE BEER-WARE LICENSE" (Revision 42):
+ * <https://github.com/Legonut> wrote this file. As long as you retain this
+ * notice you can do whatever you want with this stuff. If we meet some day, and
+ * you think this stuff is worth it, you can buy me a beer in return. David Rauseo
+ * ----------------------------------------------------------------------------
+ */
+
+#pragma once
+
+// Xulkal custom stuff
+#undef TAPPING_FORCE_HOLD
+
+#undef TAPPING_TERM
+#define TAPPING_TERM 175
+
+#define SPACE_CADET_MODIFIER_CARRYOVER
+#define LSPO_KEYS KC_LSFT, KC_TRNS, KC_LBRC
+#define RSPC_KEYS KC_RSFT, KC_TRNS, KC_RBRC
+#define LCPO_KEYS KC_LCTL, KC_TRNS, KC_MINS
+#define RCPC_KEYS KC_RCTL, KC_TRNS, KC_EQL
+
+// No need for the single versions when multi performance isn't a problem =D
+#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+#define DISABLE_RGB_MATRIX_SPLASH
+#define DISABLE_RGB_MATRIX_SOLID_SPLASH
+
+// 20m timeout (20m * 60s * 1000mil)
+// #define RGB_DISABLE_TIMEOUT 1200000
+#define RGB_DISABLE_WHEN_USB_SUSPENDED
+#define OLED_SCROLL_TIMEOUT 20000
+#define ONESHOT_TAP_TOGGLE 2
+
+#define RGB_MATRIX_HUE_STEP 8
+#define RGB_MATRIX_SAT_STEP 8
+#define RGB_MATRIX_VAL_STEP 8
+#define RGB_MATRIX_SPD_STEP 8
+
+#define ENCODER_RESOLUTION 2
diff --git a/keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c b/keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c
new file mode 100644
index 0000000000..2de5888f17
--- /dev/null
+++ b/keyboards/rgbkb/mun/keymaps/xulkal2/keymap.c
@@ -0,0 +1,246 @@
+/*
+ * ----------------------------------------------------------------------------
+ * "THE BEER-WARE LICENSE" (Revision 42):
+ * <https://github.com/Legonut> wrote this file. As long as you retain this
+ * notice you can do whatever you want with this stuff. If we meet some day, and
+ * you think this stuff is worth it, you can buy me a beer in return. David Rauseo
+ * ----------------------------------------------------------------------------
+ */
+
+#include QMK_KEYBOARD_H
+#include "common_oled.h"
+
+enum keymap_layers {
+ _QWERTY,
+ _FUNCTION,
+ _ADJUST
+};
+
+enum keymap_keycodes {
+ // Disables touch processing
+ TCH_TOG = SAFE_RANGE,
+ MENU_BTN,
+ MENU_UP,
+ MENU_DN,
+ RGB_RST
+};
+
+// Default Layers
+#define QWERTY DF(_QWERTY)
+
+// Momentary Layers
+#define FN OSL(_FUNCTION)
+#define ADJ OSL(_ADJUST)
+
+// clang-format off
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* QWERTY
+ * .--------------------------------------------------------------. .--------------------------------------------------------------.
+ * | `~/ESC | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | Bckspc |
+ * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ * | Tab | Q | W | E | R | T | | | | Y | U | I | O | P | \ |
+ * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ * | Caps | A | S | D | F | G | Play | | MN BTN | H | J | K | L | : | Enter |
+ * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ * | Shft[ | Z | X | C | V | B | { | | } | N | M | , | . | / | Shft] |
+ * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ * | Ctrl- | Win | Alt | Del | Space | | ADJ | | FN | | Space | '" | Alt | App | Ctrl= |
+ * '--------+--------+--------+--------|--------+--------+--------' '--------+--------+--------+--------+--------+--------+--------'
+ * Encoder 1 Encoder 2 Encoder 3 Encoder 4
+ * .-----------------------------------. .-----------------------------------.
+ * | VolUp | VolDn | VolUp | VolDn | | PgUp | PgDn | PgUp | PgDn |
+ * |--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------|
+ * | VolDn | VolUp | Next | Play | Prev | Touch Encoder Touch Encoder | RgbHuI | RgbHuD | RgbMdD | RgbTog | RgbMdI |
+ * '--------+--------+--------+--------+--------' '--------+--------+--------+--------+--------'
+ */
+ [_QWERTY] = LAYOUT(
+ KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_NO, KC_NO, 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_NO, KC_NO, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_MPLY, MENU_BTN,KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
+ KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LCBR, KC_RCBR, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
+ KC_LCPO, KC_LGUI, KC_LALT, KC_DEL, KC_SPC, KC_NO, ADJ, FN, KC_NO, KC_SPC, KC_QUOTE,KC_RALT, KC_APP, KC_RCPC,
+
+ KC_VOLU, KC_VOLD, KC_VOLU, KC_VOLD, MENU_DN, MENU_UP, MENU_DN, MENU_UP,
+ KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_MPRV, RGB_HUI, RGB_HUD, RGB_RMOD,RGB_TOG, RGB_MOD
+ ),
+
+ /* Function
+ * .--------------------------------------------------------------. .--------------------------------------------------------------.
+ * | F12 | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
+ * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ * | | SPDI | SAI | VAI | HUI | RGBMD | | | | | | PrtScr | ScrLck | PseBrk | |
+ * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ * | | SPDD | SAD | VAD | HUD | RGBRMD | | | | | | Ins | Home | PgUp | |
+ * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ * | | RGBRST | | | | RGBTOG | | | | | | Del | End | PgDn | |
+ * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ * | | | | | | | | | | | Play | Prev | Next | VolUp | VolDn |
+ * '--------+--------+--------+--------+--------+--------+--------' '--------+--------+--------+--------+--------+--------+--------'
+ * Encoder 1 Encoder 2 Encoder 3 Encoder 4
+ * .-----------------------------------. .-----------------------------------.
+ * | | | | | | | | | |
+ * |--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------|
+ * | | | | | | Touch Encoder Touch Encoder | | | | | |
+ * '--------+--------+--------+--------+--------' '--------+--------+--------+--------+--------'
+ */
+ [_FUNCTION] = 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_SPI, RGB_SAI, RGB_VAI, RGB_HUI, RGB_MOD, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______,
+ _______, RGB_SPD, RGB_SAD, RGB_VAD, RGB_HUD, RGB_RMOD,_______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _______,
+ _______, RGB_RST, _______, _______, _______, RGB_TOG, _______, _______, _______, _______, KC_DEL, KC_END, KC_PGDN, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MPRV, KC_MNXT, KC_VOLU, KC_VOLD,
+
+ _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+ /* Adjust
+ * .--------------------------------------------------------------. .--------------------------------------------------------------.
+ * | | | | | | | | | | | NumLck | / | * | - | Del |
+ * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ * | | Home | Up | End | Reset | T_TOG | | | | | 7 | 8 | 9 | + | |
+ * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ * | | Left | Down | Right | | | | | | | 4 | 5 | 6 | + | |
+ * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ * | | | | | | EepRst | | | | | 1 | 2 | 3 | Enter | |
+ * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
+ * | | | | | | | | | | | | 0 | . | Enter | |
+ * '--------+--------+--------+--------+--------+--------+--------' '--------+--------+--------+--------+--------+--------+--------'
+ * Encoder 1 Encoder 2 Encoder 3 Encoder 4
+ * .-----------------------------------. .-----------------------------------.
+ * | | | | | | | | | |
+ * |--------+--------+--------+--------+--------. .--------+--------+--------+--------+--------|
+ * | | | | | | Touch Encoder Touch Encoder | | | | | |
+ * '--------+--------+--------+--------+--------' '--------+--------+--------+--------+--------'
+ */
+ [_ADJUST] = LAYOUT(
+ KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, KC_DEL,
+ _______, KC_HOME, KC_UP, KC_END, RESET, TCH_TOG, _______, _______, _______, KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, _______,
+ _______, KC_LEFT, KC_DOWN, KC_RIGHT,_______, _______, _______, _______, _______, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, _______,
+ _______, _______, _______, _______, _______, EEP_RST, _______, _______, _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_KP_0, KC_PDOT, KC_PENT, _______,
+
+ _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+// clang-format on
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode)
+ {
+ case MENU_BTN:
+ if (record->event.pressed) {
+ rgb_menu_selection();
+ }
+ return false;
+ case MENU_UP:
+ if (record->event.pressed) {
+ rgb_menu_action(true);
+ }
+ return false;
+ case MENU_DN:
+ if (record->event.pressed) {
+ rgb_menu_action(false);
+ }
+ return false;
+ case RGB_RST:
+ if (record->event.pressed) {
+ eeconfig_update_rgb_matrix_default();
+ }
+ return false;
+ case TCH_TOG:
+ if (record->event.pressed) {
+ touch_encoder_toggle();
+ }
+ return false; // Skip all further processing of this key
+ default:
+ return true;
+ }
+}
+
+static void render_layer(void) {
+ // Host Keyboard Layer Status
+ oled_write_P(PSTR("Layer"), false);
+ switch (get_highest_layer(layer_state)) {
+ case _QWERTY:
+ oled_write_ln_P(PSTR("BASE "), false);
+ break;
+ case _FUNCTION:
+ oled_write_ln_P(PSTR("FUNC "), false);
+ break;
+ case _ADJUST:
+ oled_write_ln_P(PSTR("ADJS "), false);
+ break;
+ }
+}
+
+static void render_leds(void)
+{
+ // Host Keyboard LED Status
+ led_t led_state = host_keyboard_led_state();
+ oled_write_P(led_state.num_lock ? PSTR("NUMLK") : PSTR(" "), false);
+ oled_write_P(led_state.caps_lock ? PSTR("CAPLK") : PSTR(" "), false);
+ oled_write_P(led_state.scroll_lock ? PSTR("SCRLK") : PSTR(" "), false);
+}
+
+static void render_touch(void)
+{
+ // Host Touch LED Status
+ oled_write_P(!touch_encoder_toggled() ? PSTR("TOUCH") : PSTR(" "), false);
+ oled_write_P(touch_encoder_calibrating() ? PSTR("CLBRT") : PSTR(" "), false);
+}
+
+/*static uint32_t scan_counter = 0;
+static uint32_t scan_value = 0;
+static uint16_t scan_timer = 1000;
+
+void do_counters(void) {
+ scan_counter++;
+ uint16_t now = sync_timer_read();
+ if (timer_expired(now, scan_timer))
+ {
+ scan_timer += 1000;
+ scan_value = (scan_value + scan_counter) / 2;
+ scan_counter = 0;
+ }
+}
+
+void matrix_scan_user(void) {
+ do_counters();
+}
+
+void matrix_slave_scan_user(void) {
+ do_counters();
+}
+
+void render_debug_scan(void) {
+ static char buffer[6] = {0};
+ snprintf(buffer, sizeof(buffer), "%5d", scan_value);
+ oled_write_ln_P(buffer, false);
+}*/
+
+void oled_task_user(void) {
+ if (is_keyboard_left()) {
+ render_layer();
+ oled_write_P(PSTR(" "), false);
+ render_leds();
+ oled_write_P(PSTR(" "), false);
+ render_touch();
+ //oled_write_P(PSTR(" "), false);
+ //render_debug_scan();
+ oled_set_cursor(0, 12);
+ render_icon();
+ }
+ else {
+ render_rgb_menu();
+ //oled_write_P(PSTR(" "), false);
+ //render_debug_scan();
+ oled_set_cursor(0, 12);
+ render_icon();
+ }
+}
+
+oled_rotation_t oled_init_user(oled_rotation_t rotation) {
+ return OLED_ROTATION_270;
+} \ No newline at end of file
diff --git a/keyboards/rgbkb/mun/keymaps/xulkal2/rules.mk b/keyboards/rgbkb/mun/keymaps/xulkal2/rules.mk
new file mode 100644
index 0000000000..b626305163
--- /dev/null
+++ b/keyboards/rgbkb/mun/keymaps/xulkal2/rules.mk
@@ -0,0 +1,4 @@
+MOUSEKEY_ENABLE = yes # using for mouse wheel up and down, more granular than page up/down
+
+OPT_DEFS += -DRGB_UNLIMITED_POWER
+DEBOUNCE_TYPE = sym_eager_pk \ No newline at end of file
diff --git a/keyboards/rgbkb/mun/matrix.c b/keyboards/rgbkb/mun/matrix.c
new file mode 100644
index 0000000000..497ab041f4
--- /dev/null
+++ b/keyboards/rgbkb/mun/matrix.c
@@ -0,0 +1,156 @@
+/*
+ * ----------------------------------------------------------------------------
+ * "THE BEER-WARE LICENSE" (Revision 42):
+ * <https://github.com/KarlK90> wrote this file. As long as you retain this
+ * notice you can do whatever you want with this stuff. If we meet some day, and
+ * you think this stuff is worth it, you can buy me a beer in return. KarlK90
+ * ----------------------------------------------------------------------------
+ */
+
+#include <stdint.h>
+#include <stdbool.h>
+#include <string.h>
+#include "util.h"
+#include "matrix.h"
+#include "debounce.h"
+#include "quantum.h"
+#include "split_util.h"
+#include "config.h"
+#include "transactions.h"
+
+#define ERROR_DISCONNECT_COUNT 5
+#define ROWS_PER_HAND (MATRIX_ROWS / 2)
+
+static const pin_t row_pins[ROWS_PER_HAND] = MATRIX_ROW_PINS;
+static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
+
+/* matrix state(1:on, 0:off) */
+extern matrix_row_t raw_matrix[MATRIX_ROWS]; // raw values
+extern matrix_row_t matrix[MATRIX_ROWS]; // debounced values
+
+// row offsets for each hand
+uint8_t thisHand, thatHand;
+
+// user-defined overridable functions
+__attribute__((weak)) void matrix_slave_scan_kb(void) { matrix_slave_scan_user(); }
+__attribute__((weak)) void matrix_slave_scan_user(void) {}
+
+static void init_pins(void) {
+ for (size_t i = 0; i < MATRIX_COLS; i++) {
+ setPinInputHigh(col_pins[i]);
+ }
+ for (size_t i = 0; i < ROWS_PER_HAND; i++) {
+ setPinOutput(row_pins[i]);
+ writePinHigh(row_pins[i]);
+ }
+}
+
+void matrix_init(void) {
+ split_pre_init();
+
+ thisHand = isLeftHand ? 0 : (ROWS_PER_HAND);
+ thatHand = ROWS_PER_HAND - thisHand;
+
+ // initialize key pins
+ init_pins();
+
+ // initialize matrix state: all keys off
+ memset(raw_matrix, 0, sizeof(raw_matrix));
+ memset(matrix, 0, sizeof(matrix));
+
+ debounce_init(ROWS_PER_HAND);
+
+ matrix_init_quantum();
+
+ split_post_init();
+}
+
+bool matrix_post_scan(void) {
+ bool changed = false;
+ if (is_keyboard_master()) {
+ static uint8_t error_count;
+
+ matrix_row_t slave_matrix[ROWS_PER_HAND] = {0};
+ if (!transport_master(matrix + thisHand, slave_matrix)) {
+ error_count++;
+
+ if (error_count > ERROR_DISCONNECT_COUNT) {
+ // reset other half if disconnected
+ memset(&matrix[thatHand], 0, sizeof(slave_matrix));
+ memset(slave_matrix, 0, sizeof(slave_matrix));
+
+ changed = true;
+ }
+ } else {
+ error_count = 0;
+
+ if (memcmp(&matrix[thatHand], slave_matrix, sizeof(slave_matrix)) != 0) {
+ memcpy(&matrix[thatHand], slave_matrix, sizeof(slave_matrix));
+ changed = true;
+ }
+ }
+
+ matrix_scan_quantum();
+ } else {
+ transport_slave(matrix + thatHand, matrix + thisHand);
+
+ matrix_slave_scan_kb();
+ }
+
+ return changed;
+}
+
+uint8_t matrix_scan(void) {
+ bool local_changed = false;
+ matrix_row_t current_matrix[ROWS_PER_HAND];
+
+ for (size_t row_idx = 0; row_idx < ROWS_PER_HAND; row_idx++) {
+ /* Drive row pin low. */
+ ATOMIC_BLOCK_FORCEON { writePinLow(row_pins[row_idx]); }
+ matrix_output_select_delay();
+
+ /* Read all columns in one go, aka port scanning. */
+ uint16_t porta = palReadPort(GPIOA);
+ uint16_t portb = palReadPort(GPIOB);
+
+ /* Order of pins on the mun is: A0, B11, B0, B10, B12, B2, A8
+ Pin is active low, therefore we have to invert the result. */
+ matrix_row_t cols = ~(((porta & (0x1 << 0)) >> 0) // A0 (0)
+ | ((portb & (0x1 << 11)) >> 10) // B11 (1)
+ | ((portb & (0x1 << 0)) << 2) // B0 (2)
+ | ((portb & (0x1 << 10)) >> 7) // B10 (3)
+ | ((portb & (0x1 << 12)) >> 8) // B12 (4)
+ | ((portb & (0x1 << 2)) << 3) // B2 (5)
+ | ((porta & (0x1 << 8)) >> 2)); // A8 (6)
+
+ /* Reverse the order of columns for left hand as the board is flipped. */
+ // if (isLeftHand) {
+ // #if defined(__arm__)
+ // /* rbit assembly reverses bit order of 32bit registers. */
+ // uint32_t temp = cols;
+ // __asm__("rbit %0, %1" : "=r"(temp) : "r"(temp));
+ // cols = temp >> 24;
+ // #else
+ // /* RISC-V bit manipulation extension not present. Use bit-hack.
+ // https://graphics.stanford.edu/~seander/bithacks.html#ReverseByteWith32Bits */
+ // cols = (matrix_row_t)(((cols * 0x0802LU & 0x22110LU) | (cols * 0x8020LU & 0x88440LU)) * 0x10101LU >> 16);
+ // #endif
+ // }
+
+ current_matrix[row_idx] = cols;
+
+ /* Drive row pin high again. */
+ ATOMIC_BLOCK_FORCEON { writePinHigh(row_pins[row_idx]); }
+ matrix_output_unselect_delay(row_idx, row_pins[row_idx] != 0);
+ }
+
+ if (memcmp(raw_matrix, current_matrix, sizeof(current_matrix)) != 0) {
+ memcpy(raw_matrix, current_matrix, sizeof(current_matrix));
+ local_changed = true;
+ }
+
+ debounce(raw_matrix, matrix + thisHand, ROWS_PER_HAND, local_changed);
+
+ bool remote_changed = matrix_post_scan();
+ return (uint8_t)(local_changed || remote_changed);
+}
diff --git a/keyboards/rgbkb/mun/mcuconf.h b/keyboards/rgbkb/mun/mcuconf.h
new file mode 100644
index 0000000000..acc083d8a5
--- /dev/null
+++ b/keyboards/rgbkb/mun/mcuconf.h
@@ -0,0 +1,42 @@
+/*
+ * ----------------------------------------------------------------------------
+ * "THE BEER-WARE LICENSE" (Revision 42):
+ * <https://github.com/Legonut> wrote this file. As long as you retain this
+ * notice you can do whatever you want with this stuff. If we meet some day, and
+ * you think this stuff is worth it, you can buy me a beer in return. David Rauseo
+ * ----------------------------------------------------------------------------
+ */
+
+#pragma once
+
+#include_next <mcuconf.h>
+
+#undef STM32_DAC_USE_DAC1_CH1
+#define STM32_DAC_USE_DAC1_CH1 TRUE
+
+#undef STM32_DAC_USE_DAC1_CH2
+#define STM32_DAC_USE_DAC1_CH2 TRUE
+
+#undef STM32_GPT_USE_TIM6
+#define STM32_GPT_USE_TIM6 TRUE
+
+#undef STM32_GPT_USE_TIM7
+#define STM32_GPT_USE_TIM7 TRUE
+
+#undef STM32_GPT_USE_TIM8
+#define STM32_GPT_USE_TIM8 TRUE
+
+#undef STM32_GPT_USE_TIM15
+#define STM32_GPT_USE_TIM15 TRUE
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
+
+#undef STM32_PWM_USE_TIM3
+#define STM32_PWM_USE_TIM3 TRUE
+
+#undef STM32_PWM_USE_TIM4
+#define STM32_PWM_USE_TIM4 TRUE
+
+#undef STM32_SERIAL_USE_USART1
+#define STM32_SERIAL_USE_USART1 TRUE \ No newline at end of file
diff --git a/keyboards/rgbkb/mun/mun.c b/keyboards/rgbkb/mun/mun.c
new file mode 100644
index 0000000000..6cc95c46e9
--- /dev/null
+++ b/keyboards/rgbkb/mun/mun.c
@@ -0,0 +1,33 @@
+/*
+ * ----------------------------------------------------------------------------
+ * "THE BEER-WARE LICENSE" (Revision 42):
+ * <https://github.com/Legonut> wrote this file. As long as you retain this
+ * notice you can do whatever you want with this stuff. If we meet some day, and
+ * you think this stuff is worth it, you can buy me a beer in return. David Rauseo
+ * ----------------------------------------------------------------------------
+ */
+
+#include "mun.h"
+#include "touch_encoder.h"
+#include "common_oled.h"
+#include <transactions.h>
+
+void keyboard_post_init_kb(void) {
+ touch_encoder_init();
+ transaction_register_rpc(TOUCH_ENCODER_SYNC, touch_encoder_slave_sync);
+ transaction_register_rpc(RGB_MENU_SYNC, rgb_menu_slave_sync);
+ keyboard_post_init_user();
+}
+
+void housekeeping_task_kb(void) {
+ touch_encoder_update(TOUCH_ENCODER_SYNC);
+ rgb_menu_update(RGB_MENU_SYNC);
+}
+
+#if defined(BUSY_WAIT)
+void matrix_output_unselect_delay(uint8_t line, bool key_pressed) {
+ for (int32_t i = 0; i < BUSY_WAIT_INSTRUCTIONS; i++) {
+ __asm__ volatile("nop" ::: "memory");
+ }
+}
+#endif
diff --git a/keyboards/rgbkb/mun/mun.h b/keyboards/rgbkb/mun/mun.h
new file mode 100644
index 0000000000..beb132f0ec
--- /dev/null
+++ b/keyboards/rgbkb/mun/mun.h
@@ -0,0 +1,16 @@
+/*
+ * ----------------------------------------------------------------------------
+ * "THE BEER-WARE LICENSE" (Revision 42):
+ * <https://github.com/Legonut> wrote this file. As long as you retain this
+ * notice you can do whatever you want with this stuff. If we meet some day, and
+ * you think this stuff is worth it, you can buy me a beer in return. David Rauseo
+ * ----------------------------------------------------------------------------
+ */
+
+#pragma once
+
+#if defined(KEYBOARD_rgbkb_mun_rev1)
+# include "rev1.h"
+#endif
+
+#include "quantum.h" \ No newline at end of file
diff --git a/keyboards/rgbkb/mun/readme.md b/keyboards/rgbkb/mun/readme.md
new file mode 100644
index 0000000000..6a18611539
--- /dev/null
+++ b/keyboards/rgbkb/mun/readme.md
@@ -0,0 +1,15 @@
+# Mün
+
+![Mün](https://i.redd.it/zw534js2o5861.jpg)
+
+Mün is powered by STM32 with full QMK support. Each key has super-bright RGB backlighting and MX Kailh hotswap sockets. No soldering is required to get a fully functioning keyboard. There are an additional 14 rear-facing RGB LEDs on each side. Each half can be configured to run as master or slave with the two USB-C ports. They also support up to two rotary encoders and one OLED panel per half.
+
+Keyboard Maintainer: [Legonut](https://github.com/Legonut)
+Hardware Supported: Mün PCB R1.0, R1.1, R1.2
+Hardware Availability: [RGBKB](https://www.rgbkb.net)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make rgbkb/mun:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/rgbkb/mun/rev1/config.h b/keyboards/rgbkb/mun/rev1/config.h
new file mode 100644
index 0000000000..7ff0b54903
--- /dev/null
+++ b/keyboards/rgbkb/mun/rev1/config.h
@@ -0,0 +1,12 @@
+/*
+ * ----------------------------------------------------------------------------
+ * "THE BEER-WARE LICENSE" (Revision 42):
+ * <https://github.com/Legonut> wrote this file. As long as you retain this
+ * notice you can do whatever you want with this stuff. If we meet some day, and
+ * you think this stuff is worth it, you can buy me a beer in return. David Rauseo
+ * ----------------------------------------------------------------------------
+ */
+
+#pragma once
+
+#define DEVICE_VER 0x0001
diff --git a/keyboards/rgbkb/mun/rev1/info.json b/keyboards/rgbkb/mun/rev1/info.json
new file mode 100644
index 0000000000..c644b9bdc8
--- /dev/null
+++ b/keyboards/rgbkb/mun/rev1/info.json
@@ -0,0 +1,101 @@
+{
+ "keyboard_name": "Mun",
+ "url": "https://www.rgbkb.net/products/mun",
+ "maintainer": "Legonut",
+ "width": 13.5,
+ "height": 6.5,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"L00", "x":0, "y":0},
+ {"label":"L01", "x":1, "y":0},
+ {"label":"L02", "x":2, "y":0},
+ {"label":"L03", "x":3, "y":0},
+ {"label":"L04", "x":4, "y":0},
+ {"label":"L05", "x":5, "y":0},
+ {"label":"L06", "x":6, "y":0},
+ {"label":"R00", "x":7.5, "y":0},
+ {"label":"R01", "x":8.5, "y":0},
+ {"label":"R02", "x":9.5, "y":0},
+ {"label":"R03", "x":10.5, "y":0},
+ {"label":"R04", "x":11.5, "y":0},
+ {"label":"R05", "x":12.5, "y":0},
+ {"label":"R06", "x":13.5, "y":0},
+ {"label":"L10", "x":0, "y":1},
+ {"label":"L11", "x":1, "y":1},
+ {"label":"L12", "x":2, "y":1},
+ {"label":"L13", "x":3, "y":1},
+ {"label":"L14", "x":4, "y":1},
+ {"label":"L15", "x":5, "y":1},
+ {"label":"L16", "x":6, "y":1},
+ {"label":"R10", "x":7.5, "y":1},
+ {"label":"R11", "x":8.5, "y":1},
+ {"label":"R12", "x":9.5, "y":1},
+ {"label":"R13", "x":10.5, "y":1},
+ {"label":"R14", "x":11.5, "y":1},
+ {"label":"R15", "x":12.5, "y":1},
+ {"label":"R16", "x":13.5, "y":1},
+ {"label":"L20", "x":0, "y":2},
+ {"label":"L21", "x":1, "y":2},
+ {"label":"L22", "x":2, "y":2},
+ {"label":"L23", "x":3, "y":2},
+ {"label":"L24", "x":4, "y":2},
+ {"label":"L25", "x":5, "y":2},
+ {"label":"L26", "x":6, "y":2},
+ {"label":"R20", "x":7.5, "y":2},
+ {"label":"R21", "x":8.5, "y":2},
+ {"label":"R22", "x":9.5, "y":2},
+ {"label":"R23", "x":10.5, "y":2},
+ {"label":"R24", "x":11.5, "y":2},
+ {"label":"R25", "x":12.5, "y":2},
+ {"label":"R26", "x":13.5, "y":2},
+ {"label":"L30", "x":0, "y":3},
+ {"label":"L31", "x":1, "y":3},
+ {"label":"L32", "x":2, "y":3},
+ {"label":"L33", "x":3, "y":3},
+ {"label":"L34", "x":4, "y":3},
+ {"label":"L35", "x":5, "y":3},
+ {"label":"L36", "x":6, "y":3},
+ {"label":"R30", "x":7.5, "y":3},
+ {"label":"R21", "x":8.5, "y":3},
+ {"label":"R32", "x":9.5, "y":3},
+ {"label":"R33", "x":10.5, "y":3},
+ {"label":"R34", "x":11.5, "y":3},
+ {"label":"R35", "x":12.5, "y":3},
+ {"label":"R36", "x":13.5, "y":3},
+ {"label":"L40", "x":0, "y":4},
+ {"label":"L41", "x":1, "y":4},
+ {"label":"L42", "x":2, "y":4},
+ {"label":"L43", "x":3, "y":4},
+ {"label":"L44", "x":4, "y":4},
+ {"label":"L45", "x":5, "y":4},
+ {"label":"L46", "x":6, "y":4},
+ {"label":"R40", "x":7.5, "y":4},
+ {"label":"R41", "x":8.5, "y":4},
+ {"label":"R42", "x":9.5, "y":4},
+ {"label":"R43", "x":10.5, "y":4},
+ {"label":"R44", "x":11.5, "y":4},
+ {"label":"R45", "x":12.5, "y":4},
+ {"label":"R46", "x":13.5, "y":4},
+ {"label":"E00", "x":0, "y":5.5},
+ {"label":"E01", "x":1, "y":5.5},
+ {"label":"E10", "x":2, "y":5.5},
+ {"label":"E11", "x":3, "y":5.5},
+ {"label":"E20", "x":10.5, "y":5.5},
+ {"label":"E21", "x":11.5, "y":5.5},
+ {"label":"E30", "x":12.5, "y":5.5},
+ {"label":"E31", "x":13.5, "y":5.5},
+ {"label":"T00", "x":0, "y":6.5},
+ {"label":"T01", "x":1, "y":6.5},
+ {"label":"T02", "x":2, "y":6.5},
+ {"label":"T03", "x":3, "y":6.5},
+ {"label":"T04", "x":4, "y":6.5},
+ {"label":"T10", "x":9.5, "y":6.5},
+ {"label":"T11", "x":10.5, "y":6.5},
+ {"label":"T12", "x":11.5, "y":6.5},
+ {"label":"T13", "x":12.5, "y":6.5},
+ {"label":"T14", "x":13.5, "y":6.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/rgbkb/mun/rev1/readme.md b/keyboards/rgbkb/mun/rev1/readme.md
new file mode 100644
index 0000000000..6a18611539
--- /dev/null
+++ b/keyboards/rgbkb/mun/rev1/readme.md
@@ -0,0 +1,15 @@
+# Mün
+
+![Mün](https://i.redd.it/zw534js2o5861.jpg)
+
+Mün is powered by STM32 with full QMK support. Each key has super-bright RGB backlighting and MX Kailh hotswap sockets. No soldering is required to get a fully functioning keyboard. There are an additional 14 rear-facing RGB LEDs on each side. Each half can be configured to run as master or slave with the two USB-C ports. They also support up to two rotary encoders and one OLED panel per half.
+
+Keyboard Maintainer: [Legonut](https://github.com/Legonut)
+Hardware Supported: Mün PCB R1.0, R1.1, R1.2
+Hardware Availability: [RGBKB](https://www.rgbkb.net)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make rgbkb/mun:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/rgbkb/mun/rev1/rev1.c b/keyboards/rgbkb/mun/rev1/rev1.c
new file mode 100644
index 0000000000..28ad843b52
--- /dev/null
+++ b/keyboards/rgbkb/mun/rev1/rev1.c
@@ -0,0 +1,122 @@
+/*
+ * ----------------------------------------------------------------------------
+ * "THE BEER-WARE LICENSE" (Revision 42):
+ * <https://github.com/Legonut> wrote this file. As long as you retain this
+ * notice you can do whatever you want with this stuff. If we meet some day, and
+ * you think this stuff is worth it, you can buy me a beer in return. David Rauseo
+ * ----------------------------------------------------------------------------
+ */
+
+#include "rev1.h"
+
+#define NUMBER_OF_TOUCH_ENCODERS 2
+#define TOUCH_ENCODER_OPTIONS TOUCH_SEGMENTS + 2
+
+#define NUMBER_OF_ENCODERS 4
+#define ENCODER_OPTIONS 2
+
+typedef struct PACKED {
+ uint8_t r;
+ uint8_t c;
+} encodermap_t;
+
+// this maps encoders and then touch encoders to their respective electrical matrix entry
+// mapping is row (y) then column (x) when looking at the electrical layout
+const encodermap_t encoder_map[NUMBER_OF_ENCODERS][ENCODER_OPTIONS] =
+{
+ { { 5, 0 }, { 5, 1 } }, // Encoder 1 matrix entries
+ { { 5, 2 }, { 5, 3 } }, // Encoder 2 matrix entries
+ { { 12, 0 }, { 12, 1 } }, // Encoder 3 matrix entries
+ { { 12, 2 }, { 12, 3 } }, // Encoder 4 matrix entries
+};
+
+const encodermap_t touch_encoder_map[NUMBER_OF_TOUCH_ENCODERS][TOUCH_ENCODER_OPTIONS] =
+{
+ { { 6, 0 }, { 6, 1 }, { 6, 2 }, { 6, 3 }, { 6, 4 } }, // Touch Encoder 1 matrix entries
+ { { 13, 0 }, { 13, 1 }, { 13, 2 }, { 13, 3 }, { 13, 4 } } // Touch Encoder 2 matrix entries
+};
+
+static void process_encoder_matrix(encodermap_t pos) {
+ action_exec((keyevent_t){
+ .key = (keypos_t){.row = pos.r, .col = pos.c}, .pressed = true, .time = (timer_read() | 1) /* time should not be 0 */
+ });
+#if TAP_CODE_DELAY > 0
+ wait_ms(TAP_CODE_DELAY);
+#endif
+ action_exec((keyevent_t){
+ .key = (keypos_t){.row = pos.r, .col = pos.c}, .pressed = false, .time = (timer_read() | 1) /* time should not be 0 */
+ });
+}
+
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise))
+ return false;
+
+ // Mapping clockwise (typically increase) to zero, and counter clockwise (decrease) to 1
+ process_encoder_matrix(encoder_map[index][clockwise ? 0 : 1]);
+ return false;
+}
+
+bool touch_encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!touch_encoder_update_user(index, clockwise))
+ return false;
+
+ // Mapping clockwise (typically increase) to zero, and counter clockwise (decrease) to 1
+ process_encoder_matrix(touch_encoder_map[index][clockwise ? 0 : 1]);
+ return false;
+}
+
+bool touch_encoder_tapped_kb(uint8_t index, uint8_t section) {
+ if (!touch_encoder_tapped_user(index, section))
+ return false;
+
+ process_encoder_matrix(touch_encoder_map[index][section + 2]);
+ return false;
+}
+
+#ifdef RGB_MATRIX_ENABLE
+// clang-format off
+led_config_t g_led_config = { {
+ { 0, 1, 2, 3, 4, 5, 6 },
+ { 13, 12, 11, 10, 9, 8, 7 },
+ { 14, 15, 16, 17, 18, 19, 20 },
+ { 27, 26, 25, 24, 23, 22, 21 },
+ { 28, 29, 30, 31, 32, 33, 34 },
+ { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
+ { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
+ { 49, 50, 51, 52, 53, 54, 55 },
+ { 62, 61, 60, 59, 58, 57, 56 },
+ { 63, 64, 65, 66, 67, 68, 69 },
+ { 76, 75, 74, 73, 72, 71, 70 },
+ { 77, 78, 79, 80, 81, 82, 83 },
+ { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
+ { NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }
+}, {
+ { 16, 16},{ 34, 16},{ 49, 16},{ 64, 16},{ 79, 16},{ 94, 16},{ 109, 16},
+ { 109, 31},{ 94, 31},{ 79, 31},{ 64, 31},{ 49, 31},{ 34, 31},{ 16, 31},
+ { 16, 46},{ 34, 46},{ 49, 46},{ 64, 46},{ 79, 46},{ 94, 46},{ 109, 46},
+ { 109, 61},{ 94, 61},{ 79, 61},{ 64, 61},{ 49, 61},{ 34, 61},{ 16, 61},
+ { 16, 76},{ 34, 76},{ 49, 76},{ 64, 76},{ 83, 72},{ 98, 72},{ 113, 72},
+ { 97, 5},{ 91, 5},{ 86, 5},{ 80, 5},{ 75, 5},{ 69, 5},{ 63, 5},{ 58, 5},{ 52, 5},{ 46, 5},{ 41, 5},{ 35, 5},{ 30, 5},{ 24, 5},
+ { 240, 16},{ 222, 16},{ 207, 16},{ 192, 16},{ 177, 16},{ 162, 16},{ 147, 16},
+ { 147, 31},{ 162, 31},{ 177, 31},{ 192, 31},{ 207, 31},{ 222, 31},{ 240, 31},
+ { 240, 46},{ 222, 46},{ 207, 46},{ 192, 46},{ 177, 46},{ 162, 46},{ 147, 46},
+ { 147, 61},{ 162, 61},{ 177, 61},{ 192, 61},{ 207, 61},{ 222, 61},{ 240, 61},
+ { 240, 76},{ 222, 76},{ 207, 76},{ 192, 76},{ 180, 72},{ 165, 72},{ 150, 72},
+ { 159, 5},{ 164, 5},{ 170, 5},{ 176, 5},{ 181, 5},{ 187, 5},{ 192, 5},{ 198, 5},{ 204, 5},{ 209, 5},{ 215, 5},{ 221, 5},{ 226, 5},{ 232, 5},
+}, {
+ 1, 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, 1, 1, 1, 1, 1,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 1, 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, 1, 1, 1, 1, 1,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
+} };
+// clang-format on
+#endif
diff --git a/keyboards/rgbkb/mun/rev1/rev1.h b/keyboards/rgbkb/mun/rev1/rev1.h
new file mode 100644
index 0000000000..8e7b65f45c
--- /dev/null
+++ b/keyboards/rgbkb/mun/rev1/rev1.h
@@ -0,0 +1,43 @@
+/*
+ * ----------------------------------------------------------------------------
+ * "THE BEER-WARE LICENSE" (Revision 42):
+ * <https://github.com/Legonut> wrote this file. As long as you retain this
+ * notice you can do whatever you want with this stuff. If we meet some day, and
+ * you think this stuff is worth it, you can buy me a beer in return. David Rauseo
+ * ----------------------------------------------------------------------------
+ */
+
+#pragma once
+
+#include "mun.h"
+#include "touch_encoder.h"
+
+// clang-format off
+#define LAYOUT( \
+ L00, L01, L02, L03, L04, L05, L06, R00, R01, R02, R03, R04, R05, R06, \
+ L10, L11, L12, L13, L14, L15, L16, R10, R11, R12, R13, R14, R15, R16, \
+ L20, L21, L22, L23, L24, L25, L26, R20, R21, R22, R23, R24, R25, R26, \
+ L30, L31, L32, L33, L34, L35, L36, R30, R31, R32, R33, R34, R35, R36, \
+ L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46, \
+ E00, E01, E10, E11, E20, E21, E30, E31, \
+ T00, T01, T02, T03, T04, T10, T11, T12, T13, T14 \
+) \
+{ \
+ /* Left Half */ \
+ { L00, L01, L02, L03, L04, L05, L06 }, \
+ { L10, L11, L12, L13, L14, L15, L16 }, \
+ { L20, L21, L22, L23, L24, L25, L26 }, \
+ { L30, L31, L32, L33, L34, L35, L36 }, \
+ { L40, L41, L42, L43, L44, L45, L46 }, \
+ { E00, E01, E10, E11, KC_NO, KC_NO, KC_NO }, \
+ { T00, T01, T02, T03, T04, KC_NO, KC_NO }, \
+ /* Right Half */ \
+ { R06, R05, R04, R03, R02, R01, R00 }, \
+ { R16, R15, R14, R13, R12, R11, R10 }, \
+ { R26, R25, R24, R23, R22, R21, R20 }, \
+ { R36, R35, R34, R33, R32, R31, R30 }, \
+ { R46, R45, R44, R43, R42, R41, R40 }, \
+ { E20, E21, E30, E31, KC_NO, KC_NO, KC_NO }, \
+ { T10, T11, T12, T13, T14, KC_NO, KC_NO } \
+}
+// clang-format on
diff --git a/keyboards/rgbkb/mun/rev1/rgbkb_mun_rev1_default.json b/keyboards/rgbkb/mun/rev1/rgbkb_mun_rev1_default.json
new file mode 100644
index 0000000000..ccf70ef5f9
--- /dev/null
+++ b/keyboards/rgbkb/mun/rev1/rgbkb_mun_rev1_default.json
@@ -0,0 +1,13 @@
+{
+ "keyboard": "rgbkb/mun/rev1",
+ "keymap": "default",
+ "commit": "xxxxxxxxxxxxxxxxxxxxx",
+ "layout": "LAYOUT",
+ "layers": [
+ ["KC_GESC","KC_1","KC_2","KC_3","KC_4","KC_5","KC_MINS","KC_EQL","KC_6","KC_7","KC_8","KC_9","KC_0","KC_BSPC","KC_TAB","KC_Q","KC_W","KC_E","KC_R","KC_T","KC_LBRC","KC_RBRC","KC_Y","KC_U","KC_I","KC_O","KC_P","KC_BSLS","LT(3,KC_CAPS)","KC_A","KC_S","KC_D","KC_F","KC_G","KC_LPRN","KC_RPRN","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_LCBR","KC_RCBR","KC_N","KC_M","KC_COMM","KC_DOT","KC_SLSH","KC_SFTENT","KC_LCTL","KC_LGUI","KC_LALT","RGB_TOG","MO(4)","KC_SPC","KC_BSPC","KC_ENT","KC_SPC","KC_LEFT","KC_DOWN","KC_UP","KC_RGHT","KC_RCTL","KC_VOLU","KC_VOLD","KC_VOLU","KC_VOLD","KC_PGUP","KC_PGDN","KC_PGUP","KC_PGDN","KC_VOLD","KC_VOLU","KC_MRWD","KC_MPLY","KC_MFFD","RGB_HUI","RGB_HUD","RGB_RMOD","RGB_TOG","RGB_MOD"],
+ ["KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_Q","KC_W","KC_F","KC_P","KC_G","KC_TRNS","KC_TRNS","KC_J","KC_L","KC_U","KC_Y","KC_SCLN","KC_TRNS","KC_TRNS","KC_A","KC_R","KC_S","KC_T","KC_D","KC_TRNS","KC_TRNS","KC_H","KC_N","KC_E","KC_I","KC_O","KC_TRNS","KC_TRNS","KC_Z","KC_X","KC_C","KC_V","KC_B","KC_TRNS","KC_TRNS","KC_K","KC_M","KC_COMM","KC_DOT","KC_SLSH","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"],
+ ["KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_F1","KC_F5","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_Q","KC_W","KC_E","KC_R","KC_T","KC_F2","KC_F6","KC_Y","KC_U","KC_I","KC_O","KC_P","KC_TRNS","KC_TRNS","KC_A","KC_S","KC_D","KC_F","KC_G","KC_F3","KC_F7","KC_H","KC_J","KC_K","KC_L","KC_SCLN","KC_TRNS","KC_TRNS","KC_Z","KC_X","KC_C","KC_V","KC_B","KC_F4","KC_F8","KC_N","KC_M","KC_COMM","KC_DOT","KC_SLSH","KC_TRNS","KC_TRNS","KC_NO","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"],
+ ["KC_TRNS","KC_F1","KC_F2","KC_F3","KC_F4","KC_F5","KC_F11","KC_F12","KC_F6","KC_F7","KC_F8","KC_F9","KC_F10","KC_TRNS","KC_TRNS","KC_HOME","KC_UP","KC_END","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_HOME","KC_UP","KC_END","KC_PSCR","KC_PGUP","KC_TRNS","KC_LEFT","KC_DOWN","KC_RGHT","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_LEFT","KC_DOWN","KC_RGHT","KC_INS","KC_PGDN","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","ANY(TCH_TOG)","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_MPLY","KC_MNXT","KC_MUTE","KC_VOLD","KC_VOLU","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"],
+ ["KC_TRNS","KC_F1","KC_F2","KC_F3","KC_F4","KC_F5","KC_F11","KC_F12","KC_F6","KC_F7","KC_F8","KC_F9","KC_F10","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_P7","KC_P8","KC_P9","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_P4","KC_P5","KC_P6","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_P1","KC_P2","KC_P3","KC_TRNS","DF(2)","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_P0","KC_PDOT","KC_NLCK","DF(0)","DF(1)","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS","KC_TRNS"]
+ ]
+} \ No newline at end of file
diff --git a/keyboards/kyria/.noci b/keyboards/rgbkb/mun/rev1/rules.mk
index e69de29bb2..e69de29bb2 100644
--- a/keyboards/kyria/.noci
+++ b/keyboards/rgbkb/mun/rev1/rules.mk
diff --git a/keyboards/converter/ibm_5291/rules.mk b/keyboards/rgbkb/mun/rules.mk
index 0b53753ebc..f016c6c710 100644
--- a/keyboards/converter/ibm_5291/rules.mk
+++ b/keyboards/rgbkb/mun/rules.mk
@@ -1,38 +1,46 @@
# MCU name
-MCU = atmega32u4
-
-# Bootloader selection
-# Teensy halfkay
-# Pro Micro caterina
-# Atmel DFU atmel-dfu
-# LUFA DFU lufa-dfu
-# QMK DFU qmk-dfu
-# ATmega32A bootloadHID
-# ATmega328P USBasp
-BOOTLOADER = halfkay
+MCU = STM32F303
+
+# Touch encoder needs
+SRC += ../common/touch_encoder.c
+SRC += ../common/common_oled.c
+QUANTUM_LIB_SRC += i2c_master.c
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
# the appropriate keymap folder that will get included automatically
#
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
+## (Note that for BOOTMAGIC on Teensy LC you have to use a custom .ld script.)
MOUSEKEY_ENABLE = no # Mouse keys
-EXTRAKEY_ENABLE = no # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
MIDI_ENABLE = no # MIDI controls
-AUDIO_ENABLE = no # Audio output on port C6
+AUDIO_ENABLE = no # Audio output
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+
+WS2812_DRIVER = pwm
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
-SPLIT_KEYBOARD = no
-WAIT_FOR_USB = yes
-LAYOUTS_HAS_RGB = no
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = WS2812
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+
+OLED_DRIVER_ENABLE = yes # Enable the OLED Driver
+
+ENCODER_ENABLE = yes
+
+SPLIT_KEYBOARD = yes
+SERIAL_DRIVER = usart
+LTO_ENABLE = yes
+OPT = 3
+
+OPT_DEFS += -DOLED_FONT_H=\"../common/glcdfont.c\"
+OPT_DEFS += -Ikeyboards/rgbkb/common
+
CUSTOM_MATRIX = yes
+SRC += matrix.c matrix_common.c
-SRC = matrix.c
+DEFAULT_FOLDER = rgbkb/mun/rev1 \ No newline at end of file
diff --git a/keyboards/rgbkb/sol/rev2/config.h b/keyboards/rgbkb/sol/rev2/config.h
index 6613b447b2..4ffcecc6bb 100644
--- a/keyboards/rgbkb/sol/rev2/config.h
+++ b/keyboards/rgbkb/sol/rev2/config.h
@@ -28,23 +28,33 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* ws2812 RGB LED */
#define RGB_DI_PIN B7
-#define BACKLIGHT_LEDS 124
-
-#ifdef FULLHAND_ENABLE
- #define FULLHAND_LEDS 24
-#elif SF_ENABLE
- #define FULLHAND_LEDS 38
-#else
- #define FULLHAND_LEDS 0
-#endif
-
// Underglow / DIY Tent Glow are parallel to the top row leds, no separate define
-
+// Full Hand case adds 24 LEDs, Star Fighter case adds 38 LEDs
+// For mirrored LED control (each MCU controls half the LEDs), total LED counts are divided in half
#ifdef LED_MIRRORED
- #define RGBLED_NUM ((BACKLIGHT_LEDS + FULLHAND_LEDS) / 2)
+ #ifdef FULLHAND_ENABLE
+ #define FULLHAND_LEDS 24
+ #define RGBLED_NUM 74
+ #elif SF_ENABLE
+ #define FULLHAND_LEDS 38
+ #define RGBLED_NUM 81
+ #else
+ #define FULLHAND_LEDS 0
+ #define RGBLED_NUM 62
+ #endif
#else
- #define RGBLED_NUM (BACKLIGHT_LEDS + FULLHAND_LEDS)
+ #ifdef FULLHAND_ENABLE
+ #define FULLHAND_LEDS 24
+ #define RGBLED_NUM 148
+ #elif SF_ENABLE
+ #define FULLHAND_LEDS 38
+ #define RGBLED_NUM 162
+ #else
+ #define FULLHAND_LEDS 0
+ #define RGBLED_NUM 124
+ #endif
#endif
+
#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_CENTER { 112, 37 }
diff --git a/keyboards/runner3680/5x8/keymaps/JIS/keymap.c b/keyboards/runner3680/5x8/keymaps/JIS/keymap.c
index 1b39cf08ef..75ff755651 100644
--- a/keyboards/runner3680/5x8/keymaps/JIS/keymap.c
+++ b/keyboards/runner3680/5x8/keymaps/JIS/keymap.c
@@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-------------------------------------------------------' `-------------------------------------------------------'
*/
[_QWERTY] = LAYOUT(
- RGBRST , RGB_TOG, JP_ZHTG, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, JP_CIRC, JP_YEN,
+ RGBRST , RGB_TOG, JP_ZKHK, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, JP_CIRC, JP_YEN,
RGB_MOD, RGB_SAI, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, JP_LBRC, KC_BSPC,
RGB_SAI, RGB_SAD, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, JP_COLN, JP_RBRC, KC_ENT,
RGB_VAI, RGB_VAD, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, JP_BSLS, KC_UP, KC_RSFT,
diff --git a/keyboards/satt/vision/keymaps/satt/keymap.c b/keyboards/satt/vision/keymaps/satt/keymap.c
index 5735d34159..9529653408 100644
--- a/keyboards/satt/vision/keymaps/satt/keymap.c
+++ b/keyboards/satt/vision/keymaps/satt/keymap.c
@@ -81,7 +81,7 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_PSEUDO_US] = LAYOUT(
_______, _______, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, _______, _______,
_______, _______, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JIS2US, _______,
- _______, KC_Z, KC_X, KC_C, KC_V, KC_B, JP_ZHTG, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, JIS2US,
+ _______, KC_Z, KC_X, KC_C, KC_V, KC_B, JP_ZKHK, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, JIS2US,
_______, _______, P_LOWER, _______, P_RAISE, _______, _______, _______
),
diff --git a/keyboards/satt/vision/keymaps/satt/keymap_jis2us.h b/keyboards/satt/vision/keymaps/satt/keymap_jis2us.h
index 916a403eb6..0b811fd03a 100644
--- a/keyboards/satt/vision/keymaps/satt/keymap_jis2us.h
+++ b/keyboards/satt/vision/keymaps/satt/keymap_jis2us.h
@@ -40,10 +40,10 @@ const uint16_t PROGMEM keymap_jis2us[][2] = {
[KC_BSLS] = { JP_YEN, JP_PIPE }, /* ] and } -> \ and | */
[KC_NUHS] = { JP_YEN, JP_PIPE }, /* ] and } -> \ and | */
[KC_SCLN] = { JP_SCLN, JP_COLN }, /* ; and + -> ; and : */
- [KC_QUOT] = { JP_QUOT, JP_DQT }, /* : and * -> ' and " */
+ [KC_QUOT] = { JP_QUOT, JP_DQUO }, /* : and * -> ' and " */
[KC_GRV] = { JP_GRV, JP_TILD }, /* Han/Zen -> ` and ~ */
- [KC_COMM] = { JP_COMM, JP_LT }, /* , and < -> , and < */
- [KC_DOT] = { JP_DOT, JP_GT }, /* . and > -> . and > */
+ [KC_COMM] = { JP_COMM, JP_LABK }, /* , and < -> , and < */
+ [KC_DOT] = { JP_DOT, JP_RABK }, /* . and > -> . and > */
[KC_SLSH] = { JP_SLSH, JP_QUES }, /* / and ? -> / and ? */
};
// clang-format on
diff --git a/keyboards/sawnsprojects/satxri6key/config.h b/keyboards/sawnsprojects/satxri6key/config.h
index 833fd584eb..129f2536b9 100644
--- a/keyboards/sawnsprojects/satxri6key/config.h
+++ b/keyboards/sawnsprojects/satxri6key/config.h
@@ -71,7 +71,7 @@
#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-#define RGB_DISABLE_WHEN_USB_SUSPENDED false // turn off effects when suspended
+// #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
-#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Sets the default mode, if none has been set \ No newline at end of file
+#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Sets the default mode, if none has been set
diff --git a/keyboards/sekigon/grs_70ec/matrix.c b/keyboards/sekigon/grs_70ec/matrix.c
index 7e90d99af6..98b2347937 100644
--- a/keyboards/sekigon/grs_70ec/matrix.c
+++ b/keyboards/sekigon/grs_70ec/matrix.c
@@ -71,11 +71,13 @@ bool matrix_scan_custom(matrix_row_t current_matrix[]) {
return updated;
}
-void matrix_post_scan(void) {
+bool matrix_post_scan(void) {
+ bool changed = false;
if (is_keyboard_master()) {
static uint8_t error_count;
- if (!transport_master(matrix + thatHand)) {
+ matrix_row_t slave_matrix[ROWS_PER_HAND] = {0};
+ if (!transport_master(matrix + thatHand, slave_matrix)) {
error_count++;
if (error_count > ERROR_DISCONNECT_COUNT) {
@@ -83,25 +85,35 @@ void matrix_post_scan(void) {
dprintf("Error: disconnect split half\n");
for (int i = 0; i < ROWS_PER_HAND; ++i) {
matrix[thatHand + i] = 0;
+ slave_matrix[i] = 0;
}
+
+ changed = true;
}
} else {
error_count = 0;
+
+ for (int i = 0; i < ROWS_PER_HAND; ++i) {
+ if (matrix[thatHand + i] != slave_matrix[i]) {
+ matrix[thatHand + i] = slave_matrix[i];
+ changed = true;
+ }
+ }
}
matrix_scan_quantum();
} else {
- transport_slave(matrix + thisHand);
+ transport_slave(matrix + thatHand, matrix + thisHand);
matrix_slave_scan_user();
}
+ return changed;
}
uint8_t matrix_scan(void) {
- bool changed = matrix_scan_custom(raw_matrix);
+ bool changed = matrix_scan_custom(raw_matrix) || matrix_post_scan();
debounce(raw_matrix, matrix + thisHand, ROWS_PER_HAND, changed);
- matrix_post_scan();
return changed;
}
diff --git a/keyboards/sendyyeah/75pixels/info.json b/keyboards/sendyyeah/75pixels/info.json
index 20d158cf74..d952cac134 100644
--- a/keyboards/sendyyeah/75pixels/info.json
+++ b/keyboards/sendyyeah/75pixels/info.json
@@ -7,7 +7,7 @@
"layouts": {
"LAYOUT_ortho_5x15": {
"layout": [
- {"label": "Esc", "X": 0, "y": 0},
+ {"label": "Esc", "x": 0, "y": 0},
{"label": "1", "x": 1, "y": 0},
{"label": "2", "x": 2, "y": 0},
{"label": "3", "x": 3, "y": 0},
@@ -22,21 +22,21 @@
{"label": "NumLock", "x": 12, "y": 0},
{"label": "/", "x": 13, "y": 0},
{"label": "*", "x": 14, "y": 0},
- {"label": "Tab", "X": 0, "y": 1},
- {"label": "Q", "X": 1, "y": 1},
- {"label": "W", "X": 2, "y": 1},
- {"label": "E", "X": 3, "y": 1},
- {"label": "R", "X": 4, "y": 1},
- {"label": "T", "X": 5, "y": 1},
- {"label": "Y", "X": 6, "y": 1},
- {"label": "U", "X": 7, "y": 1},
- {"label": "I", "X": 8, "y": 1},
- {"label": "O", "X": 9, "y": 1},
- {"label": "P", "X": 10, "y": 1},
- {"label": "|\n\\", "X": 11, "y": 1},
- {"label": "7\nHome", "X": 12, "y": 1},
- {"label": "8\nUp", "X": 13, "y": 1},
- {"label": "9\nPgUp", "X": 14, "y": 1},
+ {"label": "Tab", "x": 0, "y": 1},
+ {"label": "Q", "x": 1, "y": 1},
+ {"label": "W", "x": 2, "y": 1},
+ {"label": "E", "x": 3, "y": 1},
+ {"label": "R", "x": 4, "y": 1},
+ {"label": "T", "x": 5, "y": 1},
+ {"label": "Y", "x": 6, "y": 1},
+ {"label": "U", "x": 7, "y": 1},
+ {"label": "I", "x": 8, "y": 1},
+ {"label": "O", "x": 9, "y": 1},
+ {"label": "P", "x": 10, "y": 1},
+ {"label": "|\n\\", "x": 11, "y": 1},
+ {"label": "7\nHome", "x": 12, "y": 1},
+ {"label": "8\nUp", "x": 13, "y": 1},
+ {"label": "9\nPgUp", "x": 14, "y": 1},
{"label": "Caps", "x": 0, "y": 2},
{"label": "A", "x": 1, "y": 2},
{"label": "S", "x": 2, "y": 2},
@@ -67,21 +67,21 @@
{"label": "1\nEnd", "x": 12, "y": 3},
{"label": "2\nDown", "x": 13, "y": 3},
{"label": "3\nPgDn", "x": 14, "y": 3},
- {"label": "Ctrl", "X": 0, "y": 4},
- {"label": "Win", "X": 1, "y": 4},
- {"label": "Alt", "X": 2, "y": 4},
- {"label": "Fn", "X": 3, "y": 4},
- {"label": "Lower", "X": 4, "y": 4},
- {"label": "Space", "X": 5, "y": 4},
- {"label": "Space", "X": 6, "y": 4},
- {"label": "Raise", "X": 7, "y": 4},
- {"label": "Alt", "X": 8, "y": 4},
- {"label": "Win", "X": 9, "y": 4},
- {"label": "Menu", "X": 10, "y": 4},
- {"label": "Ctrl", "X": 11, "y": 4},
- {"label": "0\nIns", "X": 12, "y": 4},
- {"label": ".\nDel", "X": 13, "y": 4},
- {"label": "Enter", "X": 14, "y": 4}
+ {"label": "Ctrl", "x": 0, "y": 4},
+ {"label": "Win", "x": 1, "y": 4},
+ {"label": "Alt", "x": 2, "y": 4},
+ {"label": "Fn", "x": 3, "y": 4},
+ {"label": "Lower", "x": 4, "y": 4},
+ {"label": "Space", "x": 5, "y": 4},
+ {"label": "Space", "x": 6, "y": 4},
+ {"label": "Raise", "x": 7, "y": 4},
+ {"label": "Alt", "x": 8, "y": 4},
+ {"label": "Win", "x": 9, "y": 4},
+ {"label": "Menu", "x": 10, "y": 4},
+ {"label": "Ctrl", "x": 11, "y": 4},
+ {"label": "0\nIns", "x": 12, "y": 4},
+ {"label": ".\nDel", "x": 13, "y": 4},
+ {"label": "Enter", "x": 14, "y": 4}
]
}
}
diff --git a/keyboards/sentraq/s60_x/keymaps/dbroqua/keymap.c b/keyboards/sentraq/s60_x/keymaps/dbroqua/keymap.c
index 944ba7555f..3d4969aa1e 100644
--- a/keyboards/sentraq/s60_x/keymaps/dbroqua/keymap.c
+++ b/keyboards/sentraq/s60_x/keymaps/dbroqua/keymap.c
@@ -67,135 +67,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_SFX] = LAYOUT(
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
______, BL_TOGG,BL_STEP,BL_DEC, BL_INC, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
- ______, F(0), F(1), ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
- ______, ______, F(2), F(3), F(4), F(5), F(6), F(7), ______, ______, ______, ______, ______, ______, \
+ ______, RGB_TOG,RGB_MOD,______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, \
+ ______, ______, RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD,______, ______, ______, ______, ______, ______, \
______, ______, ______, ______, ______, ______, ______, ______ \
)
};
-
-enum function_id {
- RGBLED_TOGGLE,
- RGBLED_STEP_MODE,
- RGBLED_INCREASE_HUE,
- RGBLED_DECREASE_HUE,
- RGBLED_INCREASE_SAT,
- RGBLED_DECREASE_SAT,
- RGBLED_INCREASE_VAL,
- RGBLED_DECREASE_VAL
-};
-
-const uint16_t PROGMEM fn_actions[] = {
- [0] = ACTION_FUNCTION(RGBLED_TOGGLE),
- [1] = ACTION_FUNCTION(RGBLED_STEP_MODE),
- [2] = ACTION_FUNCTION(RGBLED_INCREASE_HUE),
- [3] = ACTION_FUNCTION(RGBLED_DECREASE_HUE),
- [4] = ACTION_FUNCTION(RGBLED_INCREASE_SAT),
- [5] = ACTION_FUNCTION(RGBLED_DECREASE_SAT),
- [6] = ACTION_FUNCTION(RGBLED_INCREASE_VAL),
- [7] = ACTION_FUNCTION(RGBLED_DECREASE_VAL)
-};
-
-void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
- switch (id) {
- case RGBLED_TOGGLE:
- if (record->event.pressed) {
- #ifdef RGB_ENABLE
- rgblight_toggle();
- #endif
- }
- break;
- case RGBLED_INCREASE_HUE:
- if (record->event.pressed) {
- #ifdef RGB_ENABLE
- rgblight_increase_hue();
- #endif
- }
- break;
- case RGBLED_DECREASE_HUE:
- if (record->event.pressed) {
- #ifdef RGB_ENABLE
- rgblight_decrease_hue();
- #endif
- }
- break;
- case RGBLED_INCREASE_SAT:
- if (record->event.pressed) {
- #ifdef RGB_ENABLE
- rgblight_increase_sat();
- #endif
- }
- break;
- case RGBLED_DECREASE_SAT:
- if (record->event.pressed) {
- #ifdef RGB_ENABLE
- rgblight_decrease_sat();
- #endif
- }
- break;
- case RGBLED_INCREASE_VAL:
- if (record->event.pressed) {
- #ifdef RGB_ENABLE
- rgblight_increase_val();
- #endif
- }
- break;
- case RGBLED_DECREASE_VAL:
- if (record->event.pressed) {
- #ifdef RGB_ENABLE
- rgblight_decrease_val();
- #endif
- }
- break;
- case RGBLED_STEP_MODE:
- if (record->event.pressed) {
- #ifdef RGB_ENABLE
- rgblight_step();
- #endif
- }
- break;
- }
-}
-
-void matrix_init_user(void) {
-}
-
-void matrix_scan_user(void) {
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- return true;
-}
-
-void led_set_user(uint8_t usb_led) {
-
- if (usb_led & (1 << USB_LED_NUM_LOCK)) {
-
- } else {
-
- }
-
- if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
-
- } else {
-
- }
-
- if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
-
- } else {
-
- }
-
- if (usb_led & (1 << USB_LED_COMPOSE)) {
-
- } else {
-
- }
-
- if (usb_led & (1 << USB_LED_KANA)) {
-
- } else {
-
- }
-
-}
diff --git a/keyboards/sergiopoverony/creator_pro/config.h b/keyboards/sergiopoverony/creator_pro/config.h
new file mode 100644
index 0000000000..3bf7efc77d
--- /dev/null
+++ b/keyboards/sergiopoverony/creator_pro/config.h
@@ -0,0 +1,49 @@
+/* Copyright 2020-2021 SergioPoverony
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 "config_common.h"
+
+/* vid pid */
+#define VENDOR_ID 0x8B1E
+#define PRODUCT_ID 0x0C00
+#define DEVICE_VER 0x0001
+#define MANUFACTURER SergioPoverony
+#define PRODUCT Creator Pro
+
+
+/* key matrix size pins */
+#define MATRIX_ROWS 1
+#define MATRIX_COLS 9
+#define DIRECT_PINS { \
+ { D1, D4, C6, D7, \
+ E6, \
+ B2, B3, B1, F7 } \
+}
+
+
+/*led layout indication pins*/
+#define RED_LED D0
+#define BLUE_LED B5
+#define GREEN_LED B6
+
+/* encoder pins*/
+#define ENCODERS_PAD_A { D2 }
+#define ENCODERS_PAD_B { D3 }
+#define ENCODER_RESOLUTION 1
+
+#define UNUSED_PINS
+
diff --git a/keyboards/sergiopoverony/creator_pro/creator_pro.c b/keyboards/sergiopoverony/creator_pro/creator_pro.c
new file mode 100644
index 0000000000..55c0497df2
--- /dev/null
+++ b/keyboards/sergiopoverony/creator_pro/creator_pro.c
@@ -0,0 +1,33 @@
+/* Copyright 2020-2021 SergioPoverony
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 "creator_pro.h"
+
+void matrix_init_kb(void) {
+ matrix_init_user();
+/* led pins */
+ setPinOutput(RED_LED);
+ setPinOutput(BLUE_LED);
+ setPinOutput(GREEN_LED);
+}
+void turn_off_leds(void) {
+ writePinLow(RED_LED);
+ writePinLow(BLUE_LED);
+ writePinLow(GREEN_LED);
+}
+void turn_on_led(pin_t pin) {
+ writePinHigh(pin);
+}
diff --git a/keyboards/sergiopoverony/creator_pro/creator_pro.h b/keyboards/sergiopoverony/creator_pro/creator_pro.h
new file mode 100644
index 0000000000..566e94a77a
--- /dev/null
+++ b/keyboards/sergiopoverony/creator_pro/creator_pro.h
@@ -0,0 +1,33 @@
+/* Copyright 2020-2021 SergioPoverony
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 LAYOUT( \
+K01, K02, K03, K04, \
+ K05, \
+K06, K07, K08, K09 \
+) { { \
+K01, K02, K03, K04, \
+ K05, \
+K06, K07, K08, K09 \
+} }
+
+/*led work*/
+void turn_off_leds(void);
+void turn_on_led(pin_t pin);
+
diff --git a/keyboards/sergiopoverony/creator_pro/info.json b/keyboards/sergiopoverony/creator_pro/info.json
new file mode 100644
index 0000000000..1e6bceec5b
--- /dev/null
+++ b/keyboards/sergiopoverony/creator_pro/info.json
@@ -0,0 +1,22 @@
+{
+ "keyboard_name": "Creator Pro",
+ "url": "https://github.com/sergiopoverony",
+ "maintainer": "SergioPoverony",
+ "width": 3,
+ "height": 3,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1, "y":0},
+ {"x":2, "y":0},
+ {"x":3, "y":0},
+ {"x":4.5, "y":0.5},
+ {"x":0, "y":1},
+ {"x":1, "y":1},
+ {"x":2, "y":1},
+ {"x":3, "y":1}
+ ]
+ }
+ }
+}
diff --git a/keyboards/sergiopoverony/creator_pro/keymaps/default/keymap.c b/keyboards/sergiopoverony/creator_pro/keymaps/default/keymap.c
new file mode 100644
index 0000000000..d29621929b
--- /dev/null
+++ b/keyboards/sergiopoverony/creator_pro/keymaps/default/keymap.c
@@ -0,0 +1,123 @@
+/* Copyright 2020-2021 SergioPoverony
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+ #include QMK_KEYBOARD_H
+
+/* enum layers num */
+enum layer_number {
+ _HOME = 0,
+ _RED,
+ _BLUE,
+ _GREEN
+};
+
+/* Encoder function with layers function */
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ if (index == 0) {
+ switch (get_highest_layer(layer_state)) {
+
+ case _HOME:
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ break;
+
+ case _RED:
+ if (clockwise) {
+ tap_code(KC_MS_WH_UP);
+ } else {
+ tap_code(KC_MS_WH_DOWN);
+ }
+ break;
+
+ case _BLUE:
+ if (clockwise) {
+ tap_code(KC_PGUP);
+ } else {
+ tap_code(KC_PGDN);
+ }
+ break;
+
+ case _GREEN:
+ default:
+ if (clockwise) {
+ tap_code16(KC_LEFT);
+ } else {
+ tap_code16(KC_RIGHT);
+ }
+ break;
+ }
+ }
+ return true;
+}
+
+
+/* Layout */
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_HOME] = LAYOUT(
+ KC_1, KC_2, KC_3, KC_4,
+ TO(_RED),
+ KC_5, KC_6, KC_7, KC_8
+ ),
+
+ [_RED] = LAYOUT(
+ KC_Q, KC_W, KC_E, KC_R,
+ TO(_BLUE),
+ KC_A, KC_S, KC_D, KC_F
+ ),
+
+ [_BLUE] = LAYOUT(
+ KC_1, KC_2, KC_3, KC_4,
+ TO(_GREEN),
+ KC_5, KC_6, KC_7, KC_8
+ ),
+
+ [_GREEN] = LAYOUT(
+ KC_1, KC_2, KC_3, KC_4,
+ TO(_HOME),
+ KC_5, KC_6, KC_7, KC_8
+ ),
+};
+
+
+/* Select led layout */
+layer_state_t layer_state_set_user(layer_state_t state)
+{
+ turn_off_leds();
+
+ switch (get_highest_layer(state))
+ {
+ case _HOME:
+ turn_on_led(RED_LED);
+ turn_on_led(BLUE_LED);
+ break;
+
+ case _RED:
+ turn_on_led(RED_LED);
+ break;
+
+ case _BLUE:
+ turn_on_led(BLUE_LED);
+ break;
+
+ case _GREEN:
+ turn_on_led(GREEN_LED);
+ break;
+ }
+ return state;
+};
diff --git a/keyboards/sergiopoverony/creator_pro/keymaps/default/readme.md b/keyboards/sergiopoverony/creator_pro/keymaps/default/readme.md
new file mode 100644
index 0000000000..f899eb3c13
--- /dev/null
+++ b/keyboards/sergiopoverony/creator_pro/keymaps/default/readme.md
@@ -0,0 +1,5 @@
+![Creator Pro Layout](https://i.imgur.com/0PmpLcM.png)
+
+# Default Creator Pro Layout
+
+This is the default layout that comes flashed on every Creator Pro. The right most key (Encoder) is the rotary and the key is binded to layer switching. \ No newline at end of file
diff --git a/keyboards/sergiopoverony/creator_pro/keymaps/via/keymap.c b/keyboards/sergiopoverony/creator_pro/keymaps/via/keymap.c
new file mode 100644
index 0000000000..7566772461
--- /dev/null
+++ b/keyboards/sergiopoverony/creator_pro/keymaps/via/keymap.c
@@ -0,0 +1,123 @@
+/* Copyright 2020-2021 SergioPoverony
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+ #include QMK_KEYBOARD_H
+
+/* enum layers num */
+enum layer_number {
+ _HOME = 0,
+ _RED,
+ _BLUE,
+ _GREEN
+};
+
+/* Encoder function with layers function */
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ if (index == 0) {
+ switch (get_highest_layer(layer_state)) {
+
+ case _HOME:
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ break;
+
+ case _RED:
+ if (clockwise) {
+ tap_code(KC_MS_WH_UP);
+ } else {
+ tap_code(KC_MS_WH_DOWN);
+ }
+ break;
+
+ case _BLUE:
+ if (clockwise) {
+ tap_code(KC_PGUP);
+ } else {
+ tap_code(KC_PGDN);
+ }
+ break;
+
+ case _GREEN:
+ default:
+ if (clockwise) {
+ tap_code16(KC_LEFT);
+ } else {
+ tap_code16(KC_RIGHT);
+ }
+ break;
+ }
+ }
+ return true;
+}
+
+
+/* Layout */
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_HOME] = LAYOUT(
+ KC_1, KC_2, KC_3, KC_4,
+ TO(_RED),
+ KC_5, KC_6, KC_7, KC_8
+ ),
+
+ [_RED] = LAYOUT(
+ KC_Q, KC_W, KC_E, KC_R,
+ TO(_BLUE),
+ KC_A, KC_S, KC_D, KC_F
+ ),
+
+ [_BLUE] = LAYOUT(
+ KC_1, KC_2, KC_3, KC_4,
+ TO(_GREEN),
+ KC_5, KC_6, KC_7, KC_8
+ ),
+
+ [_GREEN] = LAYOUT(
+ KC_1, KC_2, KC_3, KC_4,
+ TO(_HOME),
+ KC_5, KC_6, KC_7, KC_8
+ ),
+};
+
+
+/* Select led layout */
+layer_state_t layer_state_set_user(layer_state_t state)
+{
+ turn_off_leds();
+
+ switch (get_highest_layer(state))
+ {
+ case _HOME:
+ turn_on_led(RED_LED);
+ turn_on_led(BLUE_LED);
+ break;
+
+ case _RED:
+ turn_on_led(RED_LED);
+ break;
+
+ case _BLUE:
+ turn_on_led(BLUE_LED);
+ break;
+
+ case _GREEN:
+ turn_on_led(GREEN_LED);
+ break;
+ }
+ return state;
+};
diff --git a/keyboards/sergiopoverony/creator_pro/keymaps/via/rules.mk b/keyboards/sergiopoverony/creator_pro/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/sergiopoverony/creator_pro/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/sergiopoverony/creator_pro/readme.md b/keyboards/sergiopoverony/creator_pro/readme.md
new file mode 100644
index 0000000000..601c069d91
--- /dev/null
+++ b/keyboards/sergiopoverony/creator_pro/readme.md
@@ -0,0 +1,27 @@
+# Creator Pro
+
+![Creator Pro Layout](https://i.imgur.com/G3Yf20D.jpg)
+
+This Keypad has 1 rows x 9 columns of keys. It has the top/default layer that
+has a few 1-8 keys as well as one dedicated encoder key for change layer. The
+ second layer has QWERASDF keys. Encoder have 4 function on any layer is
+ Volume Control, Mouse Wheel, PageUp/PageDn, Left/Righ buttons.
+The keypad also includes three RGB LEDs that show active layer.
+For enter the bootloader to flash new firmware need press hw reset button hole on the bottom
+
+Keyboard Maintainer: [SergioPoverony](https://github.com/sergiopoverony)
+
+Hardware:
+ * For enter the bootloader to flash new firmware need press hw reset button hole on the bottom
+ * Key switch holes cut fabrication in blank PCB
+ * Uses Gateron Brown switches with gray keycaps XDA profile
+ * Chassis is PCB with supports
+ * PCB fabrication
+ * Uses a Pro Micro wint MicroUSB connector
+ * Includes a reset switch accessible by a hole on the bottom
+
+Make example for this keyboard (after setting up your build environment):
+
+ make sergiopoverony/creator_pro:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/tronguylabs/m122_3270/rules.mk b/keyboards/sergiopoverony/creator_pro/rules.mk
index 2604f4818b..aee3a1398e 100644
--- a/keyboards/tronguylabs/m122_3270/rules.mk
+++ b/keyboards/sergiopoverony/creator_pro/rules.mk
@@ -1,3 +1,9 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = caterina
+
# Build Options
# change yes to no to disable
#
@@ -9,8 +15,9 @@ COMMAND_ENABLE = yes # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
+NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
+ENCODER_ENABLE = yes
diff --git a/keyboards/setta21/keymaps/salicylic/config.h b/keyboards/setta21/keymaps/salicylic/config.h
index 44b34aa2fd..06e23ba7a3 100644
--- a/keyboards/setta21/keymaps/salicylic/config.h
+++ b/keyboards/setta21/keymaps/salicylic/config.h
@@ -27,7 +27,7 @@
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
// # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
// # define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 200 out of 255. If not defined maximum brightness is set to 255
@@ -37,4 +37,3 @@
# define RGB_MATRIX_VAL_STEP 5
# define RGB_MATRIX_SPD_STEP 10
#endif
-
diff --git a/keyboards/shk9/rules.mk b/keyboards/shk9/rules.mk
index 8d356cbd1a..5f1b6954ee 100644
--- a/keyboards/shk9/rules.mk
+++ b/keyboards/shk9/rules.mk
@@ -20,5 +20,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
-
-LAYOUTS = ortho_3x3 \ No newline at end of file
diff --git a/keyboards/sofle/keymaps/devdev/config.h b/keyboards/sofle/keymaps/devdev/config.h
index 7d597d991a..32d0717352 100644
--- a/keyboards/sofle/keymaps/devdev/config.h
+++ b/keyboards/sofle/keymaps/devdev/config.h
@@ -1,18 +1,18 @@
/* Copyright 2021 Dane Evans
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General 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/>.
-*/
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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
@@ -29,7 +29,7 @@
#define CUSTOM_FONT
-#define CUSTOM_LAYER_READ //if you remove this it causes issues - needs better guarding
+#define CUSTOM_LAYER_READ //if you remove this it causes issues - needs better guarding
#define TAPPING_FORCE_HOLD
@@ -56,7 +56,7 @@
#ifdef RGBLIGHT_ENABLE
#undef RGBLED_NUM
-
+
//#define RGBLIGHT_ANIMATIONS
//#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
@@ -68,11 +68,11 @@
//#define RGBLIGHT_EFFECT_RGB_TEST
//#define RGBLIGHT_EFFECT_ALTERNATING
//#define RGBLIGHT_EFFECT_TWINKLE
-
+
#define RGBLED_NUM 70
//#define RGBLED_SPLIT
- #define RGBLED_SPLIT { 35, 35 } // haven't figured out how to use this yet
-
+ #define RGBLED_SPLIT { 35, 35 } // haven't figured out how to use this yet
+
//#define RGBLED_NUM 30
#define RGBLIGHT_LIMIT_VAL 120
#define RGBLIGHT_HUE_STEP 10
@@ -84,11 +84,11 @@
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
+# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_GRADIENT_LEFT_RIGHT
@@ -127,4 +127,4 @@
// # define DISABLE_RGB_MATRIX_MULTISPLASH
// # define DISABLE_RGB_MATRIX_SOLID_SPLASH
// # define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif \ No newline at end of file
+#endif
diff --git a/keyboards/sofle/keymaps/helltm/keymap.c b/keyboards/sofle/keymaps/helltm/keymap.c
index d3bdd5fa85..507b9e6d73 100644
--- a/keyboards/sofle/keymaps/helltm/keymap.c
+++ b/keyboards/sofle/keymaps/helltm/keymap.c
@@ -1,18 +1,18 @@
- /* Copyright 2021 HellSingCoder
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
+/* Copyright 2021 HellSingCoder
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
#include QMK_KEYBOARD_H
@@ -25,6 +25,7 @@ enum sofle_layers {
_ADJUST,
};
+// clang-format off
enum custom_keycodes {
KC_QWERTY = SAFE_RANGE,
KC_GAMING,
@@ -40,23 +41,22 @@ enum custom_keycodes {
KC_LAYER
};
-
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/*
- * QWERTY
- * ,-----------------------------------------. ,-----------------------------------------.
- * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | ` |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Caps | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| play | | mute |------+------+------+------+------+------|
- * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / | \ |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LGUI | LAlt | LAYER| LCTR | /Enter / \Space \ | [ | ] | - | = |
- * | | | | |/ / \ \ | | | | |
- * `----------------------------------' '------''---------------------------'
- */
+ /*
+ * QWERTY
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Tab | Q | W | E | R | T | | Y | U | I | O | P | ` |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Caps | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
+ * |------+------+------+------+------+------| play | | mute |------+------+------+------+------+------|
+ * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / | \ |
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | LGUI | LAlt | LAYER| LCTR | /Enter / \Space \ | [ | ] | - | = |
+ * | | | | |/ / \ \ | | | | |
+ * `----------------------------------' '------''---------------------------'
+ */
[_QWERTY] = 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_DEL,
@@ -155,54 +155,36 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
+// clang-format on
#ifdef OLED_DRIVER_ENABLE
/* 32 * 32 logo */
static void render_logo(void) {
- static const char PROGMEM hell_logo[] = {
- 0x00, 0x80, 0xc0, 0xc0, 0x60, 0x60, 0x30, 0x30, 0x18, 0x1c, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x80,
- 0xe0, 0x78, 0x1e, 0x06, 0x00, 0x0c, 0x1c, 0x18, 0x30, 0x30, 0x60, 0x60, 0xc0, 0xc0, 0x80, 0x00,
- 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x18, 0x18, 0x30, 0x70, 0x60, 0x00, 0xc0, 0xf0, 0x3c, 0x0f,
- 0x03, 0x00, 0x00, 0x00, 0x00, 0x60, 0x70, 0x30, 0x18, 0x18, 0x0c, 0x0c, 0x06, 0x07, 0x03, 0x01,
- 0x00, 0xf8, 0xf8, 0x80, 0x80, 0x80, 0xf8, 0xf8, 0x00, 0x80, 0xc0, 0xc0, 0x40, 0xc0, 0xc0, 0x80,
- 0x00, 0xf8, 0xf8, 0x00, 0xf8, 0xf8, 0x00, 0x08, 0x38, 0x08, 0x00, 0x38, 0x08, 0x30, 0x08, 0x38,
- 0x00, 0x1f, 0x1f, 0x01, 0x01, 0x01, 0x1f, 0x1f, 0x00, 0x0f, 0x1f, 0x1a, 0x12, 0x1a, 0x1b, 0x0b,
- 0x00, 0x1f, 0x1f, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- };
+ static const char PROGMEM hell_logo[] = {0x00, 0x80, 0xc0, 0xc0, 0x60, 0x60, 0x30, 0x30, 0x18, 0x1c, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0x78, 0x1e, 0x06, 0x00, 0x0c, 0x1c, 0x18, 0x30, 0x30, 0x60, 0x60, 0xc0, 0xc0, 0x80, 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x18, 0x18, 0x30, 0x70, 0x60, 0x00, 0xc0, 0xf0, 0x3c, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x60, 0x70, 0x30, 0x18, 0x18, 0x0c, 0x0c, 0x06, 0x07, 0x03, 0x01, 0x00, 0xf8, 0xf8, 0x80, 0x80, 0x80, 0xf8, 0xf8, 0x00, 0x80, 0xc0, 0xc0, 0x40, 0xc0, 0xc0, 0x80, 0x00, 0xf8, 0xf8, 0x00, 0xf8, 0xf8, 0x00, 0x08, 0x38, 0x08, 0x00, 0x38, 0x08, 0x30, 0x08, 0x38, 0x00, 0x1f, 0x1f, 0x01, 0x01, 0x01, 0x1f, 0x1f, 0x00, 0x0f, 0x1f, 0x1a, 0x12, 0x1a, 0x1b, 0x0b, 0x00, 0x1f, 0x1f, 0x00, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
oled_write_raw_P(hell_logo, sizeof(hell_logo));
}
/* 32 * 14 os logos */
-static const char PROGMEM windows_logo[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbc, 0xbc, 0xbe, 0xbe, 0x00,
- 0xbe, 0xbe, 0xbf, 0xbf, 0xbf, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x0f, 0x0f, 0x00,
- 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-};
+static const char PROGMEM windows_logo[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbc, 0xbc, 0xbe, 0xbe, 0x00, 0xbe, 0xbe, 0xbf, 0xbf, 0xbf, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x0f, 0x0f, 0x00, 0x0f, 0x0f, 0x1f, 0x1f, 0x1f, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
-static const char PROGMEM mac_logo[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xf8, 0xf8,
- 0xf0, 0xf6, 0xfb, 0xfb, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x1f, 0x1f,
- 0x0f, 0x0f, 0x1f, 0x1f, 0x0f, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-};
+static const char PROGMEM mac_logo[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0xf8, 0xf8, 0xf8, 0xf0, 0xf6, 0xfb, 0xfb, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0f, 0x1f, 0x1f, 0x0f, 0x0f, 0x1f, 0x1f, 0x0f, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
/* Smart Backspace Delete */
-bool shift_held = false;
+bool shift_held = false;
static uint16_t held_shift = 0;
/* KEYBOARD PET START */
/* settings */
-#define MIN_WALK_SPEED 10
-#define MIN_RUN_SPEED 40
+# define MIN_WALK_SPEED 10
+# define MIN_RUN_SPEED 40
/* advanced settings */
-#define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms
-#define ANIM_SIZE 96 // number of bytes in array. If you change sprites, minimize for adequate firmware size. max is 1024
+# define ANIM_FRAME_DURATION 200 // how long each frame lasts in ms
+# define ANIM_SIZE 96 // number of bytes in array. If you change sprites, minimize for adequate firmware size. max is 1024
/* timers */
uint32_t anim_timer = 0;
@@ -212,167 +194,101 @@ uint32_t anim_sleep = 0;
uint8_t current_frame = 0;
/* status variables */
-int current_wpm = 0;
+int current_wpm = 0;
led_t led_usb_state;
bool isSneaking = false;
-bool isJumping = false;
+bool isJumping = false;
bool showedJump = true;
/* logic */
static void render_luna(int LUNA_X, int LUNA_Y) {
-
/* Sit */
- static const char PROGMEM sit[2][ANIM_SIZE] = {
- /* 'sit1', 32x22px */
- {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1c,
- 0x02, 0x05, 0x02, 0x24, 0x04, 0x04, 0x02, 0xa9, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x68, 0x10, 0x08, 0x04, 0x03, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x82, 0x7c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x0c, 0x10, 0x10, 0x20, 0x20, 0x20, 0x28,
- 0x3e, 0x1c, 0x20, 0x20, 0x3e, 0x0f, 0x11, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
-
- /* 'sit2', 32x22px */
- {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1c,
- 0x02, 0x05, 0x02, 0x24, 0x04, 0x04, 0x02, 0xa9, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x90, 0x08, 0x18, 0x60, 0x10, 0x08, 0x04, 0x03, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0e, 0x82, 0x7c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x0c, 0x10, 0x10, 0x20, 0x20, 0x20, 0x28,
- 0x3e, 0x1c, 0x20, 0x20, 0x3e, 0x0f, 0x11, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- }
- };
+ static const char PROGMEM sit[2][ANIM_SIZE] = {/* 'sit1', 32x22px */
+ {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x02, 0x05, 0x02, 0x24, 0x04, 0x04, 0x02, 0xa9, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x68, 0x10, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x82, 0x7c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x0c, 0x10, 0x10, 0x20, 0x20, 0x20, 0x28, 0x3e, 0x1c, 0x20, 0x20, 0x3e, 0x0f, 0x11, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ },
+
+ /* 'sit2', 32x22px */
+ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x02, 0x05, 0x02, 0x24, 0x04, 0x04, 0x02, 0xa9, 0x1e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x90, 0x08, 0x18, 0x60, 0x10, 0x08, 0x04, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0e, 0x82, 0x7c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x0c, 0x10, 0x10, 0x20, 0x20, 0x20, 0x28, 0x3e, 0x1c, 0x20, 0x20, 0x3e, 0x0f, 0x11, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}};
/* Walk */
- static const char PROGMEM walk[2][ANIM_SIZE] = {
- /* 'walk1', 32x22px */
- {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x90, 0x90, 0x90, 0xa0, 0xc0, 0x80, 0x80,
- 0x80, 0x70, 0x08, 0x14, 0x08, 0x90, 0x10, 0x10, 0x08, 0xa4, 0x78, 0x80, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x08, 0xfc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
- 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x18, 0xea, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1c, 0x20, 0x20, 0x3c, 0x0f, 0x11, 0x1f, 0x03,
- 0x06, 0x18, 0x20, 0x20, 0x3c, 0x0c, 0x12, 0x1e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
-
- /* 'walk2', 32x22px */
- {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x20, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00,
- 0x00, 0xe0, 0x10, 0x28, 0x10, 0x20, 0x20, 0x20, 0x10, 0x48, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x20, 0xf8, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x30, 0xd5, 0x20, 0x1f, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x30, 0x0c, 0x02, 0x05, 0x09, 0x12, 0x1e,
- 0x02, 0x1c, 0x14, 0x08, 0x10, 0x20, 0x2c, 0x32, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- }
- };
+ static const char PROGMEM walk[2][ANIM_SIZE] = {/* 'walk1', 32x22px */
+ {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x90, 0x90, 0x90, 0xa0, 0xc0, 0x80, 0x80, 0x80, 0x70, 0x08, 0x14, 0x08, 0x90, 0x10, 0x10, 0x08, 0xa4, 0x78, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x08, 0xfc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x18, 0xea, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1c, 0x20, 0x20, 0x3c, 0x0f, 0x11, 0x1f, 0x03, 0x06, 0x18, 0x20, 0x20, 0x3c, 0x0c, 0x12, 0x1e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ },
+
+ /* 'walk2', 32x22px */
+ {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x20, 0x20, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x28, 0x10, 0x20, 0x20, 0x20, 0x10, 0x48, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x20, 0xf8, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x30, 0xd5, 0x20, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x30, 0x0c, 0x02, 0x05, 0x09, 0x12, 0x1e, 0x02, 0x1c, 0x14, 0x08, 0x10, 0x20, 0x2c, 0x32, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ }};
/* Run */
- static const char PROGMEM run[2][ANIM_SIZE] = {
- /* 'run1', 32x22px */
- {
- 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x08, 0xc8, 0xb0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
- 0x80, 0x40, 0x40, 0x3c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xc4, 0xa4, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc8, 0x58, 0x28, 0x2a, 0x10, 0x0f, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x09, 0x04, 0x04, 0x04, 0x04, 0x02, 0x03, 0x02, 0x01, 0x01,
- 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
-
- /* 'run2', 32x22px */
- {
- 0x00, 0x00, 0x00, 0xe0, 0x10, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
- 0x80, 0x80, 0x78, 0x28, 0x08, 0x10, 0x20, 0x30, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0xb0, 0x50, 0x55, 0x20, 0x1f, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37,
- 0x02, 0x1e, 0x20, 0x20, 0x18, 0x0c, 0x14, 0x1e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- }
- };
+ static const char PROGMEM run[2][ANIM_SIZE] = {/* 'run1', 32x22px */
+ {
+ 0x00, 0x00, 0x00, 0x00, 0xe0, 0x10, 0x08, 0x08, 0xc8, 0xb0, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x40, 0x40, 0x3c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0xc4, 0xa4, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc8, 0x58, 0x28, 0x2a, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x09, 0x04, 0x04, 0x04, 0x04, 0x02, 0x03, 0x02, 0x01, 0x01, 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
+ },
+
+ /* 'run2', 32x22px */
+ {
+ 0x00, 0x00, 0x00, 0xe0, 0x10, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x78, 0x28, 0x08, 0x10, 0x20, 0x30, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0xb0, 0x50, 0x55, 0x20, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37, 0x02, 0x1e, 0x20, 0x20, 0x18, 0x0c, 0x14, 0x1e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ }};
/* Bark */
- static const char PROGMEM bark[2][ANIM_SIZE] = {
- /* 'bark1', 32x22px */
- {
- 0x00, 0xc0, 0x20, 0x10, 0xd0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40,
- 0x3c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x80, 0xc8, 0x48, 0x28, 0x2a, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37, 0x02, 0x02,
- 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
-
- /* 'bark2', 32x22px */
- {
- 0x00, 0xe0, 0x10, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40,
- 0x40, 0x2c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x48, 0x28, 0x2a, 0x10, 0x0f, 0x20, 0x4a, 0x09, 0x10,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37, 0x02, 0x02,
- 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- }
- };
+ static const char PROGMEM bark[2][ANIM_SIZE] = {/* 'bark1', 32x22px */
+ {
+ 0x00, 0xc0, 0x20, 0x10, 0xd0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x3c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc8, 0x48, 0x28, 0x2a, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37, 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ },
+
+ /* 'bark2', 32x22px */
+ {
+ 0x00, 0xe0, 0x10, 0x10, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x40, 0x40, 0x2c, 0x14, 0x04, 0x08, 0x90, 0x18, 0x04, 0x08, 0xb0, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x08, 0x10, 0x11, 0xf9, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0x48, 0x28, 0x2a, 0x10, 0x0f, 0x20, 0x4a, 0x09, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0c, 0x10, 0x20, 0x28, 0x37, 0x02, 0x02, 0x04, 0x08, 0x10, 0x26, 0x2b, 0x32, 0x04, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ }};
/* Sneak */
- static const char PROGMEM sneak[2][ANIM_SIZE] = {
- /* 'sneak1', 32x22px */
- {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xc0, 0x40, 0x40, 0x80, 0x00, 0x80, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x1e, 0x21, 0xf0, 0x04, 0x02, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02, 0x04,
- 0x04, 0x04, 0x03, 0x01, 0x00, 0x00, 0x09, 0x01, 0x80, 0x80, 0xab, 0x04, 0xf8, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1c, 0x20, 0x20, 0x3c, 0x0f, 0x11, 0x1f, 0x02, 0x06,
- 0x18, 0x20, 0x20, 0x38, 0x08, 0x10, 0x18, 0x04, 0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00,
- },
-
- /* 'sneak2', 32x22px */
- {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0xe0, 0xa0, 0x20, 0x40, 0x80, 0xc0, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x3e, 0x41, 0xf0, 0x04, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02, 0x02, 0x04,
- 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x40, 0x40, 0x55, 0x82, 0x7c, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x30, 0x0c, 0x02, 0x05, 0x09, 0x12, 0x1e, 0x04,
- 0x18, 0x10, 0x08, 0x10, 0x20, 0x28, 0x34, 0x06, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
- }
- };
+ static const char PROGMEM sneak[2][ANIM_SIZE] = {/* 'sneak1', 32x22px */
+ {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x40, 0x40, 0x80, 0x00, 0x80, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x21, 0xf0, 0x04, 0x02, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02, 0x04, 0x04, 0x04, 0x03, 0x01, 0x00, 0x00, 0x09, 0x01, 0x80, 0x80, 0xab, 0x04, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x1c, 0x20, 0x20, 0x3c, 0x0f, 0x11, 0x1f, 0x02, 0x06, 0x18, 0x20, 0x20, 0x38, 0x08, 0x10, 0x18, 0x04, 0x04, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00,
+ },
+
+ /* 'sneak2', 32x22px */
+ {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xa0, 0x20, 0x40, 0x80, 0xc0, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x41, 0xf0, 0x04, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02, 0x02, 0x04, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x40, 0x40, 0x55, 0x82, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x20, 0x30, 0x0c, 0x02, 0x05, 0x09, 0x12, 0x1e, 0x04, 0x18, 0x10, 0x08, 0x10, 0x20, 0x28, 0x34, 0x06, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ }};
/* animation */
void animate_luna(void) {
-
/* jump */
if (isJumping || !showedJump) {
-
/* clear */
- oled_set_cursor(LUNA_X,LUNA_Y +2);
+ oled_set_cursor(LUNA_X, LUNA_Y + 2);
oled_write(" ", false);
- oled_set_cursor(LUNA_X,LUNA_Y -1);
+ oled_set_cursor(LUNA_X, LUNA_Y - 1);
showedJump = true;
} else {
-
/* clear */
- oled_set_cursor(LUNA_X,LUNA_Y -1);
+ oled_set_cursor(LUNA_X, LUNA_Y - 1);
oled_write(" ", false);
- oled_set_cursor(LUNA_X,LUNA_Y);
+ oled_set_cursor(LUNA_X, LUNA_Y);
}
/* switch frame */
current_frame = (current_frame + 1) % 2;
/* current status */
- if(led_usb_state.caps_lock) {
+ if (led_usb_state.caps_lock) {
oled_write_raw_P(bark[abs(1 - current_frame)], ANIM_SIZE);
- } else if(isSneaking) {
+ } else if (isSneaking) {
oled_write_raw_P(sneak[abs(1 - current_frame)], ANIM_SIZE);
- } else if(current_wpm <= MIN_WALK_SPEED) {
+ } else if (current_wpm <= MIN_WALK_SPEED) {
oled_write_raw_P(sit[abs(1 - current_frame)], ANIM_SIZE);
- } else if(current_wpm <= MIN_RUN_SPEED) {
+ } else if (current_wpm <= MIN_RUN_SPEED) {
oled_write_raw_P(walk[abs(1 - current_frame)], ANIM_SIZE);
} else {
@@ -381,7 +297,7 @@ static void render_luna(int LUNA_X, int LUNA_Y) {
}
/* animation timer */
- if(timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
+ if (timer_elapsed32(anim_timer) > ANIM_FRAME_DURATION) {
anim_timer = timer_read32();
animate_luna();
}
@@ -390,10 +306,9 @@ static void render_luna(int LUNA_X, int LUNA_Y) {
if (current_wpm > 0) {
oled_on();
anim_sleep = timer_read32();
- } else if(timer_elapsed32(anim_sleep) > OLED_TIMEOUT) {
+ } else if (timer_elapsed32(anim_sleep) > OLED_TIMEOUT) {
oled_off();
}
-
}
/* KEYBOARD PET END */
@@ -403,28 +318,28 @@ static void print_logo_narrow(void) {
/* wpm counter */
uint8_t n = get_current_wpm();
- char wpm_str[4];
- oled_set_cursor(0,14);
+ char wpm_str[4];
+ oled_set_cursor(0, 14);
wpm_str[3] = '\0';
wpm_str[2] = '0' + n % 10;
- wpm_str[1] = '0' + ( n /= 10) % 10;
+ wpm_str[1] = '0' + (n /= 10) % 10;
wpm_str[0] = '0' + n / 10;
oled_write(wpm_str, false);
- oled_set_cursor(0,15);
+ oled_set_cursor(0, 15);
oled_write(" wpm", false);
}
static void print_status_narrow(void) {
/* Print current mode */
- oled_set_cursor(0,0);
+ oled_set_cursor(0, 0);
if (keymap_config.swap_lctl_lgui) {
oled_write_raw_P(mac_logo, sizeof(mac_logo));
} else {
oled_write_raw_P(windows_logo, sizeof(windows_logo));
}
- oled_set_cursor(0,3);
+ oled_set_cursor(0, 3);
switch (get_highest_layer(default_layer_state)) {
case _QWERTY:
@@ -437,12 +352,12 @@ static void print_status_narrow(void) {
oled_write("UNDEF", false);
}
- oled_set_cursor(0,5);
+ oled_set_cursor(0, 5);
/* Print current layer */
oled_write("LAYER", false);
- oled_set_cursor(0,6);
+ oled_set_cursor(0, 6);
switch (get_highest_layer(layer_state)) {
case _QWERTY:
@@ -465,25 +380,22 @@ static void print_status_narrow(void) {
}
/* caps lock */
- oled_set_cursor(0,8);
+ oled_set_cursor(0, 8);
oled_write("CPSLK", led_usb_state.caps_lock);
/* KEYBOARD PET RENDER START */
- render_luna(0,13);
+ render_luna(0, 13);
/* KEYBOARD PET RENDER END */
}
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- return OLED_ROTATION_270;
-}
+oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_270; }
void oled_task_user(void) {
-
/* KEYBOARD PET VARIABLES START */
- current_wpm = get_current_wpm();
+ current_wpm = get_current_wpm();
led_usb_state = host_keyboard_led_state();
/* KEYBOARD PET VARIABLES END */
@@ -554,7 +466,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
break;
case KC_NXTWD:
- if (record->event.pressed) {
+ if (record->event.pressed) {
if (keymap_config.swap_lctl_lgui) {
register_mods(mod_config(MOD_LALT));
register_code(KC_RIGHT);
@@ -575,7 +487,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
case KC_LSTRT:
if (record->event.pressed) {
if (keymap_config.swap_lctl_lgui) {
- /* CMD-arrow on Mac, but we have CTL and GUI swapped */
+ /* CMD-arrow on Mac, but we have CTL and GUI swapped */
register_mods(mod_config(MOD_LCTL));
register_code(KC_LEFT);
} else {
@@ -655,7 +567,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
return false;
- /* Smart Backspace Delete */
+ /* Smart Backspace Delete */
case KC_RSFT:
case KC_LSFT:
@@ -679,7 +591,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
return false;
- /* LAYER */
+ /* LAYER */
case KC_LAYER:
if (record->event.pressed) {
@@ -687,7 +599,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
if (get_highest_layer(default_layer_state) == _QWERTY) {
set_single_persistent_default_layer(_GAMING);
- } else if(get_highest_layer(default_layer_state) == _GAMING) {
+ } else if (get_highest_layer(default_layer_state) == _GAMING) {
set_single_persistent_default_layer(_QWERTY);
}
}
@@ -701,7 +613,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
return false;
- /* KEYBOARD PET STATUS START */
+ /* KEYBOARD PET STATUS START */
case KC_LCTL:
case KC_RCTL:
@@ -713,30 +625,30 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break;
case KC_SPC:
if (record->event.pressed) {
- isJumping = true;
+ isJumping = true;
showedJump = false;
} else {
isJumping = false;
}
break;
- /* KEYBOARD PET STATUS END */
+ /* KEYBOARD PET STATUS END */
}
return true;
}
#ifdef ENCODER_ENABLE
-void encoder_update_user(uint8_t index, bool clockwise) {
+bool encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) {
if (clockwise) {
- if(shift_held) {
+ if (shift_held) {
tap_code(KC_MNXT);
} else {
tap_code(KC_RIGHT);
}
} else {
- if(shift_held) {
+ if (shift_held) {
tap_code(KC_MPRV);
} else {
tap_code(KC_LEFT);
@@ -744,19 +656,20 @@ void encoder_update_user(uint8_t index, bool clockwise) {
}
} else if (index == 1) {
if (clockwise) {
- if(shift_held) {
+ if (shift_held) {
tap_code(KC_VOLU);
} else {
tap_code(KC_DOWN);
}
} else {
- if(shift_held) {
+ if (shift_held) {
tap_code(KC_VOLD);
} else {
tap_code(KC_UP);
}
}
}
+ return true;
}
#endif
diff --git a/keyboards/sofle/keymaps/killmaster/config.h b/keyboards/sofle/keymaps/killmaster/config.h
new file mode 100644
index 0000000000..2e6abe84e3
--- /dev/null
+++ b/keyboards/sofle/keymaps/killmaster/config.h
@@ -0,0 +1,64 @@
+/* Copyright 2021 Carlos Martins
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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
+
+/* The way how "handedness" is decided (which half is which),
+see https://docs.qmk.fm/#/feature_split_keyboard?id=setting-handedness
+for more options.
+*/
+
+#define RGB_DI_PIN D3
+
+#ifdef RGB_MATRIX_ENABLE
+
+#define RGBLED_NUM 72
+#define DRIVER_LED_TOTAL RGBLED_NUM
+#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 120 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
+#define RGB_MATRIX_HUE_STEP 8
+#define RGB_MATRIX_SAT_STEP 8
+#define RGB_MATRIX_VAL_STEP 8
+#define RGB_MATRIX_SPD_STEP 10
+#define RGB_MATRIX_KEYPRESSES
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+#define RGB_MATRIX_SPLIT {36,36}
+#define SPLIT_TRANSPORT_MIRROR
+
+#endif
+
+#ifdef RGBLIGHT_ENABLE
+#define RGBLIGHT_SPLIT
+#define RGBLED_NUM 70
+#define RGB_SPLIT {36,36}
+#define RGBLIGHT_LIMIT_VAL 120
+// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
+// /*== all animations enable ==*/
+// #define RGBLIGHT_ANIMATIONS
+// /*== or choose animations ==*/
+// #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
+#endif
+
+#define MEDIA_KEY_DELAY 2
+
+#define USB_POLLING_INTERVAL_MS 1
+#define QMK_KEYS_PER_SCAN 12
diff --git a/keyboards/sofle/keymaps/killmaster/keymap.c b/keyboards/sofle/keymaps/killmaster/keymap.c
new file mode 100644
index 0000000000..950dee36b1
--- /dev/null
+++ b/keyboards/sofle/keymaps/killmaster/keymap.c
@@ -0,0 +1,403 @@
+/* Copyright 2021 Carlos Martins
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 <stdio.h>
+
+enum sofle_layers {
+ /* _M_XYZ = Mac Os, _W_XYZ = Win/Linux */
+ _QWERTY,
+ _LOWER,
+ _RAISE,
+ _ADJUST,
+};
+
+enum custom_keycodes {
+ KC_QWERTY = SAFE_RANGE,
+ KC_LOWER,
+ KC_RAISE,
+ KC_ADJUST,
+ KC_PRVWD,
+ KC_NXTWD,
+ KC_LSTRT,
+ KC_LEND,
+ KC_DLINE
+};
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/*
+ * QWERTY
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | ESC | Q | W | E | R | T | | Y | U | I | O | P | Bspc |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Tab | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
+ * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
+ * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | LGUI | LAlt | LCTR |LOWER | /Space / \Enter \ |RAISE | RCTR | RAlt | RGUI |
+ * | | | | |/ / \ \ | | | | |
+ * `----------------------------------' '------''---------------------------'
+ */
+
+[_QWERTY] = LAYOUT(
+ 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_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MPLY,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
+ KC_LGUI,KC_LALT,KC_LCTRL, KC_LOWER, KC_SPC, KC_ENT, KC_RAISE, KC_RCTRL, KC_RALT, KC_RGUI
+),
+/* LOWER
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | F12 |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Tab | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | | |
+ * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
+ * | Shift| = | - | + | { | } |-------| |-------| [ | ] | ; | : | \ | Shift|
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
+ * | | | | |/ / \ \ | | | | |
+ * `----------------------------------' '------''---------------------------'
+ */
+[_LOWER] = LAYOUT(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_F12,
+ _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PIPE,
+ _______, KC_EQL, KC_MINS, KC_PLUS, KC_LCBR, KC_RCBR, _______, _______, KC_LBRC, KC_RBRC, KC_SCLN, KC_COLN, KC_BSLS, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+),
+/* RAISE
+ * ,----------------------------------------. ,-----------------------------------------.
+ * | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Esc | Ins | Pscr | Menu | |RGBTog| | | PWrd | Up | NWrd | DLine| Bspc |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | Tab | LAt | LCtl |LShift| | Caps |-------. ,-------| | Left | Down | Rigth| Del | Bspc |
+ * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
+ * |Shift | Undo | Cut | Copy | Paste| |-------| |-------| | LStr | | LEnd | | Shift|
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
+ * | | | | |/ / \ \ | | | | |
+ * `----------------------------------' '------''---------------------------'
+ */
+[_RAISE] = LAYOUT(
+ _______, _______ , _______ , _______ , RGB_RMOD , RGB_MOD, _______, _______ , _______, _______ , _______ ,_______,
+ _______, KC_INS, KC_PSCR, KC_APP, XXXXXXX, RGB_TOG, KC_PGUP, KC_PRVWD, KC_UP, KC_NXTWD,KC_DLINE, KC_BSPC,
+ _______, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_CAPS, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_BSPC,
+ _______,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, KC_LSTRT, XXXXXXX, KC_LEND, XXXXXXX, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+),
+/* ADJUST
+ * ,-----------------------------------------. ,-----------------------------------------.
+ * | | | | | | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | RESET| |QWERTY|COLEMAK| | | | | | | | | |
+ * |------+------+------+------+------+------| |------+------+------+------+------+------|
+ * | | |MACWIN| | | |-------. ,-------| | VOLDO| MUTE | VOLUP| | |
+ * |------+------+------+------+------+------| MUTE | | |------+------+------+------+------+------|
+ * | | | | | | |-------| |-------| | PREV | PLAY | NEXT | | |
+ * `-----------------------------------------/ / \ \-----------------------------------------'
+ * | LGUI | LAlt | LCTR |LOWER | /Enter / \Space \ |RAISE | RCTR | RAlt | RGUI |
+ * | | | | |/ / \ \ | | | | |
+ * `----------------------------------' '------''---------------------------'
+ */
+ [_ADJUST] = LAYOUT(
+ XXXXXXX , XXXXXXX, XXXXXXX , XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ RESET , XXXXXXX, KC_QWERTY, XXXXXXX , CG_TOGG,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX , XXXXXXX,CG_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX,
+ XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, XXXXXXX,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
+
+#ifdef OLED_DRIVER_ENABLE
+
+static void render_logo(void) {
+ static const char PROGMEM bananas_logo[] = {
+ // 'killmaster_bananas', 128x32px
+ 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xe0, 0x02, 0x0e, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8,
+ 0x00, 0x00, 0x80, 0xc0, 0x40, 0x00, 0x00, 0x00, 0x40, 0x40, 0xd8, 0xc8, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x08, 0xf8, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0xf8, 0xf8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xc0, 0x40, 0x40, 0xc0, 0x80, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40,
+ 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0xc0, 0x40, 0x00, 0x00, 0x40, 0x40, 0xf0,
+ 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x40, 0x40, 0xc0, 0x80, 0x00, 0x00, 0x00,
+ 0x40, 0xc0, 0x80, 0x40, 0x40, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0x0f, 0x3f, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xf0,
+ 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f,
+ 0x02, 0x07, 0x0d, 0x10, 0x20, 0x20, 0x00, 0x00, 0x20, 0x20, 0x3f, 0x3f, 0x20, 0x20, 0x00, 0x00,
+ 0x00, 0x00, 0x1f, 0x3f, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x3f, 0x20, 0x20, 0x20,
+ 0x00, 0x00, 0x3f, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x1c, 0x36, 0x22, 0x22, 0x22,
+ 0x1f, 0x20, 0x00, 0x00, 0x10, 0x23, 0x22, 0x22, 0x26, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x1f,
+ 0x30, 0x20, 0x20, 0x20, 0x00, 0x00, 0x0f, 0x1f, 0x32, 0x22, 0x22, 0x32, 0x23, 0x00, 0x00, 0x00,
+ 0x20, 0x3f, 0x21, 0x20, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x07, 0x07, 0x0f, 0x0f, 0x0f, 0x1f, 0x1f,
+ 0x1f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3e, 0x3e, 0x1c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+ oled_write_raw_P(bananas_logo, sizeof(bananas_logo));
+}
+
+static void print_status_narrow(void) {
+ // Print current mode
+ oled_write_P(PSTR("Sofle"), false);
+ oled_write_P(PSTR("\n\n\n"), false);
+ switch (get_highest_layer(default_layer_state)) {
+ case _QWERTY:
+ oled_write_ln_P(PSTR("QWERT"), false);
+ break;
+ default:
+ oled_write_P(PSTR("Undef"), false);
+ }
+ oled_write_P(PSTR("\n\n"), false);
+ // Print current layer
+ oled_write_ln_P(PSTR("Layer"), false);
+ switch (get_highest_layer(layer_state)) {
+ case _QWERTY:
+ oled_write_P(PSTR("Base\n"), false);
+ break;
+ case _RAISE:
+ oled_write_P(PSTR("Raise"), false);
+ break;
+ case _LOWER:
+ oled_write_P(PSTR("Lower"), false);
+ break;
+ case _ADJUST:
+ oled_write_P(PSTR("Adj\n"), false);
+ break;
+ default:
+ oled_write_ln_P(PSTR("Undef"), false);
+ }
+ oled_write_P(PSTR("\n\n"), false);
+}
+
+oled_rotation_t oled_init_user(oled_rotation_t rotation) {
+ if (is_keyboard_master()) {
+ return OLED_ROTATION_270;
+ }
+ else {
+ return OLED_ROTATION_180;
+ }
+ return rotation;
+}
+
+void oled_task_user(void) {
+ if (is_keyboard_master()) {
+ print_status_narrow();
+ } else {
+ render_logo();
+ }
+}
+
+
+
+#endif // OLED_DRIVER_ENABLE
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case KC_QWERTY:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_QWERTY);
+ }
+ return false;
+ case KC_LOWER:
+ if (record->event.pressed) {
+ layer_on(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ } else {
+ layer_off(_LOWER);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ }
+ return false;
+ case KC_RAISE:
+ if (record->event.pressed) {
+ layer_on(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ } else {
+ layer_off(_RAISE);
+ update_tri_layer(_LOWER, _RAISE, _ADJUST);
+ }
+ return false;
+ case KC_ADJUST:
+ if (record->event.pressed) {
+ layer_on(_ADJUST);
+ } else {
+ layer_off(_ADJUST);
+ }
+ return false;
+ case KC_PRVWD:
+ if (record->event.pressed) {
+ if (keymap_config.swap_lctl_lgui) {
+ register_mods(mod_config(MOD_LALT));
+ register_code(KC_LEFT);
+ } else {
+ register_mods(mod_config(MOD_LCTL));
+ register_code(KC_LEFT);
+ }
+ } else {
+ if (keymap_config.swap_lctl_lgui) {
+ unregister_mods(mod_config(MOD_LALT));
+ unregister_code(KC_LEFT);
+ } else {
+ unregister_mods(mod_config(MOD_LCTL));
+ unregister_code(KC_LEFT);
+ }
+ }
+ break;
+ case KC_NXTWD:
+ if (record->event.pressed) {
+ if (keymap_config.swap_lctl_lgui) {
+ register_mods(mod_config(MOD_LALT));
+ register_code(KC_RIGHT);
+ } else {
+ register_mods(mod_config(MOD_LCTL));
+ register_code(KC_RIGHT);
+ }
+ } else {
+ if (keymap_config.swap_lctl_lgui) {
+ unregister_mods(mod_config(MOD_LALT));
+ unregister_code(KC_RIGHT);
+ } else {
+ unregister_mods(mod_config(MOD_LCTL));
+ unregister_code(KC_RIGHT);
+ }
+ }
+ break;
+ case KC_LSTRT:
+ if (record->event.pressed) {
+ if (keymap_config.swap_lctl_lgui) {
+ //CMD-arrow on Mac, but we have CTL and GUI swapped
+ register_mods(mod_config(MOD_LCTL));
+ register_code(KC_LEFT);
+ } else {
+ register_code(KC_HOME);
+ }
+ } else {
+ if (keymap_config.swap_lctl_lgui) {
+ unregister_mods(mod_config(MOD_LCTL));
+ unregister_code(KC_LEFT);
+ } else {
+ unregister_code(KC_HOME);
+ }
+ }
+ break;
+ case KC_LEND:
+ if (record->event.pressed) {
+ if (keymap_config.swap_lctl_lgui) {
+ //CMD-arrow on Mac, but we have CTL and GUI swapped
+ register_mods(mod_config(MOD_LCTL));
+ register_code(KC_RIGHT);
+ } else {
+ register_code(KC_END);
+ }
+ } else {
+ if (keymap_config.swap_lctl_lgui) {
+ unregister_mods(mod_config(MOD_LCTL));
+ unregister_code(KC_RIGHT);
+ } else {
+ unregister_code(KC_END);
+ }
+ }
+ break;
+ case KC_DLINE:
+ if (record->event.pressed) {
+ register_mods(mod_config(MOD_LCTL));
+ register_code(KC_BSPC);
+ } else {
+ unregister_mods(mod_config(MOD_LCTL));
+ unregister_code(KC_BSPC);
+ }
+ break;
+ }
+ return true;
+}
+
+#ifdef ENCODER_ENABLE
+
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ uint8_t temp_mod = get_mods();
+ uint8_t temp_osm = get_oneshot_mods();
+ bool is_ctrl = (temp_mod | temp_osm) & MOD_MASK_CTRL;
+ bool is_shift = (temp_mod | temp_osm) & MOD_MASK_SHIFT;
+
+ if (is_shift) {
+ if (index == 0) { /* First encoder */
+ if (clockwise) {
+ rgb_matrix_increase_hue();
+ } else {
+ rgb_matrix_decrease_hue();
+ }
+ } else if (index == 1) { /* Second encoder */
+ if (clockwise) {
+ rgb_matrix_decrease_sat();
+ } else {
+ rgb_matrix_increase_sat();
+ }
+ }
+ } else if (is_ctrl) {
+ if (index == 0) { /* First encoder */
+ if (clockwise) {
+ rgb_matrix_increase_val();
+ } else {
+ rgb_matrix_decrease_val();
+ }
+ } else if (index == 1) { /* Second encoder */
+ if (clockwise) {
+ rgb_matrix_increase_speed();
+ } else {
+ rgb_matrix_decrease_speed();
+ }
+ }
+ } else {
+ if (index == 1) { /* First encoder */
+ if (clockwise) {
+ tap_code(KC_PGUP);
+ // tap_code(KC_MS_WH_UP);
+ } else {
+ tap_code(KC_PGDOWN);
+ // tap_code(KC_MS_WH_DOWN);
+ }
+ } else if (index == 0) { /* Second encoder */
+ uint16_t mapped_code = 0;
+ if (clockwise) {
+ mapped_code = KC_VOLD;
+ } else {
+ mapped_code = KC_VOLU;
+ }
+ tap_code_delay(mapped_code, MEDIA_KEY_DELAY);
+ }
+ }
+ return true;
+}
+
+#endif
diff --git a/keyboards/sofle/keymaps/killmaster/readme.md b/keyboards/sofle/keymaps/killmaster/readme.md
new file mode 100644
index 0000000000..6d6dea228c
--- /dev/null
+++ b/keyboards/sofle/keymaps/killmaster/readme.md
@@ -0,0 +1,19 @@
+![SofleKeyboard default keymap](https://github.com/josefadamcik/SofleKeyboard/raw/master/Images/soflekeyboard.png)
+![SofleKeyboard adjust layer](https://github.com/josefadamcik/SofleKeyboard/raw/master/Images/soflekeyboard_layout_adjust.png)
+
+
+# Default keymap for Sofle Keyboard
+
+Layout in [Keyboard Layout Editor](http://www.keyboard-layout-editor.com/#/gists/76efb423a46cbbea75465cb468eef7ff) and [adjust layer](http://www.keyboard-layout-editor.com/#/gists/4bcf66f922cfd54da20ba04905d56bd4)
+
+
+Features:
+
+- Symmetric modifiers (CMD/Super, Alt/Opt, Ctrl, Shift)
+- Various modes, can be switched (using Adjust layer and the selected one is stored in EEPROM.
+- Modes for Qwerty and Colemak support
+- Modes for Mac vs Linux/Win support -> different order of modifiers and different action shortcuts on the "UPPER" layer (the red one in the image). Designed to simplify transtions when switching between operating systems often.
+- The OLED on master half shows selected mode and caps lock state and is rotated.
+- Left encoder controls volume up/down/mute. Right encoder PGUP/PGDOWN.
+
+
diff --git a/keyboards/sofle/keymaps/killmaster/rules.mk b/keyboards/sofle/keymaps/killmaster/rules.mk
new file mode 100644
index 0000000000..38d6114506
--- /dev/null
+++ b/keyboards/sofle/keymaps/killmaster/rules.mk
@@ -0,0 +1,4 @@
+EXTRAKEY_ENABLE = yes
+LTO_ENABLE = yes
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = WS2812
diff --git a/keyboards/sofle/keymaps/rgb_default/config.h b/keyboards/sofle/keymaps/rgb_default/config.h
index 7d597d991a..32d0717352 100644
--- a/keyboards/sofle/keymaps/rgb_default/config.h
+++ b/keyboards/sofle/keymaps/rgb_default/config.h
@@ -1,18 +1,18 @@
/* Copyright 2021 Dane Evans
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General 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/>.
-*/
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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
@@ -29,7 +29,7 @@
#define CUSTOM_FONT
-#define CUSTOM_LAYER_READ //if you remove this it causes issues - needs better guarding
+#define CUSTOM_LAYER_READ //if you remove this it causes issues - needs better guarding
#define TAPPING_FORCE_HOLD
@@ -56,7 +56,7 @@
#ifdef RGBLIGHT_ENABLE
#undef RGBLED_NUM
-
+
//#define RGBLIGHT_ANIMATIONS
//#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
@@ -68,11 +68,11 @@
//#define RGBLIGHT_EFFECT_RGB_TEST
//#define RGBLIGHT_EFFECT_ALTERNATING
//#define RGBLIGHT_EFFECT_TWINKLE
-
+
#define RGBLED_NUM 70
//#define RGBLED_SPLIT
- #define RGBLED_SPLIT { 35, 35 } // haven't figured out how to use this yet
-
+ #define RGBLED_SPLIT { 35, 35 } // haven't figured out how to use this yet
+
//#define RGBLED_NUM 30
#define RGBLIGHT_LIMIT_VAL 120
#define RGBLIGHT_HUE_STEP 10
@@ -84,11 +84,11 @@
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
// # define RGB_MATRIX_LED_PROCESS_LIMIT (DRIVER_LED_TOTAL + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
+# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_GRADIENT_LEFT_RIGHT
@@ -127,4 +127,4 @@
// # define DISABLE_RGB_MATRIX_MULTISPLASH
// # define DISABLE_RGB_MATRIX_SOLID_SPLASH
// # define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif \ No newline at end of file
+#endif
diff --git a/keyboards/sofle/rev1/readme.md b/keyboards/sofle/rev1/readme.md
new file mode 100644
index 0000000000..629d568e60
--- /dev/null
+++ b/keyboards/sofle/rev1/readme.md
@@ -0,0 +1,27 @@
+# Sofle Keyboard
+
+![SofleKeyboard version 1](https://raw.githubusercontent.com/josefadamcik/SofleKeyboard/master/Images/IMG_20200126_114622.jpg)
+
+Sofle is 6×4+5 keys column-staggered split keyboard. Based on Lily58, Corne and Helix keyboards.
+
+More details about the keyboard on my blog: [Let me introduce you SofleKeyboard - a split keyboard based on Lily58 and Crkbd](https://josef-adamcik.cz/electronics/let-me-introduce-you-sofle-keyboard-split-keyboard-based-on-lily58.html)
+
+The current (temporary) build guide and a build log is available here: [SofleKeyboard build log/guide](https://josef-adamcik.cz/electronics/soflekeyboard-build-log-and-build-guide.html)
+
+* Keyboard Maintainer: [Josef Adamcik](https://josef-adamcik.cz) [Twitter:@josefadamcik](https://twitter.com/josefadamcik)
+* Hardware Supported: SofleKeyboard PCB, ProMicro
+* Hardware Availability: [PCB & Case Data](https://github.com/josefadamcik/SofleKeyboard)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make sofle:default
+
+Flashing example for this keyboard:
+
+ make sofle:default:flash
+
+Press reset button on he keyboard when asked.
+
+Disconnect the first half, connect the second one and repeat the process.
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/sofle/rev1/rev1.c b/keyboards/sofle/rev1/rev1.c
index bbb014c4df..88a28e6a40 100644
--- a/keyboards/sofle/rev1/rev1.c
+++ b/keyboards/sofle/rev1/rev1.c
@@ -1 +1,87 @@
+/* Copyright 2021 Carlos Martins
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 "sofle.h"
+
+#ifdef RGB_MATRIX_ENABLE
+ // Physical Layout
+ // Columns
+ // 0 1 2 3 4 5 6 7 8 9 10 11 12 13
+ // ROWS
+ // 12 13 22 23 32 33 33 32 23 22 13 12 0
+ // 02 03 04 04 03 02
+ // 11 14 21 24 31 34 34 31 24 21 14 11 1
+ // 01 01
+ // 10 15 20 25 30 35 35 30 25 20 15 10 2
+ //
+ // 09 16 19 26 29 36 36 29 26 19 16 09 3
+ //
+ // 08 17 18 27 28 28 27 18 17 08 4
+ // 07 06 05 05 06 07
+
+led_config_t g_led_config = {
+ {
+ { 11, 12, 21, 22, 31, 32 },
+ { 10, 13, 20, 23, 30, 33 },
+ { 9, 14, 19, 24, 29, 34},
+ { 8, 15, 18, 25, 28, 35},
+ { 7, 16, 17, 26, 27, NO_LED },
+ { 47, 48, 57, 58, 67, 68},
+ { 46, 49, 56, 59, 66, 69},
+ { 45, 50, 55, 60, 65, 70},
+ { 44, 51, 54, 61, 64, 71},
+ { 43, 52, 53, 62, 63, NO_LED }
+ },
+ {
+ // Left side underglow
+ {96, 40}, {16, 20}, {48, 10}, {80, 18}, {88, 60}, {56, 57}, {24,60},
+ // Left side Matrix
+ {32, 57}, { 0, 48}, { 0, 36}, { 0, 24}, { 0, 12},
+ {16, 12}, {16, 24}, {16, 36}, {16, 48}, {48, 55},
+ {64, 57}, {32, 45}, {32, 33}, {32, 21}, {32, 9},
+ {48, 7}, {48, 19}, {48, 31}, {48, 43}, {80, 59},
+ {96, 64}, {64, 45}, {64, 33}, {64, 21}, {64, 9},
+ {80, 10}, {80, 22}, {80, 34}, {80, 47},
+
+
+ // Right side underglow
+ {128, 40}, {208, 20}, {176, 10}, {144, 18}, {136, 60}, {168, 57}, {200,60},
+ // Right side Matrix
+ {192, 57}, {224, 48}, {224, 36}, {224, 24}, {224, 12},
+ {208, 12}, {208, 24}, {208, 36}, {208, 48}, {176, 55},
+ {160, 57}, {192, 45}, {192, 33}, {192, 21}, {192, 9},
+ {176, 7}, {176, 19}, {176, 31}, {176, 43}, {144, 59},
+ {128, 64}, {160, 45}, {160, 33}, {160, 21}, {160, 9},
+ {144, 10}, {144, 22}, {144, 34}, {144, 47},
+ },
+ {
+ LED_FLAG_NONE, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW,
+ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
+ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
+ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
+ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
+ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
+ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
+ LED_FLAG_NONE, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW,
+ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
+ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
+ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
+ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
+ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT,
+ LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT
+ }
+};
+#endif
diff --git a/keyboards/sowbug/68keys/config.h b/keyboards/sowbug/68keys/config.h
index 92d8397288..21e3043354 100644
--- a/keyboards/sowbug/68keys/config.h
+++ b/keyboards/sowbug/68keys/config.h
@@ -48,7 +48,7 @@
//
// #define BACKLIGHT_PIN rgb_matrix
#define RGB_MATRIX_KEYPRESSES
-#define DRIVER_LED_TOTAL 68
-#define RGBLED_NUM DRIVER_LED_TOTAL
+#define RGBLED_NUM 68
+#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 128
diff --git a/keyboards/sowbug/ansi_tkl/config.h b/keyboards/sowbug/ansi_tkl/config.h
index e2ed0edd87..8e77245400 100644
--- a/keyboards/sowbug/ansi_tkl/config.h
+++ b/keyboards/sowbug/ansi_tkl/config.h
@@ -44,8 +44,8 @@
#define RGB_DI_PIN B9
#define RGB_MATRIX_KEYPRESSES
-#define DRIVER_LED_TOTAL (87)
-#define RGBLED_NUM (DRIVER_LED_TOTAL)
+#define RGBLED_NUM 87
+#define DRIVER_LED_TOTAL RGBLED_NUM
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 128
diff --git a/keyboards/spacetime/keymaps/kyleterry/keymap.c b/keyboards/spacetime/keymaps/kyleterry/keymap.c
index 32fbab5e08..d4d31dc1fd 100644
--- a/keyboards/spacetime/keymaps/kyleterry/keymap.c
+++ b/keyboards/spacetime/keymaps/kyleterry/keymap.c
@@ -94,7 +94,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
)
};
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
diff --git a/keyboards/splitkb/kyria/.noci b/keyboards/splitkb/kyria/.noci
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/splitkb/kyria/.noci
diff --git a/keyboards/kyria/config.h b/keyboards/splitkb/kyria/config.h
index 2e1e190bd7..2e1e190bd7 100644
--- a/keyboards/kyria/config.h
+++ b/keyboards/splitkb/kyria/config.h
diff --git a/keyboards/kyria/info.json b/keyboards/splitkb/kyria/info.json
index a2bfd578ce..a2bfd578ce 100644
--- a/keyboards/kyria/info.json
+++ b/keyboards/splitkb/kyria/info.json
diff --git a/keyboards/kyria/keymaps/asapjockey/config.h b/keyboards/splitkb/kyria/keymaps/asapjockey/config.h
index e878663bfb..e878663bfb 100644
--- a/keyboards/kyria/keymaps/asapjockey/config.h
+++ b/keyboards/splitkb/kyria/keymaps/asapjockey/config.h
diff --git a/keyboards/kyria/keymaps/asapjockey/keymap.c b/keyboards/splitkb/kyria/keymaps/asapjockey/keymap.c
index 9d0d2955e6..9d0d2955e6 100644
--- a/keyboards/kyria/keymaps/asapjockey/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/asapjockey/keymap.c
diff --git a/keyboards/kyria/keymaps/asapjockey/rules.mk b/keyboards/splitkb/kyria/keymaps/asapjockey/rules.mk
index 9b8e294198..9b8e294198 100644
--- a/keyboards/kyria/keymaps/asapjockey/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/asapjockey/rules.mk
diff --git a/keyboards/kyria/keymaps/default/config.h b/keyboards/splitkb/kyria/keymaps/benji/config.h
index 9c2fb52abc..ebbcd1df86 100644
--- a/keyboards/kyria/keymaps/default/config.h
+++ b/keyboards/splitkb/kyria/keymaps/benji/config.h
@@ -18,6 +18,7 @@
#ifdef OLED_DRIVER_ENABLE
#define OLED_DISPLAY_128X64
+ #define OLED_FONT_H "keyboards/splitkb/kyria/keymaps/benji/glcdfont.c"
#endif
#ifdef RGBLIGHT_ENABLE
diff --git a/keyboards/kyria/keymaps/benji/glcdfont.c b/keyboards/splitkb/kyria/keymaps/benji/glcdfont.c
index bb1cca3384..bb1cca3384 100644
--- a/keyboards/kyria/keymaps/benji/glcdfont.c
+++ b/keyboards/splitkb/kyria/keymaps/benji/glcdfont.c
diff --git a/keyboards/kyria/keymaps/benji/keymap.c b/keyboards/splitkb/kyria/keymaps/benji/keymap.c
index 2e3e2b1cff..2e3e2b1cff 100644
--- a/keyboards/kyria/keymaps/benji/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/benji/keymap.c
diff --git a/keyboards/splitkb/kyria/keymaps/benji/readme.md b/keyboards/splitkb/kyria/keymaps/benji/readme.md
new file mode 100644
index 0000000000..57ea5e8173
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/benji/readme.md
@@ -0,0 +1,246 @@
+# Kyria's Default Keymap
+
+[insert pretty KLE visualization once the keymap is vetted]
+
+The default keymap contains 5 layers which allows it to include all keys found on a ISO layout TKL keyboard plus media keys.
+Hardware features of the Kyria such as OLEDs, rotary encoders and underglow are also supported.
+
+The five different layers are the following:
+1. Base layer (QWERTY, Colemak-DH or Dvorak)
+2. Navigation layer
+3. Symbols/Numbers layer
+4. Function layer
+5. Adjust layer
+
+## Base layer(s)
+```
+Base Layer: -
+
+,-------------------------------------------. ,-------------------------------------------.
+| Tab | - | - | - | - | - | | - | - | - | - | - | Bksp |
+|--------+------+------+------+------+------| |------+------+------+------+------+--------|
+|Ctrl/Esc| - | - | - | - | - | | - | - | - | - | - |Ctrl/ - |
+|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+| LShift | - | - | - | - | - | [ { |CapsLk| |F-Keys| ] } | - | - | - | - | - | RShift |
+`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu |
+ | | | Enter| | | | | | | | |
+ `----------------------------------' `----------------------------------'
+```
+Three different well-known keyboard layouts are provided to fill in the placeholder `-` keys: QWERTY, Colemak-DH, and Dvorak. The default layer can be changed at runtime, more info on that in the section on the [adjust layer](#adjust-layer).
+
+For the rest of this write-up, the base layer will be assumed to be QWERTY and will be used as a reference to describe physical keys, e.g. “<kbd>B</kbd> key” vs, the much more verbose, “lower inner index key”.
+
+```
+Base Layer: QWERTY
+
+,-------------------------------------------. ,-------------------------------------------.
+| Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
+|--------+------+------+------+------+------| |------+------+------+------+------+--------|
+|Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : |Ctrl/' "|
+|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+| LShift | Z | X | C | V | B | [ { |CapsLk| |F-keys| ] } | N | M | , < | . > | / ? | RShift |
+`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu |
+ | | | Enter| | | | | | | | |
+ `----------------------------------' `----------------------------------'
+```
+
+Aside from variations in the alpha cluster, the rest of the base keys remain the same and are designed to feel familiar.
+
+![Step-by-step animation of the transformation of an ortholinear TKL to a Kyria](https://i.imgur.com/uVDCOek.gif)
+
+<details>
+After making transformations to the classic ANSI US QWERTY TKL 60% to arrive to the layout of the Kyria, as illustrated in the animation above, the result looks like this:
+
+```
+,-------------------------------------------. ,-------------------------------------------.
+| Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
+|--------+------+------+------+------+------| |------+------+------+------+------+--------|
+| Cap Lk | A | S | D | F | G | | H | J | K | L | ; : | ' " |
+|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+| LShift | Z | X | C | V | B | | | | | | N | M | , < | . > | / ? | RShift |
+`--------+-------------+--------------------+------+------| |------+------+--------------------+------+---------------'
+ | LCtrl| LGUI | LAlt | Space| | | | Space| AltGr| RGUI | Menu |
+ | | | | | | | | | | | |
+ `----------------------------------' '----------------------------------'
+```
+
+First thing to notice is the presence of blank keys. To fill in the blank keys above the <kbd>Space</kbd> keys, we can take inspiration from other split keyboards featuring an extra inner index column on each half. A common mapping for those kind of keys are the bracket keys that got removed in the fourth step of the animated transformation. The thumb keys besides <kbd>Space</kbd>s is prime real estate for dedicated layer-switching keys. It doesn't matter on which side is assigned the sym-layer-switch key but it helps to keep the nav-layer-switch on the left in order to keep the arrow keys on the right side like on a classic keyboard, so we'll put nav on the left and sym on the right. We'll address the remaining blank thumb keys later.
+
+The base layer is starting to form but there remains some flaws. One glaring issue is the position of Control. Control is a very commonly used function but the key on which it sits right now is way too tucked in under the hand to be able to press it comfortably with either the thumb or the pinky from resting position. In fact, installing a rotary encoder there is a common move among Kyria users and I guarantee you that activating Control by holding down a rotary encoder does not spark joy. Instead, let's employ a popular trick that involves remapping the current Caps Lock key, which is positioned at a comfortable position on the keyboard, to Control.
+
+We can go further though; a variant of this trick makes the Control key produce Escape when tapped. This is called a “modtap”. There is no use to tapping Control by itself without chording it with another key and there is no use to holding down the Esc key so why not combine the two into a single key?
+
+All of this leaves us with three blank keys.
+
+```
+,-------------------------------------------. ,-------------------------------------------.
+| Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
+|--------+------+------+------+------+------| |------+------+------+------+------+--------|
+|Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : | ' " |
+|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+| LShift | Z | X | C | V | B | [ { | | | | ] } | N | M | , < | . > | / ? | RShift |
+`--------+-------------+--------------------+------+------| |------+------+--------------------+------+---------------'
+ | | LGUI | LAlt | Space| Nav | | Sym | Space| AltGr| RGUI | Menu |
+ | | | | | | | | | | | |
+ `----------------------------------' '----------------------------------'
+```
+
+These keys are not easily reachable while touch typing (that is, not reachable without picking up your hand) and should thus be associated with functions that you are not likely to be typed within a stream of text. The idea is that if you have to pick up your hand to hit a key, you want it to be at a time when you are likely to be pausing your interaction with the machine, rather than in the midst of a flurry of typing. They're thus well suited for accessing the adjust layer and the function layer. We can also toss in Caps Lock even though it is an editing-type function that gets used within a stream of text because shouting in ALL-CAPS should be a deliberate action.
+
+```
+,-------------------------------------------. ,-------------------------------------------.
+| Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
+|--------+------+------+------+------+------| |------+------+------+------+------+--------|
+|Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : | ' " |
+|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+| LShift | Z | X | C | V | B | [ { |CapsLk| |F-keys| ] } | N | M | , < | . > | / ? | RShift |
+`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ |Adjust| LGUI | LAlt | Space| Nav | | Sym | Space| AltGr| RGUI | Menu |
+ | | | | | | | | | | | |
+ `----------------------------------' `----------------------------------'
+```
+
+The next glaring issue is the absence of an Enter key on the current base layer this far. Enter is a very frequently used key so it deserves to be placed at a good spot in the keymap. The best way to insert it in the keymap with minimal changes to the current layout is to use modtaps. A tempting solution is to turn the <kbd>RShift</kbd> key into a <kbd>RShift/Enter</kbd> modtap but that can result in chat messages sent too frustratingly early when you're not used to it. Using GUI is also sub-optimal because tapping the GUI modifier actually has a use as opposed to taps of the Control or the Shift key. Pressing and releasing the GUI key by itself opens the App menu in many desktop environments. The natural choice is thus <kbd>LAlt/Enter</kbd>. That way, Enter is 1u away from resting thumb position and is unlikely to get accidentally activated because Alt is very rarely used in the midst of prose.
+
+Finally, we're one Quality-Of-Life update away from the actual base layer. <kbd>Ctrl/' "</kbd> not only preserves symmetry in the keymap with <kbd>Ctrl/Esc</kbd> but also helps balance the load between your pinkies and invites you to use both hands instead of contortions. Perhaps more importantly, it also frees you from the necessity of picking up your hand, breaking touch typing position and pressing a pinky key with your ring finger in order to execute Ctrl+A or Ctrl+Z. That becomes even more important on a board with such an aggressive pinky columnar stagger like the Kyria.
+
+
+```
+,-------------------------------------------. ,-------------------------------------------.
+| Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
+|--------+------+------+------+------+------| |------+------+------+------+------+--------|
+|Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : |Ctrl/' "|
+|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+| LShift | Z | X | C | V | B | [ { |CapsLk| |F-keys| ] } | N | M | , < | . > | / ? | RShift |
+`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu |
+ | | | Enter| | | | | | | | |
+ `----------------------------------' `----------------------------------'
+```
+
+</details>
+
+## Navigation layer
+
+```
+Nav Layer: Media, navigation
+
+,-------------------------------------------. ,-------------------------------------------.
+| | | | | | | | PgUp | Home | ↑ | End | VolUp| Delete |
+|--------+------+------+------+------+------| |------+------+------+------+------+--------|
+| | GUI | Alt | Ctrl | Shift| | | PgDn | ← | ↓ | → | VolDn| Insert |
+|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+| | | | | | | |ScLck | | | | Pause|M Prev|M Play|M Next|VolMut| PrtSc |
+`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ | | | | | | | | | | | |
+ | | | | | | | | | | | |
+ `----------------------------------' `----------------------------------'
+```
+
+This is where you'll find all the keys that are generally between the main block of a classic keyboard and the numpad in addition to media controls and modifiers on easy access on the home row for fast and comfortable chording with navigation keys.
+
+Useful mnemonics:
+- “GACS” to remember the order of the modifiers on the left-hand home row
+- <kbd>Scroll Lock</kbd> is on the same key as <kbd>Caps Lock</kbd> because they're both locks
+- <kbd>Delete</kbd> is on the same key as <kbd>Backspace</kbd> because they both erase characters
+- <kbd>Home</kbd> is the leftmost position on the current line so it is above <kbd>←</kbd>. Same logic applies for <kbd>End</kbd>.
+- <kbd>Media Previous</kbd> = ⏮, <kbd>Media Next</kbd> = ⏭
+- <kbd>Page Up</kbd>, <kbd>Page Down</kbd> and <kbd>Volume Up</kbd>, <kbd>Volume Down</kbd> are positioned like the main <kbd>Up</kbd> and <kbd>Down</kbd> keys.
+
+## Sym layer
+```
+Sym Layer: Numbers, symbols
+
+,-------------------------------------------. ,-------------------------------------------.
+| ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | = |
+|--------+------+------+------+------+------| |------+------+------+------+------+--------|
+| ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | + |
+|--------+------+------+------+------+------+-------------. ,------+-------------+------+------+------+------+--------|
+| | | \ | : | ; | - | \ | | [ { | | | | ] } | # ~ | _ | , | . | / | ? |
+`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ | | | | | | | | | | | |
+ | | | | | | | | | | | |
+ `----------------------------------' `----------------------------------'
+```
+The top row is the unshifted num row, the home row of the layer is the shifted num row and the bottom row contains ISO keys (<kbd>\ |</kbd> and <kbd># ~</kbd>, which are respectively `KC_NUBS` and `KC_NUHS`), the hyphen `-` and the underscore `_` on the best lower row spot because of how frequent they are and redundant symbols that are already present on the base layer but are reproduced here to avoid juggling back and forth between base, shift, and sym when typing a string of symbols.
+
+The layout of the first two rows needs no introduction, you're already used to them but it's worth looking into the structure of the bottom row.
+
+The two halves are mirrored in a sense. On the right, you can find <kbd>,</kbd> <kbd>.</kbd> <kbd>/</kbd> at their usual spots with the addition of <kbd>Shift</kbd>+<kbd>/</kbd>=<kbd>?</kbd> to the right of the <kbd>/</kbd> key to remove the need to press simultaneously <kbd>Sym</kbd> and a <kbd>Shift</kbd> key to access `?`.
+
+Now, if you look at the left side, you'll notice that the mirror of <kbd>,</kbd> is <kbd>;</kbd>, the mirror of <kbd>.</kbd> is <kbd>:</kbd> and the mirror of <kbd>/</kbd> is <kbd>\\</kbd>. The same logic used for <kbd>Shift</kbd>+<kbd>/</kbd>=<kbd>?</kbd> also applies to <kbd>Shift</kbd>+<kbd>\\</kbd>=<kbd>|</kbd>.
+
+As for the ISO keys, they are positioned more or less like they would on a classic keyboard: `KC_NUBS` on the left and `KC_NUHS` on the right.
+
+## Function layer
+```
+Function Layer: Function keys
+
+,-------------------------------------------. ,-------------------------------------------.
+| | F9 | F10 | F11 | F12 | | | | | | | | |
+|--------+------+------+------+------+------| |------+------+------+------+------+--------|
+| | F5 | F6 | F7 | F8 | | | | Shift| Ctrl | Alt | GUI | |
+|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+| | F1 | F2 | F3 | F4 | | | | | | | | | | | | |
+`--------+------+------+--------------------+------+------| |------+------+------+------+------+----------------------'
+ | | | | | | | | | | | |
+ | | | | | | | | | | | |
+ `----------------------------------' `----------------------------------'
+```
+In a similar fashion to the nav layer, pressing down `FKEYS` with the right thumb enables a numpad of function keys on the opposite hand and modifiers on the right-hand home row. Once again, mirror symmetry is leveraged in this keymap for the order of the right-hand modifiers.
+
+Since there are more than 10 function keys, the cluster of F-keys does not follow the usual 3×3+1 numpad arrangement.
+
+
+## Adjust layer
+```
+Adjust Layer: Default layer settings, RGB
+
+,-------------------------------------------. ,-------------------------------------------.
+| | | |QWERTY| | | | | | | | | |
+|--------+------+------+------+------+------| |------+------+------+------+------+--------|
+| | | |Dvorak| | | | TOG | SAI | HUI | VAI | MOD | |
+|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+| | | |Colmak| | | | | | | | | SAD | HUD | VAD | RMOD | |
+`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ | | | | | | | | | | | |
+ | | | | | | | | | | | |
+ `----------------------------------' `----------------------------------'
+```
+
+Default layer settings on the left and various RGB underglow controls on the right.
+
+The default layer settings are lined up on the middle finger column because the home middle finger key is <kbd>D</kbd> on QWERTY (like the “D” in “Dvorak”) and the lower middle finger key is <kbd>C</kbd> on QWERTY (like the “C” in “Colemak”). I can hear you say that “QWERTY” doesn't start with “E” but Dvorak and Colemak were already aligned in a column so the QWERTY may as well join the formation.
+
+NOTE: The default layer settings set by those keys are *NOT* stored in EEPROM and thus do not persist through boots. If you wish to change the default layer in a non-volatile manner, either change the order of the layers in the firmware, for example like so if you want to set Dvorak as the new default:
+```c
+enum layers {
+ _DVORAK = 0,
+ _QWERTY,
+ _COLEMAK_DH,
+ _NAV,
+ _SYM,
+ _FUNCTION,
+ _ADJUST
+};
+```
+or re-define the `QWERTY`, `COLEMAK` and `DVORAK` keys to point to custom keycodes starting on `SAFE_RANGE` and calling the `set_single_persistent_default_layer` function inside of `process_record_user`.
+
+## Hardware Features
+
+### Rotary Encoder
+The left rotary encoder is programmed to control the volume whereas the right encoder sends <kbd>PgUp</kbd> or <kbd>PgDn</kbd> on every turn.
+
+### OLEDs
+The OLEDs display the current layer at the top of the active layers stack, the Kyria logo and lock status (caps lock, num lock, scroll lock).
+
+### Underglow
+The underglow LEDs should be red.
+
+## Going further...
+
+This default keymap can be used as is, unchanged, as a daily driver for your Kyria but you're invited to treat your keymap like a bonsai. At the beginning, it's just like the default keymap but from time to time, you can tweak it a little. Cut a little key here, let another combo grow there. Slowly but surely it will be a unique keymap like no other, that will fit you like a glove.
+
+Check out the #keymap-ideas channel on the official SplitKB Discord server for inspiration.
diff --git a/keyboards/kyria/keymaps/benji/rules.mk b/keyboards/splitkb/kyria/keymaps/benji/rules.mk
index e3486a8a9f..e3486a8a9f 100644
--- a/keyboards/kyria/keymaps/benji/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/benji/rules.mk
diff --git a/keyboards/kyria/keymaps/cjuniet/config.h b/keyboards/splitkb/kyria/keymaps/cjuniet/config.h
index d5d9c23bf3..d5d9c23bf3 100644
--- a/keyboards/kyria/keymaps/cjuniet/config.h
+++ b/keyboards/splitkb/kyria/keymaps/cjuniet/config.h
diff --git a/keyboards/kyria/keymaps/cjuniet/default.json b/keyboards/splitkb/kyria/keymaps/cjuniet/default.json
index d08cabece0..d08cabece0 100644
--- a/keyboards/kyria/keymaps/cjuniet/default.json
+++ b/keyboards/splitkb/kyria/keymaps/cjuniet/default.json
diff --git a/keyboards/kyria/keymaps/cjuniet/keymap.c b/keyboards/splitkb/kyria/keymaps/cjuniet/keymap.c
index d0620309b6..d0620309b6 100644
--- a/keyboards/kyria/keymaps/cjuniet/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/cjuniet/keymap.c
diff --git a/keyboards/kyria/keymaps/cjuniet/rules.mk b/keyboards/splitkb/kyria/keymaps/cjuniet/rules.mk
index 9699ed810d..9699ed810d 100644
--- a/keyboards/kyria/keymaps/cjuniet/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/cjuniet/rules.mk
diff --git a/keyboards/kyria/keymaps/corodiak/config.h b/keyboards/splitkb/kyria/keymaps/corodiak/config.h
index eed94d0558..eed94d0558 100644
--- a/keyboards/kyria/keymaps/corodiak/config.h
+++ b/keyboards/splitkb/kyria/keymaps/corodiak/config.h
diff --git a/keyboards/kyria/keymaps/corodiak/keymap.c b/keyboards/splitkb/kyria/keymaps/corodiak/keymap.c
index 0f7e05991b..0f7e05991b 100644
--- a/keyboards/kyria/keymaps/corodiak/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/corodiak/keymap.c
diff --git a/keyboards/kyria/keymaps/corodiak/rules.mk b/keyboards/splitkb/kyria/keymaps/corodiak/rules.mk
index da64c4ea51..da64c4ea51 100644
--- a/keyboards/kyria/keymaps/corodiak/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/corodiak/rules.mk
diff --git a/keyboards/kyria/keymaps/cwebster2/config.h b/keyboards/splitkb/kyria/keymaps/cwebster2/config.h
index 6a56d7ee90..6a56d7ee90 100644
--- a/keyboards/kyria/keymaps/cwebster2/config.h
+++ b/keyboards/splitkb/kyria/keymaps/cwebster2/config.h
diff --git a/keyboards/kyria/keymaps/cwebster2/keymap.c b/keyboards/splitkb/kyria/keymaps/cwebster2/keymap.c
index 311ad167aa..e6d8636e46 100644
--- a/keyboards/kyria/keymaps/cwebster2/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/cwebster2/keymap.c
@@ -303,9 +303,13 @@ static void render_logo(void) {
#ifdef WPM_ENABLE
// Write WPM
- sprintf(wpm_str, "WPM: %03d", get_current_wpm());
+ uint8_t n = get_current_wpm();
+ wpm_str[3] = '\0';
+ wpm_str[2] = '0' + n % 10;
+ wpm_str[1] = '0' + (n /= 10) % 10;
+ wpm_str[0] = '0' + n / 10 ;
//oled_write_P(PSTR("\n"), false);
- oled_write_P(PSTR(" "), false);
+ oled_write_P(PSTR(" WPM: "), false);
oled_write(wpm_str, false);
#endif
}
diff --git a/keyboards/kyria/keymaps/cwebster2/rules.mk b/keyboards/splitkb/kyria/keymaps/cwebster2/rules.mk
index fe9ca3c2cc..fe9ca3c2cc 100644
--- a/keyboards/kyria/keymaps/cwebster2/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/cwebster2/rules.mk
diff --git a/keyboards/kyria/keymaps/benji/config.h b/keyboards/splitkb/kyria/keymaps/default/config.h
index 442ecc6057..be87e7ac99 100644
--- a/keyboards/kyria/keymaps/benji/config.h
+++ b/keyboards/splitkb/kyria/keymaps/default/config.h
@@ -16,19 +16,17 @@
#pragma once
-#ifdef OLED_DRIVER_ENABLE
- #define OLED_DISPLAY_128X64
- #define OLED_FONT_H "keyboards/kyria/keymaps/benji/glcdfont.c"
-#endif
-
#ifdef RGBLIGHT_ENABLE
- #define RGBLIGHT_ANIMATIONS
- #define RGBLIGHT_HUE_STEP 8
- #define RGBLIGHT_SAT_STEP 8
- #define RGBLIGHT_VAL_STEP 8
- #define RGBLIGHT_LIMIT_VAL 150
+# define RGBLIGHT_ANIMATIONS
+# define RGBLIGHT_HUE_STEP 8
+# define RGBLIGHT_SAT_STEP 8
+# define RGBLIGHT_VAL_STEP 8
+# define RGBLIGHT_LIMIT_VAL 150
#endif
+// Lets you roll mod-tap keys
+#define IGNORE_MOD_TAP_INTERRUPT
+
// If you are using an Elite C rev3 on the slave side, uncomment the lines below:
// #define SPLIT_USB_DETECT
// #define NO_USB_STARTUP_CHECK
diff --git a/keyboards/splitkb/kyria/keymaps/default/keymap.c b/keyboards/splitkb/kyria/keymaps/default/keymap.c
new file mode 100644
index 0000000000..db545c6a21
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/default/keymap.c
@@ -0,0 +1,172 @@
+/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+enum layers { _QWERTY = 0, _DVORAK, _COLEMAK_DH, _NAV, _SYM, _FUNCTION, _ADJUST };
+
+// Aliases for readability
+#define QWERTY DF(_QWERTY)
+#define COLEMAK DF(_COLEMAK_DH)
+#define DVORAK DF(_DVORAK)
+
+#define SYM MO(_SYM)
+#define NAV MO(_NAV)
+#define FKEYS MO(_FUNCTION)
+#define ADJUST MO(_ADJUST)
+
+#define CTL_ESC MT(MOD_LCTL, KC_ESC)
+#define CTL_QUOT MT(MOD_RCTL, KC_QUOTE)
+#define CTL_MINS MT(MOD_RCTL, KC_MINUS)
+#define ALT_ENT MT(MOD_LALT, KC_ENT)
+
+// Note: LAlt/Enter (ALT_ENT) is not the same thing as the keyboard shortcut Alt+Enter.
+// The notation `mod/tap` denotes a key that activates the modifier `mod` when held down, and
+// produces the key `tap` when tapped (i.e. pressed and released).
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*
+ * Base Layer: QWERTY
+ *
+ * ,-------------------------------------------. ,-------------------------------------------.
+ * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * |Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : |Ctrl/' "|
+ * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+ * | LShift | Z | X | C | V | B | [ { |CapsLk| |F-keys| ] } | N | M | , < | . > | / ? | RShift |
+ * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu |
+ * | | | Enter| | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ */
+ [_QWERTY] = LAYOUT(KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, CTL_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_CAPS, FKEYS, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, ADJUST, KC_LGUI, ALT_ENT, KC_SPC, NAV, SYM, KC_SPC, KC_RALT, KC_RGUI, KC_APP),
+
+ /*
+ * Base Layer: Dvorak
+ *
+ * ,-------------------------------------------. ,-------------------------------------------.
+ * | Tab | ' " | , < | . > | P | Y | | F | G | C | R | L | Bksp |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * |Ctrl/Esc| A | O | E | U | I | | D | H | T | N | S |Ctrl/- _|
+ * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+ * | LShift | ; : | Q | J | K | X | [ { |CapsLk| |F-keys| ] } | B | M | W | V | Z | RShift |
+ * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu |
+ * | | | Enter| | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ */
+ [_DVORAK] = LAYOUT(KC_TAB, KC_QUOTE, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, CTL_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, CTL_MINS, KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_LBRC, KC_CAPS, FKEYS, KC_RBRC, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, ADJUST, KC_LGUI, ALT_ENT, KC_SPC, NAV, SYM, KC_SPC, KC_RALT, KC_RGUI, KC_APP),
+
+ /*
+ * Base Layer: Colemak DH
+ *
+ * ,-------------------------------------------. ,-------------------------------------------.
+ * | Tab | Q | W | F | P | B | | J | L | U | Y | ; : | Bksp |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * |Ctrl/Esc| A | R | S | T | G | | M | N | E | I | O |Ctrl/' "|
+ * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+ * | LShift | Z | X | C | D | V | [ { |CapsLk| |F-keys| ] } | K | H | , < | . > | / ? | RShift |
+ * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu |
+ * | | | Enter| | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ */
+ [_COLEMAK_DH] = LAYOUT(KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, CTL_ESC, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, CTL_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_LBRC, KC_CAPS, FKEYS, KC_RBRC, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, ADJUST, KC_LGUI, ALT_ENT, KC_SPC, NAV, SYM, KC_SPC, KC_RALT, KC_RGUI, KC_APP),
+
+ /*
+ * Nav Layer: Media, navigation
+ *
+ * ,-------------------------------------------. ,-------------------------------------------.
+ * | | | | | | | | PgUp | Home | ↑ | End | VolUp| Delete |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * | | GUI | Alt | Ctrl | Shift| | | PgDn | ← | ↓ | → | VolDn| Insert |
+ * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+ * | | | | | | | |ScLck | | | | Pause|M Prev|M Play|M Next|VolMut| PrtSc |
+ * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ * | | | | | | | | | | | |
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ */
+ [_NAV] = LAYOUT(_______, _______, _______, _______, _______, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_VOLU, KC_DEL, _______, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_VOLD, KC_INS, _______, _______, _______, _______, _______, _______, _______, KC_SLCK, _______, _______, KC_PAUSE, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+
+ /*
+ * Sym Layer: Numbers and symbols
+ *
+ * ,-------------------------------------------. ,-------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | = |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | + |
+ * |--------+------+------+------+------+------+-------------. ,------+-------------+------+------+------+------+--------|
+ * | | | \ | : | ; | - | \ | | [ { | | | | ] } | # ~ | _ | , | . | / | ? |
+ * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ * | | | | | | | | | | | |
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ */
+ [_SYM] = LAYOUT(KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PLUS, KC_PIPE, KC_BSLS, KC_COLN, KC_SCLN, KC_MINS, KC_NUBS, KC_LBRC, _______, _______, KC_RBRC, KC_NUHS, KC_UNDS, KC_COMM, KC_DOT, KC_SLSH, KC_QUES, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+
+ /*
+ * Function Layer: Function keys
+ *
+ * ,-------------------------------------------. ,-------------------------------------------.
+ * | | F9 | F10 | F11 | F12 | | | | | | | | |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * | | F5 | F6 | F7 | F8 | | | | Shift| Ctrl | Alt | GUI | |
+ * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+ * | | F1 | F2 | F3 | F4 | | | | | | | | | | | | |
+ * `--------+------+------+--------------------+------+------| |------+------+------+------+------+----------------------'
+ * | | | | | | | | | | | |
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ */
+ [_FUNCTION] = LAYOUT(_______, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, KC_F5, KC_F6, KC_F7, KC_F8, _______, _______, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+
+ /*
+ * Adjust Layer: Default layer settings, RGB
+ *
+ * ,-------------------------------------------. ,-------------------------------------------.
+ * | | | |QWERTY| | | | | | | | | |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * | | | |Dvorak| | | | TOG | SAI | HUI | VAI | MOD | |
+ * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+ * | | | |Colmak| | | | | | | | | SAD | HUD | VAD | RMOD | |
+ * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ * | | | | | | | | | | | |
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ */
+ [_ADJUST] = LAYOUT(_______, _______, _______, QWERTY, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DVORAK, _______, _______, RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, RGB_MOD, _______, _______, _______, _______, COLEMAK, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, RGB_RMOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
+
+ // /*
+ // * Layer template
+ // *
+ // * ,-------------------------------------------. ,-------------------------------------------.
+ // * | | | | | | | | | | | | | |
+ // * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ // * | | | | | | | | | | | | | |
+ // * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+ // * | | | | | | | | | | | | | | | | | |
+ // * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ // * | | | | | | | | | | | |
+ // * | | | | | | | | | | | |
+ // * `----------------------------------' `----------------------------------'
+ // */
+ // [_LAYERINDEX] = LAYOUT(
+ // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ // ),
+};
diff --git a/keyboards/kyria/keymaps/shinze/rules.mk b/keyboards/splitkb/kyria/keymaps/default/rules.mk
index 604e154650..604e154650 100644
--- a/keyboards/kyria/keymaps/shinze/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/default/rules.mk
diff --git a/keyboards/kyria/keymaps/drashna/config.h b/keyboards/splitkb/kyria/keymaps/drashna/config.h
index af6f738155..af6f738155 100644
--- a/keyboards/kyria/keymaps/drashna/config.h
+++ b/keyboards/splitkb/kyria/keymaps/drashna/config.h
diff --git a/keyboards/kyria/keymaps/drashna/keymap.c b/keyboards/splitkb/kyria/keymaps/drashna/keymap.c
index 4563a3c622..d55110e977 100644
--- a/keyboards/kyria/keymaps/drashna/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/drashna/keymap.c
@@ -38,58 +38,32 @@
KC_MUTE, OS_LALT, KC_GRV, KC_SPC, BK_LWER, DL_RAIS, KC_ENT, OS_RGUI, UC(0x03A8), UC(0x2E2E) \
)
/* Re-pass though to allow templates to be used */
-#define LAYOUT_kyria_base_wrapper(...) LAYOUT_kyria_base(__VA_ARGS__)
+#define LAYOUT_base_wrapper(...) LAYOUT_kyria_base(__VA_ARGS__)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT_kyria_base_wrapper(
+ [_DEFAULT_LAYER_1] = LAYOUT_base_wrapper(
_________________QWERTY_L1_________________, _________________QWERTY_R1_________________,
_________________QWERTY_L2_________________, _________________QWERTY_R2_________________,
_________________QWERTY_L3_________________, _________________QWERTY_R3_________________
),
- [_COLEMAK] = LAYOUT_kyria_base_wrapper(
+ [_DEFAULT_LAYER_2] = LAYOUT_base_wrapper(
+ ______________COLEMAK_MOD_DH_L1____________, ______________COLEMAK_MOD_DH_R1____________,
+ ______________COLEMAK_MOD_DH_L2____________, ______________COLEMAK_MOD_DH_R2____________,
+ ______________COLEMAK_MOD_DH_L3____________, ______________COLEMAK_MOD_DH_R3____________
+ ),
+ [_DEFAULT_LAYER_3] = LAYOUT_base_wrapper(
_________________COLEMAK_L1________________, _________________COLEMAK_R1________________,
_________________COLEMAK_L2________________, _________________COLEMAK_R2________________,
_________________COLEMAK_L3________________, _________________COLEMAK_R3________________
),
- [_DVORAK] = LAYOUT_kyria_base_wrapper(
+ [_DEFAULT_LAYER_4] = LAYOUT_base_wrapper(
_________________DVORAK_L1_________________, _________________DVORAK_R1_________________,
_________________DVORAK_L2_________________, _________________DVORAK_R2_________________,
_________________DVORAK_L3_________________, _________________DVORAK_R3_________________
),
- [_WORKMAN] = LAYOUT_kyria_base_wrapper(
- _________________WORKMAN_L1________________, _________________WORKMAN_R1________________,
- _________________WORKMAN_L2________________, _________________WORKMAN_R2________________,
- _________________WORKMAN_L3________________, _________________WORKMAN_R3________________
- ),
-
- [_NORMAN] = LAYOUT_kyria_base_wrapper(
- _________________NORMAN_L1_________________, _________________NORMAN_L1_________________,
- _________________NORMAN_L2_________________, _________________NORMAN_R2_________________,
- _________________NORMAN_L3_________________, _________________NORMAN_R3_________________
- ),
-
- [_MALTRON] = LAYOUT_kyria_base_wrapper(
- _________________MALTRON_L1________________, _________________MALTRON_R1________________,
- _________________MALTRON_L2________________, _________________MALTRON_R2________________,
- _________________MALTRON_L3________________, _________________MALTRON_R3________________
- ),
-
- [_EUCALYN] = LAYOUT_kyria_base_wrapper(
- _________________EUCALYN_L1________________, _________________EUCALYN_R1________________,
- _________________EUCALYN_L2________________, _________________EUCALYN_R2________________,
- _________________EUCALYN_L3________________, _________________EUCALYN_R3________________
- ),
-
- [_CARPLAX] = LAYOUT_kyria_base_wrapper(
- _____________CARPLAX_QFMLWY_L1_____________, _____________CARPLAX_QFMLWY_R1_____________,
- _____________CARPLAX_QFMLWY_L2_____________, _____________CARPLAX_QFMLWY_R2_____________,
- _____________CARPLAX_QFMLWY_L3_____________, _____________CARPLAX_QFMLWY_R3_____________
- ),
-
[_GAMEPAD] = LAYOUT_wrapper(
KC_ESC, KC_K, KC_Q, KC_W, KC_E, KC_R, _______, _______, _______, _______, _______, _______,
KC_TAB, KC_G, KC_A, KC_S, KC_D, KC_F, _______, _______, _______, _______, _______, _______,
@@ -128,10 +102,26 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
// ),
};
+
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [_DEFAULT_LAYER_1] = { { KC_DOWN, KC_UP }, { KC_VOLD, KC_VOLU } },
+ [_DEFAULT_LAYER_2] = { { _______, _______ }, { _______, _______ } },
+ [_DEFAULT_LAYER_3] = { { _______, _______ }, { _______, _______ } },
+ [_DEFAULT_LAYER_4] = { { _______, _______ }, { _______, _______ } },
+ [_GAMEPAD] = { { _______, _______ }, { _______, _______ } },
+ [_DIABLO] = { { _______, _______ }, { _______, _______ } },
+ [_MOUSE] = { { _______, _______ }, { KC_WH_D, KC_WH_U } },
+ [_MEDIA] = { { _______, _______ }, { _______, _______ } },
+ [_RAISE] = { { _______, _______ }, { KC_PGDN, KC_PGUP } },
+ [_LOWER] = { { RGB_MOD, RGB_RMOD}, { RGB_HUD, RGB_HUI } },
+ [_ADJUST] = { { CK_DOWN, CK_UP }, { _______, _______ } },
+};
+#endif
// clang-format on
#ifdef OLED_DRIVER_ENABLE
-oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; }
+oled_rotation_t oled_init_keymap(oled_rotation_t rotation) { return OLED_ROTATION_180; }
#endif
#ifdef ENCODER_ENABLE
@@ -156,39 +146,20 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
#endif
#ifdef RGBLIGHT_LAYERS
-const rgblight_segment_t PROGMEM shift_layers[] = RGBLIGHT_LAYER_SEGMENTS(
- { 8, 1, 120, 255, 255},
- { 18, 1, 120, 255, 255}
-);
-const rgblight_segment_t PROGMEM control_layers[] = RGBLIGHT_LAYER_SEGMENTS(
- { 6, 1, 0, 255, 255},
- { 16, 1, 0, 255, 255}
-);
-const rgblight_segment_t PROGMEM alt_layers[] = RGBLIGHT_LAYER_SEGMENTS(
- { 2, 1, 240, 255, 255},
- { 17, 1, 250, 255, 255}
-);
-const rgblight_segment_t PROGMEM gui_layers[] = RGBLIGHT_LAYER_SEGMENTS(
- { 7, 1, 51, 255, 255},
- { 12, 1, 51, 255, 255}
-);
+const rgblight_segment_t PROGMEM shift_layers[] = RGBLIGHT_LAYER_SEGMENTS({8, 1, 120, 255, 255}, {18, 1, 120, 255, 255});
+const rgblight_segment_t PROGMEM control_layers[] = RGBLIGHT_LAYER_SEGMENTS({6, 1, 0, 255, 255}, {16, 1, 0, 255, 255});
+const rgblight_segment_t PROGMEM alt_layers[] = RGBLIGHT_LAYER_SEGMENTS({2, 1, 240, 255, 255}, {17, 1, 250, 255, 255});
+const rgblight_segment_t PROGMEM gui_layers[] = RGBLIGHT_LAYER_SEGMENTS({7, 1, 51, 255, 255}, {12, 1, 51, 255, 255});
-const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
- shift_layers,
- control_layers,
- alt_layers,
- gui_layers
-);
+const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(shift_layers, control_layers, alt_layers, gui_layers);
-void keyboard_post_init_keymap(void) {
- rgblight_layers = my_rgb_layers;
-}
+void keyboard_post_init_keymap(void) { rgblight_layers = my_rgb_layers; }
void matrix_scan_keymap(void) {
- uint8_t mods = mod_config(get_mods()|get_oneshot_mods());
- rgblight_set_layer_state(0, mods & MOD_MASK_SHIFT);
- rgblight_set_layer_state(1, mods & MOD_MASK_CTRL);
- rgblight_set_layer_state(2, mods & MOD_MASK_ALT);
- rgblight_set_layer_state(3, mods & MOD_MASK_GUI);
+ uint8_t mods = mod_config(get_mods() | get_oneshot_mods());
+ rgblight_set_layer_state(0, mods & MOD_MASK_SHIFT);
+ rgblight_set_layer_state(1, mods & MOD_MASK_CTRL);
+ rgblight_set_layer_state(2, mods & MOD_MASK_ALT);
+ rgblight_set_layer_state(3, mods & MOD_MASK_GUI);
}
#endif
diff --git a/keyboards/kyria/keymaps/drashna/rules.mk b/keyboards/splitkb/kyria/keymaps/drashna/rules.mk
index fb3c1cf843..91d10f5dd2 100644
--- a/keyboards/kyria/keymaps/drashna/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/drashna/rules.mk
@@ -3,19 +3,15 @@ ENCODER_ENABLE = yes # ENables the use of one or more encoders
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
RGBLIGHT_STARTUP_ANIMATION = no
-BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = no # USB Nkey Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality on B7 by default
-MIDI_ENABLE = no # MIDI support
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output on port C6
-BOOTLOADER = atmel-dfu
+NKRO_ENABLE = yes # USB Nkey Rollover
+UNICODE_ENABLE = no # Unicode
+KEY_LOCK_ENABLE = no
-# SPLIT_TRANSPORT = mirror
+BOOTLOADER = atmel-dfu
# TAP_DANCE_ENABLE = yes
diff --git a/keyboards/kyria/keymaps/ghidalgo93/config.h b/keyboards/splitkb/kyria/keymaps/ghidalgo93/config.h
index c46873c8ef..c46873c8ef 100644
--- a/keyboards/kyria/keymaps/ghidalgo93/config.h
+++ b/keyboards/splitkb/kyria/keymaps/ghidalgo93/config.h
diff --git a/keyboards/kyria/keymaps/ghidalgo93/keymap.c b/keyboards/splitkb/kyria/keymaps/ghidalgo93/keymap.c
index 1adbcc6ee7..1adbcc6ee7 100644
--- a/keyboards/kyria/keymaps/ghidalgo93/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/ghidalgo93/keymap.c
diff --git a/keyboards/kyria/keymaps/ghidalgo93/rules.mk b/keyboards/splitkb/kyria/keymaps/ghidalgo93/rules.mk
index 449e3d9501..449e3d9501 100644
--- a/keyboards/kyria/keymaps/ghidalgo93/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/ghidalgo93/rules.mk
diff --git a/keyboards/kyria/keymaps/gotham/README.md b/keyboards/splitkb/kyria/keymaps/gotham/README.md
index 1598e95a73..1598e95a73 100644
--- a/keyboards/kyria/keymaps/gotham/README.md
+++ b/keyboards/splitkb/kyria/keymaps/gotham/README.md
diff --git a/keyboards/kyria/keymaps/gotham/config.h b/keyboards/splitkb/kyria/keymaps/gotham/config.h
index 1b84d996fe..1b84d996fe 100644
--- a/keyboards/kyria/keymaps/gotham/config.h
+++ b/keyboards/splitkb/kyria/keymaps/gotham/config.h
diff --git a/keyboards/kyria/keymaps/gotham/encoder_utils.c b/keyboards/splitkb/kyria/keymaps/gotham/encoder_utils.c
index 1c2962339d..1c2962339d 100644
--- a/keyboards/kyria/keymaps/gotham/encoder_utils.c
+++ b/keyboards/splitkb/kyria/keymaps/gotham/encoder_utils.c
diff --git a/keyboards/kyria/keymaps/gotham/encoder_utils.h b/keyboards/splitkb/kyria/keymaps/gotham/encoder_utils.h
index 60db6c6bd8..60db6c6bd8 100644
--- a/keyboards/kyria/keymaps/gotham/encoder_utils.h
+++ b/keyboards/splitkb/kyria/keymaps/gotham/encoder_utils.h
diff --git a/keyboards/kyria/keymaps/gotham/keycodes.h b/keyboards/splitkb/kyria/keymaps/gotham/keycodes.h
index 0730d49250..0730d49250 100644
--- a/keyboards/kyria/keymaps/gotham/keycodes.h
+++ b/keyboards/splitkb/kyria/keymaps/gotham/keycodes.h
diff --git a/keyboards/kyria/keymaps/gotham/keymap.c b/keyboards/splitkb/kyria/keymaps/gotham/keymap.c
index a725e61fe3..a725e61fe3 100644
--- a/keyboards/kyria/keymaps/gotham/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/gotham/keymap.c
diff --git a/keyboards/kyria/keymaps/gotham/oled_utils.c b/keyboards/splitkb/kyria/keymaps/gotham/oled_utils.c
index 9d76c97491..9d76c97491 100644
--- a/keyboards/kyria/keymaps/gotham/oled_utils.c
+++ b/keyboards/splitkb/kyria/keymaps/gotham/oled_utils.c
diff --git a/keyboards/kyria/keymaps/gotham/oled_utils.h b/keyboards/splitkb/kyria/keymaps/gotham/oled_utils.h
index 7e3bf44c82..7e3bf44c82 100644
--- a/keyboards/kyria/keymaps/gotham/oled_utils.h
+++ b/keyboards/splitkb/kyria/keymaps/gotham/oled_utils.h
diff --git a/keyboards/kyria/keymaps/gotham/rules.mk b/keyboards/splitkb/kyria/keymaps/gotham/rules.mk
index 0bd8badb4d..0bd8badb4d 100644
--- a/keyboards/kyria/keymaps/gotham/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/gotham/rules.mk
diff --git a/keyboards/kyria/keymaps/gotham/thumbstick.c b/keyboards/splitkb/kyria/keymaps/gotham/thumbstick.c
index ec08fb07d4..ec08fb07d4 100644
--- a/keyboards/kyria/keymaps/gotham/thumbstick.c
+++ b/keyboards/splitkb/kyria/keymaps/gotham/thumbstick.c
diff --git a/keyboards/kyria/keymaps/gotham/thumbstick.h b/keyboards/splitkb/kyria/keymaps/gotham/thumbstick.h
index aff939c746..aff939c746 100644
--- a/keyboards/kyria/keymaps/gotham/thumbstick.h
+++ b/keyboards/splitkb/kyria/keymaps/gotham/thumbstick.h
diff --git a/keyboards/kyria/keymaps/j-inc/config.h b/keyboards/splitkb/kyria/keymaps/j-inc/config.h
index 833fbe4bd9..833fbe4bd9 100644
--- a/keyboards/kyria/keymaps/j-inc/config.h
+++ b/keyboards/splitkb/kyria/keymaps/j-inc/config.h
diff --git a/keyboards/kyria/keymaps/j-inc/keymap.c b/keyboards/splitkb/kyria/keymaps/j-inc/keymap.c
index d842e4c2b9..56eac4ddff 100644
--- a/keyboards/kyria/keymaps/j-inc/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/j-inc/keymap.c
@@ -326,7 +326,12 @@ void oled_task_user(void) {
} else {
render_anim();
oled_set_cursor(0,6);
- sprintf(wpm_str, " WPM: %03d", get_current_wpm());
+ uint8_t n = get_current_wpm();
+ wpm_str[3] = '\0';
+ wpm_str[2] = '0' + n % 10;
+ wpm_str[1] = '0' + (n /= 10) % 10;
+ wpm_str[0] = '0' + n / 10 ;
+ oled_write_P(PSTR(" WPM: "), false);
oled_write(wpm_str, false);
}
diff --git a/keyboards/kyria/keymaps/j-inc/rules.mk b/keyboards/splitkb/kyria/keymaps/j-inc/rules.mk
index 87d07f667e..87d07f667e 100644
--- a/keyboards/kyria/keymaps/j-inc/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/j-inc/rules.mk
diff --git a/keyboards/kyria/keymaps/jhelvy/config.h b/keyboards/splitkb/kyria/keymaps/jhelvy/config.h
index 6dbc0dc1d2..6dbc0dc1d2 100644
--- a/keyboards/kyria/keymaps/jhelvy/config.h
+++ b/keyboards/splitkb/kyria/keymaps/jhelvy/config.h
diff --git a/keyboards/kyria/keymaps/jhelvy/keymap.c b/keyboards/splitkb/kyria/keymaps/jhelvy/keymap.c
index 371007eeb3..371007eeb3 100644
--- a/keyboards/kyria/keymaps/jhelvy/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/jhelvy/keymap.c
diff --git a/keyboards/kyria/keymaps/jhelvy/rules.mk b/keyboards/splitkb/kyria/keymaps/jhelvy/rules.mk
index ec4c65f706..ec4c65f706 100644
--- a/keyboards/kyria/keymaps/jhelvy/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/jhelvy/rules.mk
diff --git a/keyboards/kyria/keymaps/kejadlen/config.h b/keyboards/splitkb/kyria/keymaps/kejadlen/config.h
index 3c0951f112..3c0951f112 100644
--- a/keyboards/kyria/keymaps/kejadlen/config.h
+++ b/keyboards/splitkb/kyria/keymaps/kejadlen/config.h
diff --git a/keyboards/kyria/keymaps/kejadlen/keymap.c b/keyboards/splitkb/kyria/keymaps/kejadlen/keymap.c
index 9de9be5552..9de9be5552 100644
--- a/keyboards/kyria/keymaps/kejadlen/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/kejadlen/keymap.c
diff --git a/keyboards/kyria/keymaps/kejadlen/rules.mk b/keyboards/splitkb/kyria/keymaps/kejadlen/rules.mk
index 35ba17e4a2..35ba17e4a2 100644
--- a/keyboards/kyria/keymaps/kejadlen/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/kejadlen/rules.mk
diff --git a/keyboards/kyria/keymaps/manna-harbour_miryoku/config.h b/keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/config.h
index c04bee9b4f..c04bee9b4f 100644
--- a/keyboards/kyria/keymaps/manna-harbour_miryoku/config.h
+++ b/keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/config.h
diff --git a/keyboards/kyria/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/keymap.c
index 1520387e88..1520387e88 100644
--- a/keyboards/kyria/keymaps/manna-harbour_miryoku/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/keymap.c
diff --git a/keyboards/kyria/keymaps/mattir/config.h b/keyboards/splitkb/kyria/keymaps/mattir/config.h
index 2c71428a9c..2c71428a9c 100644
--- a/keyboards/kyria/keymaps/mattir/config.h
+++ b/keyboards/splitkb/kyria/keymaps/mattir/config.h
diff --git a/keyboards/kyria/keymaps/mattir/keymap.c b/keyboards/splitkb/kyria/keymaps/mattir/keymap.c
index 0ee0f3d852..0ee0f3d852 100644
--- a/keyboards/kyria/keymaps/mattir/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/mattir/keymap.c
diff --git a/keyboards/kyria/keymaps/mattir/readme.md b/keyboards/splitkb/kyria/keymaps/mattir/readme.md
index 9a3dcc1e60..9a3dcc1e60 100644
--- a/keyboards/kyria/keymaps/mattir/readme.md
+++ b/keyboards/splitkb/kyria/keymaps/mattir/readme.md
diff --git a/keyboards/kyria/keymaps/mattir/rules.mk b/keyboards/splitkb/kyria/keymaps/mattir/rules.mk
index 4f5e31be18..4f5e31be18 100644
--- a/keyboards/kyria/keymaps/mattir/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/mattir/rules.mk
diff --git a/keyboards/kyria/keymaps/mattir2/config.h b/keyboards/splitkb/kyria/keymaps/mattir2/config.h
index ee61cfae35..ee61cfae35 100644
--- a/keyboards/kyria/keymaps/mattir2/config.h
+++ b/keyboards/splitkb/kyria/keymaps/mattir2/config.h
diff --git a/keyboards/kyria/keymaps/mattir2/keymap.c b/keyboards/splitkb/kyria/keymaps/mattir2/keymap.c
index 53d829320e..53d829320e 100644
--- a/keyboards/kyria/keymaps/mattir2/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/mattir2/keymap.c
diff --git a/keyboards/kyria/keymaps/mattir2/readme.md b/keyboards/splitkb/kyria/keymaps/mattir2/readme.md
index 117fba751d..117fba751d 100644
--- a/keyboards/kyria/keymaps/mattir2/readme.md
+++ b/keyboards/splitkb/kyria/keymaps/mattir2/readme.md
diff --git a/keyboards/kyria/keymaps/mattir2/rules.mk b/keyboards/splitkb/kyria/keymaps/mattir2/rules.mk
index cc5ae236ff..cc5ae236ff 100644
--- a/keyboards/kyria/keymaps/mattir2/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/mattir2/rules.mk
diff --git a/keyboards/kyria/keymaps/ninjonas/README.md b/keyboards/splitkb/kyria/keymaps/ninjonas/README.md
index 5c86786594..5c86786594 100644
--- a/keyboards/kyria/keymaps/ninjonas/README.md
+++ b/keyboards/splitkb/kyria/keymaps/ninjonas/README.md
diff --git a/keyboards/kyria/keymaps/ninjonas/config.h b/keyboards/splitkb/kyria/keymaps/ninjonas/config.h
index 5673e6c3d8..5673e6c3d8 100644
--- a/keyboards/kyria/keymaps/ninjonas/config.h
+++ b/keyboards/splitkb/kyria/keymaps/ninjonas/config.h
diff --git a/keyboards/kyria/keymaps/ninjonas/keymap.c b/keyboards/splitkb/kyria/keymaps/ninjonas/keymap.c
index ae4b3b7ba9..ae4b3b7ba9 100644
--- a/keyboards/kyria/keymaps/ninjonas/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/ninjonas/keymap.c
diff --git a/keyboards/kyria/keymaps/ninjonas/oled.c b/keyboards/splitkb/kyria/keymaps/ninjonas/oled.c
index 65976205b7..65976205b7 100644
--- a/keyboards/kyria/keymaps/ninjonas/oled.c
+++ b/keyboards/splitkb/kyria/keymaps/ninjonas/oled.c
diff --git a/keyboards/kyria/keymaps/ninjonas/rules.mk b/keyboards/splitkb/kyria/keymaps/ninjonas/rules.mk
index 94c06b80eb..94c06b80eb 100644
--- a/keyboards/kyria/keymaps/ninjonas/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/ninjonas/rules.mk
diff --git a/keyboards/kyria/keymaps/pierrec83/config.h b/keyboards/splitkb/kyria/keymaps/pierrec83/config.h
index eb222c0d7a..eb222c0d7a 100644
--- a/keyboards/kyria/keymaps/pierrec83/config.h
+++ b/keyboards/splitkb/kyria/keymaps/pierrec83/config.h
diff --git a/keyboards/kyria/keymaps/pierrec83/encoders.c b/keyboards/splitkb/kyria/keymaps/pierrec83/encoders.c
index 7505925e72..7505925e72 100644
--- a/keyboards/kyria/keymaps/pierrec83/encoders.c
+++ b/keyboards/splitkb/kyria/keymaps/pierrec83/encoders.c
diff --git a/keyboards/kyria/keymaps/pierrec83/keymap.c b/keyboards/splitkb/kyria/keymaps/pierrec83/keymap.c
index 204895dc10..204895dc10 100644
--- a/keyboards/kyria/keymaps/pierrec83/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/pierrec83/keymap.c
diff --git a/keyboards/kyria/keymaps/pierrec83/keymap.json b/keyboards/splitkb/kyria/keymaps/pierrec83/keymap.json
index 79d88009c1..79d88009c1 100644
--- a/keyboards/kyria/keymaps/pierrec83/keymap.json
+++ b/keyboards/splitkb/kyria/keymaps/pierrec83/keymap.json
diff --git a/keyboards/kyria/keymaps/pierrec83/layers.h b/keyboards/splitkb/kyria/keymaps/pierrec83/layers.h
index 12a988d37e..12a988d37e 100644
--- a/keyboards/kyria/keymaps/pierrec83/layers.h
+++ b/keyboards/splitkb/kyria/keymaps/pierrec83/layers.h
diff --git a/keyboards/kyria/keymaps/pierrec83/readme.md b/keyboards/splitkb/kyria/keymaps/pierrec83/readme.md
index fae22f8366..fae22f8366 100644
--- a/keyboards/kyria/keymaps/pierrec83/readme.md
+++ b/keyboards/splitkb/kyria/keymaps/pierrec83/readme.md
diff --git a/keyboards/kyria/keymaps/pierrec83/rules.mk b/keyboards/splitkb/kyria/keymaps/pierrec83/rules.mk
index 78f0ac93f1..78f0ac93f1 100644
--- a/keyboards/kyria/keymaps/pierrec83/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/pierrec83/rules.mk
diff --git a/keyboards/kyria/keymaps/plattfot/README.md b/keyboards/splitkb/kyria/keymaps/plattfot/README.md
index 70bb01353d..70bb01353d 100644
--- a/keyboards/kyria/keymaps/plattfot/README.md
+++ b/keyboards/splitkb/kyria/keymaps/plattfot/README.md
diff --git a/keyboards/kyria/keymaps/plattfot/config.h b/keyboards/splitkb/kyria/keymaps/plattfot/config.h
index 5ec5fc584b..5ec5fc584b 100644
--- a/keyboards/kyria/keymaps/plattfot/config.h
+++ b/keyboards/splitkb/kyria/keymaps/plattfot/config.h
diff --git a/keyboards/kyria/keymaps/plattfot/keymap.c b/keyboards/splitkb/kyria/keymaps/plattfot/keymap.c
index 78e30c156e..78e30c156e 100644
--- a/keyboards/kyria/keymaps/plattfot/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/plattfot/keymap.c
diff --git a/keyboards/kyria/keymaps/plattfot/rules.mk b/keyboards/splitkb/kyria/keymaps/plattfot/rules.mk
index 412546d09a..412546d09a 100644
--- a/keyboards/kyria/keymaps/plattfot/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/plattfot/rules.mk
diff --git a/keyboards/kyria/keymaps/rmw/config.h b/keyboards/splitkb/kyria/keymaps/rmw/config.h
index 02e5087b3e..02e5087b3e 100644
--- a/keyboards/kyria/keymaps/rmw/config.h
+++ b/keyboards/splitkb/kyria/keymaps/rmw/config.h
diff --git a/keyboards/kyria/keymaps/rmw/keymap.c b/keyboards/splitkb/kyria/keymaps/rmw/keymap.c
index 61d66588c6..61d66588c6 100644
--- a/keyboards/kyria/keymaps/rmw/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/rmw/keymap.c
diff --git a/keyboards/kyria/keymaps/rmw/readme.md b/keyboards/splitkb/kyria/keymaps/rmw/readme.md
index c05ca494b7..c05ca494b7 100644
--- a/keyboards/kyria/keymaps/rmw/readme.md
+++ b/keyboards/splitkb/kyria/keymaps/rmw/readme.md
diff --git a/keyboards/kyria/keymaps/rmw/rules.mk b/keyboards/splitkb/kyria/keymaps/rmw/rules.mk
index d41ffaef6d..d41ffaef6d 100644
--- a/keyboards/kyria/keymaps/rmw/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/rmw/rules.mk
diff --git a/keyboards/kyria/keymaps/shinze/config.h b/keyboards/splitkb/kyria/keymaps/shinze/config.h
index f00bfa8e70..f00bfa8e70 100644
--- a/keyboards/kyria/keymaps/shinze/config.h
+++ b/keyboards/splitkb/kyria/keymaps/shinze/config.h
diff --git a/keyboards/kyria/keymaps/shinze/keymap.c b/keyboards/splitkb/kyria/keymaps/shinze/keymap.c
index 29f6dc079f..98e127960c 100644
--- a/keyboards/kyria/keymaps/shinze/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/shinze/keymap.c
@@ -24,15 +24,15 @@ enum layers {
};
#define RESC LT(_RAISE, KC_ESC)
-#define BP_EA BP_E_ACUTE
+#define BP_EA BP_EACU
#define BP_AG BP_AGRV
-#define BP_EG BP_E_GRAVE
-#define BP_DC BP_DCRC
-#define BP_AP BP_APOS
+#define BP_EG BP_EGRV
+#define BP_DC BP_DCIR
+#define BP_AP BP_QUOT
#define BP_CO BP_COMM
#define BP_DT BP_DOT
#define LS KC_LSFT
-#define BP_DOL BP_DOLLAR
+#define BP_DOL BP_DLR
/* Bottom Row */
#define BR01 KC_LCTL
@@ -86,8 +86,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `----------------------------------' `----------------------------------'
*/
[_LOWER] = LAYOUT(
- BP_DOL , BP_DQUO, BP_LGIL, BP_RGIL, BP_LPRN, BP_RPRN, BP_AT, BP_PLUS, BP_MINS, BP_SLASH, BP_ASTR, BP_EQL,
- BP_HASH, BP_1, BP_2, BP_3, BP_4, BP_5, BP_6, BP_7, BP_8, BP_9, BP_0, BP_DEGR,
+ BP_DOL , BP_DQUO, BP_LDAQ, BP_RDAQ, BP_LPRN, BP_RPRN, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, BP_EQL,
+ BP_HASH, BP_1, BP_2, BP_3, BP_4, BP_5, BP_6, BP_7, BP_8, BP_9, BP_0, BP_DEG,
BP_PERC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BP_GRV,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/splitkb/kyria/keymaps/shinze/rules.mk b/keyboards/splitkb/kyria/keymaps/shinze/rules.mk
new file mode 100644
index 0000000000..604e154650
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/shinze/rules.mk
@@ -0,0 +1,3 @@
+OLED_DRIVER_ENABLE = yes # Enables the use of OLED displays
+ENCODER_ENABLE = yes # Enables the use of one or more encoders
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
diff --git a/keyboards/kyria/keymaps/tessachka/config.h b/keyboards/splitkb/kyria/keymaps/tessachka/config.h
index a5529128da..a5529128da 100644
--- a/keyboards/kyria/keymaps/tessachka/config.h
+++ b/keyboards/splitkb/kyria/keymaps/tessachka/config.h
diff --git a/keyboards/kyria/keymaps/tessachka/keymap.c b/keyboards/splitkb/kyria/keymaps/tessachka/keymap.c
index 38307f9644..38307f9644 100644
--- a/keyboards/kyria/keymaps/tessachka/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/tessachka/keymap.c
diff --git a/keyboards/kyria/keymaps/tessachka/rules.mk b/keyboards/splitkb/kyria/keymaps/tessachka/rules.mk
index b7d691efd9..b7d691efd9 100644
--- a/keyboards/kyria/keymaps/tessachka/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/tessachka/rules.mk
diff --git a/keyboards/kyria/keymaps/thomasbaart/config.h b/keyboards/splitkb/kyria/keymaps/thomasbaart/config.h
index 6128133ed6..6128133ed6 100644
--- a/keyboards/kyria/keymaps/thomasbaart/config.h
+++ b/keyboards/splitkb/kyria/keymaps/thomasbaart/config.h
diff --git a/keyboards/kyria/keymaps/thomasbaart/keymap.c b/keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c
index aed9d9762f..aed9d9762f 100644
--- a/keyboards/kyria/keymaps/thomasbaart/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c
diff --git a/keyboards/kyria/keymaps/thomasbaart/rules.mk b/keyboards/splitkb/kyria/keymaps/thomasbaart/rules.mk
index 9b8e294198..9b8e294198 100644
--- a/keyboards/kyria/keymaps/thomasbaart/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/thomasbaart/rules.mk
diff --git a/keyboards/splitkb/kyria/keymaps/via/config.h b/keyboards/splitkb/kyria/keymaps/via/config.h
new file mode 100644
index 0000000000..3ca93f4fd3
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/via/config.h
@@ -0,0 +1,40 @@
+/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+#define LAYER_STATE_8BIT
+#define DYNAMIC_KEYMAP_LAYER_COUNT 5
+#define IGNORE_MOD_TAP_INTERRUPT
+
+#undef LOCKING_SUPPORT_ENABLE
+#undef LOCKING_RESYNC_ENABLE
+
+#ifdef RGBLIGHT_ENABLE
+# 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_STATIC_GRADIENT
+
+# define RGBLIGHT_HUE_STEP 8
+# define RGBLIGHT_SAT_STEP 8
+# define RGBLIGHT_VAL_STEP 8
+# define RGBLIGHT_LIMIT_VAL 150
+#endif
+
+#define USB_POLLING_INTERVAL_MS 1
diff --git a/keyboards/splitkb/kyria/keymaps/via/keymap.c b/keyboards/splitkb/kyria/keymaps/via/keymap.c
new file mode 100644
index 0000000000..0b79afc11f
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/via/keymap.c
@@ -0,0 +1,248 @@
+/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include QMK_KEYBOARD_H
+
+enum layers { _BASE = 0, _NAV, _SYM, _FUNCTION, _ADJUST };
+
+// Aliases for readability
+
+#define SYM MO(_SYM)
+#define NAV MO(_NAV)
+#define FKEYS MO(_FUNCTION)
+#define ADJUST MO(_ADJUST)
+
+#define CTL_ESC MT(MOD_LCTL, KC_ESC)
+#define CTL_QUOT MT(MOD_RCTL, KC_QUOTE)
+#define CTL_MINS MT(MOD_RCTL, KC_MINUS)
+#define ALT_ENT MT(MOD_LALT, KC_ENT)
+
+// Note: LAlt/Enter (ALT_ENT) is not the same thing as the keyboard shortcut Alt+Enter.
+// The notation `mod/tap` denotes a key that activates the modifier `mod` when held down, and
+// produces the key `tap` when tapped (i.e. pressed and released).
+
+// clang-format off
+#define LAYOUT_via( \
+ L00, L01, L02, L03, L04, L05, LE0, LE1, RE0, RE1, R06, R07, R08, R09, R10, R11, \
+ L12, L13, L14, L15, L16, L17, R18, R19, R20, R21, R22, R23, \
+ L24, L25, L26, L27, L28, L29, L30, L31, R32, R33, R34, R35, R36, R37, R38, R39, \
+ L40, L41, L42, L43, L44, R45, R46, R47, R48, R49 \
+) \
+{ \
+ { LE0, LE1, L05, L04, L03, L02, L01, L00 }, \
+ { RE0, RE1, L17, L16, L15, L14, L13, L12 }, \
+ { L31, L30, L29, L28, L27, L26, L25, L24 }, \
+ { L44, L43, L42, L41, L40, KC_NO, KC_NO, KC_NO }, \
+ { KC_NO, KC_NO, R06, R07, R08, R09, R10, R11 }, \
+ { KC_NO, KC_NO, R18, R19, R20, R21, R22, R23 }, \
+ { R32, R33, R34, R35, R36, R37, R38, R39 }, \
+ { R45, R46, R47, R48, R49, KC_NO, KC_NO, KC_NO }, \
+}
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/*
+ * Base Layer: QWERTY
+ *
+ * ,-------------------------------------------. ,-------------------------------------------.
+ * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * |Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : |Ctrl/' "|
+ * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+ * | LShift | Z | X | C | V | B | [ { |CapsLk| |F-keys| ] } | N | M | , < | . > | / ? | RShift |
+ * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu |
+ * | | | Enter| | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ */
+ [_BASE] = LAYOUT_via(
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_VOLD, KC_VOLU, KC_PGDN, KC_PGUP, KC_Y, KC_U , KC_I , KC_O , KC_P , KC_BSPC,
+ CTL_ESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H, KC_J , KC_K , KC_L ,KC_SCLN,CTL_QUOT,
+ KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_LBRC,KC_CAPS, FKEYS , KC_RBRC, KC_N, KC_M ,KC_COMM, KC_DOT ,KC_SLSH, KC_RSFT,
+ ADJUST , KC_LGUI, ALT_ENT, KC_SPC , NAV , SYM , KC_SPC ,KC_RALT, KC_RGUI, KC_APP
+ ),
+
+/*
+ * Nav Layer: Media, navigation
+ *
+ * ,-------------------------------------------. ,-------------------------------------------.
+ * | | | | | | | | PgUp | Home | ↑ | End | VolUp| Delete |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * | | GUI | Alt | Ctrl | Shift| | | PgDn | ← | ↓ | → | VolDn| Insert |
+ * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+ * | | | | | | | |ScLck | | | | Pause|M Prev|M Play|M Next|VolMut| PrtSc |
+ * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ * | | | | | | | | | | | |
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ */
+ [_NAV] = LAYOUT_via(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_VOLU, KC_DEL,
+ _______, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_VOLD, KC_INS,
+ _______, _______, _______, _______, _______, _______, _______, KC_SLCK, _______, _______,KC_PAUSE, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_PSCR,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+/*
+ * Sym Layer: Numbers and symbols
+ *
+ * ,-------------------------------------------. ,-------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | = |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | + |
+ * |--------+------+------+------+------+------+-------------. ,------+-------------+------+------+------+------+--------|
+ * | | | \ | : | ; | - | \ | | [ { | | | | ] } | # ~ | _ | , | . | / | ? |
+ * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ * | | | | | | | | | | | |
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ */
+ [_SYM] = LAYOUT_via(
+ KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , _______, _______, _______, _______, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_EQL ,
+ KC_TILD , KC_EXLM, KC_AT , KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PLUS,
+ KC_PIPE , KC_BSLS, KC_COLN, KC_SCLN, KC_MINS, KC_NUBS, KC_LBRC, _______, _______, KC_RBRC, KC_NUHS, KC_UNDS, KC_COMM, KC_DOT, KC_SLSH, KC_QUES,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+/*
+ * Function Layer: Function keys
+ *
+ * ,-------------------------------------------. ,-------------------------------------------.
+ * | | F9 | F10 | F11 | F12 | | | | | | | | |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * | | F5 | F6 | F7 | F8 | | | | Shift| Ctrl | Alt | GUI | |
+ * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+ * | | F1 | F2 | F3 | F4 | | | | | | | | | | | | |
+ * `--------+------+------+--------------------+------+------| |------+------+------+------+------+----------------------'
+ * | | | | | | | | | | | |
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ */
+ [_FUNCTION] = LAYOUT_via(
+ _______, KC_F9 , KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , _______, _______, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, _______,
+ _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+/*
+ * Adjust Layer: Default layer settings, RGB
+ *
+ * ,-------------------------------------------. ,-------------------------------------------.
+ * | | | |QWERTY| | | | | | | | | |
+ * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
+ * | | | |Dvorak| | | | TOG | SAI | HUI | VAI | MOD | |
+ * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
+ * | | | |Colmak| | | | | | | | | SAD | HUD | VAD | RMOD | |
+ * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
+ * | | | | | | | | | | | |
+ * | | | | | | | | | | | |
+ * `----------------------------------' `----------------------------------'
+ */
+ [_ADJUST] = LAYOUT_via(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, RGB_MOD, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, RGB_RMOD, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+
+};
+// clang-format on
+
+#ifdef ENCODER_ENABLE
+static uint8_t encoder_state[2] = {0};
+static keypos_t encoder_ccw[2] = {{0, 0}, {0, 1}};
+static keypos_t encoder_cw[2] = {{1, 0}, {1, 1}};
+
+void encoder_action_unregister(void) {
+ for (int index = 0; index < 2; ++index) {
+ if (encoder_state[index]) {
+ keyevent_t encoder_event = (keyevent_t){.key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], .pressed = false, .time = (timer_read() | 1)};
+ encoder_state[index] = 0;
+ action_exec(encoder_event);
+ }
+ }
+}
+
+void encoder_action_register(uint8_t index, bool clockwise) {
+ keyevent_t encoder_event = (keyevent_t){.key = clockwise ? encoder_cw[index] : encoder_ccw[index], .pressed = true, .time = (timer_read() | 1)};
+ encoder_state[index] = (clockwise ^ 1) | (clockwise << 1);
+ action_exec(encoder_event);
+}
+
+void matrix_scan_user(void) { encoder_action_unregister(); }
+
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ encoder_action_register(index, clockwise);
+ return false;
+};
+#endif
+
+#ifdef OLED_DRIVER_ENABLE
+void oled_task_user(void) {
+ if (is_keyboard_master()) {
+ // QMK Logo and version information
+ // clang-format off
+ static const char PROGMEM qmk_logo[] = {
+ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
+ 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
+ 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0};
+ // clang-format on
+
+ oled_write_P(qmk_logo, false);
+ oled_write_P(PSTR("Kyria rev1.0 w/ VIA\n\n"), false);
+
+ // Host Keyboard Layer Status
+ oled_write_P(PSTR("Layer: "), false);
+ switch (get_highest_layer(layer_state | default_layer_state)) {
+ case 0:
+ oled_write_P(PSTR("Base\n"), false);
+ break;
+ case 1:
+ oled_write_P(PSTR("Nav\n"), false);
+ break;
+ case 2:
+ oled_write_P(PSTR("Sym\n"), false);
+ break;
+ case 3:
+ oled_write_P(PSTR("Function\n"), false);
+ break;
+ case 4:
+ oled_write_P(PSTR("Adjust\n"), false);
+ break;
+ }
+
+ // Host Keyboard LED Status
+ led_t led_usb_state = host_keyboard_led_state();
+ oled_write_P(led_usb_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false);
+ oled_write_P(led_usb_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false);
+ oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false);
+ } else {
+ // clang-format off
+ static const char PROGMEM kyria_logo[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,192,224,240,112,120, 56, 60, 28, 30, 14, 14, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 14, 14, 14, 30, 28, 60, 56,120,112,240,224,192,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,192,224,240,124, 62, 31, 15, 7, 3, 1,128,192,224,240,120, 56, 60, 28, 30, 14, 14, 7, 7,135,231,127, 31,255,255, 31,127,231,135, 7, 7, 14, 14, 30, 28, 60, 56,120,240,224,192,128, 1, 3, 7, 15, 31, 62,124,240,224,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,240,252,255, 31, 7, 1, 0, 0,192,240,252,254,255,247,243,177,176, 48, 48, 48, 48, 48, 48, 48,120,254,135, 1, 0, 0,255,255, 0, 0, 1,135,254,120, 48, 48, 48, 48, 48, 48, 48,176,177,243,247,255,254,252,240,192, 0, 0, 1, 7, 31,255,252,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,254,255,255, 1, 1, 7, 30,120,225,129,131,131,134,134,140,140,152,152,177,183,254,248,224,255,255,224,248,254,183,177,152,152,140,140,134,134,131,131,129,225,120, 30, 7, 1, 1,255,255,254, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0,255,255, 0, 0,192,192, 48, 48, 0, 0,240,240, 0, 0, 0, 0, 0, 0,240,240, 0, 0,240,240,192,192, 48, 48, 48, 48,192,192, 0, 0, 48, 48,243,243, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48,192,192, 0, 0, 0, 0, 0,
+ 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,127,255,255,128,128,224,120, 30,135,129,193,193, 97, 97, 49, 49, 25, 25,141,237,127, 31, 7,255,255, 7, 31,127,237,141, 25, 25, 49, 49, 97, 97,193,193,129,135, 30,120,224,128,128,255,255,127, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0, 63, 63, 3, 3, 12, 12, 48, 48, 0, 0, 0, 0, 51, 51, 51, 51, 51, 51, 15, 15, 0, 0, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 63, 63, 48, 48, 0, 0, 12, 12, 51, 51, 51, 51, 51, 51, 63, 63, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 15, 63,255,248,224,128, 0, 0, 3, 15, 63,127,255,239,207,141, 13, 12, 12, 12, 12, 12, 12, 12, 30,127,225,128, 0, 0,255,255, 0, 0,128,225,127, 30, 12, 12, 12, 12, 12, 12, 12, 13,141,207,239,255,127, 63, 15, 3, 0, 0,128,224,248,255, 63, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 7, 15, 62,124,248,240,224,192,128, 1, 3, 7, 15, 30, 28, 60, 56,120,112,112,224,224,225,231,254,248,255,255,248,254,231,225,224,224,112,112,120, 56, 60, 28, 30, 15, 7, 3, 1,128,192,224,240,248,124, 62, 15, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 15, 14, 30, 28, 60, 56,120,112,112,112,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,112,112,112,120, 56, 60, 28, 30, 14, 15, 7, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ };
+ // clang-format on
+ oled_write_raw_P(kyria_logo, sizeof(kyria_logo));
+ }
+}
+#endif
diff --git a/keyboards/splitkb/kyria/keymaps/via/rules.mk b/keyboards/splitkb/kyria/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1a13a974e4
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/via/rules.mk
@@ -0,0 +1,9 @@
+OLED_DRIVER_ENABLE = yes # Enables the use of OLED displays
+ENCODER_ENABLE = yes # Enables the use of one or more encoders
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+VIA_ENABLE = yes
+NKRO_ENABLE = yes
+KEY_LOCK_ENABLE = no
+SPACE_CADET_ENABLE = no
+MAGIC_ENABLE = no
+GRAVE_ESCAPE_ENABLE = no
diff --git a/keyboards/kyria/keymaps/winternebs/config.h b/keyboards/splitkb/kyria/keymaps/winternebs/config.h
index db14011d11..472d577395 100755
--- a/keyboards/kyria/keymaps/winternebs/config.h
+++ b/keyboards/splitkb/kyria/keymaps/winternebs/config.h
@@ -15,7 +15,7 @@
*/
#pragma once
-#define OLED_FONT_H "keyboards/kyria/keymaps/winternebs/glcdfont.c"
+#define OLED_FONT_H "keyboards/splitkb/kyria/keymaps/winternebs/glcdfont.c"
#define OLED_FONT_END 127
#ifdef OLED_DRIVER_ENABLE
#define OLED_DISPLAY_128X64
diff --git a/keyboards/kyria/keymaps/winternebs/glcdfont.c b/keyboards/splitkb/kyria/keymaps/winternebs/glcdfont.c
index 7303c6afff..7303c6afff 100755
--- a/keyboards/kyria/keymaps/winternebs/glcdfont.c
+++ b/keyboards/splitkb/kyria/keymaps/winternebs/glcdfont.c
diff --git a/keyboards/kyria/keymaps/winternebs/keymap.c b/keyboards/splitkb/kyria/keymaps/winternebs/keymap.c
index 5a2ea83337..3a31efdf33 100755
--- a/keyboards/kyria/keymaps/winternebs/keymap.c
+++ b/keyboards/splitkb/kyria/keymaps/winternebs/keymap.c
@@ -699,9 +699,15 @@ void oled_task_user(void) {
if (is_keyboard_master()) {
render_anim();
oled_set_cursor(0,7);
- sprintf(wpm_str, "APM: %03d ", get_current_wpm());
- oled_write(wpm_str, false);
- switch (get_highest_layer(layer_state)) {
+ uint8_t n = get_current_wpm();
+ wpm_str[3] = '\0';
+ wpm_str[2] = '0' + n % 10;
+ wpm_str[1] = '0' + (n /= 10) % 10;
+ wpm_str[0] = '0' + n / 10 ;
+ oled_write_P(PSTR("WPM: "), false);
+ oled_write(wpm_str, false);
+ oled_write_P(PSTR(" "), false);
+ switch (get_highest_layer(layer_state)) {
case _QWERTY:
oled_write_ln_P(PSTR("base"), false);
break;
diff --git a/keyboards/kyria/keymaps/winternebs/rules.mk b/keyboards/splitkb/kyria/keymaps/winternebs/rules.mk
index 5831e23cba..5831e23cba 100755
--- a/keyboards/kyria/keymaps/winternebs/rules.mk
+++ b/keyboards/splitkb/kyria/keymaps/winternebs/rules.mk
diff --git a/keyboards/kyria/kyria.c b/keyboards/splitkb/kyria/kyria.c
index 1692093fb2..21ed5e84c8 100644
--- a/keyboards/kyria/kyria.c
+++ b/keyboards/splitkb/kyria/kyria.c
@@ -14,4 +14,3 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "kyria.h"
-
diff --git a/keyboards/kyria/kyria.h b/keyboards/splitkb/kyria/kyria.h
index c1db6307e2..2b1a298152 100644
--- a/keyboards/kyria/kyria.h
+++ b/keyboards/splitkb/kyria/kyria.h
@@ -17,7 +17,7 @@
#include "quantum.h"
-#if defined(KEYBOARD_kyria_rev1)
+#if defined(KEYBOARD_splitkb_kyria_rev1)
# include "rev1.h"
#endif
diff --git a/keyboards/kyria/readme.md b/keyboards/splitkb/kyria/readme.md
index ed4b145081..5ce652589c 100644
--- a/keyboards/kyria/readme.md
+++ b/keyboards/splitkb/kyria/readme.md
@@ -10,11 +10,11 @@ Hardware Availability: [splitkb.com](https://splitkb.com) and partners.
Make example for this keyboard (after setting up your build environment):
- make kyria:default
+ make splitkb/kyria:default
Example of flashing this keyboard:
- make kyria/rev1:default:flash
+ make splitkb/kyria/rev1:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/kyria/rev1/config.h b/keyboards/splitkb/kyria/rev1/config.h
index e832db105b..2c96e74a76 100644
--- a/keyboards/kyria/rev1/config.h
+++ b/keyboards/splitkb/kyria/rev1/config.h
@@ -17,28 +17,33 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
-
/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0x0000
-#define DEVICE_VER 0x0001
-#define MANUFACTURER splitkb
-#define PRODUCT Kyria Keyboard
+#define VENDOR_ID 0x8D1D
+#define PRODUCT_ID 0x9D9D
+#define DEVICE_VER 0x0001
+#define MANUFACTURER splitKB
+#define PRODUCT Kyria
/* key matrix size */
/* Rows are doubled up */
-#define MATRIX_ROWS 8
-#define MATRIX_COLS 8
+#define MATRIX_ROWS 8
+#define MATRIX_COLS 8
// wiring
-#define MATRIX_ROW_PINS { B4, E6, D7, D4 }
-#define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4 }
+#define MATRIX_ROW_PINS \
+ { B4, E6, D7, D4 }
+#define MATRIX_COL_PINS \
+ { B6, B2, B3, B1, F7, F6, F5, F4 }
#define UNUSED_PINS
-#define ENCODERS_PAD_A { C6 }
-#define ENCODERS_PAD_B { B5 }
-#define ENCODERS_PAD_A_RIGHT { B5 }
-#define ENCODERS_PAD_B_RIGHT { C6 }
+#define ENCODERS_PAD_A \
+ { C6 }
+#define ENCODERS_PAD_B \
+ { B5 }
+#define ENCODERS_PAD_A_RIGHT \
+ { B5 }
+#define ENCODERS_PAD_B_RIGHT \
+ { C6 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
@@ -47,18 +52,32 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define MATRIX_HAS_GHOST
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCE 5
+#define DEBOUNCE 5
/*
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
*/
#define SOFT_SERIAL_PIN D2
-#define RGB_DI_PIN D3
-#define RGBLED_SPLIT { 10, 10 }
+#define RGB_DI_PIN D3
+#define RGBLED_SPLIT \
+ { 10, 10 }
#define RGBLED_NUM 20
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
+
+#ifdef OLED_DRIVER_ENABLE
+# define OLED_DISPLAY_128X64
+#endif
+
+/* RGB matrix support */
+#ifdef RGB_MATRIX_ENABLE
+# define SPLIT_TRANSPORT_MIRROR
+# define DRIVER_LED_TOTAL RGBLED_NUM // Number of LEDs
+# define RGB_MATRIX_SPLIT { 10, 10 }
+# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 170
+# define RGB_DISABLE_WHEN_USB_SUSPENDED
+#endif
diff --git a/keyboards/splitkb/kyria/rev1/rev1.c b/keyboards/splitkb/kyria/rev1/rev1.c
new file mode 100644
index 0000000000..8da217810d
--- /dev/null
+++ b/keyboards/splitkb/kyria/rev1/rev1.c
@@ -0,0 +1,148 @@
+/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include "rev1.h"
+
+#ifdef SWAP_HANDS_ENABLE
+// clang-format off
+__attribute__ ((weak)) const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
+ {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {6, 4}, {7, 4}},
+ {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}, {6, 5}, {7, 5}},
+ {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}, {6, 6}, {7, 6}},
+ {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}, {6, 7}, {7, 7}},
+ {{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {6, 0}, {7, 0}},
+ {{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}, {6, 1}, {7, 1}},
+ {{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}, {6, 2}, {7, 2}},
+ {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}, {6, 3}, {7, 3}}
+};
+// clang-format on
+#endif
+
+#ifdef RGB_MATRIX_ENABLE
+/* Map physical under glow LEDs for RGB matrix support */
+led_config_t g_led_config = { {
+ // Key Matrix to LED Index
+ { NO_LED, NO_LED, NO_LED, 4, NO_LED, NO_LED, 5, 9 },
+ { NO_LED, NO_LED, 3, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
+ { NO_LED, 0, NO_LED, NO_LED, NO_LED, 7, 6, 8 },
+ { NO_LED, NO_LED, 1, 2, NO_LED, NO_LED, NO_LED, NO_LED },
+ { NO_LED, NO_LED, NO_LED, 14, NO_LED, NO_LED, 15, 19 },
+ { NO_LED, NO_LED, 13, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
+ { NO_LED, 10, NO_LED, NO_LED, NO_LED, 17, 16, 18 },
+ { NO_LED, NO_LED, 11, 12, NO_LED, NO_LED, NO_LED, NO_LED },
+}, {
+ // LED Index to Physical Position
+ {91,40}, {77,56}, {63,56}, {77,24}, {63,8}, {21,8}, {21,40}, {35,40}, {7,40}, {7,8},
+ {133,40}, {147,56}, {161,56}, {147,24}, {161,8}, {203,8}, {203,40}, {189,40}, {217,40}, {217,8}
+}, {
+ // LED Index to Flag
+ LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL,
+ LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL,
+ LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL,
+ LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL
+} };
+#endif
+
+#ifdef OLED_DRIVER_ENABLE
+__attribute__((weak)) oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; }
+
+__attribute__((weak)) void oled_task_user(void) {
+ if (is_keyboard_master()) {
+ // QMK Logo and version information
+ // clang-format off
+ static const char PROGMEM qmk_logo[] = {
+ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
+ 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
+ 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0};
+ // clang-format on
+
+ oled_write_P(qmk_logo, false);
+ oled_write_P(PSTR("Kyria rev1.0\n\n"), false);
+
+ // Host Keyboard Layer Status
+ oled_write_P(PSTR("Layer: "), false);
+ switch (get_highest_layer(layer_state | default_layer_state)) {
+ case 0:
+ oled_write_P(PSTR("QWERTY\n"), false);
+ break;
+ case 1:
+ oled_write_P(PSTR("Dvorak\n"), false);
+ break;
+ case 2:
+ oled_write_P(PSTR("Colemak-DH\n"), false);
+ break;
+ case 3:
+ oled_write_P(PSTR("Nav\n"), false);
+ break;
+ case 4:
+ oled_write_P(PSTR("Sym\n"), false);
+ break;
+ case 5:
+ oled_write_P(PSTR("Function\n"), false);
+ break;
+ case 6:
+ oled_write_P(PSTR("Adjust\n"), false);
+ break;
+ default:
+ oled_write_P(PSTR("Undefined\n"), false);
+ }
+
+ // Host Keyboard LED Status
+ led_t led_usb_state = host_keyboard_led_state();
+ oled_write_P(led_usb_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false);
+ oled_write_P(led_usb_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false);
+ oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false);
+ } else {
+ // clang-format off
+ static const char PROGMEM kyria_logo[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,192,224,240,112,120, 56, 60, 28, 30, 14, 14, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 14, 14, 14, 30, 28, 60, 56,120,112,240,224,192,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,192,224,240,124, 62, 31, 15, 7, 3, 1,128,192,224,240,120, 56, 60, 28, 30, 14, 14, 7, 7,135,231,127, 31,255,255, 31,127,231,135, 7, 7, 14, 14, 30, 28, 60, 56,120,240,224,192,128, 1, 3, 7, 15, 31, 62,124,240,224,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,240,252,255, 31, 7, 1, 0, 0,192,240,252,254,255,247,243,177,176, 48, 48, 48, 48, 48, 48, 48,120,254,135, 1, 0, 0,255,255, 0, 0, 1,135,254,120, 48, 48, 48, 48, 48, 48, 48,176,177,243,247,255,254,252,240,192, 0, 0, 1, 7, 31,255,252,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,254,255,255, 1, 1, 7, 30,120,225,129,131,131,134,134,140,140,152,152,177,183,254,248,224,255,255,224,248,254,183,177,152,152,140,140,134,134,131,131,129,225,120, 30, 7, 1, 1,255,255,254, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0,255,255, 0, 0,192,192, 48, 48, 0, 0,240,240, 0, 0, 0, 0, 0, 0,240,240, 0, 0,240,240,192,192, 48, 48, 48, 48,192,192, 0, 0, 48, 48,243,243, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48,192,192, 0, 0, 0, 0, 0,
+ 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,127,255,255,128,128,224,120, 30,135,129,193,193, 97, 97, 49, 49, 25, 25,141,237,127, 31, 7,255,255, 7, 31,127,237,141, 25, 25, 49, 49, 97, 97,193,193,129,135, 30,120,224,128,128,255,255,127, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0, 63, 63, 3, 3, 12, 12, 48, 48, 0, 0, 0, 0, 51, 51, 51, 51, 51, 51, 15, 15, 0, 0, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 63, 63, 48, 48, 0, 0, 12, 12, 51, 51, 51, 51, 51, 51, 63, 63, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 15, 63,255,248,224,128, 0, 0, 3, 15, 63,127,255,239,207,141, 13, 12, 12, 12, 12, 12, 12, 12, 30,127,225,128, 0, 0,255,255, 0, 0,128,225,127, 30, 12, 12, 12, 12, 12, 12, 12, 13,141,207,239,255,127, 63, 15, 3, 0, 0,128,224,248,255, 63, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 3, 7, 15, 62,124,248,240,224,192,128, 1, 3, 7, 15, 30, 28, 60, 56,120,112,112,224,224,225,231,254,248,255,255,248,254,231,225,224,224,112,112,120, 56, 60, 28, 30, 15, 7, 3, 1,128,192,224,240,248,124, 62, 15, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 15, 14, 30, 28, 60, 56,120,112,112,112,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,112,112,112,120, 56, 60, 28, 30, 14, 15, 7, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ };
+ // clang-format on
+ oled_write_raw_P(kyria_logo, sizeof(kyria_logo));
+ }
+}
+#endif
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) {
+ return false;
+ }
+
+ if (index == 0) {
+ // Volume control
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ } else if (index == 1) {
+ // Page up/Page down
+ if (clockwise) {
+ tap_code(KC_PGDN);
+ } else {
+ tap_code(KC_PGUP);
+ }
+ }
+ return true;
+}
+#endif
diff --git a/keyboards/kyria/rev1/rev1.h b/keyboards/splitkb/kyria/rev1/rev1.h
index 44060a1536..bf9864fe36 100644
--- a/keyboards/kyria/rev1/rev1.h
+++ b/keyboards/splitkb/kyria/rev1/rev1.h
@@ -64,19 +64,4 @@
{ R45, R46, R47, R48, R49, KC_NO, KC_NO, KC_NO }, \
}
-#define LAYOUT_split_3x6_5( \
- L00, L01, L02, L03, L04, L05, R06, R07, R08, R09, R10, R11, \
- L12, L13, L14, L15, L16, L17, R18, R19, R20, R21, R22, R23, \
- L24, L25, L26, L27, L28, L29, R34, R35, R36, R37, R38, R39, \
- L40, L41, L42, L43, L44, R45, R46, R47, R48, R49 \
-) \
-{ \
- { KC_NO, KC_NO, L05, L04, L03, L02, L01, L00 }, \
- { KC_NO, KC_NO, L17, L16, L15, L14, L13, L12 }, \
- { KC_NO, KC_NO, L29, L28, L27, L26, L25, L24 }, \
- { L44, L43, L42, L41, L40, KC_NO, KC_NO, KC_NO }, \
- { KC_NO, KC_NO, R06, R07, R08, R09, R10, R11 }, \
- { KC_NO, KC_NO, R18, R19, R20, R21, R22, R23 }, \
- { KC_NO, KC_NO, R34, R35, R36, R37, R38, R39 }, \
- { R45, R46, R47, R48, R49, KC_NO, KC_NO, KC_NO }, \
-}
+#define LAYOUT_split_3x6_5 LAYOUT
diff --git a/keyboards/kyria/rev1/rules.mk b/keyboards/splitkb/kyria/rev1/rules.mk
index 8b1c9616cb..6b92177829 100644
--- a/keyboards/kyria/rev1/rules.mk
+++ b/keyboards/splitkb/kyria/rev1/rules.mk
@@ -1,3 +1,7 @@
OLED_DRIVER_ENABLE = yes # Enables the use of OLED displays
ENCODER_ENABLE = yes # ENables the use of one or more encoders
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+RGB_MATRIX_ENABLE = no # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE)
+RGB_MATRIX_DRIVER = WS2812 # RGB matrix driver support
+
+RGB_MATRIX_SUPPORTED = yes
diff --git a/keyboards/kyria/rules.mk b/keyboards/splitkb/kyria/rules.mk
index 2c749186af..0b1eddbc5a 100644
--- a/keyboards/kyria/rules.mk
+++ b/keyboards/splitkb/kyria/rules.mk
@@ -24,4 +24,4 @@ AUDIO_ENABLE = no # Audio output on port C6
SPLIT_KEYBOARD = yes # Split common
LTO_ENABLE = yes
-DEFAULT_FOLDER = kyria/rev1
+DEFAULT_FOLDER = splitkb/kyria/rev1
diff --git a/keyboards/splitkb/zima/config.h b/keyboards/splitkb/zima/config.h
index fcfa37ff35..7e79e7f359 100644
--- a/keyboards/splitkb/zima/config.h
+++ b/keyboards/splitkb/zima/config.h
@@ -20,15 +20,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define PRODUCT_ID 0xF75B
-#define DEVICE_VER 0x0001
+#define VENDOR_ID 0x8D1D
+#define PRODUCT_ID 0xF75B
+#define DEVICE_VER 0x0001
#define MANUFACTURER splitkb
-#define PRODUCT Zima
+#define PRODUCT Zima
/* key matrix size */
-#define MATRIX_ROWS 4
-#define MATRIX_COLS 3
+#define MATRIX_ROWS 4
+#define MATRIX_COLS 3
/*
* Keyboard Matrix Assignments
@@ -37,9 +37,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
{ C6, D6, D5 }, \
{ C7, F7, D4 }, \
{ E6, F5, F6 }, \
- { F0, F1, F4 } \
+ { F0, F1, F4 }, \
}
-
#define UNUSED_PINS
#define ENCODERS_PAD_A { B4 }
@@ -53,11 +52,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define AUDIO_CLICKY
#define NO_MUSIC_MODE
-#define RGB_DI_PIN B5
-#define RGBLED_NUM 5
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
+#define RGB_DI_PIN B5
+#define RGBLED_NUM 5
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
#define RGBLIGHT_EFFECT_BREATHING
@@ -67,7 +66,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_EFFECT_TWINKLE
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCE 5
+#define DEBOUNCE 5
/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST
@@ -77,16 +76,16 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Locking resynchronize hack */
// #define LOCKING_RESYNC_ENABLE
-#define FB_ERM_LRA 0
-#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */
-#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */
+#define FB_ERM_LRA 0
+#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */
+#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */
/* Please refer to your datasheet for the optimal setting for your specific motor. */
-#define RATED_VOLTAGE 3
-#define V_PEAK 5
+#define RATED_VOLTAGE 3
+#define V_PEAK 5
-#define DRV_GREETING alert_750ms
-#define DRV_MODE_DEFAULT buzz
+#define DRV_GREETING alert_750ms
+#define DRV_MODE_DEFAULT buzz
// EC11K encoders have a different resolution than other EC11 encoders.
// When using the default resolution of 4, if you notice your encoder skipping
// every other tick, lower the resolution to 2.
diff --git a/keyboards/splitkb/zima/keymaps/drashna/keymap.c b/keyboards/splitkb/zima/keymaps/drashna/keymap.c
index d9e1f44e29..6e198e3ddd 100644
--- a/keyboards/splitkb/zima/keymaps/drashna/keymap.c
+++ b/keyboards/splitkb/zima/keymaps/drashna/keymap.c
@@ -22,6 +22,7 @@
extern haptic_config_t haptic_config;
#endif
+// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_ortho_4x3( /* Base */
KC_MUTE, TG(1), TG(2),
@@ -43,12 +44,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
)
};
+#ifdef ENCODER_MAP_ENABLE
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = { { KC_DOWN, KC_UP } },
+ [1] = { { KC_VOLD, KC_VOLU } },
+ [2] = { { RGB_MOD, RGB_RMOD} },
+};
+#endif
+// clang-format on
-static bool is_asleep = false;
+static bool is_asleep = false;
static uint32_t oled_timer;
void render_oled_logo(void) {
- // clang-format off
+ // clang-format off
static const char PROGMEM qmk_logo[] = {
0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
@@ -68,9 +77,7 @@ void render_user_status(void) {
oled_write_P(nukem_good[0], haptic_config.enable);
}
-void keyboard_post_init_user(void) {
- oled_scroll_set_speed(0);
-}
+void keyboard_post_init_user(void) { oled_scroll_set_speed(0); }
void oled_task_user(void) {
if (is_asleep) {
@@ -107,13 +114,9 @@ void oled_task_user(void) {
}
}
-void suspend_power_down_user(void) {
- is_asleep = true;
-}
+void suspend_power_down_user(void) { is_asleep = true; }
-void suspend_wakeup_init_user(void) {
- is_asleep = false;
-}
+void suspend_wakeup_init_user(void) { is_asleep = false; }
bool process_record_user(uint16_t keycode, keyrecord_t* record) {
oled_timer = timer_read32();
@@ -121,7 +124,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) {
return true;
}
-
bool encoder_update_user(uint8_t index, bool clockwise) {
if (clockwise) {
tap_code16(KC_VOLU);
diff --git a/keyboards/splitkb/zima/keymaps/drashna/rules.mk b/keyboards/splitkb/zima/keymaps/drashna/rules.mk
index b9a1f7f256..b9dc009159 100644
--- a/keyboards/splitkb/zima/keymaps/drashna/rules.mk
+++ b/keyboards/splitkb/zima/keymaps/drashna/rules.mk
@@ -1,2 +1,3 @@
# is intentional. won't compile under size, otherwise.
USER_NAME := not_drashna
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/default/config.h b/keyboards/splitkb/zima/keymaps/via/config.h
index 5bad6bcab3..5a0e407c95 100644
--- a/keyboards/handwired/dactyl_manuform/5x6_right_trackball/keymaps/default/config.h
+++ b/keyboards/splitkb/zima/keymaps/via/config.h
@@ -1,4 +1,5 @@
-/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com>
+/* Copyright 2019 Thomas Baart
+ * Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.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
@@ -14,9 +15,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-
-
#pragma once
-
-#include "../drashna/config.h"
+#define DYNAMIC_KEYMAP_LAYER_COUNT 8
diff --git a/keyboards/splitkb/zima/keymaps/via/keymap.c b/keyboards/splitkb/zima/keymaps/via/keymap.c
new file mode 100644
index 0000000000..e9fb001bbe
--- /dev/null
+++ b/keyboards/splitkb/zima/keymaps/via/keymap.c
@@ -0,0 +1,68 @@
+/* Copyright 2019 Thomas Baart
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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] = {
+ // clang-format off
+ [0] = LAYOUT_ortho_4x3(/* Base */
+ KC_MUTE, TG(1), TG(2),
+ KC_P7, KC_P8, KC_P9,
+ KC_P4, KC_P5, KC_P6,
+ KC_P1, KC_P2, KC_P3
+ ),
+ [1] = LAYOUT_ortho_4x3(/* Layer 1 */
+ RESET, _______, XXXXXXX,
+ AU_ON, AU_OFF, XXXXXXX,
+ CK_TOGG, XXXXXXX, CK_UP,
+ CK_RST, XXXXXXX, CK_DOWN
+ ),
+ [2] = LAYOUT_ortho_4x3(/* Layer 2*/
+ RGB_TOG, RGB_MOD, _______,
+ RGB_HUI, RGB_SAI, RGB_VAI,
+ RGB_HUD, RGB_SAD, RGB_VAD,
+ HPT_TOG, HPT_FBK, HPT_CONT
+ ),
+ [3] = LAYOUT_ortho_4x3(
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______
+ ),
+ [4] = LAYOUT_ortho_4x3(
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______
+ ),
+ [5] = LAYOUT_ortho_4x3(
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______
+ ),
+ [6] = LAYOUT_ortho_4x3(
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______
+ ),
+ [7] = LAYOUT_ortho_4x3(
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______,
+ _______, _______, _______
+ ),
+};
diff --git a/keyboards/splitkb/zima/keymaps/via/rules.mk b/keyboards/splitkb/zima/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1eb438e469
--- /dev/null
+++ b/keyboards/splitkb/zima/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
+VIA_ENABLE = yes
+HAPTIC_ENABLE = no
diff --git a/keyboards/subatomic/rules.mk b/keyboards/subatomic/rules.mk
index 0d77351f32..19c2ed15a1 100644
--- a/keyboards/subatomic/rules.mk
+++ b/keyboards/subatomic/rules.mk
@@ -27,7 +27,6 @@ AUDIO_ENABLE = no # Audio output
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/tada68/keymaps/emdarcher/keymap.c b/keyboards/tada68/keymaps/emdarcher/keymap.c
index 642b4d8faa..d6ac2f7bc1 100755
--- a/keyboards/tada68/keymaps/emdarcher/keymap.c
+++ b/keyboards/tada68/keymaps/emdarcher/keymap.c
@@ -5,7 +5,7 @@
#define _CL 2
#define _ML 3
-#define KC_X0 LT(_CL, KC_CAPS)
+#define KC_X0 LT(_CL, KC_CAPS)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap _BL: (Base Layer) Default Layer
@@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//layer state control
-uint32_t layer_state_set_user(uint32_t state){
+layer_state_t layer_state_set_user(layer_state_t state){
//switch to _ML if both _FL and _CL are activated
return update_tri_layer_state(state, _FL, _CL, _ML);
}
diff --git a/keyboards/handwired/p1800fl/config.h b/keyboards/team0110/p1800fl/config.h
index 793d8f19c3..75e63c75ce 100644
--- a/keyboards/handwired/p1800fl/config.h
+++ b/keyboards/team0110/p1800fl/config.h
@@ -23,7 +23,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x3EAE
#define DEVICE_VER 0x0001
-#define MANUFACTURER marhalloweenvt
+#define MANUFACTURER team0110
#define PRODUCT p1800fl
/* key matrix size */
@@ -51,6 +51,18 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define BACKLIGHT_BREATHING
#define BACKLIGHT_LEVELS 5
+/* RGB Lighting */
+#define RGB_DI_PIN C6
+#ifdef RGB_DI_PIN
+# define RGBLIGHT_ANIMATIONS
+# define RGBLED_NUM 8
+# define RGBLIGHT_HUE_STEP 8
+# define RGBLIGHT_SAT_STEP 8
+# define RGBLIGHT_VAL_STEP 8
+# define RGBLIGHT_LIMIT_VAL 255
+# define RGBLIGHT_SLEEP
+#endif
+
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
@@ -66,6 +78,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
-/* QMK DFU key configuration */
-#define QMK_ESC_OUTPUT C7 // usually COL
-#define QMK_ESC_INPUT B6 // usually ROW \ No newline at end of file
+/* Bootmagic Lite key configuration */
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 0 \ No newline at end of file
diff --git a/keyboards/handwired/p1800fl/info.json b/keyboards/team0110/p1800fl/info.json
index 93f4e8aaeb..164f921dea 100644
--- a/keyboards/handwired/p1800fl/info.json
+++ b/keyboards/team0110/p1800fl/info.json
@@ -1,7 +1,7 @@
{
"keyboard_name": "p1800fl",
- "url": "",
- "maintainer": "marhalloweenvt",
+ "url": "http://team0110.store/",
+ "maintainer": "team0110",
"width": 19.5,
"height": 5.25,
"layouts": {
diff --git a/keyboards/handwired/p1800fl/keymaps/default/keymap.c b/keyboards/team0110/p1800fl/keymaps/default/keymap.c
index 03b6a1efd0..e0a3ad35c1 100644
--- a/keyboards/handwired/p1800fl/keymaps/default/keymap.c
+++ b/keyboards/team0110/p1800fl/keymaps/default/keymap.c
@@ -15,27 +15,20 @@
*/
#include QMK_KEYBOARD_H
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _BASE,
- _FN
-};
-
-
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
- [_BASE] = LAYOUT(
+ [0] = LAYOUT(
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_NLCK, KC_PSLS, KC_PAST, KC_PEQL,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
),
- [_FN] = LAYOUT(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, BL_TOGG, BL_INC, KC_PAST, RESET,
- _______, KC_HOME, KC_UP, KC_END, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, BL_BRTG, BL_DEC, _______, EEP_RST,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, EEP_RST,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, _______, _______, _______, _______,
+ [1] = LAYOUT(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, KC_PSCR, KC_SLCK, KC_PAUS, _______,
+ _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_INS, KC_HOME, KC_PGUP, _______,
+ _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, KC_END, KC_PGDOWN, _______,
+ _______, _______, BL_TOGG, BL_BRTG, BL_INC, BL_DEC, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______, _______, _______, _______
- )
+ ),
};
diff --git a/keyboards/handwired/p1800fl/keymaps/default/readme.md b/keyboards/team0110/p1800fl/keymaps/default/readme.md
index 268d399224..268d399224 100644
--- a/keyboards/handwired/p1800fl/keymaps/default/readme.md
+++ b/keyboards/team0110/p1800fl/keymaps/default/readme.md
diff --git a/keyboards/team0110/p1800fl/keymaps/via/keymap.c b/keyboards/team0110/p1800fl/keymaps/via/keymap.c
new file mode 100644
index 0000000000..9cd55ff54c
--- /dev/null
+++ b/keyboards/team0110/p1800fl/keymaps/via/keymap.c
@@ -0,0 +1,48 @@
+/* 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 QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /* Base */
+ [0] = LAYOUT(
+ KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_NLCK, KC_PSLS, KC_PAST, KC_PEQL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
+ ),
+ [1] = LAYOUT(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, KC_PSCR, KC_SLCK, KC_PAUS, _______,
+ _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_INS, KC_HOME, KC_PGUP, _______,
+ _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, KC_END, KC_PGDOWN, _______,
+ _______, _______, BL_TOGG, BL_BRTG, BL_INC, BL_DEC, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLU, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD, _______, _______, _______, _______
+ ),
+ [2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [3] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
diff --git a/keyboards/team0110/p1800fl/keymaps/via/readme.md b/keyboards/team0110/p1800fl/keymaps/via/readme.md
new file mode 100644
index 0000000000..fabc3229f3
--- /dev/null
+++ b/keyboards/team0110/p1800fl/keymaps/via/readme.md
@@ -0,0 +1 @@
+# The default VIA keymap for p1800fl
diff --git a/keyboards/team0110/p1800fl/keymaps/via/rules.mk b/keyboards/team0110/p1800fl/keymaps/via/rules.mk
new file mode 100644
index 0000000000..036bd6d1c3
--- /dev/null
+++ b/keyboards/team0110/p1800fl/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/handwired/p1800fl/p1800fl.c b/keyboards/team0110/p1800fl/p1800fl.c
index e0fc16a5e7..e0fc16a5e7 100644
--- a/keyboards/handwired/p1800fl/p1800fl.c
+++ b/keyboards/team0110/p1800fl/p1800fl.c
diff --git a/keyboards/handwired/p1800fl/p1800fl.h b/keyboards/team0110/p1800fl/p1800fl.h
index 7b8f3dcffd..7b8f3dcffd 100644
--- a/keyboards/handwired/p1800fl/p1800fl.h
+++ b/keyboards/team0110/p1800fl/p1800fl.h
diff --git a/keyboards/handwired/p1800fl/readme.md b/keyboards/team0110/p1800fl/readme.md
index 545bd691a4..a9f50ddb76 100644
--- a/keyboards/handwired/p1800fl/readme.md
+++ b/keyboards/team0110/p1800fl/readme.md
@@ -1,15 +1,15 @@
# p1800fl
-![p1800fl](https://i.imgur.com/GQd28rN.jpg)
+![p1800fl](https://i.imgur.com/GQd28rNh.jpg)
-A 1800 Frow-less keyboard project from our local makers.
+A 1800 Frow-less keyboard project from our team.
-* Keyboard Maintainer: [marhalloweenvt](https://github.com/marhalloweenvt)
-* Hardware Supported: p1800fl
-* Hardware Availability: p1800fl
+* Keyboard Maintainer: [team0110](https://github.com/team0110)
+* Hardware Supported: p1800fl PCB
+* Hardware Availability: http://team0110.store/
Make example for this keyboard (after setting up your build environment):
- make handwired/p1800fl:default
+ make team0110/p1800fl:default
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/team0110/p1800fl/rules.mk b/keyboards/team0110/p1800fl/rules.mk
new file mode 100644
index 0000000000..e2f9c83102
--- /dev/null
+++ b/keyboards/team0110/p1800fl/rules.mk
@@ -0,0 +1,22 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # USB Nkey Rollover
+BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no # Enable Bluetooth
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/terrazzo/config.h b/keyboards/terrazzo/config.h
index 985110d16b..907c94ff52 100644
--- a/keyboards/terrazzo/config.h
+++ b/keyboards/terrazzo/config.h
@@ -83,13 +83,13 @@ so there is only one configuration. */
#ifdef LED_MATRIX_ENABLE
-#define LED_DRIVER_ADDR_1 0x74
+#define LED_DRIVER_ADDR_1 0x74
#define LED_DRIVER_COUNT 1
#define DRIVER_LED_TOTAL 105
#define LED_MATRIX_ROWS 15
#define LED_MATRIX_COLS 7
#define LED_MATRIX_MAXIMUM_BRIGHTNESS 20
-#define LED_DISABLE_WHEN_USB_SUSPENDED true
+#define LED_DISABLE_WHEN_USB_SUSPENDED
#define DISABLE_LED_MATRIX_ALPHAS_MODS
#define DISABLE_LED_MATRIX_BREATHING
diff --git a/keyboards/terrazzo/terrazzo.c b/keyboards/terrazzo/terrazzo.c
index e6ba1f6c39..19ac6be491 100644
--- a/keyboards/terrazzo/terrazzo.c
+++ b/keyboards/terrazzo/terrazzo.c
@@ -21,7 +21,7 @@
#include "print.h"
#include "quantum.h"
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* https://cdn-learn.adafruit.com/downloads/pdf/adafruit-15x7-7x15-charlieplex-led-matrix-charliewing-featherwing.pdf
*/
diff --git a/keyboards/themadnoodle/ncc1701kb/v2/rules.mk b/keyboards/themadnoodle/ncc1701kb/v2/rules.mk
index 960f1d7a64..a56d969aea 100644
--- a/keyboards/themadnoodle/ncc1701kb/v2/rules.mk
+++ b/keyboards/themadnoodle/ncc1701kb/v2/rules.mk
@@ -29,6 +29,5 @@ MIDI_ENABLE = no # MIDI controls
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = yes # Unicode
-API_SYSEX_ENABLE = yes
TAP_DANCE_ENABLE = no
ENCODER_ENABLE = yes
diff --git a/keyboards/themadnoodle/noodlepad/rules.mk b/keyboards/themadnoodle/noodlepad/rules.mk
index 960f1d7a64..a56d969aea 100644
--- a/keyboards/themadnoodle/noodlepad/rules.mk
+++ b/keyboards/themadnoodle/noodlepad/rules.mk
@@ -29,6 +29,5 @@ MIDI_ENABLE = no # MIDI controls
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = yes # Unicode
-API_SYSEX_ENABLE = yes
TAP_DANCE_ENABLE = no
ENCODER_ENABLE = yes
diff --git a/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/keymap.c
index f9bb64e05f..0c1ea9dd09 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/keymap.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/jetpacktuxedo/keymap.c
@@ -56,7 +56,7 @@ void keyboard_post_init_user(void) {
#endif //RGBLIGHT_ENABLE
}
-uint32_t layer_state_set_user(uint32_t state){
+layer_state_t layer_state_set_user(layer_state_t state){
#ifdef RGBLIGHT_ENABLE
uint8_t led0r = 0; uint8_t led0g = 0; uint8_t led0b = 0;
uint8_t led1r = 0; uint8_t led1g = 0; uint8_t led1b = 0;
diff --git a/keyboards/tkc/portico/config.h b/keyboards/tkc/portico/config.h
index bd4d096257..ba4f11a41e 100644
--- a/keyboards/tkc/portico/config.h
+++ b/keyboards/tkc/portico/config.h
@@ -45,7 +45,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# define RGB_MATRIX_LED_FLUSH_LIMIT 26
# define DEBOUNCE 3
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_KEYPRESSES
# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
# define DISABLE_RGB_MATRIX_BAND_SAT
diff --git a/keyboards/tkc/portico/portico.c b/keyboards/tkc/portico/portico.c
index a65a85d242..e3d3a14880 100644
--- a/keyboards/tkc/portico/portico.c
+++ b/keyboards/tkc/portico/portico.c
@@ -19,7 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{ 0, C2_1, C3_1, C4_1 },
{ 0, C1_1, C3_2, C4_2 },
{ 0, C1_2, C2_2, C4_3 },
diff --git a/keyboards/tkc/portico/rules.mk b/keyboards/tkc/portico/rules.mk
index 84a65370e3..174938417c 100644
--- a/keyboards/tkc/portico/rules.mk
+++ b/keyboards/tkc/portico/rules.mk
@@ -28,7 +28,7 @@ CIE1931_CURVE = yes
SRC += keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
quantum/color.c \
- drivers/issi/is31fl3731.c
+ drivers/led/issi/is31fl3731.c
QUANTUM_LIB_SRC += i2c_master.c
diff --git a/keyboards/tokyo60/config.h b/keyboards/tokyokeyboard/tokyo60/config.h
index 03dee74e9b..03dee74e9b 100644
--- a/keyboards/tokyo60/config.h
+++ b/keyboards/tokyokeyboard/tokyo60/config.h
diff --git a/keyboards/tokyo60/info.json b/keyboards/tokyokeyboard/tokyo60/info.json
index 10d1bf093f..10d1bf093f 100644
--- a/keyboards/tokyo60/info.json
+++ b/keyboards/tokyokeyboard/tokyo60/info.json
diff --git a/keyboards/tokyo60/keymaps/default/config.h b/keyboards/tokyokeyboard/tokyo60/keymaps/default/config.h
index 271f48d001..271f48d001 100644
--- a/keyboards/tokyo60/keymaps/default/config.h
+++ b/keyboards/tokyokeyboard/tokyo60/keymaps/default/config.h
diff --git a/keyboards/tokyo60/keymaps/default/keymap.c b/keyboards/tokyokeyboard/tokyo60/keymaps/default/keymap.c
index 9139d15bc4..9139d15bc4 100644
--- a/keyboards/tokyo60/keymaps/default/keymap.c
+++ b/keyboards/tokyokeyboard/tokyo60/keymaps/default/keymap.c
diff --git a/keyboards/tokyo60/keymaps/swappedBottomRow/config.h b/keyboards/tokyokeyboard/tokyo60/keymaps/swappedBottomRow/config.h
index 271f48d001..271f48d001 100644
--- a/keyboards/tokyo60/keymaps/swappedBottomRow/config.h
+++ b/keyboards/tokyokeyboard/tokyo60/keymaps/swappedBottomRow/config.h
diff --git a/keyboards/tokyo60/keymaps/swappedBottomRow/keymap.c b/keyboards/tokyokeyboard/tokyo60/keymaps/swappedBottomRow/keymap.c
index 54b68f5825..54b68f5825 100644
--- a/keyboards/tokyo60/keymaps/swappedBottomRow/keymap.c
+++ b/keyboards/tokyokeyboard/tokyo60/keymaps/swappedBottomRow/keymap.c
diff --git a/keyboards/tokyo60/keymaps/via/keymap.c b/keyboards/tokyokeyboard/tokyo60/keymaps/via/keymap.c
index ffef9af795..ffef9af795 100644
--- a/keyboards/tokyo60/keymaps/via/keymap.c
+++ b/keyboards/tokyokeyboard/tokyo60/keymaps/via/keymap.c
diff --git a/keyboards/tokyokeyboard/tokyo60/keymaps/via/rules.mk b/keyboards/tokyokeyboard/tokyo60/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/tokyokeyboard/tokyo60/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/tokyo60/readme.md b/keyboards/tokyokeyboard/tokyo60/readme.md
index 11d4d353c3..4d4f53ef04 100644
--- a/keyboards/tokyo60/readme.md
+++ b/keyboards/tokyokeyboard/tokyo60/readme.md
@@ -1,15 +1,15 @@
# Tokyo60
-![Tokyo60](http://tokyokeyboard.com/wp-content/uploads/2018/02/AI7B4543_copy_page_20180215141449-1200x800.jpg)
+![Tokyo60](https://i2.wp.com/tokyokeyboard.com/wp-content/uploads/2018/02/AI7B4543_copy_page_20180215141449-1200x800.jpg)
Minimal hacker style mechanical keyboard designed in Tokyo. Full aluminum hi-pro construction with integrated top-plate. Cherry MX compatible. More Info at [Tokyo Keyboard](http://tokyokeyboard.com).
-* Keyboard Maintainer: [Tokyo Keyboard](http://tokyokeyboard.com)
-* Hardware Supported: Tokyo60 Rev.1
+* Keyboard Maintainer: [Tokyo Keyboard](https://tokyokeyboard.com)
+* Hardware Supported: Tokyo60 Rev.1 - 4
* Hardware Availability: [Drop](https://drop.com/buy/massdrop-x-tokyo-keyboard-tokyo60-keyboard-kit?mode=guest_open)
Make example for this keyboard (after setting up your build environment):
- make tokyo60:default
+ make tokyokeyboard/tokyo60:default
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/tokyo60/rules.mk b/keyboards/tokyokeyboard/tokyo60/rules.mk
index fa639b1cab..fa639b1cab 100644
--- a/keyboards/tokyo60/rules.mk
+++ b/keyboards/tokyokeyboard/tokyo60/rules.mk
diff --git a/keyboards/tokyo60/tokyo60.c b/keyboards/tokyokeyboard/tokyo60/tokyo60.c
index 2126bb612d..2126bb612d 100644
--- a/keyboards/tokyo60/tokyo60.c
+++ b/keyboards/tokyokeyboard/tokyo60/tokyo60.c
diff --git a/keyboards/tokyo60/tokyo60.h b/keyboards/tokyokeyboard/tokyo60/tokyo60.h
index 9eb5f3e624..9eb5f3e624 100644
--- a/keyboards/tokyo60/tokyo60.h
+++ b/keyboards/tokyokeyboard/tokyo60/tokyo60.h
diff --git a/keyboards/torn/rules.mk b/keyboards/torn/rules.mk
index 62f9d83932..0e0914d6a4 100644
--- a/keyboards/torn/rules.mk
+++ b/keyboards/torn/rules.mk
@@ -21,8 +21,6 @@ OLED_DRIVER_ENABLE = yes
WPM_ENABLE = yes
CUSTOM_MATRIX = lite
-LAYOUTS = split_3x6_4
-
SRC += matrix.c \
bongocat.c \
mcp23018.c \
diff --git a/keyboards/touchpad/rules.mk b/keyboards/touchpad/rules.mk
index 14aac23d49..ce30311796 100644
--- a/keyboards/touchpad/rules.mk
+++ b/keyboards/touchpad/rules.mk
@@ -27,7 +27,6 @@ AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
CUSTOM_MATRIX = yes
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
diff --git a/keyboards/tronguylabs/m122_3270/blackpill/config.h b/keyboards/tronguylabs/m122_3270/blackpill/config.h
index 95c94ef318..53c3ad73e4 100644
--- a/keyboards/tronguylabs/m122_3270/blackpill/config.h
+++ b/keyboards/tronguylabs/m122_3270/blackpill/config.h
@@ -16,8 +16,6 @@
#pragma once
-// place overrides below
-
// Blackpill pin assignments: reversed the rows from the Teensy version for easier PCB layout
// DO NOT USE the following pins: A9 (has pulldown on it), A11/A12 (USB lines), B2 (external pulldown)
// C13 has an LED, and C13/C14/C15 are best used as inputs (with DIODE_DIRECTION set to ROW2COL, the
@@ -26,4 +24,4 @@
#define MATRIX_ROW_PINS { C13, C14, C15, A0, A1, A2, A3, A4 }
// The BlackPill version is version 2
-#define DEVICE_VER 0x0002
+#define DEVICE_VER 0x0002
diff --git a/keyboards/tronguylabs/m122_3270/blackpill/readme.md b/keyboards/tronguylabs/m122_3270/blackpill/readme.md
index 08df795b13..1e47a447a3 100644
--- a/keyboards/tronguylabs/m122_3270/blackpill/readme.md
+++ b/keyboards/tronguylabs/m122_3270/blackpill/readme.md
@@ -1,2 +1,3 @@
# BlackPill controller for m122-3270
+
This directory contains the BlackPill-specific definitions for the M122-3270 keyboard.
diff --git a/keyboards/tronguylabs/m122_3270/blackpill/rules.mk b/keyboards/tronguylabs/m122_3270/blackpill/rules.mk
index d3daefaebe..47e9c06f4f 100644
--- a/keyboards/tronguylabs/m122_3270/blackpill/rules.mk
+++ b/keyboards/tronguylabs/m122_3270/blackpill/rules.mk
@@ -1,7 +1,22 @@
-# Overrides for the Blackpill version
-
# MCU name
MCU = STM32F411
# Bootloader selection
BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no # Enable Bluetooth
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/tronguylabs/m122_3270/config.h b/keyboards/tronguylabs/m122_3270/config.h
index 0dd0187a1a..98359e6cc4 100644
--- a/keyboards/tronguylabs/m122_3270/config.h
+++ b/keyboards/tronguylabs/m122_3270/config.h
@@ -18,11 +18,10 @@
#include "config_common.h"
-#define VENDOR_ID 0x1209
-#define PRODUCT_ID 0x3270
-// DEVICE_VER is defined in each variant's config.h file
-#define MANUFACTURER IBM
-#define PRODUCT Model M PC/3270 122 key
+#define VENDOR_ID 0x1209
+#define PRODUCT_ID 0x3270
+#define MANUFACTURER IBM
+#define PRODUCT Model M PC/3270 122 key
// Both controllers draw 100 mA or less
#define USB_MAX_POWER_CONSUMPTION 100
@@ -31,41 +30,8 @@
#define MATRIX_ROWS 8
#define MATRIX_COLS 20
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
-*/
-#define UNUSED_PINS
-
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 15
-
-/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
- * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
- */
-// #define GRAVE_ESC_CTRL_OVERRIDE
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
diff --git a/keyboards/tronguylabs/m122_3270/info.json b/keyboards/tronguylabs/m122_3270/info.json
index fd158eb46b..7bf6cb9e29 100644
--- a/keyboards/tronguylabs/m122_3270/info.json
+++ b/keyboards/tronguylabs/m122_3270/info.json
@@ -1,134 +1,157 @@
{
- "keyboard_name": "IBM Model M PC/3270 122 key",
- "maintainer": "jmaynard",
- "width": 24.75,
- "height": 8,
- "layouts": {
- "LAYOUT": {
- "layout": [
- {"label":"F13", "x":3.25, "y":0},
- {"label":"F14", "x":4.25, "y":0},
- {"label":"F15", "x":5.25, "y":0},
- {"label":"F16", "x":6.25, "y":0},
- {"label":"F17", "x":7.25, "y":0},
- {"label":"F18", "x":8.25, "y":0},
- {"label":"F19", "x":9.25, "y":0},
- {"label":"F20", "x":10.25, "y":0},
- {"label":"F21", "x":11.25, "y":0},
- {"label":"F22", "x":12.25, "y":0},
- {"label":"F23", "x":13.25, "y":0},
- {"label":"F24", "x":14.25, "y":0},
- {"label":"F1", "x":3.25, "y":1},
- {"label":"F2", "x":4.25, "y":1},
- {"label":"F3", "x":5.25, "y":1},
- {"label":"F4", "x":6.25, "y":1},
- {"label":"F5", "x":7.25, "y":1},
- {"label":"F6", "x":8.25, "y":1},
- {"label":"F7", "x":9.25, "y":1},
- {"label":"F8", "x":10.25, "y":1},
- {"label":"F9", "x":11.25, "y":1},
- {"label":"F10", "x":12.25, "y":1},
- {"label":"F11", "x":13.25, "y":1},
- {"label":"F12", "x":14.25, "y":1},
- {"label":"Esc", "x":0, "y":3},
- {"x":1, "y":3},
- {"label":"`", "x":2.25, "y":3},
- {"label":"1", "x":3.25, "y":3},
- {"label":"2", "x":4.25, "y":3},
- {"label":"3", "x":5.25, "y":3},
- {"label":"4", "x":6.25, "y":3},
- {"label":"5", "x":7.25, "y":3},
- {"label":"6", "x":8.25, "y":3},
- {"label":"7", "x":9.25, "y":3},
- {"label":"8", "x":10.25, "y":3},
- {"label":"9", "x":11.25, "y":3},
- {"label":"0", "x":12.25, "y":3},
- {"label":"-", "x":13.25, "y":3},
- {"label":"=", "x":14.25, "y":3},
- {"label":"Backspace", "x":15.25, "y":3, "w":2},
- {"label":"Insert", "x":17.5, "y":3},
- {"label":"Home", "x":18.5, "y":3},
- {"label":"Page Up", "x":19.5, "y":3},
- {"label":"Num Lock", "x":20.75, "y":3},
- {"label":"/", "x":21.75, "y":3},
- {"label":"*", "x":22.75, "y":3},
- {"label":"-", "x":23.75, "y":3},
- {"x":0, "y":4},
- {"x":1, "y":4},
- {"label":"Tab", "x":2.25, "y":4, "w":1.5},
- {"label":"Q", "x":3.75, "y":4},
- {"label":"W", "x":4.75, "y":4},
- {"label":"E", "x":5.75, "y":4},
- {"label":"R", "x":6.75, "y":4},
- {"label":"T", "x":7.75, "y":4},
- {"label":"Y", "x":8.75, "y":4},
- {"label":"U", "x":9.75, "y":4},
- {"label":"I", "x":10.75, "y":4},
- {"label":"O", "x":11.75, "y":4},
- {"label":"P", "x":12.75, "y":4},
- {"label":"[", "x":13.75, "y":4},
- {"label":"]", "x":14.75, "y":4},
- {"label":"Enter", "x":16, "y":4, "w":1.25, "h":2},
- {"label":"Delete", "x":17.5, "y":4},
- {"label":"End", "x":18.5, "y":4},
- {"label":"Page Down", "x":19.5, "y":4},
- {"label":"7", "x":20.75, "y":4},
- {"label":"8", "x":21.75, "y":4},
- {"label":"9", "x":22.75, "y":4},
- {"label":"+", "x":23.75, "y":4},
- {"x":0, "y":5},
- {"x":1, "y":5},
- {"label":"Caps Lock", "x":2.25, "y":5, "w":1.75},
- {"label":"A", "x":4, "y":5},
- {"label":"S", "x":5, "y":5},
- {"label":"D", "x":6, "y":5},
- {"label":"F", "x":7, "y":5},
- {"label":"G", "x":8, "y":5},
- {"label":"H", "x":9, "y":5},
- {"label":"J", "x":10, "y":5},
- {"label":"K", "x":11, "y":5},
- {"label":"L", "x":12, "y":5},
- {"label":";", "x":13, "y":5},
- {"label":"'", "x":14, "y":5},
- {"label":"#", "x":15, "y":5},
- {"label":"Up", "x":18.5, "y":5},
- {"label":"4", "x":20.75, "y":5},
- {"label":"5", "x":21.75, "y":5},
- {"label":"6", "x":22.75, "y":5},
- {"x":23.75, "y":5},
- {"x":0, "y":6},
- {"x":1, "y":6},
- {"label":"Shift", "x":2.25, "y":6, "w":1.25},
- {"label":"\\", "x":3.5, "y":6},
- {"label":"Z", "x":4.5, "y":6},
- {"label":"X", "x":5.5, "y":6},
- {"label":"C", "x":6.5, "y":6},
- {"label":"V", "x":7.5, "y":6},
- {"label":"B", "x":8.5, "y":6},
- {"label":"N", "x":9.5, "y":6},
- {"label":"M", "x":10.5, "y":6},
- {"label":",", "x":11.5, "y":6},
- {"label":".", "x":12.5, "y":6},
- {"label":"/", "x":13.5, "y":6},
- {"label":"Shift", "x":14.5, "y":6, "w":2.75},
- {"label":"Left", "x":17.5, "y":6},
- {"x":18.5, "y":6},
- {"label":"Right", "x":19.5, "y":6},
- {"label":"1", "x":20.75, "y":6},
- {"label":"2", "x":21.75, "y":6},
- {"label":"3", "x":22.75, "y":6},
- {"label":"Enter", "x":23.75, "y":6, "h":2},
- {"x":0, "y":7},
- {"x":1, "y":7},
- {"label":"Ctrl", "x":2.25, "y":7, "w":1.5},
- {"label":"Alt", "x":4.75, "y":7, "w":1.5},
- {"x":6.25, "y":7, "w":7},
- {"label":"AltGr", "x":13.25, "y":7, "w":1.5},
- {"label":"Ctrl", "x":15.75, "y":7, "w":1.5},
- {"label":"Down", "x":18.5, "y":7},
- {"label":"0", "x":20.75, "y":7, "w":2},
- {"label":".", "x":22.75, "y":7}
- ]
+ "keyboard_name": "IBM Model M PC/3270 122 key",
+ "maintainer": "jmaynard",
+ "width": 24.75,
+ "height": 8,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"x": 3.25, "y": 0},
+ {"x": 4.25, "y": 0},
+ {"x": 5.25, "y": 0},
+ {"x": 6.25, "y": 0},
+ {"x": 7.25, "y": 0},
+ {"x": 8.25, "y": 0},
+ {"x": 9.25, "y": 0},
+ {"x": 10.25, "y": 0},
+ {"x": 11.25, "y": 0},
+ {"x": 12.25, "y": 0},
+ {"x": 13.25, "y": 0},
+ {"x": 14.25, "y": 0},
+
+ {"x": 3.25, "y": 1},
+ {"x": 4.25, "y": 1},
+ {"x": 5.25, "y": 1},
+ {"x": 6.25, "y": 1},
+ {"x": 7.25, "y": 1},
+ {"x": 8.25, "y": 1},
+ {"x": 9.25, "y": 1},
+ {"x": 10.25, "y": 1},
+ {"x": 11.25, "y": 1},
+ {"x": 12.25, "y": 1},
+ {"x": 13.25, "y": 1},
+ {"x": 14.25, "y": 1},
+
+ {"x": 0, "y": 3},
+ {"x": 1, "y": 3},
+
+ {"x": 2.25, "y": 3},
+ {"x": 3.25, "y": 3},
+ {"x": 4.25, "y": 3},
+ {"x": 5.25, "y": 3},
+ {"x": 6.25, "y": 3},
+ {"x": 7.25, "y": 3},
+ {"x": 8.25, "y": 3},
+ {"x": 9.25, "y": 3},
+ {"x": 10.25, "y": 3},
+ {"x": 11.25, "y": 3},
+ {"x": 12.25, "y": 3},
+ {"x": 13.25, "y": 3},
+ {"x": 14.25, "y": 3},
+ {"x": 15.25, "y": 3, "w": 2},
+
+ {"x": 17.5, "y": 3},
+ {"x": 18.5, "y": 3},
+ {"x": 19.5, "y": 3},
+
+ {"x": 20.75, "y": 3},
+ {"x": 21.75, "y": 3},
+ {"x": 22.75, "y": 3},
+ {"x": 23.75, "y": 3},
+
+ {"x": 0, "y": 4},
+ {"x": 1, "y": 4},
+
+ {"x": 2.25, "y": 4, "w": 1.5},
+ {"x": 3.75, "y": 4},
+ {"x": 4.75, "y": 4},
+ {"x": 5.75, "y": 4},
+ {"x": 6.75, "y": 4},
+ {"x": 7.75, "y": 4},
+ {"x": 8.75, "y": 4},
+ {"x": 9.75, "y": 4},
+ {"x": 10.75, "y": 4},
+ {"x": 11.75, "y": 4},
+ {"x": 12.75, "y": 4},
+ {"x": 13.75, "y": 4},
+ {"x": 14.75, "y": 4},
+ {"x": 16, "y": 4, "w": 1.25, "h": 2},
+
+ {"x": 17.5, "y": 4},
+ {"x": 18.5, "y": 4},
+ {"x": 19.5, "y": 4},
+
+ {"x": 20.75, "y": 4},
+ {"x": 21.75, "y": 4},
+ {"x": 22.75, "y": 4},
+ {"x": 23.75, "y": 4},
+
+ {"x": 0, "y": 5},
+ {"x": 1, "y": 5},
+
+ {"x": 2.25, "y": 5, "w": 1.75},
+ {"x": 4, "y": 5},
+ {"x": 5, "y": 5},
+ {"x": 6, "y": 5},
+ {"x": 7, "y": 5},
+ {"x": 8, "y": 5},
+ {"x": 9, "y": 5},
+ {"x": 10, "y": 5},
+ {"x": 11, "y": 5},
+ {"x": 12, "y": 5},
+ {"x": 13, "y": 5},
+ {"x": 14, "y": 5},
+ {"x": 15, "y": 5},
+
+ {"x": 18.5, "y": 5},
+
+ {"x": 20.75, "y": 5},
+ {"x": 21.75, "y": 5},
+ {"x": 22.75, "y": 5},
+ {"x": 23.75, "y": 5},
+
+ {"x": 0, "y": 6},
+ {"x": 1, "y": 6},
+
+ {"x": 2.25, "y": 6, "w": 1.25},
+ {"x": 3.5, "y": 6},
+ {"x": 4.5, "y": 6},
+ {"x": 5.5, "y": 6},
+ {"x": 6.5, "y": 6},
+ {"x": 7.5, "y": 6},
+ {"x": 8.5, "y": 6},
+ {"x": 9.5, "y": 6},
+ {"x": 10.5, "y": 6},
+ {"x": 11.5, "y": 6},
+ {"x": 12.5, "y": 6},
+ {"x": 13.5, "y": 6},
+ {"x": 14.5, "y": 6, "w": 2.75},
+
+ {"x": 17.5, "y": 6},
+ {"x": 18.5, "y": 6},
+ {"x": 19.5, "y": 6},
+
+ {"x": 20.75, "y": 6},
+ {"x": 21.75, "y": 6},
+ {"x": 22.75, "y": 6},
+ {"x": 23.75, "y": 6, "h": 2},
+
+ {"x": 0, "y": 7},
+ {"x": 1, "y": 7},
+
+ {"x": 2.25, "y": 7, "w": 1.5},
+
+ {"x": 4.75, "y": 7, "w": 1.5},
+ {"x": 6.25, "y": 7, "w": 7},
+ {"x": 13.25, "y": 7, "w": 1.5},
+
+ {"x": 15.75, "y": 7, "w": 1.5},
+
+ {"x": 18.5, "y": 7},
+
+ {"x": 20.75, "y": 7, "w": 2},
+ {"x": 22.75, "y": 7}
+ ]
+ }
}
- }
}
diff --git a/keyboards/tronguylabs/m122_3270/keymaps/default/keymap.c b/keyboards/tronguylabs/m122_3270/keymaps/default/keymap.c
index a79d3c6372..fb4813f671 100644
--- a/keyboards/tronguylabs/m122_3270/keymaps/default/keymap.c
+++ b/keyboards/tronguylabs/m122_3270/keymaps/default/keymap.c
@@ -17,58 +17,62 @@
enum custom_keycodes {
JM_DOT = SAFE_RANGE, // . both shifted and unshifted
- JM_COMM, // , both shifted and unshifted
- JM_GRLS, // < and > on one key
- JM_CBRC, // { and } on one key
- JM_CENT, // cent sign and ! on one key
- JM_JUMP, // JUMP/PA3,
- JM_DEL // Delete
+ JM_COMM, // , both shifted and unshifted
+ JM_GRLS, // < and > on one key
+ JM_CBRC, // { and } on one key
+ JM_CENT, // cent sign and ! on one key
+ JM_JUMP, // JUMP/PA3,
+ JM_DEL // Delete
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // PC/3270 layout: PC legends (blue)
+ // PC/3270 layout: PC legends (blue)
[0] = LAYOUT(
- KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_NO, KC_NO, KC_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_ESC, KC_PGUP, KC_PGDN, KC_NLCK, KC_SLCK, KC_PAST, KC_PSLS,
- KC_NO, KC_PAUS, 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_ENT, KC_END, KC_INS, KC_DEL, KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_NO, KC_NO, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_UP, KC_P4, KC_P5, KC_P6, KC_PMNS,
- KC_PSCR, KC_NO, KC_LSFT, JM_GRLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_LEFT, KC_HOME, KC_RIGHT, KC_P1, KC_P2, KC_P3, KC_PENT,
- MO(10), KC_LGUI, KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_DOWN, KC_P0, KC_PDOT
+ KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24,
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+
+ KC_NO, KC_NO, KC_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_ESC, KC_PGUP, KC_PGDN, KC_NLCK, KC_SLCK, KC_PAST, KC_PSLS,
+ KC_NO, KC_PAUS, 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_ENT, KC_END, KC_INS, KC_DEL, KC_P7, KC_P8, KC_P9, KC_PPLS,
+ KC_NO, KC_NO, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_UP, KC_P4, KC_P5, KC_P6, KC_PMNS,
+ KC_PSCR, KC_NO, KC_LSFT, JM_GRLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_LEFT, KC_HOME, KC_RIGHT, KC_P1, KC_P2, KC_P3, KC_PENT,
+ MO(2), KC_LGUI, KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_DOWN, KC_P0, KC_PDOT
),
- // PC/3270 layout: 3270 legends (black), with x3270 keycodes
+ // PC/3270 layout: 3270 legends (black), with x3270 keycodes
[1] = LAYOUT(
- A(KC_F1), A(KC_F2), A(KC_F3), A(KC_F4), A(KC_F5), A(KC_F6), A(KC_F7), A(KC_F8), A(KC_F9), A(KC_F10), A(KC_F11), A(KC_F12),
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- A(KC_A), A(KC_C), 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, A(KC_1), A(KC_2), JM_JUMP, KC_NO, KC_NO, KC_PCMM, KC_SPC,
- KC_CRSEL, KC_PAUS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JM_CENT, KC_BSLS, S(KC_ENT), S(KC_TAB), KC_INS, JM_DEL, KC_P7, KC_P8, KC_P9, KC_TAB,
- KC_EXSEL, A(KC_E), KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, JM_CBRC, KC_UP, KC_P4, KC_P5, KC_P6, KC_PMNS,
- A(KC_B), C(KC_C), KC_LSFT, JM_GRLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JM_COMM, JM_DOT, KC_SLSH, KC_RSFT, KC_LEFT, A(KC_H), KC_RIGHT, KC_P1, KC_P2, KC_P3, KC_PENT,
- MO(10), KC_LGUI, A(KC_R), KC_LALT, KC_SPC, KC_RALT, KC_ENT, KC_DOWN, KC_P0, KC_PDOT
+ A(KC_F1), A(KC_F2), A(KC_F3), A(KC_F4), A(KC_F5), A(KC_F6), A(KC_F7), A(KC_F8), A(KC_F9), A(KC_F10), A(KC_F11), A(KC_F12),
+ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
+
+ A(KC_A), A(KC_C), 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, A(KC_1), A(KC_2), JM_JUMP, KC_NO, KC_NO, KC_PCMM, KC_SPC,
+ KC_CRSEL, KC_PAUS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JM_CENT, KC_BSLS, S(KC_ENT), S(KC_TAB), KC_INS, JM_DEL, KC_P7, KC_P8, KC_P9, KC_TAB,
+ KC_EXSEL, A(KC_E), KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, JM_CBRC, KC_UP, KC_P4, KC_P5, KC_P6, KC_PMNS,
+ A(KC_B), C(KC_C), KC_LSFT, JM_GRLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JM_COMM, JM_DOT, KC_SLSH, KC_RSFT, KC_LEFT, A(KC_H), KC_RIGHT, KC_P1, KC_P2, KC_P3, KC_PENT,
+ MO(2), KC_LGUI, A(KC_R), KC_LALT, KC_SPC, KC_RALT, KC_ENT, KC_DOWN, KC_P0, KC_PDOT
),
-// Function layer, accessed by the Zoom key
- [10] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- DF(0), DF(1), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(11), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ // Function layer, accessed by the Zoom key
+ [2] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+
+ DF(0), DF(1), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, MO(3), _______, _______, _______, _______, _______
),
// Firmware layer, accessed by the Zoom/Space key pair (hold both down)
- [11] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EEP_RST, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DEBUG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
+ [3] = LAYOUT(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, EEP_RST, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, DEBUG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
};
bool left_shift_down = false;
@@ -79,115 +83,84 @@ bool right_alt_down = false;
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case KC_LSHIFT:
- if (record->event.pressed) {
- left_shift_down = true;
- return true;
- } else {
- left_shift_down = false;
- return true;
- }
- break;
+ left_shift_down = record->event.pressed;
+ break;
case KC_RSHIFT:
- if (record->event.pressed) {
- right_shift_down = true;
- return true;
- } else {
- right_shift_down = false;
- return true;
- }
- break;
+ right_shift_down = record->event.pressed;
+ break;
case KC_LALT:
- if (record->event.pressed) {
- left_alt_down = true;
- return true;
- } else {
- left_alt_down = false;
- return true;
- }
- break;
+ left_alt_down = record->event.pressed;
+ break;
case KC_RALT:
- if (record->event.pressed) {
- right_alt_down = true;
- return true;
- } else {
- right_alt_down = false;
- return true;
- }
- break;
+ right_alt_down = record->event.pressed;
+ break;
case JM_GRLS:
- if (left_shift_down || right_shift_down) {
- if(record->event.pressed) {
- SEND_STRING(">");
- }
- return false;
- } else {
- if(record->event.pressed) {
- SEND_STRING("<");
+ if (left_shift_down || right_shift_down) {
+ if (record->event.pressed) {
+ SEND_STRING(">");
+ }
+ } else {
+ if (record->event.pressed) {
+ SEND_STRING("<");
+ }
}
return false;
- }
- break;
case JM_CBRC:
- if (left_shift_down || right_shift_down) {
- if (record->event.pressed) {
- SEND_STRING("}");
+ if (left_shift_down || right_shift_down) {
+ if (record->event.pressed) {
+ SEND_STRING("}");
+ }
+ } else {
+ if (record->event.pressed) {
+ SEND_STRING("{");
+ }
}
return false;
- } else {
- if(record->event.pressed) {
- SEND_STRING("{");
+ case JM_CENT:
+ if (left_shift_down || right_shift_down) {
+ if (record->event.pressed) {
+ SEND_STRING("!");
+ }
+ } else {
+ if (record->event.pressed) {
+ SEND_STRING("<"); // TODO: what does tn3270 want for a cent sign?
+ }
}
return false;
- }
- break;
- case JM_CENT:
- if (left_shift_down || right_shift_down) {
+ case JM_COMM:
if (record->event.pressed) {
- SEND_STRING("!");
+ SEND_STRING(",");
}
return false;
- } else {
+ case JM_DOT:
if (record->event.pressed) {
- SEND_STRING("<"); // TODO: what does tn3270 want for a cent sign?
+ SEND_STRING(".");
}
return false;
- }
- break;
- case JM_COMM:
- if (record->event.pressed){
- SEND_STRING(",");
- }
- return false;
- case JM_DOT:
- if (record->event.pressed) {
- SEND_STRING(".");
- }
- return false;
case JM_JUMP:
- if (record->event.pressed) {
- if (left_alt_down || right_alt_down) {
- SEND_STRING("3");
+ if (record->event.pressed) {
+ if (left_alt_down || right_alt_down) {
+ SEND_STRING("3");
+ }
}
- }
- return false;
+ return false;
case JM_DEL:
- if (record->event.pressed) {
- if (left_alt_down || right_alt_down) {
- unregister_code(KC_LALT);
- unregister_code(KC_RALT);
- tap_code16(C(KC_W));
- if (left_alt_down) {
- register_code(KC_LALT);
- }
- if (right_alt_down) {
- register_code(KC_RALT);
+ if (record->event.pressed) {
+ if (left_alt_down || right_alt_down) {
+ unregister_code(KC_LALT);
+ unregister_code(KC_RALT);
+ tap_code16(C(KC_W));
+ if (left_alt_down) {
+ register_code(KC_LALT);
+ }
+ if (right_alt_down) {
+ register_code(KC_RALT);
+ }
+ } else {
+ tap_code16(KC_DEL);
}
- } else {
- tap_code16(KC_DEL);
}
- }
- return false;
+ return false;
}
-
return true;
}
diff --git a/keyboards/tronguylabs/m122_3270/keymaps/default/readme.md b/keyboards/tronguylabs/m122_3270/keymaps/default/readme.md
index befa267fa1..3b59718ed8 100644
--- a/keyboards/tronguylabs/m122_3270/keymaps/default/readme.md
+++ b/keyboards/tronguylabs/m122_3270/keymaps/default/readme.md
@@ -1,4 +1,5 @@
# Default keymap for m122-3270
+
This keymap is intended to make the PC/3270 122-key IBM keyboard work as closely as possible to the standard
PC/3270 keyboard's original mapping. Two layers are defined: layer 0 is the PC layout, using the blue legends
on the PC/3270 keys (as shipped by Unicomp; I don't have the original keycaps, and I know there are a few
diff --git a/keyboards/tronguylabs/m122_3270/m122_3270.c b/keyboards/tronguylabs/m122_3270/m122_3270.c
index b206d66ae0..397d495c23 100644
--- a/keyboards/tronguylabs/m122_3270/m122_3270.c
+++ b/keyboards/tronguylabs/m122_3270/m122_3270.c
@@ -13,4 +13,5 @@
* 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 "m122_3270.h"
diff --git a/keyboards/tronguylabs/m122_3270/m122_3270.h b/keyboards/tronguylabs/m122_3270/m122_3270.h
index 71ccf7b66b..c18020ebcd 100644
--- a/keyboards/tronguylabs/m122_3270/m122_3270.h
+++ b/keyboards/tronguylabs/m122_3270/m122_3270.h
@@ -13,28 +13,28 @@
* 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"
-// 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
+#define XXX KC_NO
+
#define LAYOUT( \
- k09, k19, k1A, k29, k39, k3A, k49, k59, k5A, k69, k79, k7A, \
- k0A, k0B, k1B, k2A, k2B, k3B, k4A, k4B, k5B, k6A, k6B, k7B, \
+ k09, k19, k1A, k29, k39, k3A, k49, k59, k5A, k69, k79, k7A, \
+ k0A, k0B, k1B, k2A, k2B, k3B, k4A, k4B, k5B, k6A, k6B, k7B, \
k31, k32, k34, k24, k25, k26, k27, k37, k38, k28, k2C, k2D, k2E, k3E, k3C, k3F, k3G, k3H, k2G, k2F, k2H, k2I, k20, \
k21, k41, k42, k44, k45, k46, k47, k57, k58, k48, k4C, k4D, k4E, k5E, k5C, k6F, k1G, k5G, k4G, k4F, k4H, k4I, k40, \
k51, k52, k62, k14, k15, k16, k17, k07, k08, k18, k1C, k1D, k1E, k0E, k6E, k0G, k1F, k1H, k1I, k10, \
k11, k12, k73, k74, k64, k65, k66, k67, k77, k78, k68, k6C, k6D, k7E, k63, k60, k0J, k1J, k61, k6H, k6I, k7J, \
- k02, k01, k00, k70, k71, k03, k72, k0F, k7H, k7I \
-) \
-{ \
- { k00, k01, k02, k03, KC_NO, KC_NO, KC_NO, k07, k08, k09, k0A, k0B, KC_NO, KC_NO, k0E, k0F, k0G, KC_NO, KC_NO, k0J }, \
- { k10, k11, k12, KC_NO, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G, k1H, k1I, k1J }, \
- { k20, k21, KC_NO, KC_NO, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G, k2H, k2I, KC_NO }, \
- { KC_NO, k31, k32, KC_NO, k34, KC_NO, KC_NO, k37, k38, k39, k3A, k3B, k3C, KC_NO, k3E, k3F, k3G, k3H, KC_NO, KC_NO }, \
- { k40, k41, k42, KC_NO, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k4F, k4G, k4H, k4I, KC_NO }, \
- { KC_NO, k51, k52, KC_NO, KC_NO, KC_NO, KC_NO, k57, k58, k59, k5A, k5B, k5C, KC_NO, k5E, KC_NO, k5G, KC_NO, KC_NO, KC_NO }, \
- { k60, k61, k62, k63, k64, k65, k66, k67, k68, k69, k6A, k6B, k6C, k6D, k6E, k6F, KC_NO, k6H, k6I, KC_NO }, \
- { k70, k71, k72, k73, k74, KC_NO, KC_NO, k77, k78, k79, k7A, k7B, KC_NO, KC_NO, k7E, KC_NO, KC_NO, k7H, k7I, k7J }, \
+ k02, k01, k00, k70, k71, k03, k72, k0F, k7H, k7I \
+) { \
+ { k00, k01, k02, k03, XXX, XXX, XXX, k07, k08, k09, k0A, k0B, XXX, XXX, k0E, k0F, k0G, XXX, XXX, k0J }, \
+ { k10, k11, k12, XXX, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G, k1H, k1I, k1J }, \
+ { k20, k21, XXX, XXX, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G, k2H, k2I, XXX }, \
+ { XXX, k31, k32, XXX, k34, XXX, XXX, k37, k38, k39, k3A, k3B, k3C, XXX, k3E, k3F, k3G, k3H, XXX, XXX }, \
+ { k40, k41, k42, XXX, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k4F, k4G, k4H, k4I, XXX }, \
+ { XXX, k51, k52, XXX, XXX, XXX, XXX, k57, k58, k59, k5A, k5B, k5C, XXX, k5E, XXX, k5G, XXX, XXX, XXX }, \
+ { k60, k61, k62, k63, k64, k65, k66, k67, k68, k69, k6A, k6B, k6C, k6D, k6E, k6F, XXX, k6H, k6I, XXX }, \
+ { k70, k71, k72, k73, k74, XXX, XXX, k77, k78, k79, k7A, k7B, XXX, XXX, k7E, XXX, XXX, k7H, k7I, k7J } \
}
diff --git a/keyboards/tronguylabs/m122_3270/readme.md b/keyboards/tronguylabs/m122_3270/readme.md
index b8de846789..1dd1580bcd 100644
--- a/keyboards/tronguylabs/m122_3270/readme.md
+++ b/keyboards/tronguylabs/m122_3270/readme.md
@@ -2,8 +2,7 @@
![IBM Model M 122 key](https://i.imgur.com/Oo3Ozqzh.jpg)
-This is a replacement controller for the IBM Model M 122 key terminal keyboard running on a STM32F411 BlackPill, intended
-to act as closely to the 3270 keyboard's functioning as possible while still being usable on a PC.
+This is a replacement controller for the IBM Model M 122 key terminal keyboard running on a STM32F411 BlackPill, intended to act as closely to the 3270 keyboard's functioning as possible while still being usable on a PC.
* Keyboard Maintainer: [Jay Maynard](https://github.com/jmaynard)
* Hardware Supported: BlackPill STM32F411, Teensy++ 2.0
@@ -14,14 +13,10 @@ Make example for this keyboard (after setting up your build environment):
make tronguylabs/m122_3270/blackpill:default
make tronguylabs/m122_3270/teensy: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.
+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).
A schematic and Gerber files are publicly available for those wishing to have carrier boards made
professionally instead of handwiring things. The M122 matrix connectors plug right into it. It can
-be found at https://github.com/jmaynard/tronguylabs-m122-blackpill .
+be found at https://github.com/jmaynard/tronguylabs-m122-blackpill.
-This is derived from Luke Stanley's handwired/ibm122m keyboard, with my own keymapping and
-rework of the I/O for the BlackPill. There's also a version for the Teensy++ 2.0, since that
-was my original design and I still use one on one board, even though I switched to the
-BlackPill for future-proofing. The Teensy++ 2.0 is not recommended for new designs.
+This is derived from Luke Stanley's handwired/ibm122m keyboard, with my own keymapping and rework of the I/O for the BlackPill. There's also a version for the Teensy++ 2.0, since that was my original design and I still use one on one board, even though I switched to the BlackPill for future-proofing. The Teensy++ 2.0 is not recommended for new designs.
diff --git a/keyboards/tronguylabs/m122_3270/teensy/config.h b/keyboards/tronguylabs/m122_3270/teensy/config.h
index c23c5931eb..33590b4064 100644
--- a/keyboards/tronguylabs/m122_3270/teensy/config.h
+++ b/keyboards/tronguylabs/m122_3270/teensy/config.h
@@ -16,12 +16,10 @@
#pragma once
-// place overrides below
-
// Teensy pin assignments: I'm wiring things a bit more straightforwardly, and
// avoiding the LED on PD6
#define MATRIX_COL_PINS { B5, B6, B7, D0, D1, D2, D3, D4, D5, D7, E0, E1, C0, C1, C2, C3, C4, C5, C6, C7 }
#define MATRIX_ROW_PINS { F0, F1, F2, F3, F4, F5, F6, F7 }
// The Teensy version is version 1
-#define DEVICE_VER 0x0001
+#define DEVICE_VER 0x0001
diff --git a/keyboards/tronguylabs/m122_3270/teensy/readme.md b/keyboards/tronguylabs/m122_3270/teensy/readme.md
index 99946d746d..43357ea610 100644
--- a/keyboards/tronguylabs/m122_3270/teensy/readme.md
+++ b/keyboards/tronguylabs/m122_3270/teensy/readme.md
@@ -1,2 +1,3 @@
# Teensy controller for m122-3270
+
This directory contains the Teensy++ 2.0-specific definitions for the M122-3270 keyboard.
diff --git a/keyboards/tronguylabs/m122_3270/teensy/rules.mk b/keyboards/tronguylabs/m122_3270/teensy/rules.mk
index 2919fdedfa..af0bee4659 100644
--- a/keyboards/tronguylabs/m122_3270/teensy/rules.mk
+++ b/keyboards/tronguylabs/m122_3270/teensy/rules.mk
@@ -1,7 +1,22 @@
-# Overrides for the Teensy version
-
# MCU name
MCU = at90usb1286
# Bootloader selection
BOOTLOADER = halfkay
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = yes # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no # Enable Bluetooth
+AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/ungodly/launch_pad/config.h b/keyboards/ungodly/launch_pad/config.h
index c4da097601..0b6d03801e 100644
--- a/keyboards/ungodly/launch_pad/config.h
+++ b/keyboards/ungodly/launch_pad/config.h
@@ -46,6 +46,18 @@
/* RGB Matrix configuration */
#ifdef RGB_MATRIX_ENABLE
# define RGB_MATRIX_KEYPRESSES
+# define DISABLE_RGB_MATRIX_SOLID_REACTIVE
+# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
+# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
+# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
+# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
+# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
+# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
+# define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
+# define DISABLE_RGB_MATRIX_PIXEL_FLOW
+# define DISABLE_RGB_MATRIX_PIXEL_FRACTAL
+# define DISABLE_RGB_MATRIX_PIXEL_RAIN
+# define DRIVER_LED_TOTAL 22
#endif
#define RGB_DI_PIN F7
@@ -58,10 +70,6 @@
# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
/*== all animations enable ==*/
# define RGBLIGHT_ANIMATIONS
-// RGB Matrix
-# ifdef RGB_MATRIX_ENABLE
-# define DRIVER_LED_TOTAL RGBLED_NUM
-# endif
#endif
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
diff --git a/keyboards/vision_division/Potential Layouts.txt b/keyboards/vision_division/Potential Layouts.txt
deleted file mode 100644
index f715ac8c65..0000000000
--- a/keyboards/vision_division/Potential Layouts.txt
+++ /dev/null
@@ -1,84 +0,0 @@
-/* Numeric Max / Numeric Normal - Full Grid
- * .-----------------------------------. .--------------------------------------------------------------_--------------------------------------------------------------. .-----------------------------------.
- * | | | | | | | | | | | | | | | | | | | | | | | | |
- * '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
- * .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
- * | | | | | | | | | | | | | | | | | | | | | | | | |
- * |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------|
- * | | | | | | | | | | | | | | | | | | | | | | | | |
- * |--------+--------+--------+--------| o |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------|
- * | | | | | o | | | | | | | | | | | | | | | | | | | |
- * |--------+--------+--------+--------| o |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------|
- * | | | | | | | | | | | | | | | | | | | | | | | | |
- * |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------|
- * | | | | | | | | | | | | | | | | | | | | | | | | |
- * '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
- */
-
-//* Numeric Max / Homing Normal - Full Grid
- * .-----------------------------------. .--------------------------------------------------------------_--------------------------------------------------------------. .--------------------------.
- * | | | | | | | | | | | | | | | | | | | | | | | |
- * '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '--------------------------'
- * .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .--------------------------.
- * | | | | | | | | | | | | | | | | | | | | | | | |
- * |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- * | | | | | | | | | | | | | | | | | | | | | | | |
- * |--------+--------+--------+--------| o |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- * | | | | | o | | | | | | | | | | | | | | | | | | |
- * |--------+--------+--------+--------| o |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- * | | | | | | | | | | | | | | | | | | | | | | | |
- * |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- * | | | | | | | | | | | | | | | | | | | | | | | |
- * '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '--------------------------'
- */
-
-//* Numeric Max / Homing Normal - Traditional
- * .-----------------------------------. .-----------------------------------. .-----------------_-----------------. .-----------------------------------. .--------------------------.
- * | | | | | | | | | | | | | | | | | | | | | | | |
- * '-----------------------------------' '-----------------------------------' '-----------------------------------' '-----------------------------------' '--------------------------'
- * .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .--------------------------.
- * | | | | | | | | | | | | | | | | | | | | | | | |
- * |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------|
- * | | | | | | | | | | | | | | | | | | | | | | | |
- * |--------+--------+--------+ | o |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| '--------+--------+--------'
- * | | | | | o | | | | | | | | | | | | | | |
- * |--------+--------+--------+--------| o |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| .--------.
- * | | | | | | | | | | | | | | | | | | | |
- * |--------+--------+--------+ | |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| .--------+--------+--------.
- * | | | | | | | | | | | | | | | | | | | | | |
- * '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '--------------------------'
- */
-
-/* Numeric Max / Numeric Normal
- * .-----------------------------------. .--------------------------------------------------------------_--------------------------------------------------------------. .-----------------------------------.
- * | | | | | | | | | | | | | | | | | | | | | | | | |
- * '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
- * .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
- * | | | | | | 1U / 2U | | | | | | | | | | | 1U / 2U | | | | | |
- * |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------|
- * | 1U | | | 1U | | | | | | | | | | | | | | | | | 1U | | | 1U |
- * | / +--------+--------+ / | o |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | / +--------+--------+ / |
- * | 2U | | | 2U | o | 1U / 2U | | | | | | | | | | | | | 2U | | | 2U |
- * |--------+--------+--------+--------| o |-----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| |--------+--------+--------+--------|
- * | | | | | | 1U / 2U | | | | | | | | | | | 1U / 2U | | | | | |
- * | '--------+--------' | |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | '--------+--------' |
- * | 1U / 2UH / 2UV | 1U / 2UH / 2UV | | | | | | | | 1U / 2U | | | | | | | | 1U / 2UH / 2UV | 1U / 2UH / 2UV |
- * '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
- */
-
-/* Numeric Max / Numeric Max
- * .-----------------------------------. .-----------------------------------------------------------------------_-----------------------------------------------------------------------. .-----------------------------------.
- * | | | | | | | | | | | | | | | | | | | | | | | | | | |
- * '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
- * .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
- * | | | | | | 1U / 2U | | | | | | | | | | | | | 1U / 2U | | | | | |
- * |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------|
- * | 1U | | | 1U | | | | | | | | | | | | | | | | | | | 1U | | | 1U |
- * | / +--------+--------+ / | o |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | / +--------+--------+ / |
- * | 2U | | | 2U | o | 1U / 2U | | | | | | | | | | | | | | | 2U | | | 2U |
- * |--------+--------+--------+--------| o |-----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------| |--------+--------+--------+--------|
- * | | | | | | 1U / 2U | | | | | | | | | | | | | 1U / 2U | | | | | |
- * | '--------+--------' | |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| | '--------+--------' |
- * | 1U / 2UH / 2UV | 1U / 2UH / 2UV | | | | | | | | 1U / 2U | 1U / 2U | | | | | | | | 1U / 2UH / 2UV | 1U / 2UH / 2UV |
- * '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
- */
diff --git a/keyboards/vision_division/config.h b/keyboards/vision_division/config.h
deleted file mode 100644
index 249431b874..0000000000
--- a/keyboards/vision_division/config.h
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-// Due to the configurability of this keyboard, matrix sizes are determined in the keymap's config.h
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION ROW2COL
-
-#define BACKLIGHT_PIN B7
-#define BACKLIGHT_BREATHING
-#define BACKLIGHT_LEVELS 3
-
-/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
-#define DEBOUNCE 0
-
-#define MATRIX_MASKED
-
-/* define if matrix has ghost (lacks anti-ghosting diodes) */
-//#define MATRIX_HAS_GHOST
-
-/* number of backlight levels */
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/*
- * Force NKRO
- *
- * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
- * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
- * makefile for this to work.)
- *
- * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
- * until the next keyboard reset.
- *
- * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
- * fully operational during normal computer usage.
- *
- * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
- * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
- * bootmagic, NKRO mode will always be enabled until it is toggled again during a
- * power-up.
- *
- */
-//#define FORCE_NKRO
-
-/*
- * Magic Key Options
- *
- * Magic keys are hotkey commands that allow control over firmware functions of
- * the keyboard. They are best used in combination with the HID Listen program,
- * found here: https://www.pjrc.com/teensy/hid_listen.html
- *
- * The options below allow the magic key functionality to be changed. This is
- * useful if your keyboard/keypad is missing keys and you want magic key support.
- *
- */
-
-/* control how magic key switches layers */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
-
-/* override magic key keymap */
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
-//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
-//#define MAGIC_KEY_HELP1 H
-//#define MAGIC_KEY_HELP2 SLASH
-//#define MAGIC_KEY_DEBUG D
-//#define MAGIC_KEY_DEBUG_MATRIX X
-//#define MAGIC_KEY_DEBUG_KBD K
-//#define MAGIC_KEY_DEBUG_MOUSE M
-//#define MAGIC_KEY_VERSION V
-//#define MAGIC_KEY_STATUS S
-//#define MAGIC_KEY_CONSOLE C
-//#define MAGIC_KEY_LAYER0_ALT1 ESC
-//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
-//#define MAGIC_KEY_LAYER0 0
-//#define MAGIC_KEY_LAYER1 1
-//#define MAGIC_KEY_LAYER2 2
-//#define MAGIC_KEY_LAYER3 3
-//#define MAGIC_KEY_LAYER4 4
-//#define MAGIC_KEY_LAYER5 5
-//#define MAGIC_KEY_LAYER6 6
-//#define MAGIC_KEY_LAYER7 7
-//#define MAGIC_KEY_LAYER8 8
-//#define MAGIC_KEY_LAYER9 9
-//#define MAGIC_KEY_BOOTLOADER PAUSE
-//#define MAGIC_KEY_LOCK CAPS
-//#define MAGIC_KEY_EEPROM E
-//#define MAGIC_KEY_NKRO N
-//#define MAGIC_KEY_SLEEP_LED Z
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-// #ifndef NO_DEBUG
-// # define NO_DEBUG
-// #endif
-
-/* disable print */
-// #ifndef NO_PRINT
-// # define NO_PRINT
-// #endif
-
-/* Only print user print statements */
-// #define USER_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
diff --git a/keyboards/vision_division/keymaps/default/config.h b/keyboards/vision_division/keymaps/default/config.h
deleted file mode 100644
index 7af43fb6b4..0000000000
--- a/keyboards/vision_division/keymaps/default/config.h
+++ /dev/null
@@ -1,77 +0,0 @@
-#pragma once
-
-// place overrides here
-
-#include "matrix_types.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0xFEED
-#define DEVICE_VER 0x0001
-#define MANUFACTURER IBNobody
-
-#define MATRIX_ROWS 6
-#define MATRIX_ROW_PINS { C2, C3, F4, F5, F6, F7 }
-
-// !!! MAKE SURE THAT THE LEFT/RIGHT PCB DEFINES MATCH ON ALL OF THESE COLUMNS
-
-// **LEFT** **RIGHT**
-#define PRODUCT_ID GET_PID( NUMERIC_NORMAL, NUMERIC_MAX_TEENSY)
-#define MATRIX_COLS GET_MATRIX_COLS( NUMERIC_NORMAL, NUMERIC_MAX_TEENSY)
-#define MATRIX_COL_PINS GET_MATRIX_COL_PINS( NUMERIC_NORMAL, NUMERIC_MAX_TEENSY)
-
-#define LAYOUT(MATRIX_LAYER, \
- k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C, \
- k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C, \
- k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C, \
- k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, k41C, \
- k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C, \
- k601, k602, k603, k604, k605, k606, k607, k608, k609, k60A, k611, k612, k613, k614, k615, k616, k617, k618, k619, k61A, k61B, k61C \
-) \
-LAYOUT_MASTER(MATRIX_LAYER, NUMERIC_NORMAL, NUMERIC_MAX_TEENSY, \
- k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, KC_NO, KC_NO, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C, \
- k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, KC_NO, KC_NO, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C, \
- k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, KC_NO, KC_NO, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C, \
- k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, KC_NO, KC_NO, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, k41C, \
- k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, KC_NO, KC_NO, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C, \
- k601, k602, k603, k604, k605, k606, k607, k608, k609, k60A, KC_NO, KC_NO, k611, k612, k613, k614, k615, k616, k617, k618, k619, k61A, k61B, k61C \
-)
-
-// Example Keymap Macros
-
-/*
-#define LAYOUT(MATRIX_LAYER, \
- k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k10B, k10C, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C, \
- k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k20B, k20C, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C, \
- k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k30B, k30C, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C, \
- k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, k40B, k40C, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, k41C, \
- k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k50B, k50C, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C, \
- k601, k602, k603, k604, k605, k606, k607, k608, k609, k60A, k60B, k60C, k611, k612, k613, k614, k615, k616, k617, k618, k619, k61A, k61B, k61C \
-) \
-LAYOUT_MASTER(MATRIX_LAYER, NUMERIC_MAX_TEENSY, NUMERIC_MAX, \
- k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k10B, k10C, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C, \
- k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k20B, k20C, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C, \
- k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k30B, k30C, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C, \
- k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, k40B, k40C, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, k41C, \
- k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k50B, k50C, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C, \
- k601, k602, k603, k604, k605, k606, k607, k608, k609, k60A, k60B, k60C, k611, k612, k613, k614, k615, k616, k617, k618, k619, k61A, k61B, k61C \
-)
-*/
-
-/*
-#define LAYOUT(MATRIX_LAYER, \
- k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, \
- k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, \
- k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, \
- k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, \
- k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, \
- k601, k602, k603, k604, k605, k606, k607, k608, k609, k60A, k611, k612, k613, k614, k615, k616, k617, k618, k619, k61A, k61B \
-) \
-LAYOUT_MASTER(MATRIX_LAYER, NUMERIC_NORMAL, HOMING_MAX_TEENSY, \
- k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, KC_NO, KC_NO, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, KC_NO, \
- k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, KC_NO, KC_NO, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, KC_NO, \
- k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, KC_NO, KC_NO, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, KC_NO, \
- k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, KC_NO, KC_NO, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, KC_NO, \
- k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, KC_NO, KC_NO, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, KC_NO, \
- k601, k602, k603, k604, k605, k606, k607, k608, k609, k60A, KC_NO, KC_NO, k611, k612, k613, k614, k615, k616, k617, k618, k619, k61A, k61B, KC_NO \
-)
-*/
diff --git a/keyboards/vision_division/keymaps/default/keymap.c b/keyboards/vision_division/keymaps/default/keymap.c
deleted file mode 100644
index 47c00ac374..0000000000
--- a/keyboards/vision_division/keymaps/default/keymap.c
+++ /dev/null
@@ -1,367 +0,0 @@
-#include QMK_KEYBOARD_H
-#include "led.h"
-
-enum keyboard_layers {
- LAYER_QWERTY = 0,
- LAYER_UPPER,
- LAYER_LOWER,
- LAYER_FUNCTION,
- LAYER_MOUSE,
- LAYER_ADJUST,
-};
-
-enum custom_keycodes {
- M_CP_CT = SAFE_RANGE,
- M_UPPER,
- M_LOWER,
- M_MOUSE,
- TIMBR_1,
- TIMBR_2,
- TIMBR_3,
- TIMBR_4,
- TMPO_UP,
- TMPO_DN,
- TMPO_DF
-};
-
-#define SC_UNDO LCTL(KC_Z)
-#define SC_REDO LCTL(KC_Y)
-#define SC_CUT LCTL(KC_X)
-#define SC_COPY LCTL(KC_C)
-#define SC_PSTE LCTL(KC_V)
-#define SC_SELA LCTL(KC_A)
-#define SC_SAVE LCTL(KC_S)
-#define SC_OPEN LCTL(KC_O)
-#define SC_ACLS LALT(KC_F4)
-#define SC_CCLS LCTL(KC_F4)
-
-#define OS_SHFT OSM(MOD_LSFT)
-
-#define ________________ _______, _______
-#define XXXXXXXXXXXXXXXX XXXXXXX, XXXXXXX
-
-const matrix_row_t matrix_mask[MATRIX_ROWS] =
-{
-// 1098765432109876543210987654321
- 0b0000000001111111101111011111111,
- 0b0000000001111111111111111111111,
- 0b0000000001111111111111111111111,
- 0b0000000001111111111111111111111,
- 0b0000000001010111111111111111111,
- 0b0000000001111101111111101011111,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] =
-{
-/* LAYER = LAYER_QWERTY
- .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
- | VOL DN | MUTE | VOL UP | BACKLT | | F1 | F2 | F3 | F4 | XXXXXX | F5 | F6 | F7 | F8 | XXXXXX | F9 | F10 | F11 | F12 | | PRINT | SCR LK | PAUSE | FN |
- '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
- .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
- | NUM LK | KP / | KP * | KP - | | ESC | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | = | BACKSP | | INS | HOME | PG UP | XXXXXX |
- |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
- | KP 7 | KP 8 | KP 9 | KP + | | TAB | TAB | Q | W | E | R | T | Y | U | I | O | P | - | \ | | DEL | END | PG DN | XXXXXX |
- |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
- | KP 4 | KP 5 | KP 6 | KP + | | CAP LK | BACKSP | A | S | D | F | G | H | J | K | L | ; | ' | ENTER | o | CP/CT | UNDO | PASTE | XXXXXX |
- |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
- | KP 1 | KP 2 | KP 3 | KP Ent | | LSHIFT | LSHIFT | Z | X | C | V | B | N | M | , | . | / | RSHIFT | RSHIFT | | XXXXXX | UP | XXXXXX | XXXXXX |
- |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
- | KP 0 | KP , | KP . | KP Ent | | LCTRL | XXXXXX | LWIN | XXXXXX | LALT | UPPER | SPACE . SPACE | LOWER | OSHIFT | RALT | APP | XXXXXX | RCTRL | | LEFT | DOWN | RIGHT | XXXXXX |
- '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
-*/
-KEYMAP(LAYER_QWERTY, \
- KC_VOLD, KC_MUTE, KC_VOLU, BL_STEP, KC_F1 , KC_F2 , KC_F3 , KC_F4 , XXXXXXX, KC_F5 , KC_F6 , KC_F7 , KC_F8 , XXXXXXX, KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PSCR, KC_SLCK, KC_PAUS, XXXXXXX , \
- KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, KC_ESC , KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_EQL , KC_BSPC, KC_INS , KC_HOME, KC_PGUP, XXXXXXX , \
- KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, KC_TAB , 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_BSLS, KC_DEL , KC_END , KC_PGDN, XXXXXXX , \
- KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, KC_CAPS, KC_BSPC, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , M_CP_CT, SC_UNDO, SC_PSTE, XXXXXXX , \
- KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, KC_LSFT, KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_RSFT, XXXXXXX, KC_UP , XXXXXXX, XXXXXXX , \
- KC_KP_0, KC_PCMM, KC_PDOT, KC_PENT, KC_LCTL, XXXXXXX, KC_LGUI, XXXXXXX, KC_LALT, M_UPPER, KC_SPC , KC_SPC , M_LOWER, OS_SHFT, KC_RALT, KC_APP , XXXXXXX, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX \
-),
-/* LAYER = LAYER_LOWER
- .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
- | ______ | ______ | ______ | ______ | | F13 | F14 | F15 | F16 | XXXXXX | F17 | F18 | F19 | F20 | XXXXXX | F21 | F22 | F23 | F24 | | ______ | ______ | ______ | ______ |
- '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
- .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
- | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ |
- |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
- | ______ | ______ | ______ | ______ | | ______ | ______ | $ | { | [ | ( | % | # | ) | ] | } | @ | ______ | ______ | | ______ | ______ | ______ | ______ |
- |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
- | ______ | ______ | ______ | ______ | | ______ | ______ | ^ | * | + | - | / | \ | _ | ' | " | ` | ______ | ______ | o | ______ | ______ | ______ | ______ |
- |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
- | ______ | ______ | ______ | ______ | | ______ | ______ | | | & | ! | ~ | ; | : | = | < | > | ? | ______ | ______ | | ______ | ______ | ______ | ______ |
- |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
- | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ . ______ | LOWER | ______ | ______ | ______ | XXXXXX | ______ | | ______ | ______ | ______ | ______ |
- '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
-*/
-KEYMAP(LAYER_LOWER, \
- _______, _______, _______, _______, KC_F13 , KC_F14 , KC_F15 , KC_F16 , XXXXXXX, KC_F17 , KC_F18 , KC_F19 , KC_F20 , XXXXXXX, KC_F21 , KC_F22 , KC_F23 , KC_F24 , _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, KC_DLR , KC_LCBR, KC_LBRC, KC_LPRN, KC_PERC, KC_HASH, KC_RPRN, KC_RBRC, KC_RCBR, KC_AT , _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, KC_CIRC, KC_ASTR, KC_PLUS, KC_MINS, KC_SLSH, KC_BSLS, KC_UNDS, KC_QUOT, KC_DQT , KC_GRV , _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, KC_PIPE, KC_AMPR, KC_EXLM, KC_TILD, KC_SCLN, KC_COLN, KC_EQL , KC_LT , KC_GT , KC_QUES, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, M_LOWER, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______ \
-),
-/* LAYER = LAYER_UPPER
- .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
- | ______ | ______ | ______ | ______ | | F13 | F14 | F15 | F16 | XXXXXX | F17 | F18 | F19 | F20 | XXXXXX | F21 | F22 | F23 | F24 | | ______ | ______ | ______ | ______ |
- '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
- .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
- | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ |
- |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
- | ______ | ______ | ______ | ______ | | ______ | ______ | F1 | F2 | F3 | F4 | NUM LK | KP / | KP 7 | KP 8 | KP 9 | KP - | ______ | ______ | | ______ | ______ | ______ | ______ |
- |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
- | ______ | ______ | ______ | ______ | | ______ | ______ | F5 | F6 | F7 | F8 | CAP LK | KP * | KP 4 | KP 5 | KP 6 | KP + | ______ | ______ | o | ______ | ______ | ______ | ______ |
- |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
- | ______ | ______ | ______ | ______ | | ______ | ______ | F9 | F10 | F11 | F12 | SCR LK | KP 0 | KP 1 | KP 2 | KP 3 | KP Ent | ______ | ______ | | ______ | ______ | ______ | ______ |
- |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
- | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | UPPER | KP 0 . KP 0 | ______ | RALT | KP . | KP Ent | XXXXXX | ______ | | ______ | ______ | ______ | ______ |
- '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
-*/
-KEYMAP(LAYER_UPPER, \
- _______, _______, _______, _______, KC_F13 , KC_F14 , KC_F15 , KC_F16 , XXXXXXX, KC_F17 , KC_F18 , KC_F19 , KC_F20 , XXXXXXX, KC_F21 , KC_F22 , KC_F23 , KC_F24 , _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_NLCK, KC_PSLS, KC_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_CAPS, KC_PAST, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_SLCK, KC_KP_0, KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, M_UPPER, KC_KP_0, KC_KP_0, _______, KC_RALT, KC_PDOT, KC_PENT, XXXXXXX, _______, _______, _______, _______, _______ \
-),
-/* LAYER = LAYER_MOUSE
- .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
- | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ |
- '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
- .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
- | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | MS AC0 | MS WHU | MS AC2 | MS BT1 |
- |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
- | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | MS WHL | MS WHD | MS WHU | MS BT2 |
- |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
- | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | o | MS BT1 | MS BT2 | MS BT3 | MS BT3 |
- |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
- | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | ______ | | XXXXXX | MS U | XXXXXX | MS BT4 |
- |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
- | ______ | ______ | ______ | ______ | | ______ | ______ | ______ | ______ | ______ | ______ | ______ . ______ | ______ | ______ | ______ | ______ | ______ | ______ | | MS L | MS D | MS R | MS BT5 |
- '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
-*/
-KEYMAP(LAYER_MOUSE, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ACL0, KC_WH_U, KC_ACL2, KC_BTN1, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_L, KC_WH_D, KC_WH_U, KC_BTN2, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN3, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_MS_U, XXXXXXX, KC_BTN4, \
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN5 \
-),
-/* LAYER = LAYER_ADJUST
- .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
- | VOICE- | AUDIO | VOICE+ | MUSIC | | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | | XXXXXX | XXXXXX | XXXXXX | XXXXXX |
- '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
- .-----------------------------------. .-----------------------------------------------------------------------------------------------------------------------------. .-----------------------------------.
- | XXXXXX | XXXXXX | XXXXXX | XXXXXX | | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | | XXXXXX | XXXXXX | XXXXXX | XXXXXX |
- |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
- | XXXXXX | XXXXXX | XXXXXX | XXXXXX | | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | | XXXXXX | XXXXXX | XXXXXX | XXXXXX |
- |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
- | XXXXXX | XXXXXX | XXXXXX | XXXXXX | | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | o | XXXXXX | XXXXXX | XXXXXX | XXXXXX |
- |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| o |--------|--------|--------+--------|
- | XXXXXX | XXXXXX | XXXXXX | XXXXXX | | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | RESET | XXXXXX | MOUSE | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | | XXXXXX | XXXXXX | XXXXXX | XXXXXX |
- |--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------| |--------|--------|--------+--------|
- | XXXXXX | XXXXXX | XXXXXX | XXXXXX | | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | UPPER | XXXXXX . XXXXXX | LOWER | XXXXXX | XXXXXX | XXXXXX | XXXXXX | XXXXXX | | XXXXXX | XXXXXX | XXXXXX | XXXXXX |
- '-----------------------------------' '-----------------------------------------------------------------------------------------------------------------------------' '-----------------------------------'
-*/
-KEYMAP(LAYER_ADJUST, \
- MUV_DE , AU_TOG , MUV_IN , MU_TOG , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET , XXXXXXX, M_MOUSE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, M_UPPER, XXXXXXX, XXXXXXX, M_LOWER, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX \
-),
-};
-
-#ifdef AUDIO_ENABLE
-
-float tone_my_startup[][2] = SONG(ODE_TO_JOY);
-float tone_my_goodbye[][2] = SONG(ROCK_A_BYE_BABY);
-
-float tone_qwerty[][2] = SONG(QWERTY_SOUND);
-float tone_dvorak[][2] = SONG(DVORAK_SOUND);
-float tone_colemak[][2] = SONG(COLEMAK_SOUND);
-
-float tone_audio_on[][2] = SONG(CLOSE_ENCOUNTERS_5_NOTE);
-float tone_music_on[][2] = SONG(DOE_A_DEER);
-float music_scale[][2] = SONG(MUSIC_SCALE_SOUND);
-
-float tone_caps_on[][2] = SONG(CAPS_LOCK_ON_SOUND);
-float tone_caps_off[][2] = SONG(CAPS_LOCK_OFF_SOUND);
-float tone_numlk_on[][2] = SONG(NUM_LOCK_ON_SOUND);
-float tone_numlk_off[][2] = SONG(NUM_LOCK_OFF_SOUND);
-float tone_scroll_on[][2] = SONG(SCROLL_LOCK_ON_SOUND);
-float tone_scroll_off[][2] = SONG(SCROLL_LOCK_OFF_SOUND);
-
-#endif /* AUDIO_ENABLE */
-
-void persistent_default_layer_set(uint16_t default_layer)
-{
- eeconfig_update_default_layer(default_layer);
- default_layer_set(default_layer);
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch(keycode) {
- case M_CP_CT:
- if (record->event.pressed) {
- register_code(KC_LCTL);
- if (record->tap.count == 1) {
- register_code(KC_C);
- unregister_code(KC_C);
- } else if (record->tap.count == 2) {
- register_code(KC_X);
- unregister_code(KC_X);
- }
- unregister_code(KC_LCTL);
- }
- return false;
-
- case M_UPPER:
- if (record->event.pressed) {
- layer_on(LAYER_UPPER);
- breathing_period_set(2);
- breathing_pulse();
- update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
- } else {
- layer_off(LAYER_UPPER);
- update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
- }
- return false;
-
- case M_LOWER:
- if (record->event.pressed) {
- layer_on(LAYER_LOWER);
- breathing_period_set(2);
- breathing_pulse();
- update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
- } else {
- layer_off(LAYER_LOWER);
- update_tri_layer(LAYER_LOWER, LAYER_UPPER, LAYER_ADJUST);
- }
- return false;
-
-#ifdef MOUSEKEY_ENABLE
- case M_MOUSE:
- if (record->event.pressed) {
- layer_invert(LAYER_MOUSE);
- }
- return false;
-#endif /* MOUSEKEY_ENABLE */
-
-#ifdef AUDIO_ENABLE
- case TIMBR_1:
- if (record->event.pressed) set_timbre(TIMBRE_12);
- return false;
- case TIMBR_2:
- if (record->event.pressed) set_timbre(TIMBRE_25);
- return false;
- case TIMBR_3:
- if (record->event.pressed) set_timbre(TIMBRE_50);
- return false;
- case TIMBR_4:
- if (record->event.pressed) set_timbre(TIMBRE_75);
- return false;
- case TMPO_UP:
- if (record->event.pressed) increase_tempo(10);
- return false;
- case TMPO_DN:
- if (record->event.pressed) decrease_tempo(10);
- return false;
- case TMPO_DF:
- if (record->event.pressed) {
- set_timbre(TIMBRE_DEFAULT);
- set_tempo(TEMPO_DEFAULT);
- }
- return false;
-#endif /* AUDIO_ENABLE */
-
- default:
- return true;
- }
- return true;
-};
-
-#ifdef AUDIO_ENABLE
-
-void matrix_init_user(void)
-{
- set_voice(default_voice);
- startup_user();
- println("Matrix Init");
-}
-
-void led_set_user(uint8_t usb_led)
-{
- static uint8_t old_usb_led = 0;
-
- _delay_ms(10); // gets rid of tick
-
- if (!is_playing_notes())
- {
- if ((usb_led & (1<<USB_LED_CAPS_LOCK)) && !(old_usb_led & (1<<USB_LED_CAPS_LOCK)))
- {
- // If CAPS LK LED is turning on...
- PLAY_SONG(tone_caps_on);
- }
- else if (!(usb_led & (1<<USB_LED_CAPS_LOCK)) && (old_usb_led & (1<<USB_LED_CAPS_LOCK)))
- {
- // If CAPS LK LED is turning off...
- PLAY_SONG(tone_caps_off);
- }
- else if ((usb_led & (1<<USB_LED_NUM_LOCK)) && !(old_usb_led & (1<<USB_LED_NUM_LOCK)))
- {
- // If NUM LK LED is turning on...
- PLAY_SONG(tone_numlk_on);
- }
- else if (!(usb_led & (1<<USB_LED_NUM_LOCK)) && (old_usb_led & (1<<USB_LED_NUM_LOCK)))
- {
- // If NUM LED is turning off...
- PLAY_SONG(tone_numlk_off);
- }
- else if ((usb_led & (1<<USB_LED_SCROLL_LOCK)) && !(old_usb_led & (1<<USB_LED_SCROLL_LOCK)))
- {
- // If SCROLL LK LED is turning on...
- PLAY_SONG(tone_scroll_on);
- }
- else if (!(usb_led & (1<<USB_LED_SCROLL_LOCK)) && (old_usb_led & (1<<USB_LED_SCROLL_LOCK)))
- {
- // If SCROLL LED is turning off...
- PLAY_SONG(tone_scroll_off);
- }
- }
-
- old_usb_led = usb_led;
-}
-
-void startup_user()
-{
- _delay_ms(10); // gets rid of tick
- // PLAY_SONG(tone_my_startup);
-}
-
-void shutdown_user()
-{
- // PLAY_SONG(tone_my_goodbye);
- _delay_ms(2000);
- stop_all_notes();
-}
-
-void audio_on_user(void)
-{
- PLAY_SONG(tone_audio_on);
-}
-
-void music_on_user(void)
-{
- PLAY_SONG(tone_music_on);
-}
-
-void music_scale_user(void)
-{
- PLAY_SONG(music_scale);
-}
-
-#endif /* AUDIO_ENABLE */
diff --git a/keyboards/vision_division/keymaps/default/readme.md b/keyboards/vision_division/keymaps/default/readme.md
deleted file mode 100644
index bb0ed38622..0000000000
--- a/keyboards/vision_division/keymaps/default/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-# The default keymap for vision_division \ No newline at end of file
diff --git a/keyboards/vision_division/matrix_types.h b/keyboards/vision_division/matrix_types.h
deleted file mode 100644
index 460545ab09..0000000000
--- a/keyboards/vision_division/matrix_types.h
+++ /dev/null
@@ -1,168 +0,0 @@
-#ifndef MATRIX_TYPES_H
-#define MATRIX_TYPES_H
-
-// Because the vision/division keyboard allows for multiple PCB configurations, the configuration
-// can get tricky. The PCB itself has 12 columns, but to achieve a full sized 14-column keyboard
-// with a 4-column numeric pad on the left and a 3-column homing key cluster on the right, the
-// right PCB must have its rightmost column cut off. Also either the rightmost two columns on the
-// left PCB or the leftmost two columns on the right PCB need to be cut away.
-//
-// _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
-// Left Numeric Max = 1 2 3 4 _ 5 6 7 8 9 0 A B C
-// Left Homing Max = 2 3 4 _ 5 6 7 8 9 0 A B C
-// Left Numeric Extended = 1 2 3 4 _ 5 6 7 8 9 0 A B
-// Left Homing Extended = 2 3 4 _ 5 6 7 8 9 0 A B
-// Left Numeric Normal = 1 2 3 4 _ 5 6 7 8 9 0 A
-// Left Homing Normal = 2 3 4 _ 5 6 7 8 9 0 A
-// Right Numeric Max = 1 2 3 4 5 6 7 8 _ 9 A B C
-// Right Homing Max = 1 2 3 4 5 6 7 8 _ 9 A B
-// Right Numeric Extended = 2 3 4 5 6 7 8 _ 9 A B C
-// Right Homing Extended = 2 3 4 5 6 7 8 _ 9 A B
-// Right Numeric Normal = 3 4 5 6 7 8 _ 9 A B C
-// Right Homing Normal = 3 4 5 6 7 8 _ 9 A B
-//
-//
-// A full keyboard would look like this:
-//
-// _Left_Numeric_Max__________|_Right_Homing_Normal
-// 1 2 3 4 _ 5 6 7 8 9 0 A B C|3 4 5 6 7 8 _ 9 A B
-//
-// The ideal full keyboard would use a normal and max rather than two extended because the max
-// size allows for a centered 2U space key.
-
-
-#define MATRIX_TYPE_ABSENT 0
-#define MATRIX_TYPE_NUMERIC_MAX 1
-#define MATRIX_TYPE_HOMING_MAX 2
-#define MATRIX_TYPE_NUMERIC_EXTENDED 3
-#define MATRIX_TYPE_HOMING_EXTENDED 4
-#define MATRIX_TYPE_NUMERIC_NORMAL 5
-#define MATRIX_TYPE_HOMING_NORMAL 6
-#define MATRIX_TYPE_NUMERIC_MAX_TEENSY 7
-#define MATRIX_TYPE_HOMING_MAX_TEENSY 8
-#define MATRIX_TYPE_NUMERIC_EXTENDED_TEENSY 9
-#define MATRIX_TYPE_HOMING_EXTENDED_TEENSY 10
-#define MATRIX_TYPE_NUMERIC_NORMAL_TEENSY 11
-#define MATRIX_TYPE_HOMING_NORMAL_TEENSY 12
-
-
-// Column Length
-
-#define MATRIX_COLS_ABSENT 0
-#define MATRIX_COLS_NUMERIC_MAX 12
-#define MATRIX_COLS_HOMING_MAX 11
-#define MATRIX_COLS_NUMERIC_EXTENDED 11
-#define MATRIX_COLS_HOMING_EXTENDED 10
-#define MATRIX_COLS_NUMERIC_NORMAL 10
-#define MATRIX_COLS_HOMING_NORMAL 9
-#define MATRIX_COLS_NUMERIC_MAX_TEENSY 12
-#define MATRIX_COLS_HOMING_MAX_TEENSY 11
-#define MATRIX_COLS_NUMERIC_EXTENDED_TEENSY 11
-#define MATRIX_COLS_HOMING_EXTENDED_TEENSY 10
-#define MATRIX_COLS_NUMERIC_NORMAL_TEENSY 10
-#define MATRIX_COLS_HOMING_NORMAL_TEENSY 9
-
-// Left PCB Pin assignments
-
-#define MATRIX_COL_PINS_LEFT_ABSENT
-
-#define MATRIX_COL_PINS_LEFT_NUMERIC_MAX C7, C5, C4, A7, A3, A6, A2, A5, A1, A0, A4, E6
-#define MATRIX_COL_PINS_LEFT_HOMING_MAX C5, C4, A7, A3, A6, A2, A5, A1, A0, A4, E6
-#define MATRIX_COL_PINS_LEFT_NUMERIC_EXTENDED C7, C5, C4, A7, A3, A6, A2, A5, A1, A0, A4
-#define MATRIX_COL_PINS_LEFT_HOMING_EXTENDED C5, C4, A7, A3, A6, A2, A5, A1, A0, A4
-#define MATRIX_COL_PINS_LEFT_NUMERIC_NORMAL C7, C5, C4, A7, A3, A6, A2, A5, A1, A0
-#define MATRIX_COL_PINS_LEFT_HOMING_NORMAL C5, C4, A7, A3, A6, A2, A5, A1, A0
-
-#define MATRIX_COL_PINS_LEFT_NUMERIC_MAX_TEENSY C1, C0, E1, E0, F3, F2, F1, F0, B0, B1, B2, B3
-#define MATRIX_COL_PINS_LEFT_HOMING_MAX_TEENSY C0, E1, E0, F3, F2, F1, F0, B0, B1, B2, B3
-#define MATRIX_COL_PINS_LEFT_NUMERIC_EXTENDED_TEENSY C1, C0, E1, E0, F3, F2, F1, F0, B0, B1, B2
-#define MATRIX_COL_PINS_LEFT_HOMING_EXTENDED_TEENSY C0, E1, E0, F3, F2, F1, F0, B0, B1, B2
-#define MATRIX_COL_PINS_LEFT_NUMERIC_NORMAL_TEENSY C1, C0, E1, E0, F3, F2, F1, F0, B0, B1
-#define MATRIX_COL_PINS_LEFT_HOMING_NORMAL_TEENSY C0, E1, E0, F3, F2, F1, F0, B0, B1
-
-// Right PCB Pin assignments
-
-#define MATRIX_COL_PINS_RIGHT_ABSENT
-
-#define MATRIX_COL_PINS_RIGHT_NUMERIC_MAX E6, A4, A0, A1, A5, A2, A6, A3, A7, C4, C5, C7
-#define MATRIX_COL_PINS_RIGHT_HOMING_MAX E6, A4, A0, A1, A5, A2, A6, A3, A7, C4, C5
-#define MATRIX_COL_PINS_RIGHT_NUMERIC_EXTENDED A4, A0, A1, A5, A2, A6, A3, A7, C4, C5, C7
-#define MATRIX_COL_PINS_RIGHT_HOMING_EXTENDED A4, A0, A1, A5, A2, A6, A3, A7, C4, C5
-#define MATRIX_COL_PINS_RIGHT_NUMERIC_NORMAL A0, A1, A5, A2, A6, A3, A7, C4, C5, C7
-#define MATRIX_COL_PINS_RIGHT_HOMING_NORMAL A0, A1, A5, A2, A6, A3, A7, C4, C5
-
-#define MATRIX_COL_PINS_RIGHT_NUMERIC_MAX_TEENSY B3, B2, B1, B0, F0, F1, F2, F3, E0, E1, C0, C1
-#define MATRIX_COL_PINS_RIGHT_HOMING_MAX_TEENSY B3, B2, B1, B0, F0, F1, F2, F3, E0, E1, C0
-#define MATRIX_COL_PINS_RIGHT_NUMERIC_EXTENDED_TEENSY B2, B1, B0, F0, F1, F2, F3, E0, E1, C0, C1
-#define MATRIX_COL_PINS_RIGHT_HOMING_EXTENDED_TEENSY B2, B1, B0, F0, F1, F2, F3, E0, E1, C0
-#define MATRIX_COL_PINS_RIGHT_NUMERIC_NORMAL_TEENSY B1, B0, F0, F1, F2, F3, E0, E1, C0, C1
-#define MATRIX_COL_PINS_RIGHT_HOMING_NORMAL_TEENSY B1, B0, F0, F1, F2, F3, E0, E1, C0
-
-// Fetch Macros
-
-#define GET_PID(LEFT_TYPE, RIGHT_TYPE) ( ( ( MATRIX_TYPE_ ## LEFT_TYPE ) << 8 ) + ( MATRIX_TYPE_ ## RIGHT_TYPE ) )
-#define GET_MATRIX_COL(TYPE) MATRIX_COLS_ ## TYPE
-#define GET_MATRIX_COLS(LEFT_TYPE, RIGHT_TYPE) ( ( GET_MATRIX_COL(LEFT_TYPE) ) + ( GET_MATRIX_COL(RIGHT_TYPE) ) )
-#define GET_MATRIX_COL_PINS(LEFT_TYPE, RIGHT_TYPE) { MATRIX_COL_PINS_LEFT_ ## LEFT_TYPE, MATRIX_COL_PINS_RIGHT_ ## RIGHT_TYPE }
-
-// Specialized Row Macros
-
-#define LAYOUT_ROW_LEFT_ABSENT( k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)
-
-#define LAYOUT_ROW_LEFT_NUMERIC_MAX( k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C) k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C
-#define LAYOUT_ROW_LEFT_HOMING_MAX( k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C) k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C
-#define LAYOUT_ROW_LEFT_NUMERIC_EXTENDED( k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C) k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B
-#define LAYOUT_ROW_LEFT_HOMING_EXTENDED( k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C) k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B
-#define LAYOUT_ROW_LEFT_NUMERIC_NORMAL( k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C) k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A
-#define LAYOUT_ROW_LEFT_HOMING_NORMAL( k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C) k02, k03, k04, k05, k06, k07, k08, k09, k0A
-#define LAYOUT_ROW_LEFT_NUMERIC_MAX_TEENSY( k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C) k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C
-#define LAYOUT_ROW_LEFT_HOMING_MAX_TEENSY( k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C) k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C
-#define LAYOUT_ROW_LEFT_NUMERIC_EXTENDED_TEENSY( k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C) k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B
-#define LAYOUT_ROW_LEFT_HOMING_EXTENDED_TEENSY( k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C) k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B
-#define LAYOUT_ROW_LEFT_NUMERIC_NORMAL_TEENSY( k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C) k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A
-#define LAYOUT_ROW_LEFT_HOMING_NORMAL_TEENSY( k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C) k02, k03, k04, k05, k06, k07, k08, k09, k0A
-
-#define LAYOUT_ROW_RIGHT_ABSENT( k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C)
-
-#define LAYOUT_ROW_RIGHT_NUMERIC_MAX( k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C) k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C
-#define LAYOUT_ROW_RIGHT_HOMING_MAX( k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C) k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B
-#define LAYOUT_ROW_RIGHT_NUMERIC_EXTENDED( k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C) k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C
-#define LAYOUT_ROW_RIGHT_HOMING_EXTENDED( k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C) k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B
-#define LAYOUT_ROW_RIGHT_NUMERIC_NORMAL( k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C) k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C
-#define LAYOUT_ROW_RIGHT_HOMING_NORMAL( k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C) k03, k04, k05, k06, k07, k08, k09, k0A, k0B
-#define LAYOUT_ROW_RIGHT_NUMERIC_MAX_TEENSY( k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C) k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C
-#define LAYOUT_ROW_RIGHT_HOMING_MAX_TEENSY( k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C) k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B
-#define LAYOUT_ROW_RIGHT_NUMERIC_EXTENDED_TEENSY( k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C) k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C
-#define LAYOUT_ROW_RIGHT_HOMING_EXTENDED_TEENSY( k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C) k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B
-#define LAYOUT_ROW_RIGHT_NUMERIC_NORMAL_TEENSY( k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C) k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C
-#define LAYOUT_ROW_RIGHT_HOMING_NORMAL_TEENSY( k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C) k03, k04, k05, k06, k07, k08, k09, k0A, k0B
-
-// Changable Row Macro
-
-#define _LAYOUT_ROW( _LEFT_TYPE, _RIGHT_TYPE, \
- k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C, k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C \
-) \
-LAYOUT_ROW_LEFT_ ## _LEFT_TYPE( k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C ), \
-LAYOUT_ROW_RIGHT_ ## _RIGHT_TYPE( k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C )
-
-// Changable Master Macro
-
-#define LAYOUT_MASTER(_MATRIX_LAYER, _LEFT_TYPE, _RIGHT_TYPE, \
- k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C, k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C, \
- k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k10B, k10C, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C, \
- k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k20B, k20C, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C, \
- k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k30B, k30C, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C, \
- k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, k40B, k40C, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, k41C, \
- k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k50B, k50C, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C \
-) \
-[_MATRIX_LAYER] = { \
- { _LAYOUT_ROW( _LEFT_TYPE, _RIGHT_TYPE, k001, k002, k003, k004, k005, k006, k007, k008, k009, k00A, k00B, k00C, k011, k012, k013, k014, k015, k016, k017, k018, k019, k01A, k01B, k01C ) },\
- { _LAYOUT_ROW( _LEFT_TYPE, _RIGHT_TYPE, k101, k102, k103, k104, k105, k106, k107, k108, k109, k10A, k10B, k10C, k111, k112, k113, k114, k115, k116, k117, k118, k119, k11A, k11B, k11C ) },\
- { _LAYOUT_ROW( _LEFT_TYPE, _RIGHT_TYPE, k201, k202, k203, k204, k205, k206, k207, k208, k209, k20A, k20B, k20C, k211, k212, k213, k214, k215, k216, k217, k218, k219, k21A, k21B, k21C ) },\
- { _LAYOUT_ROW( _LEFT_TYPE, _RIGHT_TYPE, k301, k302, k303, k304, k305, k306, k307, k308, k309, k30A, k30B, k30C, k311, k312, k313, k314, k315, k316, k317, k318, k319, k31A, k31B, k31C ) },\
- { _LAYOUT_ROW( _LEFT_TYPE, _RIGHT_TYPE, k401, k402, k403, k404, k405, k406, k407, k408, k409, k40A, k40B, k40C, k411, k412, k413, k414, k415, k416, k417, k418, k419, k41A, k41B, k41C ) },\
- { _LAYOUT_ROW( _LEFT_TYPE, _RIGHT_TYPE, k501, k502, k503, k504, k505, k506, k507, k508, k509, k50A, k50B, k50C, k511, k512, k513, k514, k515, k516, k517, k518, k519, k51A, k51B, k51C ) },\
-}
-
-
-#endif // MATRIX_TYPES_H
diff --git a/keyboards/vision_division/readme.md b/keyboards/vision_division/readme.md
deleted file mode 100644
index 72fdb95424..0000000000
--- a/keyboards/vision_division/readme.md
+++ /dev/null
@@ -1,14 +0,0 @@
-Vision Division
-===============
-
-Full Size / Split Linear Keyboard PCB
-
-Keyboard Maintainer: QMK Community
-Hardware Supported: Vision Division PCB
-Hardware Availability: https://geekhack.org/index.php?topic=83692.msg2227856#msg2227856
-
-Make example for this keyboard (after setting up your build environment):
-
- make vision_division: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/vision_division/rules.mk b/keyboards/vision_division/rules.mk
deleted file mode 100644
index b92464285f..0000000000
--- a/keyboards/vision_division/rules.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# MCU name
-MCU = at90usb1286
-
-# Bootloader selection
-# Teensy halfkay
-# Pro Micro caterina
-# Atmel DFU atmel-dfu
-# LUFA DFU lufa-dfu
-# QMK DFU qmk-dfu
-# ATmega32A bootloadHID
-# ATmega328P USBasp
-BOOTLOADER = halfkay
-
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes # USB Nkey Rollover
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default
-MIDI_ENABLE = no # MIDI controls
-UNICODE_ENABLE = no # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/vision_division/vision_division.c b/keyboards/vision_division/vision_division.c
deleted file mode 100644
index a0e0f449c4..0000000000
--- a/keyboards/vision_division/vision_division.c
+++ /dev/null
@@ -1,68 +0,0 @@
-#include "vision_division.h"
-
-void matrix_init_kb(void) {
- // put your keyboard start-up code here
- // runs once when the firmware starts up
-
- matrix_init_user();
-}
-
-void matrix_scan_kb(void) {
- // put your looping keyboard code here
- // runs every cycle (a lot)
-
- matrix_scan_user();
-}
-
-bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
- // put your per-action keyboard code here
- // runs for every action, just before processing by the firmware
-
- return process_record_user(keycode, record);
-}
-
-void led_set_kb(uint8_t usb_led) {
- // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
-
- if (usb_led & (1 << USB_LED_CAPS_LOCK))
- {
- // HI
- DDRD |= (1<<4);
- PORTD |= (1<<4);
- }
- else
- {
- // Hi-Z
- DDRD &= ~(1<<4);
- PORTD &= ~(1<<4);
- }
-
- if (usb_led & (1 << USB_LED_NUM_LOCK))
- {
- // HI
- DDRD |= (1<<5);
- PORTD |= (1<<5);
- }
- else
- {
- // Hi-Z
- DDRD &= ~(1<<5);
- PORTD &= ~(1<<5);
- }
-
- if (usb_led & (1 << USB_LED_SCROLL_LOCK))
- {
- // HI
- DDRD |= (1<<6);
- PORTD |= (1<<6);
- }
- else
- {
- // Hi-Z
- DDRD &= ~(1<<6);
- PORTD &= ~(1<<6);
- }
-
- led_set_user(usb_led);
-}
-
diff --git a/keyboards/vision_division/vision_division.h b/keyboards/vision_division/vision_division.h
deleted file mode 100644
index a1f3195e9e..0000000000
--- a/keyboards/vision_division/vision_division.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef VISION_DIVISION_H
-#define VISION_DIVISION_H
-
-#include "quantum.h"
-
-#endif
diff --git a/keyboards/vitamins_included/config.h b/keyboards/vitamins_included/config.h
index 019ca94919..9939167315 100644
--- a/keyboards/vitamins_included/config.h
+++ b/keyboards/vitamins_included/config.h
@@ -26,16 +26,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define PRODUCT Vitamins included
#include "config_common.h"
-
-#ifndef NO_ACTION_MACRO
- #define NO_ACTION_MACRO
-#endif
-#ifndef NO_ACTION_FUNCTION
- #define NO_ACTION_FUNCTION
-#endif
-#ifndef NO_DEBUG
- #define NO_DEBUG
-#endif // !NO_DEBUG
-#if !defined(NO_PRINT) && !defined(CONSOLE_ENABLE)
- #define NO_PRINT
-#endif // !NO_PRINT
diff --git a/keyboards/ergodox_infinity/led.c b/keyboards/vitamins_included/keymaps/via/config.h
index 0b50247d7a..847858e126 100644
--- a/keyboards/ergodox_infinity/led.c
+++ b/keyboards/vitamins_included/keymaps/via/config.h
@@ -1,5 +1,7 @@
/*
Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+Copyright 2019 Mikkel Jeppesen
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -15,12 +17,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/>.
*/
-#include <hal.h>
+#pragma once
-#include "led.h"
-
-
-void led_set(uint8_t usb_led) {
- //TODO: Add led emulation if there's no customized visualization
- (void)usb_led;
-}
+# define NO_MUSIC_MODE
diff --git a/keyboards/vitamins_included/keymaps/via/rules.mk b/keyboards/vitamins_included/keymaps/via/rules.mk
index 036bd6d1c3..1e5b99807c 100644
--- a/keyboards/vitamins_included/keymaps/via/rules.mk
+++ b/keyboards/vitamins_included/keymaps/via/rules.mk
@@ -1 +1 @@
-VIA_ENABLE = yes \ No newline at end of file
+VIA_ENABLE = yes
diff --git a/keyboards/vitamins_included/rev2/config.h b/keyboards/vitamins_included/rev2/config.h
index 8bf640f0bb..bab387ce68 100644
--- a/keyboards/vitamins_included/rev2/config.h
+++ b/keyboards/vitamins_included/rev2/config.h
@@ -47,11 +47,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
/* ws2812 RGB LED */
#define RGB_DI_PIN F0
@@ -61,7 +56,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Audio settings */
#ifdef AUDIO_ENABLE
- #define AUDIO_PIN C6 // Define this to enable the buzzer
+# define AUDIO_PIN C6 // Define this to enable the buzzer
#endif
#define QMK_ESC_OUTPUT F1 // usually COL
diff --git a/keyboards/waldo/rules.mk b/keyboards/waldo/rules.mk
index db9db239d3..eae81d9bbc 100644
--- a/keyboards/waldo/rules.mk
+++ b/keyboards/waldo/rules.mk
@@ -27,7 +27,6 @@ AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/keymap.c b/keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/keymap.c
index 2d7bf2a5e2..c0df375a77 100644
--- a/keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/keymap.c
+++ b/keyboards/westfoxtrot/cypher/rev1/keymaps/kwer/keymap.c
@@ -28,14 +28,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_DL] = LAYOUT_iso (
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, DE_SS, DE_ACUT, KC_BSPC, _______, KC_NLCK, KC_PSCR,KC_PSLS,KC_PAST,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UE, DE_PLUS, KC_P7, KC_P8, KC_P9, KC_PMNS,
- SPECIAL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_OE, DE_AE, DE_HASH, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_LSFT, DE_LESS, DE_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, DE_MINS, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UDIA, DE_PLUS, KC_P7, KC_P8, KC_P9, KC_PMNS,
+ SPECIAL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_ODIA,DE_ADIA, DE_HASH, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
+ KC_LSFT, DE_LABK, DE_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, DE_MINS, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
KC_LCTL, _______, KC_LALT, KC_SPC, _______, KC_RALT, TG(_LE), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_NO
),
[_FN] = LAYOUT_iso (
- DE_RING, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______, _______, _______, _______,
+ DE_DEG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______, _______, _______, _______,
_______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/whitefox/config.h b/keyboards/whitefox/config.h
index 4d7a460d26..1cdac01d07 100644
--- a/keyboards/whitefox/config.h
+++ b/keyboards/whitefox/config.h
@@ -62,6 +62,20 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define LED_BRIGHTNESS_LO 100
#define LED_BRIGHTNESS_HI 255
+/* LED matrix driver */
+#define LED_DRIVER_ADDR_1 0x74
+#define LED_DRIVER_COUNT 1
+#define DRIVER_LED_TOTAL 71
+#define LED_DISABLE_WHEN_USB_SUSPENDED
+
+/* i2c (for LED matrix) */
+#define I2C1_CLOCK_SPEED 400000
+#define I2C1_SCL_PAL_MODE PAL_MODE_ALTERNATIVE_2
+#define I2C1_SDA_PAL_MODE PAL_MODE_ALTERNATIVE_2
+#define I2C1_BANK GPIOB
+#define I2C1_SCL 0
+#define I2C1_SDA 1
+
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
* This is useful for the Windows task manager shortcut (ctrl+shift+esc).
*/
diff --git a/keyboards/whitefox/keymaps/kim-kim/keymap.c b/keyboards/whitefox/keymaps/kim-kim/keymap.c
index a254067582..baaa136873 100644
--- a/keyboards/whitefox/keymaps/kim-kim/keymap.c
+++ b/keyboards/whitefox/keymaps/kim-kim/keymap.c
@@ -51,18 +51,3 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______,_______,_______, _______, _______,_______,_______, KC_HOME,_______,KC_END \
),
};
-
-/* Give numbers some descriptive names */
-#define ACTION_LEDS_ALL 1
-#define ACTION_LEDS_GAME 2
-
-const uint16_t fn_actions[] = {
- [2] = ACTION_FUNCTION(ACTION_LEDS_ALL),
- [3] = ACTION_FUNCTION(ACTION_LEDS_GAME),
-
- [4] = ACTION_USAGE_CONSUMER(0x1B4),
- [5] = ACTION_USAGE_CONSUMER(0x196),
- [6] = ACTION_USAGE_CONSUMER(0x1A6),
- [7] = ACTION_USAGE_CONSUMER(0x1A0),
-
-};
diff --git a/keyboards/whitefox/keymaps/matt3o/keymap.c b/keyboards/whitefox/keymaps/matt3o/keymap.c
index f6987fe1aa..bb84196684 100644
--- a/keyboards/whitefox/keymaps/matt3o/keymap.c
+++ b/keyboards/whitefox/keymaps/matt3o/keymap.c
@@ -16,6 +16,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
+enum custom_keycodes {
+ AL_FILE = SAFE_RANGE,
+ AL_WWW,
+ AL_HELP,
+ AL_CMD
+};
+
const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Layer 0: Default Layer
* ,---------------------------------------------------------------.
@@ -45,25 +52,44 @@ const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_HOME,KC_PGDN,KC_END \
),
[2] = LAYOUT( \
- KC_SLEP,KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_FN2, \
- KC_TRNS,KC_TRNS,KC_FN5 ,KC_FN6 ,KC_TRNS,KC_FN7 ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PSCR,KC_TRNS,KC_TRNS,KC_TRNS, KC_FN3, \
- KC_CAPS,KC_TRNS,KC_TRNS,KC_TRNS,KC_FN4 ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,\
+ KC_SLEP,KC_P1, KC_P2, KC_P3, KC_P4, KC_P5, KC_P6, KC_P7, KC_P8, KC_P9, KC_P0, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_NO, \
+ KC_TRNS,KC_TRNS,AL_WWW ,AL_HELP ,KC_TRNS,AL_CMD ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PSCR,KC_TRNS,KC_TRNS,KC_TRNS, KC_NO, \
+ KC_CAPS,KC_TRNS,KC_TRNS,KC_TRNS,AL_FILE ,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,\
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_CALC,KC_TRNS,KC_TRNS,KC_TRNS,KC_MAIL,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,\
KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS \
),
};
-/* Give numbers some descriptive names */
-#define ACTION_LEDS_ALL 1
-#define ACTION_LEDS_GAME 2
-
-const uint16_t fn_actions[] = {
- [2] = ACTION_FUNCTION(ACTION_LEDS_ALL),
- [3] = ACTION_FUNCTION(ACTION_LEDS_GAME),
-
- [4] = ACTION_USAGE_CONSUMER(0x1B4),
- [5] = ACTION_USAGE_CONSUMER(0x196),
- [6] = ACTION_USAGE_CONSUMER(0x1A6),
- [7] = ACTION_USAGE_CONSUMER(0x1A0),
-
-};
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case AL_FILE:
+ if (record->event.pressed) {
+ host_consumer_send(0x1B4); // AL File Browser
+ } else {
+ host_consumer_send(0);
+ }
+ return false;
+ case AL_WWW:
+ if (record->event.pressed) {
+ host_consumer_send(0x196); // AL Internet Browser
+ } else {
+ host_consumer_send(0);
+ }
+ return false;
+ case AL_HELP:
+ if (record->event.pressed) {
+ host_consumer_send(0x1A6); // AL Integrated Help Center
+ } else {
+ host_consumer_send(0);
+ }
+ return false;
+ case AL_CMD:
+ if (record->event.pressed) {
+ host_consumer_send(0x1A0); // AL Command Line Processor/Run
+ } else {
+ host_consumer_send(0);
+ }
+ return false;
+ }
+ return true;
+}
diff --git a/keyboards/whitefox/rules.mk b/keyboards/whitefox/rules.mk
index 771804369c..7c1d0c3def 100644
--- a/keyboards/whitefox/rules.mk
+++ b/keyboards/whitefox/rules.mk
@@ -25,16 +25,12 @@ COMMAND_ENABLE = yes # Commands for debug and configuration
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = yes # USB Nkey Rollover
-BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
-BACKLIGHT_DRIVER = custom
-VISUALIZER_ENABLE = yes
-LED_DRIVER = is31fl3731c
-LED_WIDTH = 16
-LED_HEIGHT = 5
+LED_MATRIX_ENABLE = yes
+LED_MATRIX_DRIVER = IS31FL3731
LAYOUTS = 65_ansi 65_ansi_blocker 65_ansi_blocker_split_bs 65_iso 65_iso_blocker 65_iso_blocker_split_bs
diff --git a/keyboards/whitefox/whitefox.c b/keyboards/whitefox/whitefox.c
index ea083c6e09..b17af15127 100644
--- a/keyboards/whitefox/whitefox.c
+++ b/keyboards/whitefox/whitefox.c
@@ -16,3 +16,79 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "whitefox.h"
+
+#ifdef LED_MATRIX_ENABLE
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
+// The numbers in the comments are the led numbers DXX on the PCB
+/* Refer to IS31 manual for these locations
+ * driver
+ * | LED address
+ * | | */
+// 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ { 0, C1_1 }, { 0, C1_2 }, { 0, C1_3 }, { 0, C1_4 }, { 0, C1_5 }, { 0, C1_6 }, { 0, C1_7 }, { 0, C1_8 }, { 0, C2_1 }, { 0, C2_2 }, { 0, C2_3 }, { 0, C2_4 }, { 0, C2_5 }, { 0, C2_6 }, { 0, C2_7 }, { 0, C2_8 },
+// 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
+ { 0, C3_1 }, { 0, C3_2 }, { 0, C3_3 }, { 0, C3_4 }, { 0, C3_5 }, { 0, C3_6 }, { 0, C3_7 }, { 0, C3_8 }, { 0, C4_1 }, { 0, C4_2 }, { 0, C4_3 }, { 0, C4_4 }, { 0, C4_5 }, { 0, C4_6 }, { 0, C4_7 },
+// 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
+ { 0, C4_8 }, { 0, C5_1 }, { 0, C5_2 }, { 0, C5_3 }, { 0, C5_4 }, { 0, C5_5 }, { 0, C5_6 }, { 0, C5_7 }, { 0, C5_8 }, { 0, C6_1 }, { 0, C6_2 }, { 0, C6_3 }, { 0, C6_4 }, { 0, C6_5 }, { 0, C6_6 },
+// 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
+ { 0, C6_7 }, { 0, C6_8 }, { 0, C7_1 }, { 0, C7_2 }, { 0, C7_3 }, { 0, C7_4 }, { 0, C7_5 }, { 0, C7_6 }, { 0, C7_7 }, { 0, C7_8 }, { 0, C8_1 }, { 0, C8_2 }, { 0, C8_3 }, { 0, C8_4 }, { 0, C8_5 },
+// 62 63 64 65 66 67 68 69 70 71
+ { 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 keyboard_pre_init_kb(void) {
+#ifdef LED_MATRIX_ENABLE
+ // Turn on LED controller
+ setPinOutput(B16);
+ writePinHigh(B16);
+#endif
+ keyboard_pre_init_user();
+}
+
+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.
+ */
+# if !defined(LED_MATRIX_STARTUP_SPD)
+# define LED_MATRIX_STARTUP_SPD UINT8_MAX / 2
+# endif
+ led_matrix_set_speed(LED_MATRIX_STARTUP_SPD),
+ led_matrix_set_flags(LED_FLAG_ALL);
+#endif
+
+ matrix_init_user();
+}
diff --git a/keyboards/wilba_tech/rama_works_kara/rules.mk b/keyboards/wilba_tech/rama_works_kara/rules.mk
index 8af9101d35..69efcc01e7 100644
--- a/keyboards/wilba_tech/rama_works_kara/rules.mk
+++ b/keyboards/wilba_tech/rama_works_kara/rules.mk
@@ -34,5 +34,5 @@ LAYOUTS = 60_hhkb
SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
quantum/color.c \
- drivers/issi/is31fl3731.c \
+ drivers/led/issi/is31fl3731.c \
drivers/avr/i2c_master.c
diff --git a/keyboards/wilba_tech/rama_works_koyu/rules.mk b/keyboards/wilba_tech/rama_works_koyu/rules.mk
index 809ab26d0e..be95279206 100644
--- a/keyboards/wilba_tech/rama_works_koyu/rules.mk
+++ b/keyboards/wilba_tech/rama_works_koyu/rules.mk
@@ -42,5 +42,5 @@ CIE1931_CURVE = yes
SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
quantum/color.c \
- drivers/issi/is31fl3731.c \
+ drivers/led/issi/is31fl3731.c \
drivers/avr/i2c_master.c
diff --git a/keyboards/wilba_tech/rama_works_m10_c/rules.mk b/keyboards/wilba_tech/rama_works_m10_c/rules.mk
index 9f4cc186ed..ab9fdaeb61 100644
--- a/keyboards/wilba_tech/rama_works_m10_c/rules.mk
+++ b/keyboards/wilba_tech/rama_works_m10_c/rules.mk
@@ -31,5 +31,5 @@ OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
quantum/color.c \
- drivers/issi/is31fl3731.c \
+ drivers/led/issi/is31fl3731.c \
drivers/avr/i2c_master.c
diff --git a/keyboards/wilba_tech/rama_works_m50_a/rules.mk b/keyboards/wilba_tech/rama_works_m50_a/rules.mk
index 9f4cc186ed..ab9fdaeb61 100644
--- a/keyboards/wilba_tech/rama_works_m50_a/rules.mk
+++ b/keyboards/wilba_tech/rama_works_m50_a/rules.mk
@@ -31,5 +31,5 @@ OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
quantum/color.c \
- drivers/issi/is31fl3731.c \
+ drivers/led/issi/is31fl3731.c \
drivers/avr/i2c_master.c
diff --git a/keyboards/wilba_tech/rama_works_m60_a/rules.mk b/keyboards/wilba_tech/rama_works_m60_a/rules.mk
index 7e76a962a2..f44c5856ae 100644
--- a/keyboards/wilba_tech/rama_works_m60_a/rules.mk
+++ b/keyboards/wilba_tech/rama_works_m60_a/rules.mk
@@ -44,5 +44,5 @@ LAYOUTS = 60_hhkb
SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
quantum/color.c \
- drivers/issi/is31fl3731.c \
+ drivers/led/issi/is31fl3731.c \
drivers/avr/i2c_master.c
diff --git a/keyboards/wilba_tech/rama_works_m65_b/rules.mk b/keyboards/wilba_tech/rama_works_m65_b/rules.mk
index 9f4cc186ed..ab9fdaeb61 100644
--- a/keyboards/wilba_tech/rama_works_m65_b/rules.mk
+++ b/keyboards/wilba_tech/rama_works_m65_b/rules.mk
@@ -31,5 +31,5 @@ OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
quantum/color.c \
- drivers/issi/is31fl3731.c \
+ drivers/led/issi/is31fl3731.c \
drivers/avr/i2c_master.c
diff --git a/keyboards/wilba_tech/rama_works_m65_bx/rules.mk b/keyboards/wilba_tech/rama_works_m65_bx/rules.mk
index 9f4cc186ed..ab9fdaeb61 100644
--- a/keyboards/wilba_tech/rama_works_m65_bx/rules.mk
+++ b/keyboards/wilba_tech/rama_works_m65_bx/rules.mk
@@ -31,5 +31,5 @@ OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
quantum/color.c \
- drivers/issi/is31fl3731.c \
+ drivers/led/issi/is31fl3731.c \
drivers/avr/i2c_master.c
diff --git a/keyboards/wilba_tech/rama_works_m6_b/rules.mk b/keyboards/wilba_tech/rama_works_m6_b/rules.mk
index 51d1a0c805..139a968c24 100644
--- a/keyboards/wilba_tech/rama_works_m6_b/rules.mk
+++ b/keyboards/wilba_tech/rama_works_m6_b/rules.mk
@@ -41,5 +41,5 @@ CIE1931_CURVE = yes
SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
quantum/color.c \
- drivers/issi/is31fl3218.c \
+ drivers/led/issi/is31fl3218.c \
drivers/avr/i2c_master.c
diff --git a/keyboards/wilba_tech/rama_works_u80_a/rules.mk b/keyboards/wilba_tech/rama_works_u80_a/rules.mk
index 735d2a24ae..654465e683 100644
--- a/keyboards/wilba_tech/rama_works_u80_a/rules.mk
+++ b/keyboards/wilba_tech/rama_works_u80_a/rules.mk
@@ -34,5 +34,5 @@ CIE1931_CURVE = yes
SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
quantum/color.c \
- drivers/issi/is31fl3731.c \
+ drivers/led/issi/is31fl3731.c \
drivers/avr/i2c_master.c
diff --git a/keyboards/wilba_tech/wt60_a/rules.mk b/keyboards/wilba_tech/wt60_a/rules.mk
index a0f923a2f3..e892986112 100644
--- a/keyboards/wilba_tech/wt60_a/rules.mk
+++ b/keyboards/wilba_tech/wt60_a/rules.mk
@@ -30,7 +30,7 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
# project specific files
-SRC = drivers/issi/is31fl3736.c \
+SRC = drivers/led/issi/is31fl3736.c \
drivers/avr/i2c_master.c \
quantum/color.c \
keyboards/wilba_tech/wt_mono_backlight.c \
diff --git a/keyboards/wilba_tech/wt60_b/rules.mk b/keyboards/wilba_tech/wt60_b/rules.mk
index 50faab968c..e3cbad41ca 100644
--- a/keyboards/wilba_tech/wt60_b/rules.mk
+++ b/keyboards/wilba_tech/wt60_b/rules.mk
@@ -42,5 +42,5 @@ CIE1931_CURVE = yes
SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
quantum/color.c \
- drivers/issi/is31fl3731.c \
+ drivers/led/issi/is31fl3731.c \
drivers/avr/i2c_master.c
diff --git a/keyboards/wilba_tech/wt60_bx/rules.mk b/keyboards/wilba_tech/wt60_bx/rules.mk
index 50faab968c..e3cbad41ca 100644
--- a/keyboards/wilba_tech/wt60_bx/rules.mk
+++ b/keyboards/wilba_tech/wt60_bx/rules.mk
@@ -42,5 +42,5 @@ CIE1931_CURVE = yes
SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
quantum/color.c \
- drivers/issi/is31fl3731.c \
+ drivers/led/issi/is31fl3731.c \
drivers/avr/i2c_master.c
diff --git a/keyboards/wilba_tech/wt60_c/rules.mk b/keyboards/wilba_tech/wt60_c/rules.mk
index 50faab968c..e3cbad41ca 100644
--- a/keyboards/wilba_tech/wt60_c/rules.mk
+++ b/keyboards/wilba_tech/wt60_c/rules.mk
@@ -42,5 +42,5 @@ CIE1931_CURVE = yes
SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
quantum/color.c \
- drivers/issi/is31fl3731.c \
+ drivers/led/issi/is31fl3731.c \
drivers/avr/i2c_master.c
diff --git a/keyboards/wilba_tech/wt65_a/rules.mk b/keyboards/wilba_tech/wt65_a/rules.mk
index a0f923a2f3..e892986112 100644
--- a/keyboards/wilba_tech/wt65_a/rules.mk
+++ b/keyboards/wilba_tech/wt65_a/rules.mk
@@ -30,7 +30,7 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
# project specific files
-SRC = drivers/issi/is31fl3736.c \
+SRC = drivers/led/issi/is31fl3736.c \
drivers/avr/i2c_master.c \
quantum/color.c \
keyboards/wilba_tech/wt_mono_backlight.c \
diff --git a/keyboards/wilba_tech/wt65_b/rules.mk b/keyboards/wilba_tech/wt65_b/rules.mk
index a0f923a2f3..e892986112 100644
--- a/keyboards/wilba_tech/wt65_b/rules.mk
+++ b/keyboards/wilba_tech/wt65_b/rules.mk
@@ -30,7 +30,7 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
# project specific files
-SRC = drivers/issi/is31fl3736.c \
+SRC = drivers/led/issi/is31fl3736.c \
drivers/avr/i2c_master.c \
quantum/color.c \
keyboards/wilba_tech/wt_mono_backlight.c \
diff --git a/keyboards/wilba_tech/wt75_a/rules.mk b/keyboards/wilba_tech/wt75_a/rules.mk
index a0f923a2f3..e892986112 100644
--- a/keyboards/wilba_tech/wt75_a/rules.mk
+++ b/keyboards/wilba_tech/wt75_a/rules.mk
@@ -30,7 +30,7 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
# project specific files
-SRC = drivers/issi/is31fl3736.c \
+SRC = drivers/led/issi/is31fl3736.c \
drivers/avr/i2c_master.c \
quantum/color.c \
keyboards/wilba_tech/wt_mono_backlight.c \
diff --git a/keyboards/wilba_tech/wt75_b/rules.mk b/keyboards/wilba_tech/wt75_b/rules.mk
index a0f923a2f3..e892986112 100644
--- a/keyboards/wilba_tech/wt75_b/rules.mk
+++ b/keyboards/wilba_tech/wt75_b/rules.mk
@@ -30,7 +30,7 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
# project specific files
-SRC = drivers/issi/is31fl3736.c \
+SRC = drivers/led/issi/is31fl3736.c \
drivers/avr/i2c_master.c \
quantum/color.c \
keyboards/wilba_tech/wt_mono_backlight.c \
diff --git a/keyboards/wilba_tech/wt75_c/rules.mk b/keyboards/wilba_tech/wt75_c/rules.mk
index a0f923a2f3..e892986112 100644
--- a/keyboards/wilba_tech/wt75_c/rules.mk
+++ b/keyboards/wilba_tech/wt75_c/rules.mk
@@ -30,7 +30,7 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
# project specific files
-SRC = drivers/issi/is31fl3736.c \
+SRC = drivers/led/issi/is31fl3736.c \
drivers/avr/i2c_master.c \
quantum/color.c \
keyboards/wilba_tech/wt_mono_backlight.c \
diff --git a/keyboards/wilba_tech/wt80_a/rules.mk b/keyboards/wilba_tech/wt80_a/rules.mk
index a0f923a2f3..e892986112 100644
--- a/keyboards/wilba_tech/wt80_a/rules.mk
+++ b/keyboards/wilba_tech/wt80_a/rules.mk
@@ -30,7 +30,7 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
# project specific files
-SRC = drivers/issi/is31fl3736.c \
+SRC = drivers/led/issi/is31fl3736.c \
drivers/avr/i2c_master.c \
quantum/color.c \
keyboards/wilba_tech/wt_mono_backlight.c \
diff --git a/keyboards/wilba_tech/wt_mono_backlight.c b/keyboards/wilba_tech/wt_mono_backlight.c
index fbc3102e8c..310e9afd1b 100644
--- a/keyboards/wilba_tech/wt_mono_backlight.c
+++ b/keyboards/wilba_tech/wt_mono_backlight.c
@@ -33,7 +33,7 @@
#error VIA_EEPROM_CUSTOM_CONFIG_SIZE was not defined to store backlight_config struct
#endif
-#include "drivers/issi/is31fl3736.h"
+#include "drivers/led/issi/is31fl3736.h"
#define ISSI_ADDR_DEFAULT 0x50
diff --git a/keyboards/wilba_tech/wt_rgb_backlight.c b/keyboards/wilba_tech/wt_rgb_backlight.c
index e57d061b20..77613a3338 100644
--- a/keyboards/wilba_tech/wt_rgb_backlight.c
+++ b/keyboards/wilba_tech/wt_rgb_backlight.c
@@ -78,19 +78,19 @@ LED_TYPE g_ws2812_leds[WS2812_LED_TOTAL];
#endif
#if defined(RGB_BACKLIGHT_M6_B)
-#include "drivers/issi/is31fl3218.h"
+#include "drivers/led/issi/is31fl3218.h"
#define BACKLIGHT_LED_COUNT 6
#elif defined(RGB_BACKLIGHT_HS60)
-#include "drivers/issi/is31fl3733.h"
+#include "drivers/led/issi/is31fl3733.h"
#define BACKLIGHT_LED_COUNT 64
#elif defined(RGB_BACKLIGHT_NK65) || defined(RGB_BACKLIGHT_NEBULA68) || defined(RGB_BACKLIGHT_KW_MEGA)
-#include "drivers/issi/is31fl3733.h"
+#include "drivers/led/issi/is31fl3733.h"
#define BACKLIGHT_LED_COUNT 69
#elif defined(RGB_BACKLIGHT_NK87)
-#include "drivers/issi/is31fl3733.h"
+#include "drivers/led/issi/is31fl3733.h"
#define BACKLIGHT_LED_COUNT 128
#else
-#include "drivers/issi/is31fl3731.h"
+#include "drivers/led/issi/is31fl3731.h"
#if defined(RGB_BACKLIGHT_U80_A)
#define BACKLIGHT_LED_COUNT 108
#elif defined(RGB_BACKLIGHT_DAWN60)
@@ -158,7 +158,7 @@ uint32_t g_any_key_hit = 0;
// ADDR_2 is not needed. it is here as a dummy
#define ISSI_ADDR_1 0x50
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
@@ -239,7 +239,7 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
#define ISSI_ADDR_1 0x50
#define ISSI_ADDR_2 0x52
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
@@ -382,7 +382,7 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
// set to 0 for write, 1 for read (as per I2C protocol)
#define ISSI_ADDR_1 0x74
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
@@ -414,7 +414,7 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
#define ISSI_ADDR_2 0x76 // 11101[10] <- SDA
#define ISSI_ADDR_3 0x75 // 11101[01] <- SCL
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
@@ -541,7 +541,7 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
#define ISSI_ADDR_1 0x74
#define ISSI_ADDR_2 0x76
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
@@ -622,7 +622,7 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
#define ISSI_ADDR_1 0x74
#define ISSI_ADDR_2 0x77
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
@@ -709,7 +709,7 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
#define ISSI_ADDR_1 0x74
#define ISSI_ADDR_2
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{0, C1_9, C3_10, C4_10}, // LB1
{0, C1_10, C2_10, C4_11}, // LB2
{0, C1_11, C2_11, C3_11}, // LB3
@@ -729,7 +729,7 @@ const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
#define ISSI_ADDR_1 0x74
#define ISSI_ADDR_2 0x76
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/wilba_tech/zeal60/rules.mk b/keyboards/wilba_tech/zeal60/rules.mk
index 172ebaf6b5..acd1ba36d9 100644
--- a/keyboards/wilba_tech/zeal60/rules.mk
+++ b/keyboards/wilba_tech/zeal60/rules.mk
@@ -44,5 +44,5 @@ LAYOUTS = 60_ansi 60_iso 60_hhkb 60_ansi_split_bs_rshift
SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
quantum/color.c \
- drivers/issi/is31fl3731.c \
+ drivers/led/issi/is31fl3731.c \
drivers/avr/i2c_master.c
diff --git a/keyboards/wilba_tech/zeal65/rules.mk b/keyboards/wilba_tech/zeal65/rules.mk
index fcf3d07637..8c3a3772c1 100644
--- a/keyboards/wilba_tech/zeal65/rules.mk
+++ b/keyboards/wilba_tech/zeal65/rules.mk
@@ -42,5 +42,5 @@ CIE1931_CURVE = yes
SRC = keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
quantum/color.c \
- drivers/issi/is31fl3731.c \
+ drivers/led/issi/is31fl3731.c \
drivers/avr/i2c_master.c
diff --git a/keyboards/work_louder/loop/keymaps/default/keymap.c b/keyboards/work_louder/loop/keymaps/default/keymap.c
index 25ecb15a48..a2e35d9670 100644
--- a/keyboards/work_louder/loop/keymaps/default/keymap.c
+++ b/keyboards/work_louder/loop/keymaps/default/keymap.c
@@ -15,10 +15,8 @@
*/
#include QMK_KEYBOARD_H
-
-
+// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Base */
[0] = LAYOUT(
KC_MUTE, KC_MPLY, R_M_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, MO(1)
),
@@ -29,9 +27,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
RESET, _______, R_M_TOG, R_M_MOD, R_M_HUI, R_M_HUD, R_M_SAI, R_M_SAD, R_M_VAI, R_M_VAD, _______, _______
)
};
+// clang-format on
-
-// void encoder_update_user(uint8_t index, bool clockwise) {
+// bool encoder_update_user(uint8_t index, bool clockwise) {
// if (index == 0) {
// if (clockwise) {
// tap_code(KC_VOLD);
@@ -51,4 +49,5 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// rgb_matrix_step();
// }
// }
+// return false;
// }
diff --git a/keyboards/work_louder/nano/keymaps/default/keymap.c b/keyboards/work_louder/nano/keymaps/default/keymap.c
index e1b4bbcb98..d4647657e4 100644
--- a/keyboards/work_louder/nano/keymaps/default/keymap.c
+++ b/keyboards/work_louder/nano/keymaps/default/keymap.c
@@ -15,23 +15,16 @@
*/
#include QMK_KEYBOARD_H
-
-
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
- [0] = LAYOUT(
- KC_PSCR, KC_LSFT, MO(1)
- ),
- [1] = LAYOUT(
- RESET, KC_LCTL, _______
- )
-};
-
+ [0] = LAYOUT(KC_PSCR, KC_LSFT, MO(1)),
+ [1] = LAYOUT(RESET, KC_LCTL, _______)};
-// void encoder_update_user(uint8_t index, bool clockwise) {
+// bool encoder_update_user(uint8_t index, bool clockwise) {
// if (clockwise) {
// tap_code(KC_PGDN);
// } else {
// tap_code(KC_PGUP);
// }
+// return false;
// }
diff --git a/keyboards/xbows/knight/config.h b/keyboards/xbows/knight/config.h
index 540e29d4df..2b15cbbb3f 100644
--- a/keyboards/xbows/knight/config.h
+++ b/keyboards/xbows/knight/config.h
@@ -35,10 +35,11 @@
# define RGB_MATRIX_LED_PROCESS_LIMIT 18
# define RGB_MATRIX_LED_FLUSH_LIMIT 16
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_KEYPRESSES
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-# define RGB_MATRIX_CENTER { 92, 43 }
+# define RGB_MATRIX_CENTER \
+ { 92, 43 }
# define DRIVER_ADDR_1 0b1110100
# define DRIVER_ADDR_2 0b1110110
diff --git a/keyboards/xbows/knight/knight.c b/keyboards/xbows/knight/knight.c
index 1a1aebf18f..539ecb653e 100644
--- a/keyboards/xbows/knight/knight.c
+++ b/keyboards/xbows/knight/knight.c
@@ -15,7 +15,7 @@
*/
#include "knight.h"
#ifdef RGB_MATRIX_ENABLE
- const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+ const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{0, C1_3, C2_3, C3_3}, // L01
{0, C1_4, C2_4, C3_4}, // L02
diff --git a/keyboards/xbows/knight_plus/config.h b/keyboards/xbows/knight_plus/config.h
index ead345c04d..6293a6ffb1 100644
--- a/keyboards/xbows/knight_plus/config.h
+++ b/keyboards/xbows/knight_plus/config.h
@@ -36,9 +36,10 @@
# define RGB_MATRIX_LED_FLUSH_LIMIT 16
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
# define RGB_MATRIX_KEYPRESSES
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-# define RGB_MATRIX_CENTER { 92, 43 }
+# define RGB_MATRIX_CENTER \
+ { 92, 43 }
# define DRIVER_ADDR_1 0b1110100
# define DRIVER_ADDR_2 0b1110110
diff --git a/keyboards/xbows/knight_plus/knight_plus.c b/keyboards/xbows/knight_plus/knight_plus.c
index f2cf5399b6..c5dd1a5fd6 100644
--- a/keyboards/xbows/knight_plus/knight_plus.c
+++ b/keyboards/xbows/knight_plus/knight_plus.c
@@ -15,7 +15,7 @@
*/
#include "knight_plus.h"
#ifdef RGB_MATRIX_ENABLE
- const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+ const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{0, C1_3, C2_3, C3_3}, // L01
{0, C1_4, C2_4, C3_4}, // L02
diff --git a/keyboards/xbows/nature/config.h b/keyboards/xbows/nature/config.h
index c1ff793352..e321f7ee1e 100644
--- a/keyboards/xbows/nature/config.h
+++ b/keyboards/xbows/nature/config.h
@@ -35,7 +35,7 @@
# define RGB_MATRIX_LED_PROCESS_LIMIT 18
# define RGB_MATRIX_LED_FLUSH_LIMIT 16
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_KEYPRESSES
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
# define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
diff --git a/keyboards/xbows/nature/nature.c b/keyboards/xbows/nature/nature.c
index f1b0615845..b7b10d5abb 100644
--- a/keyboards/xbows/nature/nature.c
+++ b/keyboards/xbows/nature/nature.c
@@ -15,7 +15,7 @@
*/
#include "nature.h"
#ifdef RGB_MATRIX_ENABLE
- const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+ const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{0, C1_3, C2_3, C3_3}, // L01
{0, C1_4, C2_4, C3_4}, // L02
diff --git a/keyboards/xbows/numpad/config.h b/keyboards/xbows/numpad/config.h
index fd13305ed9..832da03a2c 100644
--- a/keyboards/xbows/numpad/config.h
+++ b/keyboards/xbows/numpad/config.h
@@ -35,10 +35,11 @@
# define RGB_MATRIX_LED_PROCESS_LIMIT 18
# define RGB_MATRIX_LED_FLUSH_LIMIT 16
# define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
# define RGB_MATRIX_KEYPRESSES
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-# define RGB_MATRIX_CENTER { 30, 32 }
+# define RGB_MATRIX_CENTER \
+ { 30, 32 }
# define DRIVER_ADDR_1 0b1110111
# define DRIVER_COUNT 1
diff --git a/keyboards/xbows/numpad/numpad.c b/keyboards/xbows/numpad/numpad.c
index 0ab677c769..4e05473b67 100644
--- a/keyboards/xbows/numpad/numpad.c
+++ b/keyboards/xbows/numpad/numpad.c
@@ -15,7 +15,7 @@
*/
#include "numpad.h"
#ifdef RGB_MATRIX_ENABLE
- const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+ const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{0, C3_3, C2_3, C1_3}, // L01
{0, C3_4, C2_4, C1_4}, // L02
diff --git a/keyboards/xbows/ranger/ranger.c b/keyboards/xbows/ranger/ranger.c
index f6ec79f7f6..0ba94f67d9 100644
--- a/keyboards/xbows/ranger/ranger.c
+++ b/keyboards/xbows/ranger/ranger.c
@@ -15,128 +15,129 @@
*/
#include "ranger.h"
#ifdef RGB_MATRIX_ENABLE
- const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
- {0, C3_3, C2_3, C1_3}, // L01
- {0, C3_4, C2_4, C1_4}, // L02
- {0, C3_5, C2_5, C1_5}, // L03
- {0, C3_6, C2_6, C1_6}, // L04
- {0, C3_7, C2_7, C1_7}, // L05
- {0, C3_8, C2_8, C1_8}, // L06
- {1, C3_3, C2_3, C1_3}, // L07
- {1, C3_4, C2_4, C1_4}, // L08
- {1, C3_5, C2_5, C1_5}, // L09
- {1, C3_6, C2_6, C1_6}, // L10
- {1, C3_7, C2_7, C1_7}, // L11
- {1, C3_8, C2_8, C1_8}, // L12
- {2, C3_4, C2_4, C1_4}, // L13
- {2, C3_5, C2_5, C1_5}, // L14
- {2, C3_6, C2_6, C1_6}, // L15
- {2, C3_7, C2_7, C1_7}, // L16
+ {0, C3_3, C2_3, C1_3}, // L01
+ {0, C3_4, C2_4, C1_4}, // L02
+ {0, C3_5, C2_5, C1_5}, // L03
+ {0, C3_6, C2_6, C1_6}, // L04
+ {0, C3_7, C2_7, C1_7}, // L05
+ {0, C3_8, C2_8, C1_8}, // L06
+ {1, C3_3, C2_3, C1_3}, // L07
+ {1, C3_4, C2_4, C1_4}, // L08
+ {1, C3_5, C2_5, C1_5}, // L09
+ {1, C3_6, C2_6, C1_6}, // L10
+ {1, C3_7, C2_7, C1_7}, // L11
+ {1, C3_8, C2_8, C1_8}, // L12
+ {2, C3_4, C2_4, C1_4}, // L13
+ {2, C3_5, C2_5, C1_5}, // L14
+ {2, C3_6, C2_6, C1_6}, // L15
+ {2, C3_7, C2_7, C1_7}, // L16
- {0, C6_1, C5_1, C4_1}, // L17
- {0, C6_2, C5_2, C4_2}, // L18
- {0, C6_3, C5_3, C4_3}, // L19
- {0, C6_6, C5_6, C4_6}, // L20
- {0, C6_7, C5_7, C4_7}, // L21
- {0, C6_8, C5_8, C4_8}, // L22
- {1, C6_1, C5_1, C4_1}, // L23
- {1, C6_2, C5_2, C4_2}, // L24
- {1, C6_3, C5_3, C4_3}, // L25
- {1, C6_6, C5_6, C4_6}, // L26
- {1, C6_7, C5_7, C4_7}, // L27
- {1, C6_8, C5_8, C4_8}, // L28
- {2, C6_1, C5_1, C4_1}, // L29
- {2, C6_3, C5_3, C4_3}, // L31
- {2, C6_6, C5_6, C4_6}, // L32
- {2, C6_7, C5_7, C4_7}, // L33
+ {0, C6_1, C5_1, C4_1}, // L17
+ {0, C6_2, C5_2, C4_2}, // L18
+ {0, C6_3, C5_3, C4_3}, // L19
+ {0, C6_6, C5_6, C4_6}, // L20
+ {0, C6_7, C5_7, C4_7}, // L21
+ {0, C6_8, C5_8, C4_8}, // L22
+ {1, C6_1, C5_1, C4_1}, // L23
+ {1, C6_2, C5_2, C4_2}, // L24
+ {1, C6_3, C5_3, C4_3}, // L25
+ {1, C6_6, C5_6, C4_6}, // L26
+ {1, C6_7, C5_7, C4_7}, // L27
+ {1, C6_8, C5_8, C4_8}, // L28
+ {2, C6_1, C5_1, C4_1}, // L29
+ {2, C6_3, C5_3, C4_3}, // L31
+ {2, C6_6, C5_6, C4_6}, // L32
+ {2, C6_7, C5_7, C4_7}, // L33
- {0, C9_1, C8_1, C7_1}, // L34
- {0, C9_2, C8_2, C7_2}, // L35
- {0, C9_3, C8_3, C7_3}, // L36
- {0, C9_4, C8_4, C7_4}, // L37
- {0, C9_5, C8_5, C7_5}, // L38
- {0, C9_6, C8_6, C7_6}, // L39
- {1, C9_1, C8_1, C7_1}, // L40
- {1, C9_2, C8_2, C7_2}, // L41
- {1, C9_3, C8_3, C7_3}, // L42
- {1, C9_4, C8_4, C7_4}, // L43
- {1, C9_5, C8_5, C7_5}, // L44
- {1, C9_6, C8_6, C7_6}, // L45
- {2, C9_1, C8_1, C7_1}, // L46
- {2, C9_3, C8_3, C7_3}, // L48
- {2, C9_4, C8_4, C7_4}, // L49
- {2, C9_6, C8_6, C7_6}, // L50
+ {0, C9_1, C8_1, C7_1}, // L34
+ {0, C9_2, C8_2, C7_2}, // L35
+ {0, C9_3, C8_3, C7_3}, // L36
+ {0, C9_4, C8_4, C7_4}, // L37
+ {0, C9_5, C8_5, C7_5}, // L38
+ {0, C9_6, C8_6, C7_6}, // L39
+ {1, C9_1, C8_1, C7_1}, // L40
+ {1, C9_2, C8_2, C7_2}, // L41
+ {1, C9_3, C8_3, C7_3}, // L42
+ {1, C9_4, C8_4, C7_4}, // L43
+ {1, C9_5, C8_5, C7_5}, // L44
+ {1, C9_6, C8_6, C7_6}, // L45
+ {2, C9_1, C8_1, C7_1}, // L46
+ {2, C9_3, C8_3, C7_3}, // L48
+ {2, C9_4, C8_4, C7_4}, // L49
+ {2, C9_6, C8_6, C7_6}, // L50
- {0, C3_11, C2_11, C1_11}, // L51
- {0, C3_12, C2_12, C1_12}, // L52
- {0, C3_13, C2_13, C1_13}, // L53
- {0, C3_14, C2_14, C1_14}, // L54
- {0, C3_15, C2_15, C1_15}, // L55
- {0, C3_16, C2_16, C1_16}, // L56
- {1, C3_11, C2_11, C1_11}, // L57
- {1, C3_12, C2_12, C1_12}, // L58
- {1, C3_13, C2_13, C1_13}, // L59
- {1, C3_14, C2_14, C1_14}, // L60
- {1, C3_15, C2_15, C1_15}, // L61
- {1, C3_16, C2_16, C1_16}, // L62
- {2, C3_14, C2_14, C1_14}, // L63
- {2, C6_2, C5_2, C4_2 }, // L30
+ {0, C3_11, C2_11, C1_11}, // L51
+ {0, C3_12, C2_12, C1_12}, // L52
+ {0, C3_13, C2_13, C1_13}, // L53
+ {0, C3_14, C2_14, C1_14}, // L54
+ {0, C3_15, C2_15, C1_15}, // L55
+ {0, C3_16, C2_16, C1_16}, // L56
+ {1, C3_11, C2_11, C1_11}, // L57
+ {1, C3_12, C2_12, C1_12}, // L58
+ {1, C3_13, C2_13, C1_13}, // L59
+ {1, C3_14, C2_14, C1_14}, // L60
+ {1, C3_15, C2_15, C1_15}, // L61
+ {1, C3_16, C2_16, C1_16}, // L62
+ {2, C3_14, C2_14, C1_14}, // L63
+ {2, C6_2, C5_2, C4_2}, // L30
- {0, C6_9, C5_9, C4_9}, // L64
- {0, C6_10, C5_10, C4_10}, // L65
- {0, C6_11, C5_11, C4_11}, // L66
- {0, C6_14, C5_14, C4_14}, // L67
- {0, C6_15, C5_15, C4_15}, // L68
- {0, C6_16, C5_16, C4_16}, // L69
- {1, C6_10, C5_10, C4_10}, // L70
- {1, C6_11, C5_11, C4_11}, // L71
- {1, C6_14, C5_14, C4_14}, // L72
- {1, C6_15, C5_15, C4_15}, // L73
- {1, C6_16, C5_16, C4_16}, // L74
- {2, C3_15, C2_15, C1_15}, // L75
- {2, C9_2, C8_2, C7_2 }, // L47
- {2, C9_14, C8_14, C7_14}, // L76
+ {0, C6_9, C5_9, C4_9}, // L64
+ {0, C6_10, C5_10, C4_10}, // L65
+ {0, C6_11, C5_11, C4_11}, // L66
+ {0, C6_14, C5_14, C4_14}, // L67
+ {0, C6_15, C5_15, C4_15}, // L68
+ {0, C6_16, C5_16, C4_16}, // L69
+ {1, C6_10, C5_10, C4_10}, // L70
+ {1, C6_11, C5_11, C4_11}, // L71
+ {1, C6_14, C5_14, C4_14}, // L72
+ {1, C6_15, C5_15, C4_15}, // L73
+ {1, C6_16, C5_16, C4_16}, // L74
+ {2, C3_15, C2_15, C1_15}, // L75
+ {2, C9_2, C8_2, C7_2}, // L47
+ {2, C9_14, C8_14, C7_14}, // L76
- {0, C9_9, C8_9, C7_9}, // L77
- {0, C9_10, C8_10, C7_10}, // L78
- {0, C9_11, C8_11, C7_11}, // L79
- {1, C6_9, C5_9, C4_9}, // L80
- {1, C9_13, C8_13, C7_13}, // L81
- {1, C9_14, C8_14, C7_14}, // L82
- {2, C9_9, C8_9, C7_9}, // L83
- {2, C9_10, C8_10, C7_10}, // L84
- {2, C9_11, C8_11, C7_11}, // L85
- {2, C9_12, C8_12, C7_12}, // L86
- {2, C9_13, C8_13, C7_13}, // L87
-
- };
-
- led_config_t g_led_config = { {
- { 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, NO_LED, NO_LED },
- { 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, NO_LED, 73, 74, 75, NO_LED },
- { 76, 77, 78, NO_LED, NO_LED, 79, NO_LED, NO_LED, NO_LED, 80, 81, 82, 83, 84, 85, 86 }
- }, {
- {0,0}, {24,0}, {36,0}, {48,0}, {60,0}, {78,0}, {90,0}, {102,0}, {114,0}, {132,0}, {144,0}, {156,0}, {168,0}, {182,0}, {194,0}, {206,0},
- {0,15}, {12,15}, {24,15}, {36,15}, {48,15}, {60,15}, {72,15}, {84,15}, {96,15}, {108,15}, {120,15}, {132,15}, {144,15}, {182,15}, {194,15},{206,15},
- {3,27}, {18,27}, {30,27}, {42,27}, {54,27}, {66,27}, {78,27}, {90,27}, {102,27}, {114,27}, {126,27}, {138,27}, {150,27}, {182,27}, {194,27},{206,27},
- {4,39}, {20,39}, {32,39}, {44,39}, {56,39}, {68,39}, {80,39}, {92,39}, {104,39}, {116,39}, {128,39}, {140,39}, {162,39}, {162,15},
- {6,51}, {26,51}, {38,51}, {50,51}, {62,51}, {74,51}, {86,51}, {98,51}, {110,51}, {122,51}, {134,51}, {155,51}, {165,27}, {210,51},
- {1,63}, {16,63}, {31,63}, {64,63}, {121,63},{136,63}, {151,63}, {166,63},{182,63}, {194,63}, {206,63}
- }, {
- 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
- } };
+ {0, C9_9, C8_9, C7_9}, // L77
+ {0, C9_10, C8_10, C7_10}, // L78
+ {0, C9_11, C8_11, C7_11}, // L79
+ {1, C6_9, C5_9, C4_9}, // L80
+ {1, C9_13, C8_13, C7_13}, // L81
+ {1, C9_14, C8_14, C7_14}, // L82
+ {2, C9_9, C8_9, C7_9}, // L83
+ {2, C9_10, C8_10, C7_10}, // L84
+ {2, C9_11, C8_11, C7_11}, // L85
+ {2, C9_12, C8_12, C7_12}, // L86
+ {2, C9_13, C8_13, C7_13}, // L87n
+};
+// clang-format off
+led_config_t g_led_config = { {
+ { 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, NO_LED, NO_LED },
+ { 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, NO_LED, 73, 74, 75, NO_LED },
+ { 76, 77, 78, NO_LED, NO_LED, 79, NO_LED, NO_LED, NO_LED, 80, 81, 82, 83, 84, 85, 86 }
+ }, {
+ {0,0}, {24,0}, {36,0}, {48,0}, {60,0}, {78,0}, {90,0}, {102,0}, {114,0}, {132,0}, {144,0}, {156,0}, {168,0}, {182,0}, {194,0}, {206,0},
+ {0,15}, {12,15}, {24,15}, {36,15}, {48,15}, {60,15}, {72,15}, {84,15}, {96,15}, {108,15}, {120,15}, {132,15}, {144,15}, {182,15}, {194,15},{206,15},
+ {3,27}, {18,27}, {30,27}, {42,27}, {54,27}, {66,27}, {78,27}, {90,27}, {102,27}, {114,27}, {126,27}, {138,27}, {150,27}, {182,27}, {194,27},{206,27},
+ {4,39}, {20,39}, {32,39}, {44,39}, {56,39}, {68,39}, {80,39}, {92,39}, {104,39}, {116,39}, {128,39}, {140,39}, {162,39}, {162,15},
+ {6,51}, {26,51}, {38,51}, {50,51}, {62,51}, {74,51}, {86,51}, {98,51}, {110,51}, {122,51}, {134,51}, {155,51}, {165,27}, {210,51},
+ {1,63}, {16,63}, {31,63}, {64,63}, {121,63},{136,63}, {151,63}, {166,63},{182,63}, {194,63}, {206,63}
+ }, {
+ 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
+ }
+};
+// clang-format on
- __attribute__ ((weak)) void rgb_matrix_indicators_user(void) {
+__attribute__((weak)) void rgb_matrix_indicators_user(void) {
if (host_keyboard_led_state().caps_lock) {
rgb_matrix_set_color(48, 0xFF, 0xFF, 0xFF);
}
diff --git a/keyboards/xbows/woody/config.h b/keyboards/xbows/woody/config.h
index 7f396d0008..ea27508da8 100644
--- a/keyboards/xbows/woody/config.h
+++ b/keyboards/xbows/woody/config.h
@@ -16,10 +16,10 @@
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
#define DEBOUNCE 3
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
-#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
+#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#define DISABLE_RGB_MATRIX_BAND_SAT
#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
@@ -40,4 +40,4 @@
#define DRIVER_1_LED_TOTAL 35
#define DRIVER_2_LED_TOTAL 32
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-#endif \ No newline at end of file
+#endif
diff --git a/keyboards/xbows/woody/woody.c b/keyboards/xbows/woody/woody.c
index 9821f5f655..1027e3ca37 100644
--- a/keyboards/xbows/woody/woody.c
+++ b/keyboards/xbows/woody/woody.c
@@ -1,6 +1,6 @@
#include "woody.h"
#ifdef RGB_MATRIX_ENABLE
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
{0, C8_8, C7_8, C6_8}, // LA17
{0, C9_8, C7_7, C6_7}, // LA16
diff --git a/keyboards/xd002/keymaps/multilayer_rgb/keymap.c b/keyboards/xd002/keymaps/multilayer_rgb/keymap.c
index 01a96119e5..4ae28fd91b 100644
--- a/keyboards/xd002/keymaps/multilayer_rgb/keymap.c
+++ b/keyboards/xd002/keymaps/multilayer_rgb/keymap.c
@@ -158,10 +158,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record)
layer_state_t layer_state_set_user(layer_state_t state) {
switch (get_highest_layer(state)) {
case _FUNC:
- rgblight_setrgb_red();
+ rgblite_setrgb(RGB_RED);
break;
default: // for any other layers, or the default layer
- rgblight_setrgb_green();
+ rgblite_setrgb(RGB_GREEN);
break;
}
return state;
@@ -169,5 +169,5 @@ layer_state_t layer_state_set_user(layer_state_t state) {
// default color
void keyboard_post_init_user(void) {
- rgblight_setrgb_green();
+ rgblite_setrgb(RGB_GREEN);
}
diff --git a/keyboards/xd002/keymaps/multilayer_rgb/rgblite.h b/keyboards/xd002/keymaps/multilayer_rgb/rgblite.h
index ddc61d5f43..8a14a8f956 100644
--- a/keyboards/xd002/keymaps/multilayer_rgb/rgblite.h
+++ b/keyboards/xd002/keymaps/multilayer_rgb/rgblite.h
@@ -1,9 +1,9 @@
#pragma once
#include "ws2812.h"
-#include "rgblight_list.h"
+#include "color.h"
-static inline void rgblight_setrgb(uint8_t _r, uint8_t _g, uint8_t _b) {
+static inline void rgblite_setrgb(uint8_t _r, uint8_t _g, uint8_t _b) {
LED_TYPE leds[RGBLED_NUM] = {{.r = _r, .g = _g, .b = _b}, {.r = _r, .g = _g, .b = _b}};
ws2812_setleds(leds, RGBLED_NUM);
}
diff --git a/keyboards/xd002/keymaps/rgb_lite/keymap.c b/keyboards/xd002/keymaps/rgb_lite/keymap.c
index ed9185e3b5..a795ca8a6d 100644
--- a/keyboards/xd002/keymaps/rgb_lite/keymap.c
+++ b/keyboards/xd002/keymaps/rgb_lite/keymap.c
@@ -16,7 +16,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
switch (keycode) {
case RGB_HUI:
- rgblight_increase_hue();
+ rgblite_increase_hue();
break;
case QMKURL:
SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER));
@@ -27,5 +27,5 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
void keyboard_post_init_user(void) {
- rgblight_increase_hue();
+ rgblite_increase_hue();
}
diff --git a/keyboards/xd002/keymaps/rgb_lite/rgblite.h b/keyboards/xd002/keymaps/rgb_lite/rgblite.h
index ca98484b81..b7919f9767 100644
--- a/keyboards/xd002/keymaps/rgb_lite/rgblite.h
+++ b/keyboards/xd002/keymaps/rgb_lite/rgblite.h
@@ -1,26 +1,26 @@
#pragma once
#include "ws2812.h"
-#include "rgblight_list.h"
+#include "color.h"
-static inline void rgblight_setrgb(uint8_t _r, uint8_t _g, uint8_t _b) {
+static inline void rgblite_setrgb(uint8_t _r, uint8_t _g, uint8_t _b) {
LED_TYPE leds[RGBLED_NUM] = {{.r = _r, .g = _g, .b = _b}, {.r = _r, .g = _g, .b = _b}};
ws2812_setleds(leds, RGBLED_NUM);
}
-static void rgblight_increase_hue(void) {
+static void rgblite_increase_hue(void) {
static uint8_t state = 0;
state = (state + 1) % 3;
switch (state) {
case 1:
- rgblight_setrgb_red();
+ rgblite_setrgb(RGB_RED);
break;
case 2:
- rgblight_setrgb_blue();
+ rgblite_setrgb(RGB_BLUE);
break;
default:
- rgblight_setrgb_green();
+ rgblite_setrgb(RGB_GREEN);
break;
}
}
diff --git a/keyboards/xd60/keymaps/birkir/keymap.c b/keyboards/xd60/keymaps/birkir/keymap.c
index 5604450548..fe7cd60662 100644
--- a/keyboards/xd60/keymaps/birkir/keymap.c
+++ b/keyboards/xd60/keymaps/birkir/keymap.c
@@ -37,7 +37,7 @@ uint16_t hue;
uint8_t sat;
uint8_t val;
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
if (state == 0 && edit == true) {
mode = rgblight_get_mode();
diff --git a/keyboards/xd75/keymaps/arpinfidel/keymap.c b/keyboards/xd75/keymaps/arpinfidel/keymap.c
index d6681e786a..5f7337d68b 100644
--- a/keyboards/xd75/keymaps/arpinfidel/keymap.c
+++ b/keyboards/xd75/keymaps/arpinfidel/keymap.c
@@ -62,7 +62,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | FN | RGB TG | | MS W L | MS W R | | RESET | | MS 1 | MS 2 | RGB RMD| RGB MD | FN | |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
-
+
[_FN] = LAYOUT_ortho_5x15( /* FUNCTION */
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, RGB_HUD, _______, RGB_HUI, KC_F7, KC_F8, KC_F9, KC_F10 , KC_F11 , KC_F12,
KC_WH_U, _______, KC_BTN2, KC_MS_U, KC_BTN1, KC_BTN3, RGB_SAD, _______, RGB_SAI, KC_LBRC, KC_RBRC, KC_UP , _______ , KC_EQL , KC_BSLS,
@@ -80,35 +80,35 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
PORTF ^= (1 << 5);
}
return false;
-
+
// case A_BL_Y:
// if (record->event.pressed) {
// keycaps_led_on();
// }
// return false;
-
+
// case A_BL_N:
// if (record->event.pressed) {
// keycaps_led_off();
// }
// return false;
-
+
default:
return true;
}
}
// Runs whenever there is a layer state change.
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
uint8_t layer = biton32(state);
-
+
gp100_led_off();
gp103_led_off();
-
+
// turns on gp100 (top left led) for odd layers
if (layer & (1<<0)) gp100_led_on();
// turns on gp103 (top mid led) for layers 2, 6, ...
if (layer & (1<<1)) gp103_led_on();
-
+
return state;
-} \ No newline at end of file
+}
diff --git a/keyboards/xd75/keymaps/c4software_bepo/keymap.c b/keyboards/xd75/keymaps/c4software_bepo/keymap.c
index 4571033c0b..fdfe3be16d 100644
--- a/keyboards/xd75/keymaps/c4software_bepo/keymap.c
+++ b/keyboards/xd75/keymaps/c4software_bepo/keymap.c
@@ -37,10 +37,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_BP] = LAYOUT_ortho_5x15( /* BepoDev */
- KC_ESC, BP_DQOT, BP_LGIL, BP_RGIL, BP_LPRN, BP_RPRN, BP_PERCENT, KC_VOLD, KC_VOLU, BP_AT, BP_PLUS, BP_MINUS, BP_SLASH, BP_ASTR, BP_EQUAL,
- KC_TAB, BP_B, BP_E_ACUTE, BP_P, BP_O, BP_DOLLAR, BP_E_GRAVE, KC_DEL, BP_DCRC, BP_V, BP_D, BP_L, BP_J, BP_Z, BP_CCED,
- KC_RALT, BP_A, BP_U, BP_I, BP_E, BP_COMMA, KC_BSPC, KC_ENT, BP_C, BP_T, BP_S, BP_R, BP_N, BP_M, BP_W,
- KC_LSFT, BP_A_GRAVE, BP_Y, BP_X, BP_DOT, BP_K, KC_BSPC, KC_ENT, BP_APOS, BP_Q, BP_G, BP_H, BP_F, KC_UP, KC_RSFT,
+ KC_ESC, BP_DQUO, BP_LDAQ, BP_RDAQ, BP_LPRN, BP_RPRN, BP_PERC, KC_VOLD, KC_VOLU, BP_AT, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, BP_EQL,
+ KC_TAB, BP_B, BP_EACU, BP_P, BP_O, BP_DLR, BP_EGRV, KC_DEL, BP_DCIR, BP_V, BP_D, BP_L, BP_J, BP_Z, BP_CCED,
+ KC_RALT, BP_A, BP_U, BP_I, BP_E, BP_COMM, KC_BSPC, KC_ENT, BP_C, BP_T, BP_S, BP_R, BP_N, BP_M, BP_W,
+ KC_LSFT, BP_AGRV, BP_Y, BP_X, BP_DOT, BP_K, KC_BSPC, KC_ENT, BP_QUOT, BP_Q, BP_G, BP_H, BP_F, KC_UP, KC_RSFT,
KC_LALT, KC_LCTL, MO(_FN), KC_LGUI, KC_SPC, KC_SPC, KC_RALT, KC_RALT, KC_SPC, KC_SPC, KC_RGUI, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT
),
diff --git a/keyboards/xd75/keymaps/cbbrowne/keymap.c b/keyboards/xd75/keymaps/cbbrowne/keymap.c
index 6c356ac803..1b29686cff 100644
--- a/keyboards/xd75/keymaps/cbbrowne/keymap.c
+++ b/keyboards/xd75/keymaps/cbbrowne/keymap.c
@@ -25,7 +25,7 @@ enum layers {
_LOWER, /* Lower layer, where top line has symbols !@#$%^&*() */
_RAISE, /* Raised layer, where top line has digits 1234567890 */
_ADJUST, /* Special Adjust layer coming via tri-placement */
- _FUNCTION /* Function key layer */
+ _FUNCTION /* Function key layer */
};
@@ -63,7 +63,7 @@ enum macro_id {
#define MRAISE MO(_RAISE)
#define MLOWER MO(_LOWER)
#define ALTPLUS ALT_T(KC_PLUS)
-
+
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* QWERTY - MIT ENHANCED / GRID COMPATIBLE
@@ -93,8 +93,8 @@ keys needing to be assigned:
51 - KC_TAB - tab
- ROT_LED - rotate LED
15 - KC_LALT - Left ALT
-53,55 - M_RAISE - switch to RAISE layer
-5b - M_LOWER - switch to LOWER layer
+53,55 - M_RAISE - switch to RAISE layer
+5b - M_LOWER - switch to LOWER layer
56,59,5a - KC_SPC - space
5c - KC_LEFT - famous arrows
5d - KC_DOWN - famous arrows
@@ -115,7 +115,7 @@ keys needing to be assigned:
KC_LALT, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_7, KC_8, KC_EQL, KC_Y, KC_U, KC_I, KC_O, KC_P, ALTPLUS ,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LBRC, KC_RBRC,KC_MINS, KC_H, KC_J, KC_K, KC_L, KC_SCLN, CTLENTER ,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_PGUP, KC_EQL, KC_BSLS, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SHIFTQUOTE ,
- KC_TAB, FUNCTION, MRAISE, FUNCTION, MRAISE, KC_SPC,KC_PGDN, KC_MINS, KC_SPC, KC_SPC, MLOWER, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ KC_TAB, FUNCTION, MRAISE, FUNCTION, MRAISE, KC_SPC,KC_PGDN, KC_MINS, KC_SPC, KC_SPC, MLOWER, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* LOWER
@@ -131,13 +131,13 @@ keys needing to be assigned:
* | | | | | | XXXXXX . | | | | | | | | |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
-
+
[_LOWER] = LAYOUT_ortho_5x15( /* LOWERED */
___T___, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_TILD, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11 ,
___T___, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_INS ,
___T___, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE ,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, ___T___, ___T___, _______ ,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* RAISED
@@ -153,15 +153,15 @@ keys needing to be assigned:
* | | | | | | XXXXXX . | | | | | | | | |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
-
+
[_RAISE] = LAYOUT_ortho_5x15 ( /* RAISED */
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, MVERSION, _______, KC_GRV, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ___T___ ,
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, USERNAME, _______, KC_7, KC_8, KC_LCBR, KC_RCBR, _______, _______, KC_INS ,
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, RANDDIG, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, ___T___, ___T___ ,
KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RANDALP, _______, _______, _______, _______, ___T___, ___T___, _______, _______ ,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
-
+
/* FUNCTION
* .---------------------------------------------------------------------------------------------------------------------- 2u ------------.
* | NUM LK | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | XXXXXX . |
@@ -175,13 +175,13 @@ keys needing to be assigned:
* | RESET | | QWERTY | COLEMK | DVORAK | XXXXXX . MS BT1 | | | | | | MOUS L | MOUS D | MOUS R |
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
-
+
[_FUNCTION] = LAYOUT_ortho_5x15( /* FUNCTION */
KC_NLCK, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RESET, RESET,
KC_SLCK, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_PAUS, KC_PSCR ,
KC_CAPS, KC_BTN5, KC_BTN4, KC_BTN3, KC_BTN2, KC_ACL0, KC_ACL2, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, _______, ___T___, ___T___, KC_WH_U ,
RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_TOGG, BL_INC, BL_DEC, ___T___, ___T___, KC_MS_U, KC_WH_D ,
- RESET , _______, DF(_QWERTY), DF(_QWERTY), DF(_QWERTY), KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R
+ RESET , _______, DF(_QWERTY), DF(_QWERTY), DF(_QWERTY), KC_BTN1, KC_BTN1, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R
)
};
@@ -223,7 +223,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
if (record->event.pressed) {
/* Here, we mix the LCRNG with low bits from one of the system
clocks via XOR in the theory that this may be more random
- than either separately */
+ than either separately */
rval = (random_value ^ clockbyte) % 10;
/* Note that KC_1 thru KC_0 are a contiguous range */
register_code (KC_1 + rval);
@@ -235,7 +235,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
a letter chosen at random */
/* Here, we mix the LCRNG with low bits from one of the system
clocks via XOR in the theory that this may be more random
- than either separately */
+ than either separately */
random_value = ((random_value + randadd) * randmul) % randmod;
if (record->event.pressed) {
rval = (random_value ^ clockbyte) % 26;
@@ -285,7 +285,7 @@ void matrix_init_user(void) {
rgblight_sethsv(325,255,255);
}
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
switch(biton32(state)) {
case _QWERTY:
rgblight_sethsv_white();
diff --git a/keyboards/xd75/keymaps/cbbrowne/rules.mk b/keyboards/xd75/keymaps/cbbrowne/rules.mk
index eb2f870634..ca52524894 100644
--- a/keyboards/xd75/keymaps/cbbrowne/rules.mk
+++ b/keyboards/xd75/keymaps/cbbrowne/rules.mk
@@ -14,7 +14,6 @@ AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
-API_SYSEX_ENABLE = no # Enable SYSEX API (+5390)
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/xd75/keymaps/developper_bepo/keymap.c b/keyboards/xd75/keymaps/developper_bepo/keymap.c
index 7fedb7fb63..121b18438e 100644
--- a/keyboards/xd75/keymaps/developper_bepo/keymap.c
+++ b/keyboards/xd75/keymaps/developper_bepo/keymap.c
@@ -38,10 +38,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_BP] = LAYOUT_ortho_5x15( /* BepoDev */
- BP_DOLLAR, BP_DQOT, BP_LCBR, BP_RCBR, BP_LPRN, BP_RPRN, KC_VOLD, KC_MUTE, KC_VOLU, BP_PLUS, BP_MINUS,BP_SLASH,BP_ASTR, BP_EQL, BP_PERC,
- KC_TAB, BP_B, BP_E_ACUTE, BP_P, BP_O, BP_E_GRAVE, KC_KP_7, KC_KP_8, KC_KP_9, BP_DCRC, BP_V, BP_D, BP_L, BP_J, BP_Z,
- KC_ESC, BP_A, BP_U, BP_I, BP_E, BP_COMMA, KC_HOME, KC_KP_5, KC_END, BP_C, BP_T, BP_S, BP_R, BP_N, BP_M,
- KC_LSFT, BP_W, BP_Y, BP_X, BP_DOT, BP_K, KC_PGUP, KC_END, KC_PGDOWN, BP_APOS, BP_Q, BP_G, BP_H, BP_F, KC_RSFT,
+ BP_DLR, BP_DQUO, BP_LCBR, BP_RCBR, BP_LPRN, BP_RPRN, KC_VOLD, KC_MUTE, KC_VOLU, BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, BP_EQL, BP_PERC,
+ KC_TAB, BP_B, BP_EACU, BP_P, BP_O, BP_EGRV, KC_KP_7, KC_KP_8, KC_KP_9, BP_DCIR, BP_V, BP_D, BP_L, BP_J, BP_Z,
+ KC_ESC, BP_A, BP_U, BP_I, BP_E, BP_COMM, KC_HOME, KC_KP_5, KC_END, BP_C, BP_T, BP_S, BP_R, BP_N, BP_M,
+ KC_LSFT, BP_W, BP_Y, BP_X, BP_DOT, BP_K, KC_PGUP, KC_END, KC_PGDOWN, BP_QUOT, BP_Q, BP_G, BP_H, BP_F, KC_RSFT,
KC_LCTL, KC_LGUI, KC_RALT, KC_LGUI, BP_UNDS, LT(_FN,KC_ENT), KC_DEL, KC_KP_0, KC_BSPC, LT(_FN,KC_SPC), BP_UNDS, KC_RALT, KC_RALT, KC_RGUI, KC_LCTL
),
@@ -63,9 +63,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN] = LAYOUT_ortho_5x15( /* FUNCTION */
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- _______, S(BP_DQOT), S(BP_LGIL), S(BP_RGIL), S(BP_LPRN), S(BP_RPRN), _______, _______, _______, S(BP_AT), S(BP_PLUS), S(BP_MINUS), S(BP_SLASH), S(BP_ASTR), S(BP_EQL),
+ _______, S(BP_DQUO), S(BP_LDAQ), S(BP_RDAQ), S(BP_LPRN), S(BP_RPRN), _______, _______, _______, S(BP_AT), S(BP_PLUS), S(BP_MINS), S(BP_SLSH), S(BP_ASTR), S(BP_EQL),
_______, RALT(BP_B), BP_BSLS, BP_LBRC, BP_RBRC, RALT(BP_P), _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, _______,
- _______, BP_BSLS, _______, _______, _______, _______, _______, _______, _______, _______, BP_LESS, BP_GRTR, BP_AT , _______, _______,
+ _______, BP_BSLS, _______, _______, _______, _______, _______, _______, _______, _______, BP_LABK, BP_RABK, BP_AT , _______, _______,
_______, _______, _______, _______, _______, LT(_FN,KC_ENT), _______, _______, _______, LT(_FN,KC_SPC), _______, _______, _______, _______, RESET
)
diff --git a/keyboards/xd75/keymaps/french/keymap.c b/keyboards/xd75/keymaps/french/keymap.c
index f8de0763cc..8d5d2b634f 100644
--- a/keyboards/xd75/keymaps/french/keymap.c
+++ b/keyboards/xd75/keymaps/french/keymap.c
@@ -24,10 +24,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_AZ] = LAYOUT_ortho_5x15( /* AZERTY */
- FR_ESC, FR_AMP, FR_EACU, FR_QUOT, FR_APOS, FR_LPAR, FR_MINS, FR_EGRV, FR_UNDS, FR_CCED, FR_AGRV, FR_RPAR, FR_EQUA, FR_INST, FR_BSPC,
+ FR_ESC, FR_AMPR, FR_EACU, FR_DQUO, FR_QUOT, FR_LPAR, FR_MINS, FR_EGRV, FR_UNDS, FR_CCED, FR_AGRV, FR_RPAR, FR_EQUA, FR_INST, FR_BSPC,
FR_TAB, FR_A, FR_Z, FR_E, FR_R, FR_T, FR_Y, FR_U, FR_I, FR_O, FR_P, FR_HAT, FR_DLR, FR_ENTR, FR_PGUP,
FR_CAPL, FR_Q, FR_S, FR_D, FR_F, FR_G, FR_H, FR_J, FR_K, FR_L, FR_M, FR_UGRV, FR_AST, FR_ENTR, FR_PGDN,
- FR_LSFT, FR_W, FR_X, FR_C, FR_V, FR_B, FR_N, FR_COMM, FR_SCLN, FR_COLN, FR_EXCL, FR_LESS, FR_RSFT, FR_UP, FR_DEL,
+ FR_LSFT, FR_W, FR_X, FR_C, FR_V, FR_B, FR_N, FR_COMM, FR_SCLN, FR_COLN, FR_EXCL, FR_LABK, FR_RSFT, FR_UP, FR_DEL,
FR_LCTR, FR_LCMD, FR_LALT, MO(_FN), FR_SPAC, FR_SPAC, FR_SPAC, FR_SPAC, FR_ALGR, FR_MENU, FR_HOME, FR_END, FR_LEFT, FR_DOWN, FR_RIGT
),
diff --git a/keyboards/xd75/keymaps/french/keymap_french.c b/keyboards/xd75/keymaps/french/keymap_french.c
index f7d068c33e..c346138381 100644
--- a/keyboards/xd75/keymaps/french/keymap_french.c
+++ b/keyboards/xd75/keymaps/french/keymap_french.c
@@ -28,10 +28,10 @@ enum french_key {
FR_X,
FR_Y,
FR_W,
- FR_AMP,
+ FR_AMPR,
FR_EACU,
- FR_QUOT, /* 0x20 */
- FR_APOS,
+ FR_DQUO, /* 0x20 */
+ FR_QUOT,
FR_LPAR,
FR_MINS,
FR_EGRV,
@@ -94,7 +94,7 @@ enum french_key {
FR_9,
FR_0,
FR_DOT,
- FR_LESS,
+ FR_LABK,
FR_EQ =0x67 /* END KEYPAD */,
FR_F13,
FR_F14,
diff --git a/keyboards/xd75/keymaps/germanized/config.h b/keyboards/xd75/keymaps/germanized/config.h
index 65ab6a0dcb..d8c8f2d502 100644
--- a/keyboards/xd75/keymaps/germanized/config.h
+++ b/keyboards/xd75/keymaps/germanized/config.h
@@ -68,22 +68,22 @@
#define DE_COMM KC_COMM
#define DE_SS KC_MINS
-#define DE_AE KC_QUOT
-#define DE_UE KC_LBRC
-#define DE_OE KC_SCLN
+#define DE_ADIA KC_QUOT
+#define DE_UDIA KC_LBRC
+#define DE_ODIA KC_SCLN
#define DE_CIRC KC_GRAVE // accent circumflex ^ and ring °
#define DE_ACUT KC_EQL // accent acute ´ and grave `
#define DE_PLUS KC_RBRC // + and * and ~
#define DE_HASH KC_BSLS // # and '
-#define DE_LESS KC_NUBS // < and > and |
+#define DE_LABK KC_NUBS // < and > and |
#define DE_MINS KC_SLSH // - and _
// shifted characters
-#define DE_RING LSFT(DE_CIRC) // °
+#define DE_DEG LSFT(DE_CIRC) // °
#define DE_EXLM LSFT(KC_1) // !
-#define DE_DQOT LSFT(KC_2) // "
-#define DE_PARA LSFT(KC_3) // §
+#define DE_DQUO LSFT(KC_2) // "
+#define DE_SECT LSFT(KC_3) // §
#define DE_DLR LSFT(KC_4) // $
#define DE_PERC LSFT(KC_5) // %
#define DE_AMPR LSFT(KC_6) // &
@@ -91,18 +91,18 @@
#define DE_LPRN LSFT(KC_8) // (
#define DE_RPRN LSFT(KC_9) // )
#define DE_EQL LSFT(KC_0) // =
-#define DE_QST LSFT(DE_SS) // ?
+#define DE_QUES LSFT(DE_SS) // ?
#define DE_GRV LSFT(DE_ACUT) // `
#define DE_ASTR LSFT(DE_PLUS) // *
#define DE_QUOT LSFT(DE_HASH) // '
-#define DE_MORE LSFT(DE_LESS) // >
+#define DE_RABK LSFT(DE_LABK) // >
#define DE_COLN LSFT(KC_DOT) // :
#define DE_SCLN LSFT(KC_COMM) // ;
#define DE_UNDS LSFT(DE_MINS) // _
// Alt Gr-ed characters
-#define DE_SQ2 ALGR(KC_2) // ²
-#define DE_SQ3 ALGR(KC_3) // ³
+#define DE_SUP2 ALGR(KC_2) // ²
+#define DE_SUP3 ALGR(KC_3) // ³
#define DE_LCBR ALGR(KC_7) // {
#define DE_LBRC ALGR(KC_8) // [
#define DE_RBRC ALGR(KC_9) // ]
@@ -111,7 +111,7 @@
#define DE_AT ALGR(KC_Q) // @
#define DE_EURO ALGR(KC_E) // €
#define DE_TILD ALGR(DE_PLUS) // ~
-#define DE_PIPE ALGR(DE_LESS) // |
+#define DE_PIPE ALGR(DE_LABK) // |
// Launchy
#define ALT_SPC LALT(KC_SPC)
diff --git a/keyboards/xd75/keymaps/germanized/keymap.c b/keyboards/xd75/keymaps/germanized/keymap.c
index 77346d1865..3b00a4b670 100644
--- a/keyboards/xd75/keymaps/germanized/keymap.c
+++ b/keyboards/xd75/keymaps/germanized/keymap.c
@@ -55,10 +55,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWZ] = LAYOUT_ortho_5x15(
TD(TD_ESC_RUPT), KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, DE_SS, DE_ACUT, KC_BSPC, KC_ESC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UE, DE_PLUS, KC_NO, KC_PGUP,
- TD(TD_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_OE, DE_AE, DE_HASH, KC_ENT, KC_PGDN,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, DE_Z, KC_U, KC_I, KC_O, KC_P, DE_UDIA, DE_PLUS, KC_NO, KC_PGUP,
+ TD(TD_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, DE_ODIA, DE_ADIA, DE_HASH, KC_ENT, KC_PGDN,
KC_LSFT, DE_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, DE_MINS, DE_CIRC, MT(MOD_RSFT, KC_HOME), KC_UP, KC_END,
- KC_LCTL, KC_LALT, LT(1, KC_ENT), KC_SPC, KC_NO, KC_BSPC, KC_NO, TT(1), MT(MOD_RALT, KC_PAUS), KC_RGUI, DE_LESS, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT
+ KC_LCTL, KC_LALT, LT(1, KC_ENT), KC_SPC, KC_NO, KC_BSPC, KC_NO, TT(1), MT(MOD_RALT, KC_PAUS), KC_RGUI, DE_LABK, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT
),
/* FNC
diff --git a/keyboards/xd75/keymaps/markus/keymap.c b/keyboards/xd75/keymaps/markus/keymap.c
index ab818318e7..ddef0e59b8 100644
--- a/keyboards/xd75/keymaps/markus/keymap.c
+++ b/keyboards/xd75/keymaps/markus/keymap.c
@@ -60,9 +60,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_QWZ] = LAYOUT_ortho_5x15(
-DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, KC_MUTE, KC_VOLD, KC_VOLU, DE_7, DE_8, DE_9, DE_0, DE_SS, DE_UE,
-KC_ESC, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_HOME, KC_MPLY, KC_END, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_AE,
-KC_LSFT, DE_A, DE_S, DE_D, DE_F, DE_G, KC_PGUP, KC_UP, KC_PGDN, DE_H, DE_J, DE_K, DE_L, DE_OE, KC_RSFT,
+DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, KC_MUTE, KC_VOLD, KC_VOLU, DE_7, DE_8, DE_9, DE_0, DE_SS, DE_UDIA,
+KC_ESC, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_HOME, KC_MPLY, KC_END, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_ADIA,
+KC_LSFT, DE_A, DE_S, DE_D, DE_F, DE_G, KC_PGUP, KC_UP, KC_PGDN, DE_H, DE_J, DE_K, DE_L, DE_ODIA, KC_RSFT,
KC_LCTL, DE_Y, DE_X, DE_C, DE_V, DE_B, KC_LEFT, KC_DOWN, KC_RIGHT, DE_N, DE_M, DE_COMM, DE_DOT, DE_MINS, KC_RCTL,
KC_CAPS, MO(_FN3), KC_LGUI, KC_LALT, MO(_FN2), MO(_FN1), KC_TAB, KC_DEL, KC_ENT, KC_SPC, KC_BSPC, KC_LALT, KC_LGUI, MO(_FN3), KC_INS
),
@@ -81,9 +81,9 @@ KC_CAPS, MO(_FN3), KC_LGUI, KC_LALT, MO(_FN2), MO(_FN1), KC_TAB, KC_DEL,
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_QWY] = LAYOUT_ortho_5x15(
-DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, KC_MUTE, KC_VOLD, KC_VOLU, DE_7, DE_8, DE_9, DE_0, DE_SS, DE_UE,
-KC_ESC, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_HOME, KC_MPLY, KC_END, DE_Y, DE_U, DE_I, DE_O, DE_P, DE_AE,
-KC_LSFT, DE_A, DE_S, DE_D, DE_F, DE_G, KC_PGUP, KC_UP, KC_PGDN, DE_H, DE_J, DE_K, DE_L, DE_OE, KC_RSFT,
+DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, KC_MUTE, KC_VOLD, KC_VOLU, DE_7, DE_8, DE_9, DE_0, DE_SS, DE_UDIA,
+KC_ESC, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_HOME, KC_MPLY, KC_END, DE_Y, DE_U, DE_I, DE_O, DE_P, DE_ADIA,
+KC_LSFT, DE_A, DE_S, DE_D, DE_F, DE_G, KC_PGUP, KC_UP, KC_PGDN, DE_H, DE_J, DE_K, DE_L, DE_ODIA, KC_RSFT,
KC_LCTL, DE_Z, DE_X, DE_C, DE_V, DE_B, KC_LEFT, KC_DOWN, KC_RIGHT, DE_N, DE_M, DE_COMM, DE_DOT, DE_MINS, KC_RCTL,
KC_CAPS, MO(_FN3), KC_LGUI, KC_LALT, MO(_FN2), MO(_FN1), KC_TAB, KC_DEL, KC_ENT, KC_SPC, KC_BSPC, KC_LALT, KC_LGUI, MO(_FN3), KC_INS
),
@@ -102,9 +102,9 @@ KC_CAPS, MO(_FN3), KC_LGUI, KC_LALT, MO(_FN2), MO(_FN1), KC_TAB, KC_DEL,
* '--------------------------------------------------------------------------------------------------------------------------------------'
*/
[_GAM] = LAYOUT_ortho_5x15(
-DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, KC_MUTE, KC_VOLD, KC_VOLU, DE_7, DE_8, DE_9, DE_0, DE_SS, DE_UE,
-KC_ESC, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_HOME, KC_MPLY, KC_END, DE_Y, DE_U, DE_I, DE_O, DE_P, DE_AE,
-KC_LSFT, DE_A, DE_S, DE_D, DE_F, DE_G, KC_PGUP, KC_UP, KC_PGDN, DE_H, DE_J, DE_K, DE_L, DE_OE, KC_RSFT,
+DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, KC_MUTE, KC_VOLD, KC_VOLU, DE_7, DE_8, DE_9, DE_0, DE_SS, DE_UDIA,
+KC_ESC, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_HOME, KC_MPLY, KC_END, DE_Y, DE_U, DE_I, DE_O, DE_P, DE_ADIA,
+KC_LSFT, DE_A, DE_S, DE_D, DE_F, DE_G, KC_PGUP, KC_UP, KC_PGDN, DE_H, DE_J, DE_K, DE_L, DE_ODIA, KC_RSFT,
KC_LCTL, DE_Z, DE_X, DE_C, DE_V, DE_B, KC_LEFT, KC_DOWN, KC_RIGHT, DE_N, DE_M, DE_COMM, DE_DOT, DE_MINS, KC_RCTL,
MO(_FN2), MO(_FN3), KC_LGUI, KC_LALT, KC_SPC, MO(_FN1), KC_TAB, KC_DEL, KC_ENT, KC_SPC, KC_BSPC, KC_LALT, KC_LGUI, MO(_FN3), KC_INS
),
@@ -125,8 +125,8 @@ MO(_FN2), MO(_FN3), KC_LGUI, KC_LALT, KC_SPC, MO(_FN1), KC_TAB, KC_DEL,
[_FN1] = LAYOUT_ortho_5x15(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
________, DE_AT, DE_TILD, DE_EURO, DE_ACUT, DE_GRV, ________, ___xx___, ________, DE_BSLS, DE_LCBR, DE_RCBR, DE_PLUS, DE_ASTR, ___xx___,
-________, DE_DQOT, DE_QUOT, UC(L'‚'), UC(L'‘'), UC(L'’'), ________, ________, ________, DE_PIPE, DE_LBRC, DE_RBRC, DE_EXLM, DE_QST, ________,
-________, DE_RING, DE_CIRC, UC(L'„'), UC(L'“'), UC(L'”'), ________, ________, ________, DE_HASH, DE_LESS, DE_MORE, UC(L'…'), UC(L'–'), ________,
+________, DE_DQUO, DE_QUOT, UC(L'‚'), UC(L'‘'), UC(L'’'), ________, ________, ________, DE_PIPE, DE_LBRC, DE_RBRC, DE_EXLM, DE_QUES, ________,
+________, DE_DEG, DE_CIRC, UC(L'„'), UC(L'“'), UC(L'”'), ________, ________, ________, DE_HASH, DE_LABK, DE_RABK, UC(L'…'), UC(L'–'), ________,
___xx___, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________, ________
),
diff --git a/keyboards/xd75/keymaps/pitty/keymap.c b/keyboards/xd75/keymaps/pitty/keymap.c
index 955ae59ed5..ff812d6791 100644
--- a/keyboards/xd75/keymaps/pitty/keymap.c
+++ b/keyboards/xd75/keymaps/pitty/keymap.c
@@ -49,9 +49,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `--------------------------------------------------------------------------------------------------------'
*/
[_QWERTY] = LAYOUT_ortho_5x15( \
- HU_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, HU_OE, HU_UE, HU_OO, KC_INS, KC_PGUP, \
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, HU_Z, KC_U, KC_I, KC_O, KC_P, HU_OEE, HU_UU, KC_DEL, KC_PGDN, \
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, HU_EE, HU_AA, HU_UEE, _______, KC_HOME, \
+ HU_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, HU_ODIA, HU_UDIA, HU_OACU, KC_INS, KC_PGUP, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, HU_Z, KC_U, KC_I, KC_O, KC_P, HU_ODAC, HU_UACU, KC_DEL, KC_PGDN, \
+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, HU_EACU, HU_AACU, HU_UDAC, _______, KC_HOME, \
MT(MOD_LSFT, KC_NUBS), HU_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, HU_COMM, HU_DOT, HU_MINS, KC_RSFT, HU_EQL, KC_UP, KC_END, \
KC_LCTL, KC_LGUI, KC_LALT, TT(_LOWER), KC_SPC, _______, KC_ENT, KC_BSPC, KC_RALT, TT(_RAISE), _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT \
),
@@ -71,9 +71,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `--------------------------------------------------------------------------------------------------------'
*/
[_GAME] = LAYOUT_ortho_5x15( \
- HU_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, HU_OE, HU_UE, HU_OO, KC_INS, KC_PGUP, \
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, HU_Z, KC_U, KC_I, KC_O, KC_P, HU_OEE, HU_UU, KC_DEL, KC_PGDN, \
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, HU_EE, HU_AA, HU_UEE, _______, KC_HOME, \
+ HU_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, HU_ODIA, HU_UDIA, HU_OACU, KC_INS, KC_PGUP, \
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, HU_Z, KC_U, KC_I, KC_O, KC_P, HU_ODAC, HU_UACU, KC_DEL, KC_PGDN, \
+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, HU_EACU, HU_AACU, HU_UDAC, _______, KC_HOME, \
KC_LSFT, HU_Y, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, HU_COMM, HU_DOT, HU_MINS, KC_RSFT, HU_EQL, KC_UP, KC_END, \
KC_LCTL, KC_LGUI, KC_LALT, TT(_RAISE), KC_SPC, _______, KC_ENT, KC_BSPC, KC_RALT, TT(_LOWER), _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT \
),
diff --git a/keyboards/xd75/keymaps/skewwhiffy/keymap.c b/keyboards/xd75/keymaps/skewwhiffy/keymap.c
index ab0213862c..3db29a3636 100644
--- a/keyboards/xd75/keymaps/skewwhiffy/keymap.c
+++ b/keyboards/xd75/keymaps/skewwhiffy/keymap.c
@@ -56,11 +56,11 @@ enum Layers {
// Custom hotkeys
#define _TERM LCTL(UK_QUOT) // Hotkey for terminal
-#define _S_TAB S(UK_TAB)
-#define _C_LEFT LCTL(UK_LEFT)
-#define _C_RGHT LCTL(UK_RGHT)
-#define _A_LEFT LALT(UK_LEFT)
-#define _A_RGHT LALT(UK_RGHT)
+#define _S_TAB S(KC_TAB)
+#define _C_LEFT LCTL(KC_LEFT)
+#define _C_RGHT LCTL(KC_RGHT)
+#define _A_LEFT LALT(KC_LEFT)
+#define _A_RGHT LALT(KC_RGHT)
enum custom_keycodes {
IJ_OMN = SAFE_RANGE // IntelliJ Omnibox
@@ -86,8 +86,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
UK_Q, UK_W, UK_F, UK_P, UK_G, _______, _______, _______, _______, _______, UK_J, UK_L, UK_U, UK_Y, UK_SCLN, \
UK_A, UK_R, UK_S, UK_T, UK_D, _______, _______, _______, _______, _______, UK_H, UK_N, UK_E, UK_I, UK_O , \
- _Z_SFT, _X_NB, _C_SY, _V_NAL, UK_B, _______, _______, UK_UP, _______, _______, UK_K, _M_NAR, _COM_SY, _DOT_NB, _SLSH , \
- UK_LSFT, UK_LCTL, UK_LALT, UK_LGUI, UK_SPC, UK_ENT, UK_LEFT, UK_DOWN, UK_RGHT, UK_DEL, UK_BSPC, UK_RGUI, UK_RALT, UK_RCTL, UK_RSFT \
+ _Z_SFT, _X_NB, _C_SY, _V_NAL, UK_B, _______, _______, KC_UP, _______, _______, UK_K, _M_NAR, _COM_SY, _DOT_NB, _SLSH , \
+ KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_ENT, KC_LEFT, KC_DOWN, KC_RGHT, KC_DEL, KC_BSPC, KC_RGUI, KC_RALT, KC_RCTL, KC_RSFT \
),
/* Dvorak
@@ -151,16 +151,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[nbl] = LAYOUT_ortho_5x15( \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, UK_F7, UK_F8, UK_F9, UK_F10, _______, _______, _______, _______, _______, _______, UK_7, UK_8, UK_9, _______, \
- _______, UK_F4, UK_F5, UK_F6, UK_F11, _______, _______, _______, _______, _______, _______, UK_4, UK_5, UK_6, _______, \
- _______, __NBL, UK_F2, UK_F3, UK_F12, _______, _______, _______, _______, _______, UK_0, UK_1, UK_2, UK_3, UK_DOT, \
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, _______, _______, UK_7, UK_8, UK_9, _______, \
+ _______, KC_F4, KC_F5, KC_F6, KC_F11, _______, _______, _______, _______, _______, _______, UK_4, UK_5, UK_6, _______, \
+ _______, __NBL, KC_F2, KC_F3, KC_F12, _______, _______, _______, _______, _______, UK_0, UK_1, UK_2, UK_3, UK_DOT, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
),
[nbr] = LAYOUT_ortho_5x15( \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- _______, UK_F7, UK_F8, UK_F9, UK_F10, _______, _______, _______, _______, _______, _______, UK_7, UK_8, UK_9, _______, \
- _______, UK_F4, UK_F5, UK_F6, UK_F11, _______, _______, _______, _______, _______, _______, UK_4, UK_5, UK_6, _______, \
- _______, UK_F1, UK_F2, UK_F3, UK_F12, _______, _______, _______, _______, _______, UK_0, UK_1, UK_2, __NBR, UK_DOT , \
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, _______, _______, _______, _______, _______, _______, UK_7, UK_8, UK_9, _______, \
+ _______, KC_F4, KC_F5, KC_F6, KC_F11, _______, _______, _______, _______, _______, _______, UK_4, UK_5, UK_6, _______, \
+ _______, KC_F1, KC_F2, KC_F3, KC_F12, _______, _______, _______, _______, _______, UK_0, UK_1, UK_2, __NBR, UK_DOT , \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
),
@@ -207,16 +207,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[nal] = LAYOUT_ortho_5x15( \
RESET, DF(cm), DF(dv), DF(qw), _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- UK_ESC, _C_LEFT, UK_UP , _C_RGHT, _______, RGB_HUD, RGB_HUI, _______, _______, _______, _______, UK_PSCR, UK_SLCK, UK_PAUS, _______, \
- UK_TAB, UK_LEFT, UK_DOWN, UK_RGHT, _______, RGB_SAD, RGB_SAI, _______, _______, _______, _______, UK_INS, UK_HOME, UK_PGUP, _TERM , \
- _S_TAB, _A_LEFT, IJ_OMN, __NAL, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, UK_SLCK, UK_END, UK_PGDN, _______, \
+ KC_ESC, _C_LEFT, KC_UP , _C_RGHT, _______, RGB_HUD, RGB_HUI, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, \
+ KC_TAB, KC_LEFT, KC_DOWN, KC_RGHT, _______, RGB_SAD, RGB_SAI, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _TERM , \
+ _S_TAB, _A_LEFT, IJ_OMN, __NAL, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, KC_SLCK, KC_END, KC_PGDN, _______, \
_______, _______, _______, _______, _______, RGB_RMOD,RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______ \
),
[nar] = LAYOUT_ortho_5x15( \
RESET, DF(cm), DF(dv), DF(qw), _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
- UK_ESC, _C_LEFT, UK_UP , _C_RGHT, _______, RGB_HUD, RGB_HUI, _______, _______, _______, _______, UK_PSCR, UK_SLCK, UK_PAUS, _______, \
- UK_TAB, UK_LEFT, UK_DOWN, UK_RGHT, _______, RGB_SAD, RGB_SAI, _______, _______, _______, _______, UK_INS, UK_HOME, UK_PGUP, _TERM , \
- _S_TAB, _A_LEFT, IJ_OMN, _A_RGHT, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, __NAR, UK_END, UK_PGDN, _______, \
+ KC_ESC, _C_LEFT, KC_UP , _C_RGHT, _______, RGB_HUD, RGB_HUI, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, _______, \
+ KC_TAB, KC_LEFT, KC_DOWN, KC_RGHT, _______, RGB_SAD, RGB_SAI, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, _TERM , \
+ _S_TAB, _A_LEFT, IJ_OMN, _A_RGHT, _______, RGB_VAD, RGB_VAI, _______, _______, _______, _______, __NAR, KC_END, KC_PGDN, _______, \
_______, _______, _______, _______, _______, RGB_RMOD,RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______ \
)
};
diff --git a/keyboards/xd75/keymaps/tdl-jturner/keymap.c b/keyboards/xd75/keymaps/tdl-jturner/keymap.c
index 0c51289b6d..b7b98cd4c5 100644
--- a/keyboards/xd75/keymaps/tdl-jturner/keymap.c
+++ b/keyboards/xd75/keymaps/tdl-jturner/keymap.c
@@ -179,7 +179,7 @@ void matrix_init_user(void) {
}
//Set a color based on the layer
-uint32_t layer_state_set_user(uint32_t state) {
+layer_state_t layer_state_set_user(layer_state_t state) {
switch(biton32(state)) {
case _LYFK:
rgblight_setrgb_user_LYFK();
diff --git a/keyboards/xelus/dawn60/rev1/rules.mk b/keyboards/xelus/dawn60/rev1/rules.mk
index 64b6615e81..dda4e5048f 100644
--- a/keyboards/xelus/dawn60/rev1/rules.mk
+++ b/keyboards/xelus/dawn60/rev1/rules.mk
@@ -42,7 +42,7 @@ CIE1931_CURVE = yes
SRC += keyboards/wilba_tech/wt_main.c \
keyboards/wilba_tech/wt_rgb_backlight.c \
quantum/color.c \
- drivers/issi/is31fl3731.c \
+ drivers/led/issi/is31fl3731.c \
ws2812.c
QUANTUM_LIB_SRC += i2c_master.c
diff --git a/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c b/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c
index 901f7a18c2..c6ddef0931 100644
--- a/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c
+++ b/keyboards/xelus/dawn60/rev1_qmk/rev1_qmk.c
@@ -18,14 +18,14 @@
#include <i2c_master.h>
#include <led_tables.h>
#include <rgb_matrix.h>
-#include "drivers/issi/is31fl3731.h"
+#include "drivers/led/issi/is31fl3731.h"
#include "ws2812.h"
#include "rev1_qmk.h"
#ifdef RGB_MATRIX_ENABLE
LED_TYPE rgb_matrix_ws2812_array[WS2812_LED_TOTAL];
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/xelus/dawn60/rev1_qmk/rules.mk b/keyboards/xelus/dawn60/rev1_qmk/rules.mk
index edfba27304..eb1dd5557c 100644
--- a/keyboards/xelus/dawn60/rev1_qmk/rules.mk
+++ b/keyboards/xelus/dawn60/rev1_qmk/rules.mk
@@ -42,7 +42,7 @@ RGB_MATRIX_DRIVER = custom # Enable RGB matrix effects.
COMMON_VPATH += $(DRIVER_PATH)/issi
# project specific files
-SRC += drivers/issi/is31fl3731.c \
+SRC += drivers/led/issi/is31fl3731.c \
ws2812.c
QUANTUM_LIB_SRC += i2c_master.c
diff --git a/keyboards/xelus/pachi/rgb/config.h b/keyboards/xelus/pachi/rgb/config.h
index f976508507..9378b2c413 100644
--- a/keyboards/xelus/pachi/rgb/config.h
+++ b/keyboards/xelus/pachi/rgb/config.h
@@ -70,7 +70,7 @@
#define RGB_MATRIX_STARTUP_VAL 80
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define RGB_MATRIX_KEYPRESSES
-#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
+#define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
#define FORCE_NKRO
diff --git a/keyboards/xelus/pachi/rgb/rgb.c b/keyboards/xelus/pachi/rgb/rgb.c
index 1e4ad619c3..6f44b13e12 100644
--- a/keyboards/xelus/pachi/rgb/rgb.c
+++ b/keyboards/xelus/pachi/rgb/rgb.c
@@ -23,8 +23,8 @@ void matrix_io_delay(void) { __asm__ volatile("nop\nnop\nnop\n"); }
#ifdef RGB_MATRIX_ENABLE
#include <i2c_master.h>
-#include "drivers/issi/is31fl3741.h"
-const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
+#include "drivers/led/issi/is31fl3741.h"
+const is31_led __flash g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
diff --git a/keyboards/xelus/pachi/rgb/rules.mk b/keyboards/xelus/pachi/rgb/rules.mk
index 42e9d3feb0..bc55888bef 100644
--- a/keyboards/xelus/pachi/rgb/rules.mk
+++ b/keyboards/xelus/pachi/rgb/rules.mk
@@ -1,5 +1,8 @@
# MCU name
-MCU = STM32L433
+MCU = STM32L422
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
# Build Options
# change yes to no to disable
@@ -26,7 +29,7 @@ RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = custom
COMMON_VPATH += $(DRIVER_PATH)/issi
-SRC += drivers/issi/is31fl3741.c
+SRC += drivers/led/issi/is31fl3741.c
LTO_ENABLE = yes
OPT = 2
diff --git a/keyboards/xelus/valor/rev2/config.h b/keyboards/xelus/valor/rev2/config.h
new file mode 100644
index 0000000000..66669fab46
--- /dev/null
+++ b/keyboards/xelus/valor/rev2/config.h
@@ -0,0 +1,88 @@
+/* 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
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0x5845 // "XE"
+#define PRODUCT_ID 0x5653 // Valor "VR" + 1
+#define DEVICE_VER 0x0001
+#define MANUFACTURER Xelus
+#define PRODUCT Xelus Valor Rev2
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+
+/* key matrix pins */
+#define MATRIX_ROW_PINS { B11, B10, A3, A1, A2 }
+#define MATRIX_COL_PINS { B2, B1, B0, A7, A6, A5, A4, A13, B7, B6, B5, B4, B3, A15, A14 }
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+// I2C setup
+#define I2C1_SCL 8
+#define I2C1_SDA 9
+#define I2C1_SCL_PAL_MODE 4
+#define I2C1_SDA_PAL_MODE 4
+#define I2C1_TIMINGR_PRESC 0U
+#define I2C1_TIMINGR_SCLDEL 11U
+#define I2C1_TIMINGR_SDADEL 0U
+#define I2C1_TIMINGR_SCLH 14U
+#define I2C1_TIMINGR_SCLL 42U
+
+// I2C EEPROM
+#define EEPROM_I2C_24LC64
+
+// More EEPROM for layers
+#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 8191
+
+/* RGB Matrix */
+#define RGB_DI_PIN A9
+#define RGBLED_NUM 28
+#define DRIVER_LED_TOTAL 28
+#define NOP_FUDGE 0.4
+
+// RGB PWM
+#define WS2812_PWM_DRIVER PWMD1
+#define WS2812_PWM_CHANNEL 2
+#define WS2812_PWM_PAL_MODE 1
+#define WS2812_DMA_STREAM STM32_DMA1_STREAM6
+#define WS2812_DMA_CHANNEL 7
+#define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM1_UP
+
+// RGB Pullup
+#define WS2812_EXTERNAL_PULLUP
+
+// RGB Matrix settings
+#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
+#define RGB_MATRIX_KEYPRESSES
+#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
+#define RGB_DISABLE_WHEN_USB_SUSPENDED true
+#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CUSTOM_test_mode
diff --git a/keyboards/xelus/valor/rev2/halconf.h b/keyboards/xelus/valor/rev2/halconf.h
new file mode 100644
index 0000000000..03b15da045
--- /dev/null
+++ b/keyboards/xelus/valor/rev2/halconf.h
@@ -0,0 +1,23 @@
+/* Copyright 2021 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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 HAL_USE_I2C TRUE
+
+#define HAL_USE_PWM TRUE
+
+#include_next <halconf.h>
+
diff --git a/keyboards/xelus/valor/rev2/info.json b/keyboards/xelus/valor/rev2/info.json
new file mode 100644
index 0000000000..712050ca8a
--- /dev/null
+++ b/keyboards/xelus/valor/rev2/info.json
@@ -0,0 +1,83 @@
+{
+ "keyboard_name": "Xelus Valor Rev2",
+ "url": "",
+ "maintainer": "Xelus22",
+ "width": 17.75,
+ "height": 5,
+ "layouts": {
+ "LAYOUT_alice_split_bs": {
+ "layout": [
+ {"x":0, "y":0},
+ {"x":1.25, "y":0},
+ {"x":2.25, "y":0},
+ {"x":3.25, "y":0},
+ {"x":4.25, "y":0},
+ {"x":5.25, "y":0},
+ {"x":6.25, "y":0},
+ {"x":7.25, "y":0},
+ {"x":10.25, "y":0},
+ {"x":11.25, "y":0},
+ {"x":12.25, "y":0},
+ {"x":13.25, "y":0},
+ {"x":14.25, "y":0},
+ {"x":15.25, "y":0},
+ {"x":16.25, "y":0},
+ {"x":17.25, "y":0},
+
+ {"x":0, "y":1},
+ {"x":1.25, "y":1, "w":1.5},
+ {"x":2.75, "y":1},
+ {"x":3.75, "y":1},
+ {"x":4.75, "y":1},
+ {"x":5.75, "y":1},
+ {"x":6.75, "y":1},
+ {"x":9.75, "y":1},
+ {"x":10.75, "y":1},
+ {"x":11.75, "y":1},
+ {"x":12.75, "y":1},
+ {"x":13.75, "y":1},
+ {"x":14.75, "y":1},
+ {"x":15.75, "y":1},
+ {"x":16.75, "y":1, "w":1.5},
+
+ {"x":0, "y":2},
+ {"x":1.25, "y":2, "w":1.75},
+ {"x":3, "y":2},
+ {"x":4, "y":2},
+ {"x":5, "y":2},
+ {"x":6, "y":2},
+ {"x":7, "y":2},
+ {"x":10, "y":2},
+ {"x":11, "y":2},
+ {"x":12, "y":2},
+ {"x":13, "y":2},
+ {"x":14, "y":2},
+ {"x":15, "y":2},
+ {"x":16, "y":2, "w":2.25},
+
+ {"x":1.25, "y":3, "w":2.25},
+ {"x":3.5, "y":3},
+ {"x":4.5, "y":3},
+ {"x":5.5, "y":3},
+ {"x":6.5, "y":3},
+ {"x":7.5, "y":3},
+ {"x":9.5, "y":3},
+ {"x":10.5, "y":3},
+ {"x":11.5, "y":3},
+ {"x":12.5, "y":3},
+ {"x":13.5, "y":3},
+ {"x":14.5, "y":3},
+ {"x":15.5, "y":3, "w":1.75},
+ {"x":17.25, "y":3},
+
+ {"x":1.25, "y":4, "w":1.5},
+ {"x":4.25, "y":4, "w":1.5},
+ {"x":5.75, "y":4, "w":2},
+ {"x":7.75, "y":4, "w":1.25},
+ {"x":9.5, "y":4, "w":2.75},
+ {"x":12.25, "y":4, "w":1.5},
+ {"x":16.75, "y":4, "w":1.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/xelus/valor/rev2/keymaps/default/config.h b/keyboards/xelus/valor/rev2/keymaps/default/config.h
new file mode 100644
index 0000000000..824d4633cc
--- /dev/null
+++ b/keyboards/xelus/valor/rev2/keymaps/default/config.h
@@ -0,0 +1,18 @@
+/* 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/>.
+ */
+
+#define USB_POLLING_INTERVAL_MS 1
+#define QMK_KEYS_PER_SCAN 4
diff --git a/keyboards/xelus/valor/rev2/keymaps/default/keymap.c b/keyboards/xelus/valor/rev2/keymaps/default/keymap.c
new file mode 100644
index 0000000000..eb5f551126
--- /dev/null
+++ b/keyboards/xelus/valor/rev2/keymaps/default/keymap.c
@@ -0,0 +1,79 @@
+/* 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
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC, KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC,
+ KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RGUI,
+ KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL
+ ),
+
+ [1] = LAYOUT_all(
+ RGB_TOG, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
+ RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
+
+#ifdef RGB_MATRIX_ENABLE
+void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
+ // caps lock cyan
+ if (host_keyboard_led_state().caps_lock) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(27, 0, 128, 128);
+ } else {
+ RGB_MATRIX_INDICATOR_SET_COLOR(27, 0, 0, 0);
+ }
+
+ // num lock cyan
+ if (host_keyboard_led_state().num_lock) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(26, 0, 128, 128);
+ } else {
+ RGB_MATRIX_INDICATOR_SET_COLOR(26, 0, 0, 0);
+ }
+
+ // scroll lock cyan
+ if (host_keyboard_led_state().scroll_lock) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(25, 0, 128, 128);
+ } else {
+ RGB_MATRIX_INDICATOR_SET_COLOR(25, 0, 0, 0);
+ }
+
+ // layer state
+ switch (get_highest_layer(layer_state)) {
+ case 0:
+ RGB_MATRIX_INDICATOR_SET_COLOR(24, 0, 0, 0);
+ break;
+ case 1:
+ RGB_MATRIX_INDICATOR_SET_COLOR(24, 128, 0, 0);
+ break;
+ case 2:
+ RGB_MATRIX_INDICATOR_SET_COLOR(24, 0, 128, 0);
+ break;
+ case 3:
+ RGB_MATRIX_INDICATOR_SET_COLOR(24, 0, 0, 128);
+ break;
+ default:
+ // white
+ RGB_MATRIX_INDICATOR_SET_COLOR(24, 128, 128, 128);
+ break;
+ }
+}
+#endif
diff --git a/keyboards/xelus/valor/rev2/keymaps/default/readme.md b/keyboards/xelus/valor/rev2/keymaps/default/readme.md
new file mode 100644
index 0000000000..8648f1c150
--- /dev/null
+++ b/keyboards/xelus/valor/rev2/keymaps/default/readme.md
@@ -0,0 +1,2 @@
+# The Default Valor Rev2 Layout
+
diff --git a/keyboards/xelus/valor/rev2/keymaps/via/config.h b/keyboards/xelus/valor/rev2/keymaps/via/config.h
new file mode 100644
index 0000000000..456369d884
--- /dev/null
+++ b/keyboards/xelus/valor/rev2/keymaps/via/config.h
@@ -0,0 +1,24 @@
+/* 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/>.
+ */
+
+// RGB Matrix
+#define VIA_QMK_RGBLIGHT_ENABLE
+
+// More layers
+#define DYNAMIC_KEYMAP_LAYER_COUNT 8
+
+#define USB_POLLING_INTERVAL_MS 1
+#define QMK_KEYS_PER_SCAN 4
diff --git a/keyboards/xelus/valor/rev2/keymaps/via/keymap.c b/keyboards/xelus/valor/rev2/keymaps/via/keymap.c
new file mode 100644
index 0000000000..c256659514
--- /dev/null
+++ b/keyboards/xelus/valor/rev2/keymaps/via/keymap.c
@@ -0,0 +1,127 @@
+/* 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
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_all(
+ KC_ESC, KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC,
+ KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RGUI,
+ KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL
+ ),
+
+ [1] = LAYOUT_all(
+ RGB_TOG, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
+ RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, 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_all(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [3] = LAYOUT_all(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [4] = LAYOUT_all(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [5] = LAYOUT_all(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [6] = LAYOUT_all(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+
+ [7] = LAYOUT_all(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ )
+};
+
+#ifdef RGB_MATRIX_ENABLE
+void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
+ // caps lock cyan
+ if (host_keyboard_led_state().caps_lock) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(27, 0, 128, 128);
+ } else {
+ RGB_MATRIX_INDICATOR_SET_COLOR(27, 0, 0, 0);
+ }
+
+ // num lock cyan
+ if (host_keyboard_led_state().num_lock) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(26, 0, 128, 128);
+ } else {
+ RGB_MATRIX_INDICATOR_SET_COLOR(26, 0, 0, 0);
+ }
+
+ // scroll lock cyan
+ if (host_keyboard_led_state().scroll_lock) {
+ RGB_MATRIX_INDICATOR_SET_COLOR(25, 0, 128, 128);
+ } else {
+ RGB_MATRIX_INDICATOR_SET_COLOR(25, 0, 0, 0);
+ }
+
+ // layer state
+ switch (get_highest_layer(layer_state)) {
+ case 0:
+ RGB_MATRIX_INDICATOR_SET_COLOR(24, 0, 0, 0);
+ break;
+ case 1:
+ RGB_MATRIX_INDICATOR_SET_COLOR(24, 128, 0, 0);
+ break;
+ case 2:
+ RGB_MATRIX_INDICATOR_SET_COLOR(24, 0, 128, 0);
+ break;
+ case 3:
+ RGB_MATRIX_INDICATOR_SET_COLOR(24, 0, 0, 128);
+ break;
+ default:
+ // white
+ RGB_MATRIX_INDICATOR_SET_COLOR(24, 128, 128, 128);
+ break;
+ }
+}
+#endif
diff --git a/keyboards/xelus/valor/rev2/keymaps/via/readme.md b/keyboards/xelus/valor/rev2/keymaps/via/readme.md
new file mode 100644
index 0000000000..dcdfd4dd9e
--- /dev/null
+++ b/keyboards/xelus/valor/rev2/keymaps/via/readme.md
@@ -0,0 +1,2 @@
+# The VIA Valor Rev2 Layout
+
diff --git a/keyboards/xelus/valor/rev2/keymaps/via/rules.mk b/keyboards/xelus/valor/rev2/keymaps/via/rules.mk
new file mode 100644
index 0000000000..1e5b99807c
--- /dev/null
+++ b/keyboards/xelus/valor/rev2/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE = yes
diff --git a/keyboards/xelus/valor/rev2/mcuconf.h b/keyboards/xelus/valor/rev2/mcuconf.h
new file mode 100644
index 0000000000..736837565d
--- /dev/null
+++ b/keyboards/xelus/valor/rev2/mcuconf.h
@@ -0,0 +1,30 @@
+/* Copyright 2021 QMK
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General 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_next <mcuconf.h>
+
+#undef STM32_I2C_USE_I2C1
+#define STM32_I2C_USE_I2C1 TRUE
+
+#undef STM32_PWM_USE_TIM1
+#define STM32_PWM_USE_TIM1 TRUE
+
+#undef STM32_I2C_I2C1_RX_DMA_STREAM
+#undef STM32_I2C_I2C1_TX_DMA_STREAM
+#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 6)
+#define STM32_I2C_I2C1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 7)
diff --git a/keyboards/xelus/valor/rev2/readme.md b/keyboards/xelus/valor/rev2/readme.md
new file mode 100644
index 0000000000..863f5ef423
--- /dev/null
+++ b/keyboards/xelus/valor/rev2/readme.md
@@ -0,0 +1,20 @@
+# Valor Rev 2
+
+An Alice replacement keyboard PCB.
+
+* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22)
+* Hardware Supported: Valor Rev 2
+* Hardware Availability: Custom keyboard group buys
+
+Make example for this keyboard (after setting up your build environment):
+
+ make xelus/valor/rev2:default
+
+Reset your keyboard in 3 ways:
+<ol>
+<li>Software reset on Fn + PgDn (bottom of the 3 macro buttons)</li>
+<li>Bootmagic reset: hold down the top left key (usually escape) and plugin the keyboard</li>
+<li>Physical reset button: on the back of the PCB, there should be a small golden button you can press</li>
+</ol>
+
+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/xelus/valor/rev2/rev2.c b/keyboards/xelus/valor/rev2/rev2.c
new file mode 100644
index 0000000000..f130418794
--- /dev/null
+++ b/keyboards/xelus/valor/rev2/rev2.c
@@ -0,0 +1,72 @@
+/* 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 "rev2.h"
+
+#ifdef RGB_MATRIX_ENABLE
+
+led_config_t g_led_config = { {
+ // Key Matrix to LED Index
+ { 24, 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 },
+ { 25, 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 },
+ { 26, 27, 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
+ { 224, 0 },
+ { 224, 9 },
+ { 224, 21 },
+ { 224, 33 },
+ { 224, 45 },
+ { 223, 51 },
+ { 206, 52 },
+ { 190, 52 },
+ { 172, 52 },
+ { 154, 57 },
+ { 136, 61 },
+ { 118, 63 },
+ { 101, 64 },
+ { 80 , 60 },
+ { 64 , 57 },
+ { 46 , 53 },
+ { 28 , 53 },
+ { 10 , 52 },
+ { 3 , 51 },
+ { 2 , 45 },
+ { 2 , 33 },
+ { 2 , 20 },
+ { 2 , 9 },
+ { 0 , 0 },
+ { 9 , 3 },
+ { 6 , 14 },
+ { 4 , 26 },
+ { 21 , 27 }
+
+}, {
+ // LED Index to Flag
+ 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2,
+ 8, 8, 8, 8
+} };
+
+
+void keyboard_pre_init_kb(void) {
+ rgb_matrix_set_flags(LED_FLAG_MODIFIER|LED_FLAG_UNDERGLOW|LED_FLAG_KEYLIGHT);
+ keyboard_pre_init_user();
+}
+#endif
diff --git a/keyboards/xelus/valor/rev2/rev2.h b/keyboards/xelus/valor/rev2/rev2.h
new file mode 100644
index 0000000000..9cf78c9412
--- /dev/null
+++ b/keyboards/xelus/valor/rev2/rev2.h
@@ -0,0 +1,37 @@
+/* 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
+
+#include "quantum.h"
+
+#define ____ KC_NO
+
+#define LAYOUT_alice_split_bs( \
+ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K214, \
+ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
+ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, \
+ K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, \
+ K401, K403, K405, K406, K408, K410, K413 \
+) { \
+ { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \
+ { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \
+ { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214 }, \
+ { ____, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314 }, \
+ { ____, K401, ____, K403, ____, K405, K406, ____, K408, ____, K410, ____, ____, K413, ____ } \
+}
+
+#define LAYOUT_all LAYOUT_alice_split_bs
diff --git a/keyboards/xelus/valor/rev2/rgb_matrix_kb.inc b/keyboards/xelus/valor/rev2/rgb_matrix_kb.inc
new file mode 100644
index 0000000000..3518406090
--- /dev/null
+++ b/keyboards/xelus/valor/rev2/rgb_matrix_kb.inc
@@ -0,0 +1,34 @@
+// Step 1.
+// Declare custom effects using the RGB_MATRIX_EFFECT macro
+// (note the lack of semicolon after the macro!)
+RGB_MATRIX_EFFECT(test_mode)
+
+// Step 2.
+// Define effects inside the `RGB_MATRIX_CUSTOM_EFFECT_IMPLS` ifdef block
+#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS
+
+// e.g: A simple effect, self-contained within a single method
+static bool test_mode(effect_params_t* params) {
+ uint8_t factor = 9;
+ switch ((g_rgb_timer & (0b11 << factor)) >> factor) {
+ case 0: {
+ rgb_matrix_set_color_all(150, 0, 0);
+ break;
+ }
+ case 1: {
+ rgb_matrix_set_color_all(0, 150, 0);
+ break;
+ }
+ case 2: {
+ rgb_matrix_set_color_all(0, 0, 150);
+ break;
+ }
+ case 3: {
+ rgb_matrix_set_color_all(150, 150, 150);
+ break;
+ }
+ }
+ return false;
+}
+
+#endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS
diff --git a/keyboards/xelus/valor/rev2/rules.mk b/keyboards/xelus/valor/rev2/rules.mk
new file mode 100644
index 0000000000..7ec6bcc771
--- /dev/null
+++ b/keyboards/xelus/valor/rev2/rules.mk
@@ -0,0 +1,32 @@
+# MCU name
+MCU = STM32L422
+
+# Bootloader selection
+BOOTLOADER = stm32-dfu
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = yes # USB Nkey Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no # Enable Bluetooth
+AUDIO_ENABLE = no # Audio output
+RGB_MATRIX_ENABLE = yes
+RGB_MATRIX_DRIVER = WS2812
+RGB_MATRIX_CUSTOM_KB = yes
+WS2812_DRIVER = pwm
+EEPROM_DRIVER = i2c
+
+OPT = 2
+LTO_ENABLE = yes
+
+LAYOUTS = alice_split_bs
diff --git a/keyboards/xw60/rules.mk b/keyboards/xw60/rules.mk
index b8629daeb8..7486c74c36 100644
--- a/keyboards/xw60/rules.mk
+++ b/keyboards/xw60/rules.mk
@@ -27,7 +27,6 @@ AUDIO_ENABLE = no # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
-API_SYSEX_ENABLE = no
HAPTIC_ENABLE += SOLENOID
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/ymdk/np24/u4rgb6/rules.mk b/keyboards/ymdk/np24/u4rgb6/rules.mk
index 625a433f92..d05a2a589b 100644
--- a/keyboards/ymdk/np24/u4rgb6/rules.mk
+++ b/keyboards/ymdk/np24/u4rgb6/rules.mk
@@ -21,4 +21,4 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
-LAYOUTS = ortho_6x4 numpad_6x4 ortho_4x6
+LAYOUTS = ortho_6x4 numpad_6x4
diff --git a/keyboards/yncognito/batpad/config.h b/keyboards/yncognito/batpad/config.h
index 02c84a514a..7ca4072e07 100644
--- a/keyboards/yncognito/batpad/config.h
+++ b/keyboards/yncognito/batpad/config.h
@@ -47,13 +47,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGB_DI_PIN B5
#define DRIVER_LED_TOTAL 8
-#define RGB_MATRIX_KEYPRESSES
-#define RGB_MATRIX_KEYRELEASES
+#define RGB_MATRIX_KEYPRESSES
+#define RGB_MATRIX_KEYRELEASES
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-#define RGB_DISABLE_AFTER_TIMEOUT 0
-#define RGB_DISABLE_WHEN_USB_SUSPENDED false
-#define RGB_MATRIX_LED_FLUSH_LIMIT 16
-#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
+#define RGB_DISABLE_AFTER_TIMEOUT 0
+// #define RGB_DISABLE_WHEN_USB_SUSPENDED
+#define RGB_MATRIX_LED_FLUSH_LIMIT 16
+#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 255
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
-
-
diff --git a/keyboards/yncognito/batpad/keymaps/via/rules.mk b/keyboards/yncognito/batpad/keymaps/via/rules.mk
index 1e5b99807c..36b7ba9cbc 100644
--- a/keyboards/yncognito/batpad/keymaps/via/rules.mk
+++ b/keyboards/yncognito/batpad/keymaps/via/rules.mk
@@ -1 +1,2 @@
VIA_ENABLE = yes
+LTO_ENABLE = yes